Register for your free account! | Forgot your password?

Go Back   elitepvpers > MMORPGs > Florensia
You last visited: Today at 17:21

  • Please register to post and access all features, it's quick, easy and FREE!

Advertisement



passive bot

Discussion on passive bot within the Florensia forum part of the MMORPGs category.

Reply
 
Old   #1
 
elite*gold: 0
Join Date: Dec 2006
Posts: 19
Received Thanks: 2
passive bot

Code:
#RequireAdmin


HotKeySet ("{F1}", "exita") ;exit bot
;HotKeySet("{F2}", "autopot")
HotKeySet("{F2}", "atk")
HotKeySet("{F3}", "stop") ;pause




Opt("WinTitleMatchMode", 4)
WinActivate("ClassName=Florensia")
Global $ProcessID = WinGetProcess("ClassName=Florensia","")
If $ProcessID = -1 Then
	MsgBox(4096, "ERROR", "Failed to detect process.")
	Exit
EndIf



$maxhp = Max_HP ()
$currenthp = Current_HP ()

;$PlayerName = Target_Type ()

Global $mobname = Target_Name ()
Global	$targethp = Target_HP ()
Global $targetmaxhp= Target_MaxHP ()
Global $targethealth = (($targethp / $targetmaxhp)*100)
Global $notargetID = 1632923470
Global $currenthp = Current_HP ()
Global $Maxthp = Max_HP ()
Global $myhp = (($currenthp / $Maxthp)*100)
Global $Paused
;MsgBox(4096, "address", $myhp)
$attack = 1
$pot = 1
;Exit

while 1 ;add func or leave
	ToolTip("Press F2 to start",0,0)
	Global $mobname = Target_Name ()
Global	$targethp = Target_HP ()
Global $targetmaxhp= Target_MaxHP ()
Global $targethealth = (($targethp / $targetmaxhp)*100)
Global $currenthp = Current_HP ()
Global $Maxthp = Max_HP ()
Global $myhp = (($currenthp / $Maxthp)*100)
	;	If $myhp < 110 Then
	;	ControlSend("Florensia","","","9")
	;	Sleep(100)
	;	ElseIf $targethp = 0 Then
		;ControlSend("Florensia","","","6")
	;	Sleep(100)
		;ControlSend("Florensia","","","6")
		;Sleep(100)
		;ControlSend("Florensia","","","6")
		Sleep(1000)
	;	ControlSend("Florensia","","","0")
	;	Sleep(300)
	;Else ;If $targethp > 0 Then
		;ControlSend("Florensia","","","6")
		;Sleep(1000)
	;	ControlSend("Florensia","","","3")
		;Sleep(10)
		;ControlSend("Florensia","","","6")
		;Send("3")
	;	Sleep(100)
	;	ControlSend("Florensia","","","1")
	;	Sleep(100)
	;	ControlSend("Florensia","","","2")
		;Sleep(10)
		;ControlSend("Florensia","","","6")
				;Send("1")
		;Sleep(100)

	;ElseIf $myhp < 50 Then
	;ControlSend("Florensia","","","9")
	;Sleep(100)
;	EndIf
;call("autopot")
;Call("atk")

;WEnd

 ;While ($pot = 1)
	 ;	Global $mobname = Target_Name ()
;Global	$targethp = Target_HP ()
;Global $targetmaxhp= Target_MaxHP ()
;Global $targethealth = (($targethp / $targetmaxhp)*100)
;Global $currenthp = Current_HP ()
;Global $Maxthp = Current_HP ()
;Global $myhp = (($currenthp / $Maxthp)*100)
;	 Call(autopot)
WEnd


;Func Start_Attack()
;  MsgBox(0, "GUI Event", "Auto Attack Started")
;HotKeySet("{F3}", "atk")
;EndFunc

;Func Start_pot()
 ; MsgBox(0, "GUI Event", "Auto pot Started")
;HotKeySet("{F2}", "autopot")
;EndFunc


Func atk () ; add your skill bar under line;134
	ToolTip("bot started Press F1 to exit or F3 to pause",0,0)
	;MsgBox(0, "GUI Event", "Auto Attack Started")
	AdlibRegister("autopot")
	AdlibRegister("blyet")

		$i = 0
	Do
		Global $mobname = Target_Name ()
Global	$targethp = Target_HP ()
Global $targetmaxhp= Target_MaxHP ()
Global $targethealth = (($targethp / $targetmaxhp)*100)
Global $currenthp = Current_HP ()
Global $Maxthp = Max_HP ()
Global $myhp = (($currenthp / $Maxthp)*100)
	if $targethp = 0 Then
		;ControlSend("Florensia","","","6")
	;	Sleep(100)
		;ControlSend("Florensia","","","6")
		;Sleep(100)
		;ControlSend("Florensia","","","6")
	;	Sleep(1000)
		ControlSend("Florensia","","","0") ; auto target number "0" change to whatever you like
		Sleep(300)
	Else ;If $targethp > 0 Then ;	here add your skill bar here with controlsends
		;ControlSend("Florensia","","","6")
		;Sleep(1000)
		ControlSend("Florensia","","","3")
		;Sleep(10)
		;ControlSend("Florensia","","","6")
		;Send("3")
		Sleep(100)
		ControlSend("Florensia","","","1")
		Sleep(100)
		ControlSend("Florensia","","","2")
		;Sleep(10)
		;ControlSend("Florensia","","","6")
				;Send("1")
		Sleep(100)
		;$i += 1
	;ElseIf $myhp < 50 Then
	;ControlSend("Florensia","","","9")
	;Sleep(100)
	EndIf
	Until $i = 2
	EndFunc
; ToolTip($myhp,0,0,"my health")



Func autopot ()
	;ToolTip($myhp,0,0,"my health")
		If $myhp < 50 Then
		ControlSend("Florensia","","","9")
		Sleep(100)
		EndIf

	EndFunc

Func Current_HP ()

	;##################################
	;Define Local Variables
	;##################################

	;##################################
	;Open the Diablo II process using
	;the Process ID retrieved from
	;ProcessExists above.
	;##################################
	Local $DllInformation = _MemoryOpen($ProcessID)
	If [MENTION=2544426]Error T[/MENTION]hen
		MsgBox(4096, "ERROR", "Failed to open memory.")
		Exit
	EndIf

	;##################################
	;Read the process and get the
	;players name.  You need to set
	;the 'type' to 'char', and Diablo II
	;names can be up to 15 characters in
	;length, so you need to put 'char[16]'
	;as the parameter. =P
	;##################################
	Local $Value, $Pointer_1	;, $Pointer_2, $Pointer_3
	Local $Offset1 = 572
	;Local $Offset2 = 200
	;Local $Offset3 = 4

local $Handle = _MemoryOpen($ProcessID)
local $Address = 0x71EF38
Local $base = 0x012A0000

		$Value = _MemoryRead($base + $Address, $DllInformation)
	If [MENTION=2544426]Error T[/MENTION]hen
		MsgBox(4096, "ERROR", "Failed to read memory.")
		Exit
	EndIf

		$Pointer_1 = '0x' & hex($Value + $Offset1)

	$Value = _MemoryRead($Pointer_1, $DllInformation)

	;##################################
	;Close the process.
	;##################################
	_MemoryClose($DllInformation)
	If [MENTION=2544426]Error T[/MENTION]hen
		MsgBox(4096, "ERROR", "Failed to close memory.")
		Exit
	EndIf

	;##################################
	;Return the name value.
	;##################################
	Return $Value

EndFunc


Func Max_HP ()

	Local $DllInformation = _MemoryOpen($ProcessID)
	If [MENTION=2544426]Error T[/MENTION]hen
		MsgBox(4096, "ERROR", "Failed to open memory.")
		Exit
	EndIf


	Local $Value, $Pointer_1	;, $Pointer_2, $Pointer_3
	Local $Offset1 = 148
	;Local $Offset2 = 200
	;Local $Offset3 = 4

local $Handle = _MemoryOpen($ProcessID)
local $Address = 0x71EF38
Local $base = 0x012A0000

		$Value = _MemoryRead($base + $Address, $DllInformation)
	If [MENTION=2544426]Error T[/MENTION]hen
		MsgBox(4096, "ERROR", "Failed to read memory.")
		Exit
	EndIf

		$Pointer_1 = '0x' & hex($Value + $Offset1)

	$Value = _MemoryRead($Pointer_1, $DllInformation)


	_MemoryClose($DllInformation)
	If [MENTION=2544426]Error T[/MENTION]hen
		MsgBox(4096, "ERROR", "Failed to close memory.")
		Exit
	EndIf


	Return $Value

EndFunc


Func Max_MP ()


	Local $DllInformation = _MemoryOpen($ProcessID)
	If [MENTION=2544426]Error T[/MENTION]hen
		MsgBox(4096, "ERROR", "Failed to open memory.")
		Exit
	EndIf


	Local $Value, $Pointer_1	;, $Pointer_2, $Pointer_3
	Local $Offset1 = 152
	;Local $Offset2 = 200
	;Local $Offset3 = 4

