Skocz do zawartości
  • 👋 Witaj na MPCForum!

    Przeglądasz forum jako gość, co oznacza, że wiele świetnych funkcji jest jeszcze przed Tobą! 😎

    • Pełny dostęp do działów i ukrytych treści
    • Możliwość pisania i odpowiadania w tematach
    • System prywatnych wiadomości
    • Zbieranie reputacji i rozwijanie swojego profilu
    • Członkostwo w jednej z największych społeczności graczy

    👉 Dołączenie zajmie Ci mniej niż minutę – a zyskasz znacznie więcej!

    Zarejestruj się teraz

Adres z Pamieci Tibia


Rekomendowane odpowiedzi

Opublikowano

Witam,

 

Mam problem ze skryptem na spalanie many, przyznam ze dopiero zaczynam zabawe z autoti ale jakies podstawy z innych jezyków posiadam

chodz o to, że jak pobieram adres many przez cheat engina gdzie w VALUE pokazuje mi dokladna ilosc many, to jak zrobie pod ten adres skrypt to i tak nie dziala i nie wiem gdzie jest bład oto kod


 

While 1
	$nMsg = GUIGetMsg()
	Switch $nMsg
		Case $GUI_EVENT_CLOSE
			Exit
		case $Button1
			global $pid = ProcessExists("Nastarius.exe")
			$memaaa = _MemoryOpen($pid)
			_Timer_SetTimer($Form1,500,"spell")
		case $Button2
			$ff = GUICtrlRead($Input3)
			$ff *= 1000
			_Timer_SetTimer($Form1,$ff,"afk")
	EndSwitch
WEnd

func spell($1,$2,$3,$4)
	$kk = GUICtrlRead($Input2)
	$mem = _MemoryRead(0x032F0390,$memaaa)
	if $mem >= $kk Then
		controlsend("Nastarius Client","","",GUICtrlRead($Input1))
		controlsend("Nastarius Client","","","{ENTER}")
	EndIf
EndFunc


 
#Region ### START Koda GUI section ### Form=
$Form1 = GUICreate("Nastarius BOT #RELISEK", 199, 213, 192, 124)
$Button1 = GUICtrlCreateButton("Spell Caster", 40, 24, 121, 33)
$Input1 = GUICtrlCreateInput("Spell", 40, 64, 121, 21)
$Input2 = GUICtrlCreateInput("Mana", 40, 88, 121, 21)
$Button2 = GUICtrlCreateButton("Anty-Idle", 40, 120, 121, 33)
$Input3 = GUICtrlCreateInput("Time", 40, 160, 121, 21)
GUISetState(@SW_SHOW)
#EndRegion ### END Koda GUI section ###

func spell($1,$2,$3,$4) $kk = GUICtrlRead($Input2) $mem = _MemoryRead(0x032F0390,$memaaa) if $mem >= $kk Then controlsend("Nastarius Client","","",GUICtrlRead($Input1)) controlsend("Nastarius Client","","","{ENTER}") EndIf EndFunc

i tu gui

Opublikowano

Brakuje include'ów, skrypt chyba powinien wyglądać tak:

#include <GUIConstantsEx.au3>
#include <Timers.au3>
#include <NomadMemory.au3>

#Region ### START Koda GUI section ### Form=
$Form1 = GUICreate("Nastarius BOT #RELISEK", 199, 213, 192, 124)
$Button1 = GUICtrlCreateButton("Spell Caster", 40, 24, 121, 33)
$Input1 = GUICtrlCreateInput("Spell", 40, 64, 121, 21)
$Input2 = GUICtrlCreateInput("Mana", 40, 88, 121, 21)
$Button2 = GUICtrlCreateButton("Anty-Idle", 40, 120, 121, 33)
$Input3 = GUICtrlCreateInput("Time", 40, 160, 121, 21)
GUISetState(@SW_SHOW)
#EndRegion ### END Koda GUI section ###


