Code:
#include <WindowsConstants.au3>
#include <GUIConstants.au3>
#include <GUIConstantsEx.au3>
#include <NomadMemory.au3>
Global $StartMem_Position_D, $EndMem_Position_D, $ScanValue, $hprocess, $PID
$Form1 = GUICreate(" Update [Gw.exe]", 289, 84, -1, -1, -1, BitOR($WS_EX_TOOLWINDOW,$WS_EX_WINDOWEDGE))
$Group1 = GUICtrlCreateGroup("Update", 8, 8, 273, 49)
$Button1 = GUICtrlCreateButton("Write File (.txt)", 16, 24, 83, 25, 0)
$Button2 = GUICtrlCreateButton("Write File (.ini)", 104, 24, 83, 25, 0)
$Button3 = GUICtrlCreateButton("Exit", 192, 24, 83, 25, 0)
GUICtrlCreateGroup("", -99, -99, 1, 1)
$Label1 = GUICtrlCreateLabel("wadimwadim", 8, 64, 64, 17)
$Label2 = GUICtrlCreateLabel("www.elitepvpers.com", 184, 64, 97, 17)
GUISetState(@SW_SHOW)
While 1
$nMsg = GUIGetMsg()
Switch $nMsg
Case $GUI_EVENT_CLOSE
Exit
Case $Button3
Exit
Case $Button1
_GetNewAddress()
_WriteFileTXT()
guictrlsetstate($Button2, $GUI_ENABLE)
guictrlsetstate($Button1, $GUI_ENABLE)
Case $Button2
_GetNewAddress()
_WriteINI()
guictrlsetstate($Button2, $GUI_ENABLE)
guictrlsetstate($Button1, $GUI_ENABLE)
EndSwitch
WEnd
Func _Scan_Position_D()
$PID = ProcessExists("Gw.exe")
$hprocess = _MemoryOpen($PID)
$StartMem_Position_D = 0x00D00000
;$EndMem_Position_D = 0x00DFFFFF
Do
$ScanValue = _MemoryRead($StartMem_Position_D, $hprocess, 'float')
$StartMem_Position_D = $StartMem_Position_D + 1
Until ($ScanValue < -6300) And ($ScanValue > -6345)
Return ($StartMem_Position_D - 1)
EndFunc
Func _Scan_Position_A()
$PID = ProcessExists("Gw.exe")
$hprocess = _MemoryOpen($PID)
$StartMem_Position_A = 0x00A00000
;$EndMem_Position_A = 0x00A13899
Do
$ScanValue = _MemoryRead($StartMem_Position_A, $hprocess, 'float')
$StartMem_Position_A = $StartMem_Position_A + 1
Until ($ScanValue < -6300) And ($ScanValue > -6345)
Return ($StartMem_Position_A - 1)
EndFunc
Func _GetNewAddress()
guictrlsetstate($Button1, $GUI_DISABLE)
guictrlsetstate($Button2, $GUI_DISABLE)
Global $NewPosition = _Scan_Position_D()
Global $NewPosition_2 = _Scan_Position_A()
Global $NewCourse = $NewPosition_2 + 609
Global $NewDeath = $NewPosition_2 + 884
Global $NewMouseCoord_X = $NewDeath + 1548
Global $NewMouseCoord_Y = $NewMouseCoord_X + 4
Global $NewTown_OutpostID = $NewMouseCoord_X + 1976
Global $NewExAreaID = $NewTown_OutpostID - 13600
Global $NewNpcIDnear = $NewPosition - 1168
Global $NewNpcIDselect = $NewNpcIDnear - 32
Global $NewCheckMap = $NewNpcIDselect + 1040
Global $NewZoomExpanderA = $NewMouseCoord_X - 1885
Global $NewZoomExpanderB = $NewZoomExpanderA - 1
Global $NewNoNpc = $NewZoomExpanderA + 7297
Global $NewLVL = $NewPosition_2 - 9120
Global $NewPVP_PVE = $NewLVL + 12
Global $NewNoMessage = $NewCheckMap + 1884
Global $NewPing = $NewPVP_PVE - 11240
Global $NewCharName = $NewPing + 80
Global $NewMouse_Text = $NewCharName + 20180
Global $NewMouse_LocationA = $NewCharName + 76279
Global $NewMouse_LocationB = $NewCharName + 76278
Global $NewBagId = $NewCharName + 6988
Global $NewMouse_SelectId = $NewNpcIDnear - 20
Global $NewInterfaceSize = $NewCharName + 5635
Global $NewPlayerStatus = $NewNoMessage + 2007
Global $Line = '==========================='
Global $Line2 = '========================='
Global $txtname = 'update[Gw.exe].txt'
EndFunc
Func _WriteFileTXT()
FileWriteLine($txtname, '=======================' & 'Update: ' & @MDAY & '.' & @MON & '=======================')
FileWriteLine($txtname, $Line2 & 'Section A' & $Line2)
FileWriteLine($txtname, 'New Position X --> ' & Hex($NewPosition_2) & ' float')
FileWriteLine($txtname, 'New Position Y --> ' & Hex($NewPosition_2 + 4) & ' float')
FileWriteLine($txtname, 'New Death --> ' & Hex($NewDeath) & ' int')
FileWriteLine($txtname, 'New Course --> ' & Hex($NewCourse) & ' float')
FileWriteLine($txtname, 'New MouseCoord X --> ' & Hex($NewMouseCoord_X) & ' float')
FileWriteLine($txtname, 'New MouseCoord Y --> ' & Hex($NewMouseCoord_Y) & ' float')
FileWriteLine($txtname, 'New Town_OutpostID --> ' & Hex($NewTown_OutpostID) & ' int')
FileWriteLine($txtname, 'New ExAreaID --> ' & Hex($NewExAreaID) & ' int')
FileWriteLine($txtname, 'New ZoomExpander A --> ' & Hex($NewZoomExpanderA) & ' int')
FileWriteLine($txtname, 'New ZoomExpander B --> ' & Hex($NewZoomExpanderB) & ' int')
FileWriteLine($txtname, 'New NoNpc --> ' & Hex($NewNoNpc) & ' int')
FileWriteLine($txtname, 'New LVL --> ' & Hex($NewLVL) & ' int')
FileWriteLine($txtname, 'New PVP_PVE --> ' & Hex($NewPVP_PVE) & ' int')
FileWriteLine($txtname, 'New Ping --> ' & Hex($NewPing) & ' int')
FileWriteLine($txtname, 'New CharName --> ' & Hex($NewCharName) & ' unicode[i]')
FileWriteLine($txtname, 'New InterfaceSize --> ' & Hex($NewInterfaceSize) & ' int')
FileWriteLine($txtname, 'New Mouse_Text --> ' & Hex($NewMouse_Text) & ' int')
FileWriteLine($txtname, 'New Mouse_LocationA --> ' & Hex($NewMouse_LocationA) & ' int')
FileWriteLine($txtname, 'New Mouse_LocationB --> ' & Hex($NewMouse_LocationB) & ' int')
FileWriteLine($txtname, 'New BagId --> ' & Hex($NewBagId) & ' int')
FileWriteLine($txtname, $Line2 & 'Section D' & $Line2)
FileWriteLine($txtname, 'New Position X --> ' & Hex($NewPosition) & ' float')
FileWriteLine($txtname, 'New Position Y --> ' & Hex($NewPosition + 4) & ' float')
FileWriteLine($txtname, 'New Npc_ID_near --> ' & Hex($NewNpcIDnear) & ' int')
FileWriteLine($txtname, 'New Npc_ID_select --> ' & Hex($NewNpcIDselect) & ' int')
FileWriteLine($txtname, 'New CheckMap --> ' & Hex($NewCheckMap) & ' int')
FileWriteLine($txtname, 'New Mouse_SelectId --> ' & Hex($NewMouse_SelectId) & ' int')
EndFunc
Func _WriteINI()
$iniName = 'update[Gw.exe].ini'
FileWriteLine($iniName, ';Section A')
FileWriteLine($iniName, 'PositionX' & ' = ' & Hex($NewPosition_2))
FileWriteLine($iniName, 'PositionY' & ' = ' & Hex($NewPosition_2 + 4))
FileWriteLine($iniName, 'Death' & ' = ' & Hex($NewDeath))
FileWriteLine($iniName, 'Course' & ' = ' & Hex($NewCourse))
FileWriteLine($iniName, 'MouseCoordX' & ' = ' & Hex($NewMouseCoord_X))
FileWriteLine($iniName, 'MouseCoordY' & ' = ' & Hex($NewMouseCoord_Y))
FileWriteLine($iniName, 'Town_OutpostID' & ' = ' & Hex($NewTown_OutpostID))
FileWriteLine($iniName, 'ExAreaID' & ' = ' & Hex($NewExAreaID))
FileWriteLine($iniName, 'ZoomExpanderA' & ' = ' & Hex($NewZoomExpanderA))
FileWriteLine($iniName, 'ZoomExpanderB' & ' = ' & Hex($NewZoomExpanderB))
FileWriteLine($iniName, 'NoNpc' & ' = ' & Hex($NewNoNpc))
FileWriteLine($iniName, 'LVL' & ' = ' & Hex($NewLVL))
FileWriteLine($iniName, 'PVP_PVE' & ' = ' & Hex($NewPVP_PVE))
FileWriteLine($iniName, 'Ping' & ' = ' & Hex($NewPing))
FileWriteLine($iniName, 'CharName' & ' = ' & Hex($NewCharName))
FileWriteLine($iniName, 'Mouse_Text' & ' = ' & Hex($NewMouse_Text))
FileWriteLine($iniName, 'Mouse_LocationA' & ' = ' & Hex($NewMouse_LocationA))
FileWriteLine($iniName, 'Mouse_LocationB' & ' = ' & Hex($NewMouse_LocationB))
FileWriteLine($iniName, 'BagId' & ' = ' & Hex($NewBagId))
FileWriteLine($iniName, 'InterfaceSize' & ' = ' & Hex($NewInterfaceSize))
FileWriteLine($iniName, ';SectionD')
FileWriteLine($iniName, 'PositionX' & ' = ' & Hex($NewPosition))
FileWriteLine($iniName, 'PositionY' & ' = ' & Hex($NewPosition + 4))
FileWriteLine($iniName, 'Npc_ID_near' & ' = ' & Hex($NewNpcIDnear))
FileWriteLine($iniName, 'Npc_ID_selec' & ' = ' & Hex($NewNpcIDselect))
FileWriteLine($iniName, 'CheckMap' & ' = ' & Hex($NewCheckMap))
FileWriteLine($iniName, 'Mouse_SelectId' & ' = ' & Hex($NewMouse_SelectId))
EndFunc