local $Handle = _MemoryOpen($ProcessID)
local $Address = 0x71EF38
Local $base = 0x012A0000

		$Value = _MemoryRead($base + $Address, $DllInformation)
	If [MENTION=2544426]Error T[/MENTION]hen
		MsgBox(4096, "ERROR", "Failed to read memory.")
		Exit
	EndIf

		$Pointer_1 = '0x' & hex($Value + $Offset1)

	$Value = _MemoryRead($Pointer_1, $DllInformation)


	_MemoryClose($DllInformation)
	If [MENTION=2544426]Error T[/MENTION]hen
		MsgBox(4096, "ERROR", "Failed to close memory.")
		Exit
	EndIf

	Return $Value

EndFunc


Func Current_MP ()


	Local $DllInformation = _MemoryOpen($ProcessID)
	If [MENTION=2544426]Error T[/MENTION]hen
		MsgBox(4096, "ERROR", "Failed to open memory.")
		Exit
	EndIf


	Local $Value, $Pointer_1, $Pointer_2 ;, $Pointer_3
	Local $Offset1 = 100
	Local $Offset2 = 16
	;Local $Offset3 = 4

local $Handle = _MemoryOpen($ProcessID)
local $Address = 0x71EF38
Local $base = 0x012A0000

		$Value = _MemoryRead($base + $Address, $DllInformation)
	If [MENTION=2544426]Error T[/MENTION]hen
		MsgBox(4096, "ERROR", "Failed to read memory.")
		Exit
	EndIf

	$Pointer_1 = '0x' & hex($Value + $Offset1)

	$Value = _MemoryRead($Pointer_1, $DllInformation)

	$Pointer_2 = '0x' & hex($Value + $Offset2)

	$Value = _MemoryRead($Pointer_2, $DllInformation)


	_MemoryClose($DllInformation)
	If [MENTION=2544426]Error T[/MENTION]hen
		MsgBox(4096, "ERROR", "Failed to close memory.")
		Exit
	EndIf

	Return $Value

EndFunc


Func Target_MaxHP ()


	Local $DllInformation = _MemoryOpen($ProcessID)
	If [MENTION=2544426]Error T[/MENTION]hen
		MsgBox(4096, "ERROR", "Failed to open memory.")
		Exit
	EndIf


	Local $Value, $Pointer_1	;, $Pointer_2 ;, $Pointer_3
	Local $Offset1 = 80
	;Local $Offset2 = 16
	;Local $Offset3 = 4

local $Handle = _MemoryOpen($ProcessID)
local $Address = 0x071EF7C
Local $base = 0x012A0000

		$Value = _MemoryRead($base + $Address, $DllInformation)
	If [MENTION=2544426]Error T[/MENTION]hen
		MsgBox(4096, "ERROR", "Failed to read memory.")
		Exit
	EndIf

	$Pointer_1 = '0x' & hex($Value + $Offset1)

	$Value = _MemoryRead($Pointer_1, $DllInformation)

	;$Pointer_2 = '0x' & hex($Value + $Offset2)

	;$Value = _MemoryRead($Pointer_2, $DllInformation)


	_MemoryClose($DllInformation)
	If [MENTION=2544426]Error T[/MENTION]hen
		MsgBox(4096, "ERROR", "Failed to close memory.")
		Exit
	EndIf

	Return $Value

EndFunc

Func Target_HP ()


	Local $DllInformation = _MemoryOpen($ProcessID)
	If [MENTION=2544426]Error T[/MENTION]hen
		MsgBox(4096, "ERROR", "Failed to open memory.")
		Exit
	EndIf


	Local $Value, $Pointer_1, $Pointer_2 ;, $Pointer_3
	Local $Offset1 = 16
	Local $Offset2 = 16
	;Local $Offset3 = 4

local $Handle = _MemoryOpen($ProcessID)
local $Address = 0x071EF7C
Local $base = 0x012A0000

		$Value = _MemoryRead($base + $Address, $DllInformation)
	If [MENTION=2544426]Error T[/MENTION]hen
		MsgBox(4096, "ERROR", "Failed to read memory.")
		Exit
	EndIf

	$Pointer_1 = '0x' & hex($Value + $Offset1)

	$Value = _MemoryRead($Pointer_1, $DllInformation)

	$Pointer_2 = '0x' & hex($Value + $Offset2)

	$Value = _MemoryRead($Pointer_2, $DllInformation)


	_MemoryClose($DllInformation)
	If [MENTION=2544426]Error T[/MENTION]hen
		MsgBox(4096, "ERROR", "Failed to close memory.")
		Exit
	EndIf

	Return $Value

