----continuing GR Thread here for time being.....
There seems to be many more changes then first thought.... since GR has issues I am continuing here for now...
Thanks to iTecka for his assistance with getting a better working model and digging up new working Patterns.... This is what we have so far:
Code:
420 changelog...
________________
Crazy Model ID Changes Mostly +6
Crazy Title and Faction Point Changes Mostly +64 to Offset[3]
Function Changes
________________
* Func MemoryReadPtr()
See Below - You are welcome to hard code the changes but I would wait till after the event
because we are still verifying some of them.. ie.. 0xAC was removed
because it was not necessary.
Pattern Changes
________________
;UseHeroSkill Pattern -2 Line Change -
_("ScanUseHeroSkillFunction:")
ADDPATTERN("8D0C765F5E8B048A5BC35F5E83C8FF5B")
SETVALUE("UseHeroSkillFunction", "0x" & Hex(GETSCANNEDADDRESS("ScanUseHeroSkillFunction", -159), 8))
;DecreaseAttribute Pattern - 2 Lines Changed -
_("ScanDecreaseAttributeFunction:")
ADDPATTERN("0F95C04833C923C35B85C00F95C18BC1")
SETVALUE("DecreaseAttributeFunction", "0x" & Hex(GETSCANNEDADDRESS("ScanDecreaseAttributeFunction", 72), 8))
We have removed the 0xAC from the Offset Global String.. since I determined it was not necessary and causing issues...
here is the new string and updated FUNC MEMORYREADPTR()
Code:
Global $420update[] = [ 0x4A4, 0x4AC, 0x4C4, 0x4C8, 0x4D0, 0x5C8, 0x5D4, 0x62C, 0x658, 0x68C, _
0x6DC, 0x6E4, 0x6F4, 0x708, 0x734, 0x754, 0x758, 0x75C, 0x760, 0x7A8, 0x7B8, 0x7E8, 0x7EC ]
Func MemoryReadPtr($aAddress, $aOffset, $aType = 'dword')
Local $lPointerCount = UBound($aOffset) - 2
Local $lBuffer = DllStructCreate('dword')
Local $A64 = False
If $aOffset[1] = 0x18 and $aOffset[2] = 0x2c then
For $j = 0 To UBound($420update) -1
If $aOffset[3] = $420update[$j] then $A64 = True
Next
If $A64 then $aOffset[3] += 0x64
EndIf
For $i = 0 To $lPointerCount
$aAddress += $aOffset[$i]
DllCall($mKernelHandle, 'int', 'ReadProcessMemory', 'int', $mGWProcHandle, 'int', $aAddress, 'ptr', DllStructGetPtr($lBuffer), 'int', DllStructGetSize($lBuffer), 'int', '')
$aAddress = DllStructGetData($lBuffer, 1)
If $aAddress == 0 Then
Local $lData[2] = [0, 0]
Return $lData
EndIf
Next
$aAddress += $aOffset[$lPointerCount + 1]
$lBuffer = DllStructCreate($aType)
DllCall($mKernelHandle, 'int', 'ReadProcessMemory', 'int', $mGWProcHandle, 'int', $aAddress, 'ptr', DllStructGetPtr($lBuffer), 'int', DllStructGetSize($lBuffer), 'int', '')
Local $lData[2] = [$aAddress, DllStructGetData($lBuffer, 1)]
Return $lData
EndFunc ;==>MemoryReadPtr
Put the Global String up towards the top of your code...(so it only runs once)
Replace the MemoryReadPtr Function in your code...
Find and Replace the lines to fix the patterns!
...more fixes will be made available if found...
Many Model ID's also have been changed - trying adding six to the ones you have as that is the offset we have found effective so far... a complete list will be made available.