Auto select/grab offset

07/06/2011 12:34 zulek#1
How can i find the offset of autoselect or auto grab. I need it to change the range of it. Can anyone explain me or post a link with an tutorial. Or maybe has someone the offsets of autoselect and autograb from private server EliteSRO?

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
Here the source
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
07/07/2011 13:30 intercsaki#2
Probably its really old. Changing autoselect/autograb range nowdays are done with CheatEngine, but the adress varies (depends on the type of silkroad). I have a 2 years old adress, which probably doesn't work now, but its a tutorial, only you have to find the adress yourself.

Quote:
[GUIDE] How to change range of autoselect without loader.

Hey, this is my first topic ^^ , I had a lot of problems with lolkop's loader
and now when i figured it out i want to share it . . .

You need only Cheat Engine: [Only registered and activated users can see links. Click Here To Register...]

So lets start , run silkroad and then cheat engine. At the top left you can see computer, click on it, find sro_client.exe and press ok. Now at the bottom right click "Add address manually". Put 9F3A40 in address and change type to float.
Now you can easily see at list value of autoselect range [its 70 by default] click it with right mouse button, then go to "change record ---> value" and set your range. . . simply click on save, and thats all . .

It's 100% safe and working ^^

Hope it helped, don't forget the thanks button if it did. :)