EndFunc

Func Target_Name ()


	Local $DllInformation = _MemoryOpen($ProcessID)
	If [MENTION=2544426]Error T[/MENTION]hen
		MsgBox(4096, "ERROR", "Failed to open memory.")
		Exit
	EndIf


	Local $Value, $Pointer_1, $Pointer_2, $Pointer_3
	Local $Offset1 = 12
	Local $Offset2 = 16
	Local $Offset3 = 0

local $Handle = _MemoryOpen($ProcessID)
local $Address = 0x071EF7C
Local $base = 0x012A0000
Local $static = ($base + $Address)
		$Value = _MemoryRead($static, $DllInformation) ; 'char[31]')
	If [MENTION=2544426]Error T[/MENTION]hen
		MsgBox(4096, "ERROR", "Failed to read Target Name.")
		Exit
	EndIf

	$Pointer_1 = '0x' & hex($Value + $Offset1)

	$Value = _MemoryRead($Pointer_1, $DllInformation)

	$Pointer_2 = '0x' & hex($Value + $Offset2)

	$Value = _MemoryRead($Pointer_2, $DllInformation)

	$Pointer_3 = '0x' & hex($Value + $Offset3)

	$Value = _MemoryRead($Pointer_3, $DllInformation)

	_MemoryClose($DllInformation)
	If [MENTION=2544426]Error T[/MENTION]hen
		MsgBox(4096, "ERROR", "Failed to close memory.")
		Exit
	EndIf

	Return $Value

EndFunc


func blyet()
	If $currenthp = 0 Then
 $Paused = NOT $Paused
 While $Paused
  sleep(100)
  ToolTip('blyet is dead "press F2 to start"',0,0)
 WEnd
 ToolTip("")
 EndIf
EndFunc

func stop()
 $Paused = NOT $Paused
 While $Paused
  sleep(100)
  ToolTip('Script is "Paused"',0,0)
 WEnd
 ToolTip("")
EndFunc

Func exita()
	MsgBox(0, "ending", "bye")
	Exit
	EndFunc

;========================================================================================

;#include-once
#region _Memory
;=================================================================================================
; AutoIt Version:	3.1.127 (beta)
; Language:			English
; Platform:			All Windows
; Author:			Nomad
; Requirements:		These functions will only work with beta.
;=================================================================================================
; Credits:	wOuter - These functions are based on his original _Mem() functions.  But they are
;			easier to comprehend and more reliable.  These functions are in no way a direct copy
;			of his functions.  His functions only provided a foundation from which these evolved.
;=================================================================================================
;
; Functions:
;
;=================================================================================================
; Function:			_MemoryOpen($iv_Pid[, $iv_DesiredAccess[, $iv_InheritHandle]])
; Description:		Opens a process and enables all possible access rights to the process.  The
;					Process ID of the process is used to specify which process to open.  You must
;					call this function before calling _MemoryClose(), _MemoryRead(), or _MemoryWrite().
; Parameter(s):		$iv_Pid - The Process ID of the program you want to open.
;					$iv_DesiredAccess - (optional) Set to 0x1F0FFF by default, which enables all
;										possible access rights to the process specified by the
;										Process ID.
;					$if_InheritHandle - (optional) If this value is TRUE, all processes created by
;										this process will inherit the access handle.  Set to TRUE
;										(1) by default.  Set to 0 if you want it to be FALSE.
; Requirement(s):	A valid process ID.
; Return Value(s): 	On Success - Returns an array containing the Dll handle and an open handle to
;								 the specified process.
;					On Failure - Returns 0
;				 [MENTION=299637]ErRoR[/MENTION] - 0 = No error.
;							 1 = Invalid $iv_Pid.
;							 2 = Failed to open Kernel32.dll.
;							 3 = Failed to open the specified process.
; Author(s):		Nomad
; Note(s):
;=================================================================================================
Func _MemoryOpen($iv_Pid, $iv_DesiredAccess = 0x1F0FFF, $if_InheritHandle = 1)

	If Not ProcessExists($iv_Pid) Then
		SetError(1)
        Return 0
	EndIf

	Local $ah_Handle[2] = [DllOpen('kernel32.dll')]

	If [MENTION=2544426]Error T[/MENTION]hen
        SetError(2)
        Return 0
    EndIf

	Local $av_OpenProcess = DllCall($ah_Handle[0], 'int', 'OpenProcess', 'int', $iv_DesiredAccess, 'int', $if_InheritHandle, 'int', $iv_Pid)

	If [MENTION=2544426]Error T[/MENTION]hen
        DllClose($ah_Handle[0])
        SetError(3)
        Return 0
    EndIf

	$ah_Handle[1] = $av_OpenProcess[0]

	Return $ah_Handle

