albiondata-client icon indicating copy to clipboard operation
albiondata-client copied to clipboard

Find the contents of containers

Open regner opened this issue 7 years ago • 4 comments

A good start would be this operation:

Operation: ContainerOpen ID: 80

regner avatar Sep 04 '17 21:09 regner

ID: 80 does not get sent

These are the correct ones, you get 1 message per item in the box and get sent the box layout afterwards but be careful since you recieve randomly those item packets too:

time="2017-09-12T11:53:51+02:00" level=debug msg="Event: map[1:1104 4:1 252:23 0:405119 3:Majok 5:28000000 6:[] 7:[] 8:false 2:1]" time="2017-09-12T11:53:51+02:00" level=debug msg="Event: map[1:1095 2:1 3:Lyua 4:1 5:12000000 252:23 0:405120 7:[] 8:false 6:[]]" time="2017-09-12T11:53:51+02:00" level=debug msg="Event: map[5:false 6:21460000 252:26 0:405118 1:3068 2:1 3:Ultraporing 4:10000]" time="2017-09-12T11:53:51+02:00" level=debug msg="Event: map[0:4 1:[405119 405120 405118 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0] 2:[-99 -70 -42 -107 -52 -91 -57 71 -73 103 -62 -85 73 107 74 40] 252:42]"

23 (Equipment Item): 0 = IDInsideBox (used in the containerOpening packet), 1 = ItemIndex, 2 = quantity, 3 = creator, 4 = quality, 5 = durability (multiplied by 10000), 6 = active spells, 7 = passive spells, 8 = unknown

24 (Stackable Item): 0 = IDInsideBox (used in the containerOpening packet), 1 = ItemIndex, 2 = quantity

25 (FurnitureItem): 0 = IDInsideBox (used in the containerOpening packet), 1 = ItemIndex, 2 = quantity, 3 = creator, 4 = durability (multiplied by 10000)

26 (JournalItem): 0 = IDInsideBox (used in the containerOpening packet), 1 = ItemIndex, 2 = probably quantity, 3 = creator, 6 = FameStored (multiplied by 10000)

42 (Bank Container Open): 0 = some kind of checksum used internally, 1 = Box Slots (Uses IDInsideBox), 2 = Container ID

75 (Generic Container Open): 0 = some kind of checksum used internally, 1 = Box Slots (Uses IDInsideBox), 2 = Container ID

I did some work in my branch, someone has to put it into the right format for nats sending. https://github.com/Ultraporing/albiondata-client/commit/26f0280ccc6f7a56ebfc93ae2bffb9e0e92c6295

current output:

time="2017-09-12T16:31:36+02:00" level=info msg="Sending container with 6 items of Ultraporing to ingest" time="2017-09-12T16:31:36+02:00" level=info msg="Container: " time="2017-09-12T16:31:36+02:00" level=info msg="&{Item:{ItemIndex:230 Quantity:2} ItemType:Stackable_Item}" time="2017-09-12T16:31:36+02:00" level=info msg="&{Item:{ItemIndex:1104 Quantity:1 Creator:Majok Quality:1 Durability:28000000} ItemType:Equipment_Item}" time="2017-09-12T16:31:36+02:00" level=info msg="&{Item:{ItemIndex:201 Quantity:4} ItemType:Stackable_Item}" time="2017-09-12T16:31:36+02:00" level=info msg="&{Item:{ItemIndex:1095 Quantity:1 Creator:Lyua Quality:1 Durability:12000000} ItemType:Equipment_Item}" time="2017-09-12T16:31:36+02:00" level=info msg="&{Item:{ItemIndex:3068 Quantity:1 Creator:Ultraporing FameStored:21490000} ItemType:Journal_Item}" time="2017-09-12T16:31:36+02:00" level=info msg="&{Item:{ItemIndex:1194 Quantity:1 Creator:Chudatta Durability:150000} ItemType:Furniture_Item}"

Ultraporing avatar Sep 12 '17 09:09 Ultraporing

The 2 parameter of event 42 looks like a character Id

oxisto avatar Sep 13 '17 17:09 oxisto

So we found out that eventType 42 seems to be "Bank Container Open" and eventType 75 is "Chest in your house open". They do have the same structure though

oxisto avatar Sep 14 '17 11:09 oxisto

Additional findings: For Containers:

  • Operation Request 80 is the ContainerOpen operation. It does contain some kind of "objectID" in param 0, nothing else, this is more or less just a UI thing we guess
  • all these individual item events get sent.
  • Event 75 gets sent. it also contains the same objectID as in Operation 80
  • In case you close the chest, Operation Request 81 is sent

For Banks its the same, just the IDs are different

  • Operation Request 27 opens it
  • Event Type 42 contains the map of items
  • Operation Request 28 closes it

oxisto avatar Sep 14 '17 12:09 oxisto