Что нового

[Процессы] Работа с памятью игры

FoxTiM

Новичок
Сообщения
22
Репутация
2
Доброе время суток!
Столкнулся с проблемой вывода найденного значения в "float" и в дальнейшем отправка его обратно.

Код:
#include <nomadmemory.au3>
#include <GUIConstantsEx.au3>
#include <StaticConstants.au3>
#include <WindowsConstants.au3>


$ProcessName = "Point Blank" ;Собственно...Название окна
Global $ProcessID = WinGetProcess($ProcessName,"") ;Ну или $Pid кому как нравится
Global $HP = 0x02C03984 ; 
Global $DllInformation = _MemoryOpen($ProcessID)
If $ProcessID = -1 Then
    MsgBox(4096, "#Error4", "Сперва запустите игру.")
    Exit
EndIf
$CurrentHP = (_MemoryRead($HP, $DllInformation, 'ptr'))
$Cur = $CurrentHP + 0x198 ;offset
$Curr =  (_MemoryRead($Cur, $DllInformation, 'ptr'))
$RHP =dec(StringTrimLeft($Curr, 2))



$Form1 = GUICreate("Мышька", 188, 165, 192, 124)
$Input1 = GUICtrlCreateInput($RHP, 16, 48, 153, 21)
$Label1 = GUICtrlCreateLabel("Скорость мыши.", 16, 24, 88, 17)
$Button1 = GUICtrlCreateButton("Применить", 16, 104, 155, 25)
GUISetState(@SW_SHOW)

While 1
	$nMsg = GUIGetMsg()
	Switch $nMsg
		Case $GUI_EVENT_CLOSE
			Exit
		Case $Button1
			$znah = GUICtrlRead($Input1)
		_MemoryWrite($Curr, $DllInformation, $znah, 'ptr')
	EndSwitch
WEnd



Код:
;Получения значения
$CurrentHP = (_MemoryRead($HP, $DllInformation, 'ptr'))
$Cur = $CurrentHP + 0x198 ;offset
$Curr =  (_MemoryRead($Cur, $DllInformation, 'ptr'))
$RHP =dec(StringTrimLeft($Curr, 2))

;отправка обратно
 _MemoryWrite($Curr, $DllInformation, $znah, 'ptr')

 

Redline

AutoIT Гуру
Сообщения
506
Репутация
369
Point Blank поддерживает конфиги как CS ? Если да, то можно не копаться в памяти - а писать в конфиг и перезапускать его.
Код:
#include <File.au3>
$hFile = @ScriptDir & '\config.cfg'
Dim $aFile, $iString
_FileReadToArray($hFile, $aFile)
For $i = 1 To $aFile[0]
	If StringInStr($aFile[$i], 'sensitivity') Then
		ConsoleWrite($aFile[$i] & @CRLF)
		$iString = $i
	EndIf
Next
$iNewSens = '1.8'
FileSetAttrib($hFile, '-r')
_FileWriteToLine($hFile, $iString, 'sensitivity ' & $iNewSens, 1)
FileSetAttrib($hFile, '+r')
Send('exec config.cfg')
 
Автор
F

FoxTiM

Новичок
Сообщения
22
Репутация
2
Redline сказал(а):
Point Blank поддерживает конфиги как CS ? Если да, то можно не копаться в памяти - а писать в конфиг и перезапускать его.
Код:
#include <File.au3>
$hFile = @ScriptDir & '\config.cfg'
Dim $aFile, $iString
_FileReadToArray($hFile, $aFile)
For $i = 1 To $aFile[0]
	If StringInStr($aFile[$i], 'sensitivity') Then
		ConsoleWrite($aFile[$i] & @CRLF)
		$iString = $i
	EndIf
Next
$iNewSens = '1.8'
FileSetAttrib($hFile, '-r')
_FileWriteToLine($hFile, $iString, 'sensitivity ' & $iNewSens, 1)
FileSetAttrib($hFile, '+r')
Send('exec config.cfg')
это не то!
 
Верх