EndFunc

;=================================================================================================
; Function:			_MemoryRead($iv_Address, $ah_Handle[, $sv_Type])
; Description:		Reads the value located in the memory address specified.
; Parameter(s):		$iv_Address - The memory address you want to read from. It must be in hex
;								  format (0x00000000).
;					$ah_Handle - An array containing the Dll handle and the handle of the open
;								 process as returned by _MemoryOpen().
;					$sv_Type - (optional) The "Type" of value you intend to read.  This is set to
;								'dword'(32bit(4byte) signed integer) by default.  See the help file
;								for DllStructCreate for all types.
;								An example: If you want to read a word that is 15 characters in
;								length, you would use 'char[16]'.
; Requirement(s):	The $ah_Handle returned from _MemoryOpen.
; Return Value(s):	On Success - Returns the value located at the specified address.
;					On Failure - Returns 0
;				 [MENTION=299637]ErRoR[/MENTION] - 0 = No error.
;							 1 = Invalid $ah_Handle.
;							 2 = $sv_Type was not a string.
;							 3 = $sv_Type is an unknown data type.
;							 4 = Failed to allocate the memory needed for the DllStructure.
;							 5 = Error allocating memory for $sv_Type.
;							 6 = Failed to read from the specified process.
; Author(s):		Nomad
; Note(s):			Values returned are in Decimal format, unless specified as a 'char' type, then
;					they are returned in ASCII format.  Also note that size ('char[size]') for all
;					'char' types should be 1 greater than the actual size.
;=================================================================================================
Func _MemoryRead($iv_Address, $ah_Handle, $sv_Type = 'dword')

	If Not IsArray($ah_Handle) Then
		SetError(1)
        Return 0
	EndIf

	Local $v_Buffer = DllStructCreate($sv_Type)

	If [MENTION=2544426]Error T[/MENTION]hen
		SetError [MENTION=299637]ErRoR[/MENTION] + 1)
		Return 0
	EndIf

	DllCall($ah_Handle[0], 'int', 'ReadProcessMemory', 'int', $ah_Handle[1], 'int', $iv_Address, 'ptr', DllStructGetPtr($v_Buffer), 'int', DllStructGetSize($v_Buffer), 'int', '')

	If Not [MENTION=2544426]Error T[/MENTION]hen
		Local $v_Value = DllStructGetData($v_Buffer, 1)
		Return $v_Value
	Else
		SetError(6)
        Return 0
	EndIf

EndFunc

;=================================================================================================
; Function:			_MemoryWrite($iv_Address, $ah_Handle, $v_Data[, $sv_Type])
; Description:		Writes data to the specified memory address.
; Parameter(s):		$iv_Address - The memory address you want to write to.  It must be in hex
;								  format (0x00000000).
;					$ah_Handle - An array containing the Dll handle and the handle of the open
;								 process as returned by _MemoryOpen().
;					$v_Data - The data to be written.
;					$sv_Type - (optional) The "Type" of value you intend to write.  This is set to
;								'dword'(32bit(4byte) signed integer) by default.  See the help file
;								for DllStructCreate for all types.
;								An example: If you want to write a word that is 15 characters in
;								length, you would use 'char[16]'.
; Requirement(s):	The $ah_Handle returned from _MemoryOpen.
; Return Value(s):	On Success - Returns 1
;					On Failure - Returns 0
;				 [MENTION=299637]ErRoR[/MENTION] - 0 = No error.
;							 1 = Invalid $ah_Handle.
;							 2 = $sv_Type was not a string.
;							 3 = $sv_Type is an unknown data type.
;							 4 = Failed to allocate the memory needed for the DllStructure.
;							 5 = Error allocating memory for $sv_Type.
;							 6 = $v_Data is not in the proper format to be used with the "Type"
;								 selected for $sv_Type, or it is out of range.
;							 7 = Failed to write to the specified process.
; Author(s):		Nomad
; Note(s):			Values sent must be in Decimal format, unless specified as a 'char' type, then
;					they must be in ASCII format.  Also note that size ('char[size]') for all
;					'char' types should be 1 greater than the actual size.
;=================================================================================================
Func _MemoryWrite($iv_Address, $ah_Handle, $v_Data, $sv_Type = 'dword')

	If Not IsArray($ah_Handle) Then
		SetError(1)
        Return 0
	EndIf

	Local $v_Buffer = DllStructCreate($sv_Type)

	If [MENTION=2544426]Error T[/MENTION]hen
		SetError [MENTION=299637]ErRoR[/MENTION] + 1)
		Return 0
	Else
		DllStructSetData($v_Buffer, 1, $v_Data)
		If [MENTION=2544426]Error T[/MENTION]hen
			SetError(6)
			Return 0
		EndIf
	EndIf

	DllCall($ah_Handle[0], 'int', 'WriteProcessMemory', 'int', $ah_Handle[1], 'int', $iv_Address, 'ptr', DllStructGetPtr($v_Buffer), 'int', DllStructGetSize($v_Buffer), 'int', '')

	If Not [MENTION=2544426]Error T[/MENTION]hen
		Return 1
	Else
		SetError(7)
        Return 0
	EndIf

EndFunc

;=================================================================================================
; Function:			_MemoryClose($ah_Handle)
; Description:		Closes the process handle opened by using _MemoryOpen().
; Parameter(s):		$ah_Handle - An array containing the Dll handle and the handle of the open
;								 process as returned by _MemoryOpen().
; Requirement(s):	The $ah_Handle returned from _MemoryOpen.
; Return Value(s):	On Success - Returns 1
;					On Failure - Returns 0
;				 [MENTION=299637]ErRoR[/MENTION] - 0 = No error.
;							 1 = Invalid $ah_Handle.
;							 2 = Unable to close the process handle.
; Author(s):		Nomad
; Note(s):
;=================================================================================================
Func _MemoryClose($ah_Handle)

	If Not IsArray($ah_Handle) Then
		SetError(1)
        Return 0
	EndIf

	DllCall($ah_Handle[0], 'int', 'CloseHandle', 'int', $ah_Handle[1])
	If Not [MENTION=2544426]Error T[/MENTION]hen
		DllClose($ah_Handle[0])
		Return 1
	Else
		DllClose($ah_Handle[0])
		SetError(2)
        Return 0
	EndIf

EndFunc

;=================================================================================================
; Function:			_MemoryPointerRead ($iv_Address, $ah_Handle, $av_Offset[, $sv_Type])
; Description:		Reads a chain of pointers and returns an array containing the destination
;					address and the data at the address.
; Parameter(s):		$iv_Address - The static memory address you want to start at. It must be in
;								  hex format (0x00000000).
;					$ah_Handle - An array containing the Dll handle and the handle of the open
;								 process as returned by _MemoryOpen().
;					$av_Offset - An array of offsets for the pointers.  Each pointer must have an
;								 offset.  If there is no offset for a pointer, enter 0 for that
;								 array dimension.
;					$sv_Type - (optional) The "Type" of data you intend to read at the destination
;								 address.  This is set to 'dword'(32bit(4byte) signed integer) by
;								 default.  See the help file for DllStructCreate for all types.
; Requirement(s):	The $ah_Handle returned from _MemoryOpen.
; Return Value(s):	On Success - Returns an array containing the destination address and the value
;								 located at the address.
;					On Failure - Returns 0
;				 [MENTION=299637]ErRoR[/MENTION] - 0 = No error.
;							 1 = $av_Offset is not an array.
;							 2 = Invalid $ah_Handle.
;							 3 = $sv_Type is not a string.
;							 4 = $sv_Type is an unknown data type.
;							 5 = Failed to allocate the memory needed for the DllStructure.
;							 6 = Error allocating memory for $sv_Type.
;							 7 = Failed to read from the specified process.
; Author(s):		Nomad
; Note(s):			Values returned are in Decimal format, unless a 'char' type is selected.
;					Set $av_Offset like this:
;					$av_Offset[0] = NULL (not used)
;					$av_Offset[1] = Offset for pointer 1 (all offsets must be in Decimal)
;					$av_Offset[2] = Offset for pointer 2
;					etc...
;					(The number of array dimensions determines the number of pointers)
;=================================================================================================
Func _MemoryPointerRead ($iv_Address, $ah_Handle, $av_Offset, $sv_Type = 'dword')

	If IsArray($av_Offset) Then
		If IsArray($ah_Handle) Then
			Local $iv_PointerCount = UBound($av_Offset) - 1
		Else
			SetError(2)
			Return 0
		EndIf
	Else
		SetError(1)
		Return 0
	EndIf

	Local $iv_Data[2], $i
	Local $v_Buffer = DllStructCreate('dword')

	For $i = 0 to $iv_PointerCount

		If $i = $iv_PointerCount Then
			$v_Buffer = DllStructCreate($sv_Type)
			If [MENTION=2544426]Error T[/MENTION]hen
				SetError [MENTION=299637]ErRoR[/MENTION] + 2)
				Return 0
			EndIf

			$iv_Address = '0x' & hex($iv_Data[1] + $av_Offset[$i])
			DllCall($ah_Handle[0], 'int', 'ReadProcessMemory', 'int', $ah_Handle[1], 'int', $iv_Address, 'ptr', DllStructGetPtr($v_Buffer), 'int', DllStructGetSize($v_Buffer), 'int', '')
			If [MENTION=2544426]Error T[/MENTION]hen
				SetError(7)
				Return 0
			EndIf

			$iv_Data[1] = DllStructGetData($v_Buffer, 1)

		ElseIf $i = 0 Then
			DllCall($ah_Handle[0], 'int', 'ReadProcessMemory', 'int', $ah_Handle[1], 'int', $iv_Address, 'ptr', DllStructGetPtr($v_Buffer), 'int', DllStructGetSize($v_Buffer), 'int', '')
			If [MENTION=2544426]Error T[/MENTION]hen
				SetError(7)
				Return 0
			EndIf

			$iv_Data[1] = DllStructGetData($v_Buffer, 1)

		Else
			$iv_Address = '0x' & hex($iv_Data[1] + $av_Offset[$i])
			DllCall($ah_Handle[0], 'int', 'ReadProcessMemory', 'int', $ah_Handle[1], 'int', $iv_Address, 'ptr', DllStructGetPtr($v_Buffer), 'int', DllStructGetSize($v_Buffer), 'int', '')
			If [MENTION=2544426]Error T[/MENTION]hen
				SetError(7)
				Return 0
			EndIf

			$iv_Data[1] = DllStructGetData($v_Buffer, 1)

		EndIf

	Next

	$iv_Data[0] = $iv_Address

	Return $iv_Data

