![]() |
Tasten senden problem
Liste der Anhänge anzeigen (Anzahl: 1)
Hi !
was bitte ist denn an diesem code falsch ?
Delphi-Quellcode:
er bringt mir immer ne exception (die is nie zu sehen) also der debugger mein ich.
procedure Cheat(myString : String);
var c : Cardinal; i : integer; s : String; begin c:=FindWindow(nil,'GTA: San Andreas'); //Get WindowHandle if c=0 then begin MessageDlg('Sie müssen das Spiel zuerst starten !',mtwarning,[mbOK],0); Exit; end; for i := 1 to Length(mystring) do SendMessage(c, WM_CHAR, Ord(mystring[i]), 0); //send Keys CloseHandle(c); end; procedure TForm1.WMHotKey(var msg: TMessage); begin if (msg.WParam = 1) then Cheat('LXGIWYL'); // you can choose any number ( up to 4000 ) end; und bewirken tuts gar nix :P Findet ihr da nen fehler ? Gruß Assun edit // geemacht. nu bringt er mir Externe Exception XXXX (nen paar zahlen) edit // Wieder geändert. es folgt die gleiche exception :-( kennts sich damit jemand aus? Edit :// habe diesen wahnsinnscode gefunden : ![]() ich habe es aber auch schonmal mit nur 4 Zeilen geschafft. Ich weiss nur nicht mehr wie :wall: // Code wieder geändert und wieder ne wunderschöne exception (anhang) :-( |
Re: Tasten senden problem
Verschieb mal die Compiler-Direktive in deinem Code. Die muss bestimmt an den Anfang des Implemantation-Abschnittes, nciht in die Mitte :roll:
//edit: Welcher Fehler soll denn dort vorkommen? Bitte einmal eine GENAUE FEHLERBESCHREIBUNG machen. |
Re: Tasten senden problem
Der Fehler liegt wohl hier:
Zitat:
|
Re: Tasten senden problem
ich habe den code nochmal verändert, aber ich erhalte immer noch die gleiche Exception.
Kann mir da mal jemand helfen ? THX |
Re: Tasten senden problem
Hallo Assun,
ich weiß das gehört jetzt nicht gut zum Thema, aber trotzdem:
Delphi-Quellcode:
Wie mir scheint, versuchst du einen Trainer für San Andreas zu schreiben. Nur leider sendest du direkt den Cheat (Zeichenkette) an das Spiel. Seit Vice City gibt es aber eine Funktion, die das Cheaten zählt. Und wenn man cheatet, kann man keine 100% mehr erreichen. Wenn man es so macht wie du, steht dann in der Statistik das man gecheatet hat. Bei "richtigen" Spieletrainer greift man direkt auf die Speicheradressen zu und kann somit das Spiel beeinflussen, ohne das das Spiel das merkt. Solltest du Trainer schreiben wollen, empfehle ich dir das Trainer Maker Kit 1.5 (Googlesuche).
if (msg.WParam = 1) then Cheat('LXGIWYL');
|
Re: Tasten senden problem
Hallo Assun,
Zitat:
Eventuell solltest du mal
Delphi-Quellcode:
anstatt
SendMessage(c, WM_CHAR, Ord(mystring[i]), 0); //send Keys
Delphi-Quellcode:
verwenden, vielleicht hilft das ja.
SendMessage(c, WM_CHAR, Word(mystring[i]), 0); //send Keys
Greetz alcaeus |
Re: Tasten senden problem
Liste der Anhänge anzeigen (Anzahl: 1)
das ist mir auch schon aufgefallen. ich habe ja auch schon so memoryhack trainer für NFSU II geschrieben.
Doch warum alles mühsam suchen (Speicheradressen), wenn ich doch einfach cheats eingeben lasse ? :mrgreen: aber ich werde es wenn ich mal endlich das mit sendkey kapiert hab eh alles eingeben lassen und dann einfach mit nur einem einzigen memoryhack die Zahl wie oft gecheatet wurde einfrieren lassen ^^ Edit // hab den code wieder so verändert wie Alcaeus es mir geraten hat. wieder ne exception :wall: Edit :// falls man es auf dem screenie net erkennen sollte : er hat nen probmel in der Linie wo ich versuch die tasten zu senden |
Re: Tasten senden problem
Zitat:
Außerdem ist San Andreas das beste Spiel des Jahres 2005, und das sollte man ohne Cheats genießen... ;) |
Re: Tasten senden problem
naja aber ich mach das ja auch net um des cheatens willen sondern um des Lernens willen ;-)
weiss keiner eine Antwort? |
Re: Tasten senden problem
Zitat:
Hast du schon mal versucht, mit dem Code einen String an ein anderes Fenster zu schicken? Funktioniert das? Greetz alcaeus |
Alle Zeitangaben in WEZ +1. Es ist jetzt 21:48 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz