I'm curious to know how the headers are gathered. I'm currently looking at the ones from Zilvermoon and comparing them to Logicdoor's and I'm wondering how they got about finding them.
I heard that the headers got changed a few years back by Anet and that broke most bots.
Here's an example:
Google isn't helping because it gives me stuff about image headers (like cover images) :/
Also is there functionally a difference between the 2 extra 0's?
Global Const $HEADER_QUEST_ABANDON = 0x0F
vs
Global Const $HEADER_QUEST_ABANDON = 0x000F
Are headers also meant to be unique?
vs
Both have the same 0x4F header for different actions.
Edit: pretty sure they're meant to be unique and the Zilvermoon version reuses the same header with different variable names as shown here:
but when compared to Logicdoor's:
I heard that the headers got changed a few years back by Anet and that broke most bots.
Here's an example:
Code:
#Region ;=QUEST= ;GAME_SMSG_QUEST_ADD Global Const $HEADER_QUEST_ACCEPT = 0x39 ;Accepts a quest from the NPC Global Const $HEADER_QUEST_REWARD = 0x4F ;Retrieves Quest reward from NPC ;GAME_CMSG_QUEST_ABANDON 0x0F or GAME_SMSG_QUEST_REMOVE 0x51 Global Const $HEADER_QUEST_ABANDON = 0x0F ;Abandons the quest ;LogicDoors Global Const $HEADER_QUEST_ABANDON = 0x000F ;Same as above Global Const $HEADER_QUEST_REQUEST_INFOS = 0x0010 Global Const $HEADER_QUEST_SET_ACTIVE = 0x0012 #EndRegion ;=QUEST=
Google isn't helping because it gives me stuff about image headers (like cover images) :/
Also is there functionally a difference between the 2 extra 0's?
Global Const $HEADER_QUEST_ABANDON = 0x0F
vs
Global Const $HEADER_QUEST_ABANDON = 0x000F
Are headers also meant to be unique?
Code:
;GAME_CMSG_INTERACT_ITEM 0x3D or GAME_CMSG_INTERACT_GADGET 0x4F Global Const $HEADER_SIGNPOST_RUN = 0x4F ;Runs to signpost
Code:
Global Const $HEADER_QUEST_REWARD = 0x4F ;Retrieves Quest reward from NPC
Edit: pretty sure they're meant to be unique and the Zilvermoon version reuses the same header with different variable names as shown here:
Code:
Global Const $HEADER_QUEST_ACCEPT = 0x39 Global Const $HEADER_DIALOG = 0x39 Func AcceptQuest($aQuestID) Return SendPacket(0x8, $HEADER_QUEST_ACCEPT, '0x008' & Hex($aQuestID, 3) & '01') EndFunc ;==>AcceptQuest
Code:
Global Const $HEADER_SEND_DIALOG = 0x0039
Func AcceptQuest($aQuestID)
; If IsDllStruct(GetQuestByID($aQuestID)) Then Return
Out("Accepting quest" & $aQuestID)
SendPacket(0x8, $HEADER_SEND_DIALOG, '0x008' & Hex($aQuestID, 3) & '01')
RequestQuestInformation($aQuestID)
Out($aQuestID)
Out("Accepted quest " & $Quest_ID[$aQuestID] & " - Status: " & QuestLogState($aQuestID))
Out("Starting at " & $Map_ID[QuestMapFrom($aQuestID)])
Out("Ending at " & $Map_ID[QuestMapTo($aQuestID)])
Pingsleep(100)
EndFunc ;==>AcceptQuest