Heyho, wollte mir für LC-Ger 'nen HP-Scanner basteln in AutoIt.
Das ganze sieht bei mir zur Zeit so aus:
Schön und gut, aber in der GUI schreibt mir der jetzt nicht die HP vom target hin sondern bloß 0.
Wieso ist das so, und was in aller Welt muss ich machen, dass das Script tut was es soll? :confused:
Ich bitte euch um Hilfe, unter euch ist doch bestimmt einer der's weiß wo der Fehler liegt :handsdown:
Das ganze sieht bei mir zur Zeit so aus:
Code:
#Include <Timers.au3>
#include <EditConstants.au3>
#Include <nomadmemory.au3>
#NoTrayIcon
WinWaitActive("[CLASS:Nksp]")
$Open = _MemoryOpen(ProcessExists("Nksp.exe"))
If @error Then MsgBox(4096, "Fehler", "Konnte den richtige Prozess nicht finden!")
#Region GUI
GUICreate("HP-Scanner", 240, 75)
GUISetBkColor(0xFFFFFF)
$pBar = GUICtrlCreateProgress(10, 10, 220, 36)
$LabelCurHp = GUICtrlCreateLabel( "X", 10, 49)
$LabelMaxHp = GUICtrlCreateLabel( "X", 180, 49)
GUISetState(@SW_SHOW)
#EndRegion
Global $TargetHP_cur_offset[2] = [0, 0x108F54]
Global $TargetHP_max_offset[2] = [0, 0x108F50]
$base = 0x106A9B00
$tGot = 0
While 1
;Select close msg and buttons
$p_msg = GUIGetMsg()
Select
case $p_msg = -3
ExitLoop
EndSelect
If $tGot = 0 Then
$tStart = TimerInit()
$tGot = 1
EndIf
If $tGot = 1 Then
If TimerDiff( $tStart ) >= 3000 Then
$tGot = 0
_read()
EndIf
EndIf
WEnd
Func _read()
$HP_Cur = _MemoryPointerRead($base, $Open, $TargetHP_cur_offset)
$HP_Max = _MemoryPointerRead($base, $Open, $TargetHP_max_offset)
GUICtrlSetData($LabelCurHp, $HP_Cur[1])
GUICtrlSetData($LabelMaxHp, $HP_Max[1])
$percent = ($HP_Cur[1]/100)/($HP_Max[1]/100)*100
GUICtrlSetData($pBar, Round($percent, 0))
EndFunc
Wieso ist das so, und was in aller Welt muss ich machen, dass das Script tut was es soll? :confused:
Ich bitte euch um Hilfe, unter euch ist doch bestimmt einer der's weiß wo der Fehler liegt :handsdown: