Jump to content

Sky Slate Blueberry Blackcurrant Watermelon Strawberry Orange Banana Apple Emerald Chocolate
Photo

mehrere Befehle in einem Script trennen?


  • Please log in to reply
4 replies to this topic
Cruser
  • Members
  • 3 posts
  • Last active: Jul 24 2014 05:11 PM
  • Joined: 22 Jul 2014

Hallo,

 

erst mal bin ich gerade total gefasht von Autohotkey und den Möglichkeiten. Aufgrund einer Behinderung bin ich vor allem bei Spielen manchmal darauf angewiesen gewisse Änderungen vorzunehmen. Dies tat ich bisher vornehmlich in der .ini der Spiele, jedoch stieß ich dabei jetzt an Grenzen.

 

Wenn meine Frage schon irgendwo beantwortet wurde bzw. Thema war, sorry, bin hier auch gerade etwas überfordert aufgrund der ganzen Infops und allgemein ist das Gebiet sehr neu für mich, von daher...

 

Folgendes Problem:

 

Ich habe ein Script geschrieben bei dem eine bestimmte Taste gedrückt gehalten werden soll, bis ich die Taste noch mal drücke. Jetzt hab ich ein Spiel bei dem das die "ducken" (RCtrl), "zoom" (z) und "sprint" (RShift) Taste betrifft. Wenn ich das in getrennte Scripts packe funktioniert es, wenn ich es in eins packe zickt der rum, d.h. wenn ich "sprinten" drücke, geht er gleichzeitig in den "zoom". Muss ich die irgendwie voneinander trennen, ich kopiers mal hier rein:

 

 

*RCtrl

GetKeyState, state, RCtrl
if state = D
{
sleep 50
Send {RCtrl UP}
}
else
{
sleep 50
Send {RCtrl Down}
}

*RShift::
GetKeyState, state, RShift
if state = D
{
sleep 50
Send {RShift UP}
}
else
{
sleep 50
Send {RShift Down}
}

*z::
GetKeyState, state, z
if state = D
{
sleep 50
Send {z UP}
}
else
{
sleep 50
Send {z Down}
}

 

Ist natürlich stressig immer drei Scripts für ein Spiel zu starten, einfacher wäre natürlich eins...

 

Vermutlich nur ein dämlicher Fehler oder so, habt nachsicht :-)  und danke für eure Antworten.



GEV
  • Members
  • 1364 posts
  • Last active:
  • Joined: 23 Oct 2013

Deine Frage ist sehr gut formuliert.Gratuliere!

Und hier die Antwort:

Um ein Hotkey dazu zu bringen, mehr als einen Befehl auszuführen, muss die erste Zeile unter der Hotkeydefinition gesetzt werden und die letzte Zeile ein Return sein

http://ragnar-f.gith...rial.htm#Launch



Cruser
  • Members
  • 3 posts
  • Last active: Jul 24 2014 05:11 PM
  • Joined: 22 Jul 2014

hallo,

 

merci für die rasche Antwort. Hat auch teilweise funktioniert, das Problem mit dem zoom gab es danach nicht mehr. Jedoch kam er aus dem "ducken" bzw. "sprinten" nicht mehr raus, musste die jeweilige Taste (also "ctrl" bzw. "shift") eine Weile gedrückt halten ehe er mit "sprinten" bzw. ducken aufhörte. Hab jetzt spaßenshalber die beiden Befehle von "ctrl" und "shift" entfernt und auf "k" und "j" gelegt, dann ging es seltsamer Weise.

 

Ist irgendetwas bekannt dass die "ctrl" und "shift" Tasten bei so was Probleme machen oder so?



GEV
  • Members
  • 1364 posts
  • Last active:
  • Joined: 23 Oct 2013

Hier sehe ich einen Fehler:

*RCtrl
GetKeyState, state, RCtrl
if state = D
{
...

Ersetze *RCtrl durch *RCtrl::



Cruser
  • Members
  • 3 posts
  • Last active: Jul 24 2014 05:11 PM
  • Joined: 22 Jul 2014

hallo,

 

merci noch mal, das löste es Problem nicht. Mich hat dann schon ein wenig der sportliche Ehrgeiz gepackt und ich hab ein wenig ausprobiert, es auf die linke Seite gelegt, über kreuz, alles nichts gebracht. Habs jetzt halt auf den Buchstaben liegen und es funktioniert, von daher egal, verstehen tue ichs zwar nicht...aber ich verstehe ja auch nicht das ich ein paar Zeilen in notepad eingebe und er tut was er eben tut :-)

 

trotzdem danke!

 

Edit: "z" für zoom (siehe post oben) funktioniert auch nur bei "Doppellick", auch seltsam, aber es funtioniert :-)