Inventory list packet

02/27/2011 17:49 shitboi#1
I am wondering which packet tells you the list of items avaible in inventory.
Maybe i am careless, i ididn't see a packet structure on korvac's page that describes what i want.
02/27/2011 19:14 Iron~Man#2
As Far as I know It's string Packet(1015)... NOT SURE
And This is the not right section To Post this request.
02/27/2011 20:53 tanelipe#3
I'm pretty sure he's working a proxy or something similar and not on private server so this section is suitable.
02/27/2011 22:03 Real~Death#4
why not just log in with 40 items in the inventory and see what you recive on log in 40 times?
02/27/2011 22:08 pro4never#5
UUmm...

Item info...

When you login the client does the whole request skills/proff/hotkeys thing and during that the server sends the iteminfo for everything in inventory.

I've always done that to get the inventory and it works very obviously

Position0 = invent and then it's gear slots obviously.

I build a dic of eq and invent so i don't mix things around (ie: accidental dropping of crappy gear on noob hunters.)
02/28/2011 04:29 shitboi#6
so.. it's likely 1015?
Either way, i was being too lazy, and upset about how slow my proxy has been progressing since i completed the semi based. so far i only had aimbot working the way i wanted

I'll test it out after i am done with the assignments on mon,tue,wed and midterm on tues.
02/28/2011 08:49 pro4never#7
Quote:
Originally Posted by shitboi View Post
so.. it's likely 1015?
Either way, i was being too lazy, and upset about how slow my proxy has been progressing since i completed the semi based. so far i only had aimbot working the way i wanted

I'll test it out after i am done with the assignments on mon,tue,wed and midterm on tues.
1008 is item info <_<

I hate to sound like a broken record but why does no one look at my old crappy proxy base I released? It still works on current patch without issue and contains virtually all the packet handling you'd want (it might change offsets a bit but that's the most you'd need to do)

Item location = offset 18

ID = 8

Go from there ^^

If item location = 0 it's in your inventory. Simple enough to handle.
02/28/2011 17:00 shitboi#8
Quote:
Originally Posted by pro4never View Post
1008 is item info <_<

I hate to sound like a broken record but why does no one look at my old crappy proxy base I released? It still works on current patch without issue and contains virtually all the packet handling you'd want (it might change offsets a bit but that's the most you'd need to do)

Item location = offset 18

ID = 8

Go from there ^^

