Seite 1 von 2

Tasten drücken lassen.

Verfasst: 12.04.2007 14:44
von kreeph
Hallo Leute, nachdem ihr so schnell mein anderes Problem gelöst habt ( :allright: ) habe ich wieder eines: Ich will ein Programm Programmieren, dass mir selbst Tasten drückt. Habe z.B. das Problem in irgentwelchen Spielen will man eine Nachricht chatten, hat aber keine Möglichkeit diese voreinzustellen und muss immer lästig rumtippen. Das ist dann in Simulationen oder Ballerspielen in der Art ziemlich lästig. Mit meinem Programm will ich so ein ganzes Kommando auf eine taste legen.
z.B. ich drücke A -> Eingabetaste, H, A, L, L, O, Eingabetaste. Habe wie immer zuerst in der Hilfe-Datei rumgeschnüffelt, aber nur Befehle gefunden, mit denen ich gedrückte Tasten erkennen kann. Könnt ihr mir da weiter helfen? Also Befehle zeigen, mit denen das System selbst ,,eine Taste drückt'' auf Maus oder Tastatur?
Hoffe die Gibts überhaupt in 3.30 :mrgreen:
Dann, danke schonmal! :)

Verfasst: 12.04.2007 15:22
von Kaeru Gaman
auch dafür brauchst du wieder API.


meiner meinung nach ist das aber unfug.
bei den meisten games sind schon mal ne menge tasten belegt, da wird es schwierig, dir die übriggebliebenen hotkeys zu suchen.

außerdem kannst du schneller tippen lernen, bzw. könnt ihr eure kommunikation vereinfachen.

wenn ich multiplayer-games zocke, muss ich eben prioritäten setzen, ob ich jetzt schwätzen oder was schaffen will.
wenn ich in AOE2, EE oder welcem game auch immer, meine arbeiter umverteilen muss oder nen angriff durchführe, dann muss der andere eben mal ne minute auf die chat-antwort warten.

wenn man in nem action-game wirklich kommunizieren muss, dann kann man das extrem verkürzen.
als ich vor 10 jahren mit nem Kumpel DESCENT auf Cooperative gezockt hab,
da haben wir und mit dreibuchstabigen kürzeln verständigt.
"talking assembler" haben wir das genannt.

wenn du nachrichten voreinstellst und sie per hotkeys abspielst, sind das eh nur floskeln.
darauf kann man größtenteils ganz verzichten, und die wenigen, die man wirklich brauchen kann, kann man auf 3 buchstaben verkürzen.

Verfasst: 12.04.2007 15:26
von kreeph
Naja das leuchtet mir ja schon ein, aber ich denke ich kann es doch probieren. Ich meine das hilft ja auch in anderen Sachen und unter anderem bin ich dann um einen Befehl reicher! :D Das mit dem API... ich weiß immer noch nicht so recht wo ich die ganzen Befehle finde. :| Naja also kann mir jemand den Befehl erklären? :D

Verfasst: 12.04.2007 15:32
von Kaeru Gaman
> ich weiß immer noch nicht so recht wo ich die ganzen Befehle finde.
das hat Tafka im anderen Thread geschrieben:
Tafkadasom2k5 hat geschrieben:Dann wirst du dich jetzt auf eine "unendliche Geschichte" einlassen müssen.
Wer in die weiten Welten der http://msdn.com geht, wird so bald nicht mehr ohne Kopfschmerzen rauskommen :wink:
ok, war etwas lyrisch verpackt.
API ist das Interface des Betriebssystems.
Das kannst du von PB aus ansprechen, aber programmiert hat es M$,
und die beschreibung der Funktionen findest du eben auf einer Site von M$,
nämlich in der sogenannten MSDN.
(und das ist eine riesen-bibliothek, und außerdem nicht sehr toll aufgemacht, mit streckenweise grausigen ladezeiten und hirnverdrehenden querverweisen, deshalb der spruch mit den kopfschmerzen....)

...welchen befehl du jetzt zum simulieren eines tastendrucks brauchst, ist mir grad entfallen,
aber benutz mal die boardsuche, wurde schon öfters drüber geschrieben.

Verfasst: 12.04.2007 15:50
von AND51
> bei den meisten games sind schon mal ne menge tasten belegt, da wird es schwierig, dir die übriggebliebenen hotkeys zu suchen.
lol...
Angenommen, Taste A bedeutet Angriff, wird dann auchein ANgriff ausgelöst, wenn du schreibst und dabei ein A benutzt? ALso braucht er nicht darauf zu achten, ob die Hotkeys schon belegt sind!

Er kann sich doch diese Chathilfe bauen...


Aber dennoch würde ich dafür VoIP Programme wie TeamSpeak oder Skype benutzen (ok, lieber TeamSpeak, statt Skype). Denn gerade bei Ballerspielen hat man keine Zeit, seinem Teamkameraden mitzuteilen, dass ein Feind hinter ihm steht und gerade schießen will. Auch, wenn man schon Messages vorgefertigt hat, hat man keine Zeit, erst noch den richtigen Buchstaben zu drücken.
Außerdem müssten diese Messages universell sein, damit sie in möglichst vielen Spielsituationen Verwendung finden. Die Präzision der Informationsweitergabe geht verloren, wenn man "ungenaue" Nachrichten wie "Ich brauche Unterstützung!" anstatt "Komm mal schnell da und da hin" oder "ich brauche RÜckendeckung" benutzt.

Probier mal TeamSpeak <) www.goteamspeak.com

Verfasst: 12.04.2007 15:55
von Kaeru Gaman
AND51 hat geschrieben:lol...
Angenommen, Taste A bedeutet Angriff, wird dann auchein ANgriff ausgelöst, wenn du schreibst und dabei ein A benutzt? ALso braucht er nicht darauf zu achten, ob die Hotkeys schon belegt sind!
selber lol...
wenn man chattet, schaltet man vorher den chat ein, damit das a als "a" im text und nicht als angriff interpretiert wird.
wenn er allerdings "a" als hotkey verwenden will, dann sieht das anders aus.
kreeph hat geschrieben:z.B. ich drücke A -> Eingabetaste, H, A, L, L, O, Eingabetaste.
das eingabetaste ist chat an/aus... merxte was? :wink:


aber ich geb dir recht, mit teamspeak.
das ist weit effektiver als chatblocks.

Verfasst: 12.04.2007 16:17
von kreeph
Ok gut ich hab mich nochmal im Boar umgesehen und doch ein paar Sachen gefunden :oops: die ich aber nicht so richtig verstehe...
Schließlich soll es mit

Code: Alles auswählen

keybd_event_(#VK_[TASTE],0,0,0)
gehen. Dann soll ich das ganze in ein Prozedur packen. Gibt es eine Liste der #VK_[TASTE] und kann mir jemand die genauen Parameter der keybd_evnt_() erklären. msdn.com ist ein Labyrinth! :mrgreen:

Verfasst: 12.04.2007 17:27
von Fluid Byte

Verfasst: 12.04.2007 19:48
von AND51
> das eingabetaste ist chat an/aus... merxte was?
Ja, es muss "die Eingabetaste" heißen... :wink:

> wenn er allerdings "a" als hotkey verwenden will, dann sieht das anders aus.
ja, stimmt. Vorhin hatte ich einen Denkfehler, ich weiß was du meinst: Wenn er A für die Nachricht "Hi Kollegas" verwednen will, greift er gleichzeitig aber an, da das SPiel und sein Programm auf A reagieren. Ja, jetzt hab ichs verstanden - Denkfehler eben. :oops:

Er will sich das ja für den Privategebrauch schustern, also kann er das passend zu seiner Keyconfig proggen. Wenn er weiß, "B ist bei mir frei", dann kann er das nehmen. Er kann sogar auch erkennen, ob er gerade das Fensterchen für einen selbstzuschreibenden Text auf hat. Dazu braucht's nur eine Variable, die bei Betätigung der Eingabetaste immer auf 1 oder 0 gesetzt wird.


@ kreeph: Sowas gibt's schon: www.fam-heft.de Da hat so'n Typ das Programm geschrieben. Du brauchst nur einzustellen, welche Nachricht mit welcher Taste verknüpft sein soll. Allerdings: Selber das Programm schreiben ist immer besser => Da weiß man, was man hat!

//Edit: Sehe gerade, die Seite gibt's[size=0] zum Glück [/size]nimmer.

Verfasst: 12.04.2007 20:00
von Fluid Byte
URL funzt nicht!