Wenn {w down} dann sollte Space die Alt-Taste sein

Stelle Fragen zur Automatisierung von Spielen

Moderator: jNizM

Spitzi123
Posts: 4
Joined: 19 Apr 2024, 04:58

Wenn {w down} dann sollte Space die Alt-Taste sein

19 Apr 2024, 05:22

Einen schönen guten Tag,

ich habe mir ein Script "zusammengeschustert", habe keine Ahnung vom Programmieren und Scripten lohnt sich auch nicht mehr zu lernen bin schon 70.
Hier mein Script:

Code: Select all

#SingleInstance, Force
SetKeyDelay, 0, 50

Menu, tray, Icon, e:\Games\Fallout 4\Fallout4.exe


IfWinNotExist, Fallout4
	Run, e:\Games\Fallout 4\Fallout 4.lnk

Else

{	
#IfWinActive, Fallout4

$w::
    if (getkeystate("w"))
        send,{w up}
    else
        send,{w down}
return


~XButton1::TAB
return

}

WinWait, Fallout4	   
WinWaitClose, Fallout4
ExitApp	

[Mod edit: Quote-Tags wurden durch [code][/code]-Tags ersetzt.]

Es wäre schön wenn ich die w-Taste gedrückt habe und nur dann die Space -Taste die Funktion der Alt-Taste, aber auch nur dann sobald ich (w up) wieder aktiviere soll Space auch wieder Space sein.
Hoffe mal das ich mich verständlich ausgedrückt habe.

Vielleicht kann mir jemand eine Lösung anbieten, im Voraus herzlichen Dank

Gruss
Rohwedder
Posts: 7698
Joined: 04 Jun 2014, 08:33
Location: Germany

Re: Wenn {w down} dann sollte Space die Alt-Taste sein

19 Apr 2024, 09:30

Hallo,
nur diese Anforderung: "Es wäre schön wenn ich die w-Taste gedrückt habe und nur dann die Space -Taste die Funktion der Alt-Taste, aber auch nur dann sobald ich (w up) wieder aktiviere soll Space auch wieder Space sein.":

Code: Select all

#IF GetKeyState("w","P") ; wenn ich die w-Taste gedrückt habe
#InputLevel 1
Space::Alt ; nur dann hat die Space -Taste die Funktion der Alt-Taste
#InputLevel 0
#IF

; zum testen:
!q::SoundBeep ; W + Space + Q wirkt wie Alt + Q und triggert !q::
Aber, 70 zu sein ist doch kein Grund die Alt-Taste zu meiden (und nichts mehr zu lernen)
Spitzi123
Posts: 4
Joined: 19 Apr 2024, 04:58

Re: Wenn {w down} dann sollte Space die Alt-Taste sein

19 Apr 2024, 14:25

Danke dir - selbstverständlich auch für den schönen Kommentar habe mich hergelacht.

Gruss Heinz

PS: Bekomme das nicht hin, ich habe ja für die w-Taste eine "Tooglefunktion" beim ersten mal "w" wird die ja praktisch gehalten und bein nächsten drücken losgelassen. Mit deinem Code ist bei mir die Tooglefunktion weg, blicke das nicht wie ich es bereits geahnt habe.
Aber der Dank bleibt erhalten :D
Rohwedder
Posts: 7698
Joined: 04 Jun 2014, 08:33
Location: Germany

Re: Wenn {w down} dann sollte Space die Alt-Taste sein

20 Apr 2024, 01:57

Mangels Fallout (Tschernobyl ist schon eine Weile her) habe ich mit einer im Editor geöffneten Fallout4.txt getestet:

Code: Select all

#SingleInstance, Force
SetKeyDelay, 0, 50
SetTitleMatchMode, 2

; Menu, tray, Icon, e:\Games\Fallout 4\Fallout4.exe

IfWinNotExist, Fallout4
	Run, e:\Games\Fallout 4\Fallout 4.lnk

#IF GetKeyState("w") And WinActive("Fallout4") ; bei Fallout4 wenn die w-Taste logisch gedrückt ist
$w::send,{w up} ; laß sie los
#InputLevel 1
Space::Alt ; hat die Space -Taste die Funktion der Alt-Taste
#InputLevel 0
#IfWinActive, Fallout4 ;  bei Fallout4 wenn die w-Taste nicht logisch gedrückt ist
$w::send,{w down} ; drücke sie

#IF
; zum testen:
!q::SoundBeep ; Space + Q wirkt wie Alt + Q
Zur Anzeige von logischen Tastenzuständen empfehle ich, zusätzlich dieses Skript laufen zu lassen:
(die interessanten Tasten einfach im Aufruf von States() hinein schreiben)

Code: Select all

States("Alt Space w") ; for testing only
#Persistent
States(Keys, Period:=200, ToolTipNo:=4) ; shows the logical states
{ ; of the Keys e.g.: "q , Space JoyX" separated with space or tab
Static sKeys, sToolTipNo
SetTimer, States,% Period, sKeys := Keys, sToolTip := ToolTipNo
Return
States:
For all,Key in StrSplit(sKeys,[A_Space,A_Tab])
	States.=Trim(Key)>""?"`n" Key "`t" ((S
	:=Round(GetKeyState(Key)))?S=1?"down":S:"up"):""
MouseGetPos, MX, MY ; separated from another ToolTip
ToolTip,% SubStr(States,2),MX+16,MY+32, sToolTipNo, States:=""
Return
}
Spitzi123
Posts: 4
Joined: 19 Apr 2024, 04:58

Re: Wenn {w down} dann sollte Space die Alt-Taste sein

20 Apr 2024, 05:28

Dann nochmals vielen Dank, funktioniert jetzt - wieso schreibe ich dir das du weist das ja bereits ;)

Wie bereits erwähnt kann nicht programmeren und verstehe den Code nicht trotz deiner Hilfe darin. Wenn ich das kapieren würde hätte ich nicht um Hilfe gebeten sondern hätte die Lösung selber gefunden. So wie in meinem Script.
Schön das du dich meiner angenommen hast, zeigt mir mal wieder das es immer noch freundliche und hilfsbereite Menschen gibt.

Wünsche dir noch eine gute Zeit
Gruß Heinz
Spitzi123
Posts: 4
Joined: 19 Apr 2024, 04:58

Re: Wenn {w down} dann sollte Space die Alt-Taste sein

22 Apr 2024, 01:53

So da bin ich schon wieder brauche doch noch eine Erklärung wieso funktioniert dies jetzt nicht mehr:

WinWait, Fallout4
WinWaitClose, Fallout4
ExitApp

also das Script beendet sich nicht mehr wenn ich Fallout4 beende.

Gruß Heinz
Rohwedder
Posts: 7698
Joined: 04 Jun 2014, 08:33
Location: Germany

Re: Wenn {w down} dann sollte Space die Alt-Taste sein

22 Apr 2024, 02:25

Kommt darauf an, wo im Skript dies steht!
So, sollte es eigentlich funktionieren:

Code: Select all

#SingleInstance, Force
SetKeyDelay, 0, 50
SetTitleMatchMode, 2

Menu, tray, Icon, e:\Games\Fallout 4\Fallout4.exe

IfWinNotExist, Fallout4
	Run, e:\Games\Fallout 4\Fallout 4.lnk
WinWait, Fallout4
WinWaitClose, Fallout4
ExitApp

#IF GetKeyState("w") And WinActive("Fallout4") ; bei Fallout4 wenn die w-Taste logisch gedrückt ist
$w::send,{w up} ; laß sie los
#InputLevel 1
Space::Alt ; hat die Space -Taste die Funktion der Alt-Taste
#InputLevel 0
#IfWinActive, Fallout4 ;  bei Fallout4 wenn die w-Taste nicht logisch gedrückt ist
$w::send,{w down} ; drücke sie

#IF
; zum testen:
!q::SoundBeep ; Space + Q wirkt wie Alt + Q
Der Befehl WinWaitClose, Fallout4 regiert jedoch immer nur, wenn keine andere Routine (=Thread) des Skript läuft.
Willst du z.B. eine Dauerschleife (Loop) laufen lassen, bräuchtest du statt WinWaitClose einen entsprechenden Timer.

Return to “Spiele”

Who is online

Users browsing this forum: No registered users and 2 guests