Portable Black Hole API error IsInventoryItemLocked()

Post Reply
Lefaux
Posts: 30

Portable Black Hole API error IsInventoryItemLocked()

Post by Lefaux » Wed Jul 24, 2019 4:06 pm

It seems that the API call

Code: Select all

IsInventoryItemLocked()
fails on high bag slot ids.

I have 4 PBH on me and if I sort Trinkets to the bottom bag, GearMenu throws an LUA error.

Is this something that's purely client side or something that can be fixed on the server side of things?

User avatar
Torta
Posts: 1172
Has liked: 1 time

Re: Portable Black Hole API error IsInventoryItemLocked()

Post by Torta » Wed Jul 24, 2019 4:33 pm

Hello! What's does the error say exactly?

Lefaux
Posts: 30

Re: Portable Black Hole API error IsInventoryItemLocked()

Post by Lefaux » Wed Jul 24, 2019 5:37 pm

Code: Select all

Error: Interface\AddOns\GearMenu\Code\GM_ItemHelper.lua:186: Invalid inventory slot in IsInventoryItemLocked

Lefaux
Posts: 30

Re: Portable Black Hole API error IsInventoryItemLocked()

Post by Lefaux » Wed Jul 24, 2019 5:39 pm

I wonder whether IsInventoryItemLocked has an upper bound so it can only return integers between 1 and 112 (28 Slots bags like Soulbags, Miningbags etc.)

With the 4 PBHs I get above that number.

User avatar
Torta
Posts: 1172
Has liked: 1 time

Re: Portable Black Hole API error IsInventoryItemLocked()

Post by Torta » Wed Jul 24, 2019 6:37 pm

Please, execute 5 commands in game and show the output of each of them:

Code: Select all

/script local t = GetContainerNumSlots(0) print(t)
/script local t = GetContainerNumSlots(1) print(t)
/script local t = GetContainerNumSlots(2) print(t)
/script local t = GetContainerNumSlots(3) print(t)
/script local t = GetContainerNumSlots(4) print(t)

User avatar
Sinrek
Posts: 1223
Location: England
Has liked: 5 times

Re: Portable Black Hole API error IsInventoryItemLocked()

Post by Sinrek » Wed Jul 24, 2019 7:41 pm

I've had a similar problem with my EngBags addon with those bags. I just had to ditch the addon after all the attempts for fixing it.
satisfied_turtle Slowly turtling my way up.

Lefaux
Posts: 30

Re: Portable Black Hole API error IsInventoryItemLocked()

Post by Lefaux » Wed Jul 24, 2019 8:56 pm

Code: Select all

16
36
36
36
36
Did some more testing and GearMenu breaks on the last 13 slots of my last bag.
My Bag Order is:
- Backpack
- PBH
- PBH
- PBH
- PBH

So much like the container size script you asked me to execute


P.S. thanks for taking the time

User avatar
Torta
Posts: 1172
Has liked: 1 time

Re: Portable Black Hole API error IsInventoryItemLocked()

Post by Torta » Wed Jul 24, 2019 10:17 pm

Pompa said he is fixing your addon x) It will ignore IsInventoryItemLocked() check for the last 8 slots.

What happens if you place any item in the last slot of your last bag and then run a command?

Code: Select all

/script local link = GetContainerItemLink(4, 36) print(link)

User avatar
Pompa
Posts: 353

Re: Portable Black Hole API error IsInventoryItemLocked()

Post by Pompa » Wed Jul 24, 2019 10:38 pm

Yup, it's now "fixed" Lefaux, grab it here: viewtopic.php?f=18&t=690&p=3508

The issue is that `IsInventoryItemLocked` function will only work for bags up to 28 slots.

Lefaux
Posts: 30

Re: Portable Black Hole API error IsInventoryItemLocked()

Post by Lefaux » Thu Jul 25, 2019 5:48 am

hm... where do I start...

I guess "THANK YOU" doesn't cut it.

I was expecting a simple "yeah, that's a limitation of the gameclient", but fixing the Addon is way beyond my expectations.

To answer your question Torta, the API call you wanted me to do yields the Chatlink to the item in that slot, much like we'd expect.

On another note:
My background is in Web-Development and I wonder if you folks could use help.
I can't think of another way (other than donating which I kinda do already) how to thank you for your support, so I'll try it with offering help.

User avatar
Torta
Posts: 1172
Has liked: 1 time

Re: Portable Black Hole API error IsInventoryItemLocked()

Post by Torta » Thu Jul 25, 2019 6:29 am

Lefaux wrote:
Thu Jul 25, 2019 5:48 am
On another note:
My background is in Web-Development and I wonder if you folks could use help.
I can't think of another way (other than donating which I kinda do already) how to thank you for your support, so I'll try it with offering help.
Would you be interesting to work on something like https://github.com/mangostools/aowow or https://github.com/MarkusNemesis/vanillawowdb for Turtle WoW? It could be a fork of AoWoW or entirely new thing, but I think there's no real need to reinvent the wheel once again.

We have custom content and items, would be nice to have an interface to search throught it.

Big thanks for offering help :)

Lefaux
Posts: 30

Re: Portable Black Hole API error IsInventoryItemLocked()

Post by Lefaux » Thu Jul 25, 2019 11:47 am

from a quick glimpse this looks like "TurtleHead", did I get that right?

Since it's PHP (which is my goto language) yes, that is something I could help with.
I'd try to get the search faster, though, since I know my way around Elasticsearch.

Lefaux
Posts: 30

Re: Portable Black Hole API error IsInventoryItemLocked()

Post by Lefaux » Thu Jul 25, 2019 11:58 am

just looked through the code.
I WILL reinvent the wheel here because the codebase is... well... it sucked back in the day when it was written.
But I know what needs to be done.
I'd recycle as much as I can from the entity structure to keep it compatible with existing exporters and stuff, but I'd rather have a clean Symfony4 underneath that :D

In the end... it needs to be maintainable

User avatar
Torta
Posts: 1172
Has liked: 1 time

Re: Portable Black Hole API error IsInventoryItemLocked()

Post by Torta » Thu Jul 25, 2019 1:06 pm

Image

Post Reply