If item location = 0 it's in your inventory. Simple enough to handle.
I am a bad searcher p4n, lol.. I have browsed your codes, tannel's code, and coemu codes. I mus have overlooked something since i only opened up the files with names that i can relay to what i wanted.
02/28/2011 19:15 KraHen#9
OMFG yeah, the string packet is obviously called in dev slang string packet because it`s sending item information.
03/02/2011 20:24 shitboi#10
Gotta bump this thread again.

I realized that Item Unique ID is varying with every throw/pick. By that i mean, if i perform these actions,

pick up panacea (static id = 100200 i think) (Unique ID = 1337343232 just an example)
drop panacea:
-item usage packet will be sent, with a usage value of 37, uid 1337343232
-recv a confirmation item usage packet from server with a usage value of 3, uid = 1337343232 ( same as my drop packet)


Now, if i pick that panacea up. this panacea UID will change right; for i am seeing this change.

Also, i stored my items in a <UID, ItemClass> pair, somehow i am able to add them, but i cannot remove them. Whenever i recv a ItemUse packet with a usage value 3, i'll remove the item.

Am i not getting some concepts right or ... am i missing some other conditions for removing an item from my list?
03/02/2011 20:34 gabrola#11
The UID you get in the item info packet is different from the one you get from the item drop packet, the one you see in the item drop packet changes every time you drop the item. As far as I remember the UID in the item info packet doesn't change.
03/02/2011 20:56 IAmHawtness#12
Quote:
Originally Posted by gabrola View Post
The UID you get in the item info packet is different from the one you get from the item drop packet, the one you see in the item drop packet changes every time you drop the item. As far as I remember the UID in the item info packet doesn't change.
Not unless they're "packed" items (i.e. DragonPills, pots, etc.)
03/02/2011 20:57 pro4never#13
Quote:
Originally Posted by gabrola View Post
The UID you get in the item info packet is different from the one you get from the item drop packet, the one you see in the item drop packet changes every time you drop the item. As far as I remember the UID in the item info packet doesn't change.
^ this.

Ground uids are based on a counter that tq uses (or so I've been told). Essentially it assigns a uid to items dropped on ground skiping npc uids.

Not that it really helps for any sort of auto looter but that's how it was explained to me. Each time you drop something on the ground it's assigned a uid.... if you were the only one on the map killing anything and dropped items they should increase by uid of 1 each time (skipping any used uids for other objects)

I ASSUME this is for an autohunt/loot type purpose so I'll explain how I always have done looting (I'm sure there are better ways and someone should definitely enlighten us if they can :P)


On picking up and item I determine if it should be dropped... I add it to a list of inventory items to be dropped..

As part of my botting code I check if I have items waiting to drop.. run a calculation to decide if I want to (how long since last dropped items... how many items waiting to be dropped, etc).

If those pass I drop the item and set my character to have last dropped an item now and last droped static id to be the item id I dropped..

In my packet handling code whenever I receive a item usage to remove item from my inventory I check if it's an item I am attempting to drop and if so remove it from the todrop list and from my inventory (cause sometimes you will send drop packet but server will not let you cause you just moved or w/e... it's just safer that way I found)

In my packet handling code whenever I receive a new item being added to the ground I check if the last time I dropped an item was say... less than 500 ms ago.. if so I check if the static id of the item dropped is the same as the last item I attempted to drop. If so I add it to a temporary ignore list (based on ground uid) basically saying for the next 60 seconds do not attempt to pick up a ground item with a uid of XXX


It worked fine in all my tests but I'm sure some others have different ways of doing things.
03/02/2011 21:10 shitboi#14
Quote:
Originally Posted by gabrola View Post
The UID you get in the item info packet is different from the one you get from the item drop packet, the one you see in the item drop packet changes every time you drop the item. As far as I remember the UID in the item info packet doesn't change.
Yeah, you are right ... i had to remove the item the instant i "attempted" to drop the item client side.

I usually scan the server reply to be more safe. But i'll have to stick to this for now.
03/02/2011 21:11 IAmHawtness#15
Quote:
Originally Posted by pro4never View Post
^ this.

Ground uids are based on a counter that tq uses (or so I've been told). Essentially it assigns a uid to items dropped on ground skiping npc uids.

Not that it really helps for any sort of auto looter but that's how it was explained to me. Each time you drop something on the ground it's assigned a uid.... if you were the only one on the map killing anything and dropped items they should increase by uid of 1 each time (skipping any used uids for other objects)

I ASSUME this is for an autohunt/loot type purpose so I'll explain how I always have done looting (I'm sure there are better ways and someone should definitely enlighten us if they can :P)


On picking up and item I determine if it should be dropped... I add it to a list of inventory items to be dropped..

As part of my botting code I check if I have items waiting to drop.. run a calculation to decide if I want to (how long since last dropped items... how many items waiting to be dropped, etc).

If those pass I drop the item and set my character to have last dropped an item now and last droped static id to be the item id I dropped..

In my packet handling code whenever I receive a item usage to remove item from my inventory I check if it's an item I am attempting to drop and if so remove it from the todrop list and from my inventory (cause sometimes you will send drop packet but server will not let you cause you just moved or w/e... it's just safer that way I found)

In my packet handling code whenever I receive a new item being added to the ground I check if the last time I dropped an item was say... less than 500 ms ago.. if so I check if the static id of the item dropped is the same as the last item I attempted to drop. If so I add it to a temporary ignore list (based on ground uid) basically saying for the next 60 seconds do not attempt to pick up a ground item with a uid of XXX


It worked fine in all my tests but I'm sure some others have different ways of doing things.
Drop item while adding your current coordinates to a temporary ignore list -> wait for server response to tell you that the item was dropped -> add the temporary ignored coordinates to permanent list (dictionary of item id, timestamp) -> repeat. That's how I do it. That's kinda ping dependant of course, but who cares, my ping is great:p