Page 1 of 2

uccRemoveItem issue

Posted: Fri Sep 18, 2020 2:27 am
by nathanj
Hi Tony,

I'm stumpped on something at the moment and hoping you might be able to point out what i'm missing.

I'm working with DS and UCC with your integration (UCC 2.2.4 and DS 2.2.9).

I'm having an issue removing items. I can use the uccAddItem("","stone",1) fine but uccRemoveItem("","stone",1) does not work.
I was wondering if this has to do with the fact that I have different item categories (food, raw material, weapon, medicine).

Any ideas of what could be happening?

If, on the off chance, you still have that project from when you were testing the UI panels for UCC PUN, you could add this to test, I get the same results. In it Private Hart runs a LUA command that should remove the player's knife, but it does not work.

https://drive.google.com/file/d/16eKig1 ... sp=sharing

Thanks again,
Nathan

Re: uccRemoveItem issue

Posted: Fri Sep 18, 2020 11:02 am
by Tony Li
Hi Nathan,

Sorry, I no longer have that project.

Does your character have more than one ItemCollection? I may need to update uccRemoveItem() to allow you to specify an ItemCollection and/or search all ItemsCollections on the character.

Re: uccRemoveItem issue

Posted: Fri Sep 18, 2020 2:22 pm
by nathanj
Hi Tony, yes, The character has 4 item collections, I'm suspecting that that is the case as I noticed that there is an

Code: Select all

ItemCollection itemCollection;
in the UCCLUA script but no way to access it from the command.

Re: uccRemoveItem issue

Posted: Fri Sep 18, 2020 2:45 pm
by Tony Li
Hi Nathan,

I'll update the Lua functions. To prevent breaking existing projects, uccRemoveItem will have the same parameters, but you'll be able to optionally specify an item collection at the end of the character name, such as:

Code: Select all

uccRemoveItem("Vendor.SecretStash", "Extra Good Sword", 1);
to remove the item from the Vendor character's SecretStash collection. Or:

Code: Select all

uccRemoveItem(".Backpack", "Torch", 1);
to remove a torch from the player's Backpack collection.

If you don't specify an item collection, it will remove the first item it finds in any of the character's item collections.

Re: uccRemoveItem issue

Posted: Fri Sep 18, 2020 2:57 pm
by nathanj
Wow, that's awesome! thanks Tony

Any chance you be able to send me the script whenever you're done? No rush, but I'm working towards a deliverable in two weeks and trying to get as many things off my list when I can.

Thanks again,
Nathan

Re: uccRemoveItem issue

Posted: Fri Sep 18, 2020 3:03 pm
by Tony Li
Yes. I'll try to get it done by the end of tomorrow at the latest.

Re: uccRemoveItem issue

Posted: Fri Sep 18, 2020 3:04 pm
by nathanj
No need to rush on it, but when you get it done that would be awesome.

Thanks again!

Re: uccRemoveItem issue

Posted: Fri Sep 18, 2020 9:54 pm
by Tony Li

Re: uccRemoveItem issue

Posted: Mon Feb 15, 2021 9:08 pm
by nathanj
Hey Tony,

I forgot to follow up with this. I'm still having an issue with my scene, I thought it was working but upon testing yesterday I realised it is not. The good news is that it is not your code, I have recreated a duplicate of the DS/UCC demo scene and tried all possibilities and the remove item always works as expected. So my apologies for making you edit the code because of my error.

The bad news is that in my scene where everything looks identical, it is not working. Because I am using PUN I have to assign the player's name dynamically when they are instantiated. However, again, I made a dupe of the UCC demo scene with PUN and everything works.

In this image, you can see a

Code: Select all

[var=PlayerName]
and this works, when the player speaks to the npc, the player's name is displayed correctly in the text. However, the

Code: Select all

uccRemoveItem(Variable["PlayerName"], "Fig", 3);
is not working.

Image
Can you think of any reason why the Text varible "PlayerName" would work in some cases but with the uccRemoveItem "variable["PlayerName"] would not work? I'm really stumped on this one.

Thanks as always,
Nathan

Re: uccRemoveItem issue

Posted: Mon Feb 15, 2021 9:23 pm
by Tony Li
Hi Nathan,

In the Console, do you see a message like this?

Dialogue System: Can't find Ultimate Character Locomotion GameObject named <PlayerName>

If so, then it's not finding the player.

If you don't see the message, then it's finding the player but the remove operation isn't working.