Goods supplier gift (auto equipment quests)

Hey,

I was wondering if you are planning to include the Goods Supplier’s Gift quests to auto-quest.
I’m fighting for 2 days already with this thing with my naive approach, but it’s kinda pointless.

As far as I can tell, picking shield and accessories is working fine, however, the quests for weapon and armor is not properly working. You can still enable it and the quest will also be completed, but you never get the items, probably because there is no logic to picking the reward from the available pool.

I tried it myself with the “ScriptCommands” plugin, but it’s way over my head and very time consuming with my approach. I’m creating new accounts and new chars to record the packet structure for the quest, but it’s very time consuming, due to the login queue and eventually leveling the chars as well.

What I have come up with so far is:

  • ID of the NPC for the packet varies from server to server, i.e. the NPC in Constantinople has the ID “66 0A” on Thetis and “DC 01” on Tyche.
  • the packet structure for selecting the armor (heavy armor DG1 and DG2) is
0x7515: 2C 04 00 00 01 44 9A 00 00
0x7515: 2D 04 00 00 01 45 9A 00 00
  • theobvious assumptions would be to increment the changed bytes by one for each DG (LA and Robe are 4C and 54, respectively at the 6th byte. the difference between the 6th byte of each armor types are 8 byte (Robe to LA and LA to HA), which is consistent
  • the whole packet structure for weapons is something like this (Warlock Rod, Staff, Harp, Cleric Rod in respective order)
0x7515: 1C 04 00 00 01 69 66 00 00
0x7515: 1C 04 00 00 01 8D 66 00 00
0x7515: 1C 04 00 00 01 AF 66 00 00
0x7515: 1C 04 00 00 01 D2 66 00 00
  • as we can see here, the differences at the 6th byte are not consistent, therefore it’s not possible to make an educated guess, as in the case with the packets for armor
  • cleric to harp = 23 byte; harp to staff = 22 byte; staff to warlock = 24 byte
  • DG2 packets look like this (Warlock, Staff, Cleric)
0x7515: 1D 04 00 00 01 6C 66 00 00
0x7515: 1D 04 00 00 01 90 66 00 00
0x7515: 1D 04 00 00 01 D5 66 00 00
  • we can see here that the first byte is incremented by 1 and the 6th by 2

@Ryan maybe you can implement those quests?

I hope this information helps you, in case you will implement those quests, but you probably have better ways to figure out, how to retrieve the data to send, anyways.

Cheers~

(Sorry for the confusing formatting, don’t know how to make nested bullet lists)

@Ryan any thoughts? will you be able to do it?

@Ryan bump