While 1
   $nMsg = GUIGetMsg()
   Switch $nMsg
      Case $GUI_EVENT_CLOSE
         Exit
      Case $Button1
         global $pid = ProcessExists("Nastarius.exe")
         $memaaa = _MemoryOpen($pid)
         _Timer_SetTimer($Form1,500,"spell")
      Case $Button2
         $ff = GUICtrlRead($Input3)
         $ff *= 1000
         _Timer_SetTimer($Form1,$ff,"afk")
   EndSwitch
WEnd

Func spell($1,$2,$3,$4)
   $kk = GUICtrlRead($Input2)
   $mem = _MemoryRead(0x032F0390,$memaaa)
   If $mem >= $kk Then
      ControlSend("Nastarius Client","","",GUICtrlRead($Input1))
      ControlSend("Nastarius Client","","","{ENTER}")
   EndIf
EndFunc

W tej postaci skrypt działa i coś tam wykonuje. Nie znam się na Tibi więc nie wiem czy robi to o co ci chodziło.

NomadMemory.au3 nie jest standardową biblioteką AutoIt'a, więc trzeba ją ściągnąć z sieci.

Opublikowano
	#include <ButtonConstants.au3>
#include <EditConstants.au3>
#include <GUIConstantsEx.au3>
#include <WindowsConstants.au3>
#include <nomad.au3>
#include <Timers.au3>
#Region ### START Koda GUI section ### Form=
$Form1 = GUICreate("Nastarius BOT #RELISEK", 199, 213, 192, 124)
$Button1 = GUICtrlCreateButton("Spell Caster", 40, 24, 121, 33)
$Input1 = GUICtrlCreateInput("Spell", 40, 64, 121, 21)
$Input2 = GUICtrlCreateInput("Mana", 40, 88, 121, 21)
$Button2 = GUICtrlCreateButton("Anty-Idle", 40, 120, 121, 33)
$Input3 = GUICtrlCreateInput("Time", 40, 160, 121, 21)
GUISetState(@SW_SHOW)
#EndRegion ### END Koda GUI section ###

While 1
	$nMsg = GUIGetMsg()
	Switch $nMsg
		Case $GUI_EVENT_CLOSE
			Exit
		case $Button1
			global $pid = ProcessExists("Nastarius.exe")
			$memaaa = _MemoryOpen($pid)
			_Timer_SetTimer($Form1,500,"spell")
		case $Button2
			$ff = GUICtrlRead($Input3)
			$ff *= 1000
			_Timer_SetTimer($Form1,$ff,"afk")
	EndSwitch
WEnd
func afk($1,$2,$3,$4)
	controlsend("Nastarius Client","","","{CTRLDOWN}{UP}{CTRLUP}")
	controlsend("Nastarius Client","","","{CTRLDOWN}{DOWN}{CTRLUP}")
	controlsend("Nastarius Client","","","{CTRLDOWN}{LEFT}{CTRLUP}")
	controlsend("Nastarius Client","","","{CTRLDOWN}{RIGHT}{CTRLUP}")
EndFunc
func spell($1,$2,$3,$4)
	$kk = GUICtrlRead($Input2)
	$mem = _MemoryRead(0x032F0390,$memaaa)
	if $mem >= $kk Then
		controlsend("Nastarius Client","","",GUICtrlRead($Input1))
		controlsend("Nastarius Client","","","{ENTER}")
	EndIf
EndFunc


Tak, tak wygladał jak moj moze powinnienem wrzucic caly kod. Bot dziala fakt, tylko ze nie odczytuje tego adresu, gdy edytuje ten adres w cheat enginie to widac, ze zmienia sie wartosc tam gdzie chce, ale jak juz chce uzyc bota to nie dziala. funkcja spell powinna pobierac wartosc many, w cyfrach oczywsicie, i gdy w input1 dam nazwe czaru jaki powinnien wypowiadac lub obojetnie co wpisze, i w input2 (gdzie powinna byc wartosc many w cyfrach) dam obojetnie jaka litere nie uzywajac cyfr to pisze swoje, ale jak juz uzyje cyfr to wogole nie reaguje. Moze jakos inaczej odczytac ten adres pamieci, cos slyszalem o pointerach bo przy kazdym ponownym wlaczeniu klienta gry adresy sie zmieniaja i nie wiem jak to tez okreslic w bocie.