EndFunc

;=================================================================================================
; Function:			_MemoryPointerWrite ($iv_Address, $ah_Handle, $av_Offset, $v_Data[, $sv_Type])
; Description:		Reads a chain of pointers and writes the data to the destination address.
; Parameter(s):		$iv_Address - The static memory address you want to start at. It must be in
;								  hex format (0x00000000).
;					$ah_Handle - An array containing the Dll handle and the handle of the open
;								 process as returned by _MemoryOpen().
;					$av_Offset - An array of offsets for the pointers.  Each pointer must have an
;								 offset.  If there is no offset for a pointer, enter 0 for that
;								 array dimension.
;					$v_Data - The data to be written.
;					$sv_Type - (optional) The "Type" of data you intend to write at the destination
;								 address.  This is set to 'dword'(32bit(4byte) signed integer) by
;								 default.  See the help file for DllStructCreate for all types.
; Requirement(s):	The $ah_Handle returned from _MemoryOpen.
; Return Value(s):	On Success - Returns the destination address.
;					On Failure - Returns 0.
;				 [MENTION=299637]ErRoR[/MENTION] - 0 = No error.
;							 1 = $av_Offset is not an array.
;							 2 = Invalid $ah_Handle.
;							 3 = Failed to read from the specified process.
;							 4 = $sv_Type is not a string.
;							 5 = $sv_Type is an unknown data type.
;							 6 = Failed to allocate the memory needed for the DllStructure.
;							 7 = Error allocating memory for $sv_Type.
;							 8 = $v_Data is not in the proper format to be used with the
;								 "Type" selected for $sv_Type, or it is out of range.
;							 9 = Failed to write to the specified process.
; Author(s):		Nomad
; Note(s):			Data written is in Decimal format, unless a 'char' type is selected.
;					Set $av_Offset like this:
;					$av_Offset[0] = NULL (not used, doesn't matter what's entered)
;					$av_Offset[1] = Offset for pointer 1 (all offsets must be in Decimal)
;					$av_Offset[2] = Offset for pointer 2
;					etc...
;					(The number of array dimensions determines the number of pointers)
;=================================================================================================
Func _MemoryPointerWrite ($iv_Address, $ah_Handle, $av_Offset, $v_Data, $sv_Type = 'dword')

	If IsArray($av_Offset) Then
		If IsArray($ah_Handle) Then
			Local $iv_PointerCount = UBound($av_Offset) - 1
		Else
			SetError(2)
			Return 0
		EndIf
	Else
		SetError(1)
		Return 0
	EndIf

	Local $iv_StructData, $i
	Local $v_Buffer = DllStructCreate('dword')

	For $i = 0 to $iv_PointerCount
		If $i = $iv_PointerCount Then
			$v_Buffer = DllStructCreate($sv_Type)
			If [MENTION=2544426]Error T[/MENTION]hen
				SetError [MENTION=299637]ErRoR[/MENTION] + 3)
				Return 0
			EndIf

			DllStructSetData($v_Buffer, 1, $v_Data)
			If [MENTION=2544426]Error T[/MENTION]hen
				SetError(8)
				Return 0
			EndIf

			$iv_Address = '0x' & hex($iv_StructData + $av_Offset[$i])
			DllCall($ah_Handle[0], 'int', 'WriteProcessMemory', 'int', $ah_Handle[1], 'int', $iv_Address, 'ptr', DllStructGetPtr($v_Buffer), 'int', DllStructGetSize($v_Buffer), 'int', '')
			If [MENTION=2544426]Error T[/MENTION]hen
				SetError(9)
				Return 0
			Else
				Return $iv_Address
			EndIf
		ElseIf $i = 0 Then
			DllCall($ah_Handle[0], 'int', 'ReadProcessMemory', 'int', $ah_Handle[1], 'int', $iv_Address, 'ptr', DllStructGetPtr($v_Buffer), 'int', DllStructGetSize($v_Buffer), 'int', '')
			If [MENTION=2544426]Error T[/MENTION]hen
				SetError(3)
				Return 0
			EndIf

			$iv_StructData = DllStructGetData($v_Buffer, 1)

		Else
			$iv_Address = '0x' & hex($iv_StructData + $av_Offset[$i])
			DllCall($ah_Handle[0], 'int', 'ReadProcessMemory', 'int', $ah_Handle[1], 'int', $iv_Address, 'ptr', DllStructGetPtr($v_Buffer), 'int', DllStructGetSize($v_Buffer), 'int', '')
			If [MENTION=2544426]Error T[/MENTION]hen
				SetError(3)
				Return 0
			EndIf

			$iv_StructData = DllStructGetData($v_Buffer, 1)

		EndIf
	Next

