I have an old autoit script to find silkroad offsets from xxx(dont know anymore). But it doesn't work now. I get this error :
Code:
C:\Silkroad\offsetfinder.au3 (62) : ==> Subscript used with non-Array variable.: GUICtrlSetData($charbase, "0x"&rev($base[0])) GUICtrlSetData($charbase, "0x"&rev($base^ ERROR
Code:
GUICreate("OffsetFinder", 210, 540)
GUICtrlCreateLabel("CharBase:",10,10)
GUICtrlCreateLabel("GoldBase:",10,35)
GUICtrlCreateLabel("PositionDevider:",10,60)
GUICtrlCreateLabel("Server:",10,85)
GUICtrlCreateLabel("CharName:",10,110)
GUICtrlCreateLabel("Guild:",10,135)
GUICtrlCreateLabel("AutoSelect:",10,160)
GUICtrlCreateLabel("AutoGrab:",10,185)
GUICtrlCreateLabel("/v:",10,210)
GUICtrlCreateLabel("/z:",10,235)
GUICtrlCreateLabel("Cur Hp:",10,260)
GUICtrlCreateLabel("Max Hp:",10,285)
GUICtrlCreateLabel("Cur Mp:",10,310)
GUICtrlCreateLabel("Max Mp:",10,335)
GUICtrlCreateLabel("Level:",10,360)
GUICtrlCreateLabel("Exp:",10,385)
GUICtrlCreateLabel("Sxp:",10,410)
GUICtrlCreateLabel("Str:",10,435)
GUICtrlCreateLabel("Int:",10,460)
GUICtrlCreateLabel("Sp:",10,485)
GUICtrlCreateLabel("Stat:",10,510)
$charbase=GUICtrlCreateInput("Reading...",100,10,100,"",1)
$goldbase=GUICtrlCreateInput("Reading...",100,35,100,"",1)
$posdivider=GUICtrlCreateInput("Reading...",100,60,100,"",1)
$serveraddress=GUICtrlCreateInput("Reading...",100,85,100,"",1)
$charname=GUICtrlCreateInput("Reading...",100,110,100,"",1)
$guildname=GUICtrlCreateInput("Reading...",100,135,100,"",1)
$select=GUICtrlCreateInput("Reading...",100,160,100,"",1)
$grab=GUICtrlCreateInput("Reading...",100,185,100,"",1)
$vadd=GUICtrlCreateInput("Reading...",100,210,100,"",1)
$zadd=GUICtrlCreateInput("Reading...",100,235,100,"",1)
$curhpadd=GUICtrlCreateInput("Reading...",100,260,100,"",1)
$maxhpadd=GUICtrlCreateInput("Reading...",100,285,100,"",1)
$curmpadd=GUICtrlCreateInput("Reading...",100,310,100,"",1)
$maxmpadd=GUICtrlCreateInput("Reading...",100,335,100,"",1)
$lvladd=GUICtrlCreateInput("Reading...",100,360,100,"",1)
$expadd=GUICtrlCreateInput("Reading...",100,385,100,"",1)
$sxpadd=GUICtrlCreateInput("Reading...",100,410,100,"",1)
$stradd=GUICtrlCreateInput("Reading...",100,435,100,"",1)
$intadd=GUICtrlCreateInput("Reading...",100,460,100,"",1)
$spadd=GUICtrlCreateInput("Reading...",100,485,100,"",1)
$statadd=GUICtrlCreateInput("Reading...",100,510,100,"",1)
GUISetState()
read()
Do
$msg = GUIGetMsg()
Sleep(1)
Until $msg = -3
Func read()
If FileExists("sro_client.exe") Then
$path = "sro_client.exe"
Else
$path = FileSaveDialog("select your sro_client.exe", "", "sro_client(sro_client.exe)")
EndIf
$size = FileGetSize("sro_client.exe")
$file = FileOpen("sro_client.exe", 4)
$content = FileRead($file, $size)
$base = StringRegExp($content, "8B0D(.{6}?)0080", 3)
GUICtrlSetData($charbase, "0x"&rev($base[0]))
$gold = StringRegExp($content, "8B0D(.{6}?)007569", 3)
GUICtrlSetData($goldbase, "0x"&rev($gold[0]))
$pos = StringRegExp($content, "00DC35(.{6}?)00E8", 3)
GUICtrlSetData($posdivider, "0x"&rev($pos[0]))
;~ $server = StringRegExp($content, "8D4C245468(.{6}?)005189", 3)
;~ GUICtrlSetData($serveraddress, "0x"&rev($server[0]))
$select_grap = StringRegExp($content, "D905(.{6}?)008B888C000000D91C248", 3)
GUICtrlSetData($select, "0x"&rev($select_grap[0]))
GUICtrlSetData($grab, "0x"&rev($select_grap[1]))
$maxhp = StringMid($content, StringInStr($content, "8B3D"&$base[0]&"008BBF", 2)+StringLen("8B3D"&$base[0]&"008BBF"), 8)
GUICtrlSetData($maxhpadd, "0x"&rev($maxhp))
$lvl = StringMid($content, StringInStr($content, "8B0D"&$base[0]&"000FB691", 2)+StringLen("8B0D"&$base[0]&"000FB691"), 8)
GUICtrlSetData($lvladd, "0x"&rev($lvl))
$str = StringMid($content, StringInStr($content, "A1"&$base[0]&"000FB788", 2)+StringLen("A1"&$base[0]&"000FB788"), 8)
GUICtrlSetData($stradd, "0x"&rev($str))
FileClose($file)
;~ $char = calc($server[0], 0x100)
;~ GUICtrlSetData($charname, "0x"&$char)
$guild = calc($base[0], 0x8A0, "sub")
GUICtrlSetData($guildname, "0x"&$guild)
$v = calc($base[0], 0x8)
GUICtrlSetData($vadd, "0x"&$v)
$z = calc($base[0], 0x9)
GUICtrlSetData($zadd, "0x"&$z)
$exp = calc($str, 0xC, "sub")
GUICtrlSetData($expadd, "0x"&$exp)
$sxp = calc($str, 0x4, "sub")
GUICtrlSetData($sxpadd, "0x"&$sxp)
$int = calc($str, 0x2)
GUICtrlSetData($intadd, "0x"&$int)
$sp = calc($str, 0x4)
GUICtrlSetData($spadd, "0x"&$sp)
$stat = calc($str, 0x8)
GUICtrlSetData($statadd, "0x"&$stat)
$curhp = calc($maxhp, 0x8)
GUICtrlSetData($curhpadd, "0x"&$curhp)
$maxmp = calc($maxhp, 0x4)
GUICtrlSetData($maxmpadd, "0x"&$maxmp)
$curmp = calc($maxhp, 0x4, "sub")
GUICtrlSetData($curmpadd, "0x"&$curmp)
EndFunc
Func rev($string)
Local $all
For $i=StringLen($string)+1 To 1 Step -2
$all=$all&StringMid($string, $i, 2)
Next
While StringLeft($all,1) = "0"
$all = StringTrimLeft($all,1)
Wend
Return $all
EndFunc
Func calc($string, $value, $func = "add")
If $func = "add" Then
$string=Hex(String("0x"&rev($string))+$value)
ElseIf $func = "sub" Then
$string=Hex(String("0x"&rev($string))-$value)
EndIf
While StringLeft($string,1) = "0"
$string = StringTrimLeft($string,1)
Wend
Return $string
Endfunc







