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