EndFunc
#endregion

can run in background ;[i will not explain anything]

for autoMP add func with (( $currentmp / $mp ) *100) if u want to get the percentage , for mob name add 'char[number]' idk if it works or not.
f2 starts the bot , f3 pause, f1 exit bot < change hotkey to whatever you like.
darksowrd is offline  
Old 08/20/2020, 12:58   #2
 
simonevagni's Avatar
 
elite*gold: 0
Join Date: Apr 2011
Posts: 65
Received Thanks: 21
are those pointers correct for florensia?
simonevagni is offline  
Reply


Similar Threads Similar Threads
[Leak] Caitlyn's Skills und Passive
12/26/2010 - League of Legends - 18 Replies
Caitlyn The Sheriff of Piltover All-Points Bulletin(Passive): Whenever an allied champion is slain, Caitlyn gains vision of the killer for a limited time. Aimed Shot(Q): Caitlyn channels her shot, increasing damage and range over time. If the shot hits, Caitlyn can fire a second shot shortly after, but if it misses, Caitlyn is revealed to the enemy. Bulletproof(W):Caitlyn passively resists projectile damage, and can actively double the resistance for a short time. While on cooldown,...
Passive Skills
11/20/2010 - CO2 Private Server - 9 Replies
Can any1 make an edit that will make it to where passive skills don't show up or a way for me to erase them from my char. I was curious n learned them all n now i don't want, so i have a bunch of passive skills that r filling up my skill list.
About heuksal passive skill.
12/05/2009 - Silkroad Online - 2 Replies
Hello, I wanted to ask u, how many HP does give the heuksal passive skill uped to 10? Thanks in advance.
Passive monster problem
04/22/2008 - Silkroad Online - 7 Replies
i dont get it. most mobs in SRO that are passive stay passive and all. however when i hit a black yeowa other black yeowa's that are near it start attacking me too. and this is annoying cuz then i usually get 3 party mobs on me and waste a lot of pots and have a risk of dieing. but some people dont have this problem. they attack a black yeowa and the mobs near it wont attack them too. this also happened at chakji workers; my glavier botted at them fine, but my wizard, every time it hits...



All times are GMT +2. The time now is 17:21.


Powered by vBulletin®
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
SEO by vBSEO ©2011, Crawlability, Inc.
This site is protected by reCAPTCHA and the Google Privacy Policy and Terms of Service apply.

Support | Contact Us | FAQ | Advertising | Privacy Policy | Terms of Service | Abuse
Copyright ©2024 elitepvpers All Rights Reserved.