DaTeL237 Posted December 13, 2009 Share Posted December 13, 2009 I'm trying to perform a 'dodge' in Unreal Tournament (1999 in this case) with a single button press (through AutoIt... clearly) Normally, this is performed by pressing a directional button twice in 'quick' succession... So far I use a script to send the forward button, wait a bit, and send it again, unfortunately this does not result in a dodge The problem (I believe) is that very often, the game does not process it being sent When I start typing into the game (in the console for instance) it does however recognize all w's being sent 1st question, if someone knows a solution for this 2nd question (that I think might help solve it) is if it's possible to toggle/set a keyboard button's state (pressed/unpressed)? If so, I could make it press-wait-unpress-wait-press-wait-unpress... ps. if i hold down 'u' for a long time, it does make me dodge eventually... but nothing near 'instant' (for example, 2 seconds later would not be uncommon) ps2 Here's the script so far... oh and it never resulted in a dodge, although sometimes it does make me walk forward for (I think) 1 frame MsgBox(0, "Script Ready!", "The script is running, press {U} to dodge? Press Alt+Esc to exit.") HotKeySet("u", "Event") HotKeySet("!{ESC}", "Terminate") ; Have the script running (event will interrpt it) While 1 Sleep(100) WEnd ; "w" = walk forward, for some people "{up}" would be used Func Event() Send("w") Sleep(250) Send("w") EndFunc Func Terminate() Exit 0 EndFunc Link to comment Share on other sites More sharing options...
AdmiralAlkex Posted December 13, 2009 Share Posted December 13, 2009 Hi and Welcome to the forums!Straight out from the helpfile:To hold a key down (generally only useful for games)Send("{a down}") ;Holds the A key downSend("{a up}") ;Releases the A keyPlease try it yourself next time, you could learn something .Some of my scripts: ShiftER, Codec-Control, Resolution switcher for HTC ShiftSome of my UDFs: SDL UDF, SetDefaultDllDirectories, Converting GDI+ Bitmap/Image to SDL Surface Link to comment Share on other sites More sharing options...
DaTeL237 Posted December 14, 2009 Author Share Posted December 14, 2009 Ouch that made me look way stupid I looked through the online documentation but missed that part... anyway here's the resulting dodge-from-standstill script (if 'w' is your walk-forward button) One thing that took some time to figure out was that I had to run AutoIt 'as administrator' before it could interact with UT at all (it wouldn't even register keypresses without it, even in windowed mode) $holdDurationMS = 20 $releaseDurationMS = 10 MsgBox(0, "Script running!", "The script is running, press R to forward-dodge, press Alt+Esc to exit.") HotKeySet("r", "Dodge") HotKeySet("!{ESC}", "Terminate") ; Have the script running (event will interrpt it) While 1 Sleep(100) WEnd Func Dodge() Send("{w down}") Sleep($holdDurationMS) Send("{w up}") Sleep($releaseDurationMS) Send("{w down}") Sleep($holdDurationMS) Send("{w up}") EndFunc Link to comment Share on other sites More sharing options...
jvanegmond Posted December 14, 2009 Share Posted December 14, 2009 One thing that took some time to figure out was that I had to run AutoIt 'as administrator' before it could interact with UT at all (it wouldn't even register keypresses without it, even in windowed mode)You can put a #RequireAdmin on top of your script, and the user will be forced to run your script as admin. github.com/jvanegmond Link to comment Share on other sites More sharing options...
Recommended Posts
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now