Wie hast du das mit Autoit hinbekommen ? Ich dachte die Commands wie "_MemoryPointerWrite" werden von GameGuard geblock :O
Edit : Wtf hast du in deinem Script rein gemacht ? sowie du das Teil geschrieben hast, kann es nicht klappen.
Beispiel :
PHP Code:
CASE $CHECKBOX3 FUNC _SHOPHACK() $PID=PROCESSEXISTS("TClient.exe") _MEMORYOPEN($PID) $VALUE=GUICTRLREAD($INPUT2) _MEMORYWRITE(7443280,***,***,$PID,$VALUE,"byte[4]") ENDFUNC
Wtf ?? Warum machst du das mit Case ? Fly, Skillfreeze und und und würde so auf keinen Fall funktionieren. Warum benutzt du _MemoryWrite ? Dann noch "byte[4]". Warum benutzt du nicht ganz einfach "DWORD" ? egal Außerdem erstellst du eine Funktion während dein Script läuft ^^ Ist zwar nicht schlimm, aber sehr umständlich
Mach das mal so
PHP Code:
Global $PID = ProcessExists ("TClient.exe") Global $Base = 0x7443280 Global $offsetshop[3] $offsetshop[0] = 0 $offsetshop[1] = 0x*** $offsetshop[2] = 0x***
While 1 $Open = _MemoryOpen ($PID)
If guictrlread ($checkbox1) = 1 then _MemoryPointerWrite ($Base, $Open, $offsetshop, 1) else _MemoryPointerWrite ($Base, $Open, $offsetshop, 0) ; Das else kannst du weglassen endif
Global $PID = ProcessExists ("TClient.exe")
Global $Base = 0x7443280
Global $offsetshop[3]
$offsetshop[0] = 0
$offsetshop[1] = 0x***
$offsetshop[2] = 0x***
While 1
$Open = _MemoryOpen ($PID)
If guictrlread ($checkbox1) = 1 then
_MemoryPointerWrite ($Base, $Open, $offsetshop, 1)
else
_MemoryPointerWrite ($Base, $Open, $offsetshop, 0) ; Das else kannst du weglassen
endif
$close = _MemoryClose ($Open)
Wend
Du überprüfst nie, ob der Prozess existiert, oder ob du ein gültiges Handle als Rückgabewert bekommst. Startet man das Script, ohne das 4Story schon läuft, schmiert es gleich ab. Beendet man 4Story vor dem Script trifft selbiges zu.
Ohne weitere Überprüfung fressen die ständigen "_MemoryOpen" und "_MemoryClose" Funktionsaufrufe nur unnötig Ressourcen. Da wäre es besser, wenn man das Script vor 4Story starten muss und "_MemoryOpen" nur einmalig benutzt wird. Handles werden beim beenden von AutoIt Scripts automatisch "geschlossen", "_MemoryClose" würde also komplett entfallen.
Das die Checkbox Variable nie deklariert wurde kreide ich jetzt nicht an, es ist ja nur ein Beispiel. Es geht mir um den Effekt. Wenn das Script läuft und der Shophack nicht ständig aktiv ist kann man von NPCs keine Items kaufen, da sich das Shopfenster nicht öffnet. Der Rat mit weglassen ist auch nicht gut gemeint. Beim aktivieren des Shophacks sollte man eher eine Variable auf "true" setzen. Wird der Hack deaktiviert und die Variable beinhaltet den Wert "true", schließt man das Fenster einmalig und setzt den Wert der Variable auf "false". So kann man auch Items bei NPCs kaufen bzw. verkaufen.
Du musst die benötigten Parameter auch nicht unbedingt alle als globale Variablen definieren. Die Offsets so einem Array zuzuweisen ist Platzverschwendung, das geht auch kürzer. Und warum benutzt du *** bei den Offsets? Ich habe die Pointer released.
Falls du argumentieren möchtest, dass es nur ein Beispiel sei: Wegen schlechten Beispielen entstehen oftmals unnötige Fragen.
Ich habe mal ein vollständiges Beispiel erstellt:
Code:
#include <GUIConstantsEx.au3>
#include <NomadMemory.au3>
GUICreate("KD", 200, 60)
$C_Speed = GUICtrlCreateCheckbox("Speedhack", 5, 5, 90, 17)
$I_Speed = GUICtrlCreateInput("16500", 100, 5, 95, 21)
$C_Skill = GUICtrlCreateCheckbox("Skillhack", 5, 35, 90, 17)
$I_Skill = GUICtrlCreateInput("", 100, 35, 95, 21)
GUISetState()
$Base = 0x719350
Dim $O_Speed1[3] = [0, 0xAF8, 0x9F8]; Standard: 1063675494, +1: 65536
Dim $O_Speed2[3] = [0, 0xAF8, 0xA04]; Standard: 1063675494, +1: 65536
Dim $O_Skill[3] = [0, 0xAF8, 0x460]; 327680000 + Skill ID
Do
$ProcessId = ProcessExists("TClient.exe")
If $ProcessId > 0 Then; wenn der Prozess "TClient.exe" existiert
$Handle = _MemoryOpen($ProcessId)
If Not @error Then; wenn kein Fehler aufgetreten ist (= gültiges Handle)
If BitAND(GUICtrlRead($C_Speed), $GUI_CHECKED) Then; wenn die Checkbox "C_Speed" ausgewählt wurde
$SpeedValue = GUICtrlRead($I_Speed) * 65536
_MemoryPointerWrite($Base, $Handle, $O_Speed1, $SpeedValue)
_MemoryPointerWrite($Base, $Handle, $O_Speed2, $SpeedValue)
EndIf
If BitAND(GUICtrlRead($C_Skill), $GUI_CHECKED) Then; wenn die Checkbox "C_Skill" ausgewählt wurde
$SkillValue = GUICtrlRead($I_Skill) + 327680000
_MemoryPointerWrite($Base, $Handle, $O_Skill, $SkillValue)
EndIf
_MemoryClose($Handle)
EndIf
EndIf
Sleep(50); reduziert die CPU auslastung
Until GUIGetMsg() == $GUI_EVENT_CLOSE
;Script
;wurde
;nicht
;vollständig
;angezeigt
Bringen wird es allerdings nicht viel. Mit AutoIt kommt man nicht weit. Das hat SilverAngel(CZ) auch gemerkt, nachdem er ein Screenshot seiner GUI in meinem Thread gepostet hat und den Hack für den nächsten Tag versprochen hat. Ist wohl nicht's draus geworden.
Ich hatte auch nicht vor ihm ein C&P script zu bauen. Das war nur ein Beispiel wie er das besser machen könnte bzw. dass es überhaupt funktionieren würde
Funktionieren tut es sowieso nicht. Ein C&P Script hat er schon, das macht dien Script nicht besser. Ich sehe das ganze zwar nicht so kritisch, sehe aber auch, wie viele Fragen sich im Vorfeld vermeiden lassen.
Play4s Nexon nProtect bug... 01/21/2012 - 4Story - 4 Replies heyho
ich wollte grade mal bissl wieder spielen, aber nProtect gameguard macht nichts und zeigt mir das dann an
http://www9.pic-upload.de/thumb/12.01.12/swsuggbg zq.jpg
kann mir da wer helfen?
Play4S 4Story Nexon Acc Verkauf 01/16/2012 - 4Story - 5 Replies Hallo Leute,
Wie oben bereits beschrieben verkaufe ich meinen 4Story Nexon Acc.
Auf dem Acc sind folgende Charaktere:
1. Lvl 62 Magier Rasse: Fee Geschlecht: Männlich
2. Lvl 37 Schattenläufer Rasse:Mensch Geschlecht:Männlich
3. Lvl 32 Bogenschütze Rasse: Feline Geschlecht: Frau
Zum Equip :