![]() |
Keybd_event funktioniert nicht?
Hi. Ich hab was für 'n Spiel programmiert, das mir dann mit 'n paar Timern sagt, wann bestimmte Einheiten respawnen.
Jedenfalls will ich das dann auch in den Chat schreiben lassen für mein Team. Das schreiben funktioniert auch eigentlich so wie es soll (wenn ich z.B. im Editor bin, und das Event triggert, das die Wörter schreiben lässt, werden die Sätze in den Editor geschrieben). Wenn ich allerdings im Spiel bin, funktioniert es nicht. Das Programm mit seinen Ursprungsfunktionen klappt super wenn ich im Spiel bin, nur wird eben nichts geschrieben. Ich hab Delphi nur in der Schule gelernt, daher bin ich nicht wirklich gut. Ich hoffe ihr könnt mir sagen was ich machen muss / was ich eventuell vergessen habe. Hier ist ein bisschen Beispielcode:
Code:
procedure TForm1.Type_Blue;
begin // blue // keybd_event(66, 0, 0, 0); keybd_event(76, 0, 0, 0); keybd_event(85, 0, 0, 0); keybd_event(69, 0, 0, 0); keybd_event(32, 0, 0, 0); end;
Code:
procedure TForm1.TmYBLUETimer(Sender: TObject);
begin if YBD <> 0 then begin YBD := YBD -1; end; if YBD = 30 then begin if AutoVoice = 'TRUE' then sndPlaySound('sound\your-blue-30.wav', SND_ASYNC); if AutoSend = 'TRUE' then Type_Blue; end; end; |
AW: Keybd_event funktioniert nicht?
Du lässt die Tasten ja nicht wieder los, sondern drückst sie nur. Vielleicht hilft Dir der Code aus der Code-Library weiter:
![]() P.S.: Willkommen in der DP :dp: |
AW: Keybd_event funktioniert nicht?
Zitat:
Bei mir ist nur "Banhof Kofferklauen" angekommen. Gruß K-H |
AW: Keybd_event funktioniert nicht?
Das ging mir ähnlich, ich habe mir dann nur den Code angeschaut :lol:
|
AW: Keybd_event funktioniert nicht?
Ja ich bin nicht der Beste im Erklären.
Also ich spiele ein Spiel, bei dem gibt es so bestimmte Einheiten, die wenn man sie tötet, nach 5 Minuten respawnen. (League of Legends) Wenn ich also diese Einheit töte, drücke ich eine Taste, und ein Timer läuft los, der eine Variable die auf 300 (für 300 Sekunden) ist, runterzählen lässt. Wenn die Variable auf 30 ist, wird ein Event ausgelöst, bei dem mit der Simulation von mehreren Tastendrücken ein Satz in den Chat des Spiels geschrieben werden soll. Das heißt also ich muss "Enter" simulieren, damit sich der Chat öffnet, danach muss ich das "Wort" simulieren, und danach muss ich erneut "Enter" simulieren, damit er das Wort abschickt. Jetzt zum Problem: Wenn ich versuche "Enter" zu simulieren, steht im Spiel nur "Type /help for a list of commands". Das heißt irgendwie nimmt dieses Spiel die Simulation von "Enter" als ein Command auf. Es funktioniert jetzt inzwischen alles, bis auf das "Enter" drücken. Thx schonmal - nico |
AW: Keybd_event funktioniert nicht?
Zitat:
Gruß K-H |
AW: Keybd_event funktioniert nicht?
Ja. In diesem Spiel(Programm) will ich (mit meinem selbstgeschriebenem Programm) mehrere Tastendrücke simulieren.
|
AW: Keybd_event funktioniert nicht?
Ich hab den Bug gefunden. Die Simulation der Tastendrücke die ich in meinem Programm gemacht hab, kam zu schnell hintereinander. Ich hab zwischendurch ein Sleep(30) eingefügt, und jetzt funktionierts :) Trd danke dass ihr euch zeit genommen habt^^
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 10:56 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