Opublikowano

64-bitowy

 

Jak dobrze rozumiem UDF to biblioteki tak?

#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
;                   @ - 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 @ Then
        SetError(2)
        Return 0
    EndIf

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

    If @ Then
        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
;                   @ - 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 @ Then
        SetError(@ + 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 @ Then
        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
;                   @ - 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 @ Then
        SetError(@ + 1)
        Return 0
    Else
        DllStructSetData($v_Buffer, 1, $v_Data)
        If @ Then
            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 @ Then
        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
;                   @ - 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 @ Then
        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
;                   @ - 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 @ Then
                SetError(@ + 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 @ Then
                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 @ Then
                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 @ Then
                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.
;                   @ - 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 @ Then
                SetError(@ + 3)
                Return 0
            EndIf

            DllStructSetData($v_Buffer, 1, $v_Data)
            If @ Then
                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 @ Then
                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 @ Then
                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 @ Then
                SetError(3)
                Return 0
            EndIf

            $iv_StructData = DllStructGetData($v_Buffer, 1)

        EndIf
    Next

EndFunc
#endregion

Tutaj tez daje stronke gry z clientem 

http://nastarius.com/?subtopic=latestnews

Opublikowano

Skoro ty używasz tutorialu dla gry sprzed 6 lat to nie ma problemu będzie działało na tej wersji z przed 6 lat a nie na nowej. 

Mózg to nie mydło; nie ubędzie Ci go, gdy go użyjesz.

Opublikowano

Co to za roznica na ktorej wersji, tak dodam ze, proboje to zrobic na jeszcze starszej wersji niz z tutoriala.

 

probowalem z pointerem i offsetami i dalej wywala 0



#include <NomadMemory.au3>

$Adresse = 0x614FB10C
Dim $Offset[2] = [0, 0x0]

while 1
	$Process = _MemoryOpen(ProcessExists("Nastarius.exe"))
	If Not @ Then
		$Value = _MemoryPointerRead($Adresse, $Process, $Offset)
		If Not @ Then ToolTip($Value[1],0,0)

		_MemoryClose($Process)
	EndIf

	Sleep(100)
WEnd

screen z ce http://imgur.com/a/o0uJZ

 

widac ze wartosc daje 275 i nazwa procesu to "Natarius.exe"

 

log z ce o pointerze

<?xml version="1.0" encoding="utf-8"?>
<CheatTable>
  <CheatEntries>
    <CheatEntry>
      <ID>2</ID>
      <Description>"No description"</Description>
      <LastState Value="275" RealAddress="02710340"/>
      <VariableType>4 Bytes</VariableType>
      <Address>614FB10C</Address>
      <Offsets>
        <Offset>0</Offset>
      </Offsets>
    </CheatEntry>
  </CheatEntries>
</CheatTable>

Wszsytko grac powinno a nie wiem czemu nie chce

Opublikowano

Wszystko dziala teraz dodalem 

 

SetPrivilege("SeDebugPrivilege", 1)
#requireadmin
 
i chodzi, odczytuje poprawnie z pointera, tylko że moja funkcja nie dziala poprawnie 
 
		$Adresse = 0x614FB10C
		Dim $Offset[2] = [0, 0x0]
		$Process = _MemoryOpen(ProcessExists("Nastarius.exe"))
		$Value = _MemoryPointerRead($Adresse, $Process, $Offset)
		If $Value >= $Input2 Then
		ControlSend("Nastarius Client","","",GUICtrlRead($Input1))
		ControlSend("Nastarius Client","","","{ENTER}")
		ToolTip($Value[1],0,0)
		EndIf

widzimy If value >= tylko nie za bardz to chodzi, daje np w input2 20, mam 18 many i dalej wykonuje czynnosc, a nie powinnien dodalem specjalnie tooltip zeby zobaczyc czy odczytuje poprawnie, i odczytuje 18.

Zarchiwizowany

Ten temat przebywa obecnie w archiwum. Dodawanie nowych odpowiedzi zostało zablokowane.

×
×
  • Dodaj nową pozycję...