It have been used to trade between players ...
Make sure you have the correct header which is currently:Quote:
AbandonQuest() logs me out.
Global Const $HEADER_QUEST_ABANDON = 0x12 ;+ AbandonQuest($aQuestID)
Thanks it workedQuote:
Make sure you have the correct header which is currently:
I would also double check to make sure you have a valid questid, this only uses the packet function so if you can use any packets successfully this should work fine. The size of the packet is still 0x8 as well.Code:Global Const $HEADER_QUEST_ABANDON = 0x12 ;+ AbandonQuest($aQuestID)
$lMe = GetMyID() $lSkill = GetSkillByID (DllStructGetData($lMe, 'skill')) DllStructGetData($lSkill, 'Activation')
Func GetMyID() Return MemoryRead($mMyID) EndFunc ;==>GetMyID
$mMyID = MemoryRead(GetScannedAddress('ScanMyID', -3));$mMyID = $mAgentBase - 84
You are going to want to take a look at the AgentMgr.cpp file in GWCA and more specifically this line to fix it. Too many versions of half broken gwa2 floating around to give a direct code example in autoit format.Quote:
I found something else that doesn't work.
I can get skill ID and activation time for my target but not for myself.Code:$lMe = GetMyID() $lSkill = GetSkillByID (DllStructGetData($lMe, 'skill')) DllStructGetData($lSkill, 'Activation')
So I assume this function doesn't work:
So §mMyID needs to be updated?Code:Func GetMyID() Return MemoryRead($mMyID) EndFunc ;==>GetMyID
Anyone knows how to fix?Code:$mMyID = MemoryRead(GetScannedAddress('ScanMyID', -3));$mMyID = $mAgentBase - 84
PlayerAgentIdPtr = Scanner::Find("\x5D\xE9\x00\x00\x00\x00\x55\x8B\xEC\x53","xx????xxxx", -0xE);
if (PlayerAgentIdPtr) {
PlayerAgentIdPtr = *(uintptr_t*)PlayerAgentIdPtr;
printf("[SCAN] PlayerAgentIdPtr = %p\n", (void *)PlayerAgentIdPtr);
}
ConsoleWrite("testGMID " & GetMyID() [MENTION=3576271]CRLF[/MENTION])
This is beyond my ability to utilize 😁😁Quote:
You are going to want to take a look at the AgentMgr.cpp file in GWCA and more specifically this line to fix it. Too many versions of half broken gwa2 floating around to give a direct code example in autoit format.
Code:PlayerAgentIdPtr = Scanner::Find("\x5D\xE9\x00\x00\x00\x00\x55\x8B\xEC\x53","xx????xxxx", -0xE); if (PlayerAgentIdPtr) { PlayerAgentIdPtr = *(uintptr_t*)PlayerAgentIdPtr; printf("[SCAN] PlayerAgentIdPtr = %p\n", (void *)PlayerAgentIdPtr); }