run cfkey so that its in your system tray bottom right corner. then go into the subnautica controls and you will notice under the keyboard option each of the controls has a primary and secondary button option and setup. for the alternate to the move forward command which is by default w. in the second column which is probably blank you just assign it to the up arrow, then you use the number zero key to turn it on and off for the auto continue forward.
I wouldn't be able to play again with forward bound outside from W key. Can you make it configurable, and also possibility to toggle autorun with shift+W?
Also this reminds me of AutoHotkey app. Maybe it's possible to make a script for it?
Hello, sorry I really didn't think there would be any questions on how or modifications needed to this code. I also have been very busy and guess I just never took the time to update this. The reason this looks so close to a autohotkey program is because it is. Well .Au3 anyways. If you own a free .au3 compiler you could change this to any keys you wish and recompile this code. ------------------------------------------------------------------------------------------------- #NoTrayIcon #Region ;**** Directives created by AutoIt3Wrapper_GUI **** #AutoIt3Wrapper_Icon=..\..\..\..\Icons\MAIN\1357123200_37062.ico #AutoIt3Wrapper_Compression=4 #AutoIt3Wrapper_Res_Comment=Continue Forward Key #AutoIt3Wrapper_Res_Description=CFKey #AutoIt3Wrapper_Res_Fileversion=1.0.0.0 #AutoIt3Wrapper_Res_ProductVersion=1.0.0.0 #AutoIt3Wrapper_Res_LegalCopyright=Freeware #AutoIt3Wrapper_Res_Language=1033 #AutoIt3Wrapper_Res_Field=ProductName|CFKey #EndRegion ;**** Directives created by AutoIt3Wrapper_GUI **** ;By: NexusComa ; #include <Misc.au3> If(_Singleton(@ScriptName,1)=(0))Then Exit Global $hDLL=(DllOpen("user32.dll")) Global $Move=(False) ; TraySetState(2) Opt("TrayIconHide",1) Opt("TrayMenuMode",3) Opt("TrayOnEventMode", 1) TraySetIcon("Shell32.dll",-307) TraySetToolTip("CFKey") TraySetState(4) TrayTip("CFKey","Active",0,17) TrayCreateItem("Info") TrayItemSetOnEvent(-2,"About") TrayCreateItem("") TrayCreateItem("Exit") TrayItemSetOnEvent(-2,"Quit") TrayCreateItem("") ; HotKeySet("{0}","Move") Send("{Up}") ; Sleep(5000) TraySetState(8) ; While(1) Sleep(5000) WEnd Exit ; Func About() MsgBox(0,"CFKey"," Toggle on/off with [ 0 ], or off with [ Up Arrow ]"&@CRLF _ &" Mapped to the [ Up Arrow ] for forward movement") EndFunc Func Move() HotKeySet("{0}") If Not _IsPressed("26", $hDLL)Then $Move=(False) $Move=(Not $Move) If($Move)Then Send("{Up DOWN}") Else Send("{Up UP}") Endif While _IsPressed("30", $hDLL) Sleep(250) WEnd HotKeySet("{0}","Move") EndFunc Func Quit() DllClose($hDLL) Exit(0) EndFunc ; -------------------------------------------------------------------------------------------------
lol, I agree ... after 20 min of play I had to quit and wright this program and give my finger a break. I figured at some point they would add this. But then realized it could be used with any game so ...
As far as the Administrator thing the fact this code was created on my computer makes you have to do one of two things. Run as Admin or in the file properties click the box that allows this to be your file.
The reason this may be flagged as a possible virus is from this line ... If(_Singleton(@ScriptName,1)=(0))Then Exit
This was added so that the program could not be ran more than once. If ran a second time this line will catch the new run and exit. So only one run will ever be active. Sometimes just using the AutoIt3Wrapper can be flagged as well. The wrapper is used to add the Icon and other info. It also could be the use of DllOpen("user32.dll"). As I am directly tweaking the rom to read the keys you push. This is way more effective and reliable .. Anyway, you have my word this is far from a virus. In fact this this code is very friendly with the system in that once started it will use a minimal of processed time. As you see once started the code basically dose nothing other than rely on a few interrupts. I'll post the code in it's entirety if you wish to review it.
While(1) Sleep(5000) WEnd
Relying only on the tray events TrayItemSetOnEvent(-2,"About") TrayItemSetOnEvent(-2,"Quit")
I wouldn't be able to play again with forward bound outside from W key. Can you make it configurable, and also possibility to toggle autorun with shift+W?
Also this reminds me of AutoHotkey app. Maybe it's possible to make a script for it?
hey, that's exactly what i did when i started playing this game and was wondering how this mod works, and who would have guessed, i actually can add something ez af to do, if you have autohotkey installed on you machine here's the code:
^q::ExitApp
x := false #IfWinActive Subnautica x:: x := !x if x = 1 { Send {w down} } else { Send {w up} }
Return
~w::x := 0
press "x" to toggle going forward, ("w" it turns it off, and ctrl+q for quicker script process closing) don't know how much you into autohotkey so i'll just say that if you want to change the key; edit "x::" into what letter you want, and so "+w::" would be for shift+w
Actually, it's way easier than all that. There are two slots for keybindings in the game options. Simply keep the "w" for forward, and select "up key" for the second binding. That way you can still move with awsd, but just push "0" for autoswim/run.
Thanks to whoever made this mod, it is amazing. I was propping a a bottle opener and a clothes pin on the "w" key before to autoswim :D
13 comments
there is the x key already built in to do that in game isnt there?
Also this reminds me of AutoHotkey app. Maybe it's possible to make a script for it?
-------------------------------------------------------------------------------------------------
#NoTrayIcon
#Region ;**** Directives created by AutoIt3Wrapper_GUI ****
#AutoIt3Wrapper_Icon=..\..\..\..\Icons\MAIN\1357123200_37062.ico
#AutoIt3Wrapper_Compression=4
#AutoIt3Wrapper_Res_Comment=Continue Forward Key
#AutoIt3Wrapper_Res_Description=CFKey
#AutoIt3Wrapper_Res_Fileversion=1.0.0.0
#AutoIt3Wrapper_Res_ProductVersion=1.0.0.0
#AutoIt3Wrapper_Res_LegalCopyright=Freeware
#AutoIt3Wrapper_Res_Language=1033
#AutoIt3Wrapper_Res_Field=ProductName|CFKey
#EndRegion ;**** Directives created by AutoIt3Wrapper_GUI ****
;By: NexusComa
;
#include <Misc.au3>
If(_Singleton(@ScriptName,1)=(0))Then Exit
Global $hDLL=(DllOpen("user32.dll"))
Global $Move=(False)
;
TraySetState(2)
Opt("TrayIconHide",1)
Opt("TrayMenuMode",3)
Opt("TrayOnEventMode", 1)
TraySetIcon("Shell32.dll",-307)
TraySetToolTip("CFKey")
TraySetState(4)
TrayTip("CFKey","Active",0,17)
TrayCreateItem("Info")
TrayItemSetOnEvent(-2,"About")
TrayCreateItem("")
TrayCreateItem("Exit")
TrayItemSetOnEvent(-2,"Quit")
TrayCreateItem("")
;
HotKeySet("{0}","Move")
Send("{Up}")
;
Sleep(5000)
TraySetState(8)
;
While(1)
Sleep(5000)
WEnd
Exit
;
Func About()
MsgBox(0,"CFKey"," Toggle on/off with [ 0 ], or off with [ Up Arrow ]"&@CRLF _
&" Mapped to the [ Up Arrow ] for forward movement")
EndFunc
Func Move()
HotKeySet("{0}")
If Not _IsPressed("26", $hDLL)Then $Move=(False)
$Move=(Not $Move)
If($Move)Then
Send("{Up DOWN}")
Else
Send("{Up UP}")
Endif
While _IsPressed("30", $hDLL)
Sleep(250)
WEnd
HotKeySet("{0}","Move")
EndFunc
Func Quit()
DllClose($hDLL)
Exit(0)
EndFunc
;
-------------------------------------------------------------------------------------------------
Again sorry for the huge delay in the response.
I had to run it as Administrator in order to get it to work. You might want to mention that in your description. (Win 8.1)
I figured at some point they would add this. But then realized it could be used with any game so ...
As far as the Administrator thing the fact this code was created on my computer makes you have to
do one of two things. Run as Admin or in the file properties click the box that allows this to be your file.
If(_Singleton(@ScriptName,1)=(0))Then Exit
This was added so that the program could not be ran more than once.
If ran a second time this line will catch the new run and exit. So only one run will ever be active.
Sometimes just using the AutoIt3Wrapper can be flagged as well. The wrapper is used to add the Icon and other info.
It also could be the use of DllOpen("user32.dll"). As I am directly tweaking the rom to read the keys you push.
This is way more effective and reliable .. Anyway, you have my word this is far from a virus.
In fact this this code is very friendly with the system in that once started it will use a minimal of processed time.
As you see once started the code basically dose nothing other than rely on a few interrupts.
I'll post the code in it's entirety if you wish to review it.
While(1)
Sleep(5000)
WEnd
Relying only on the tray events
TrayItemSetOnEvent(-2,"About")
TrayItemSetOnEvent(-2,"Quit")
hey, that's exactly what i did when i started playing this game and was wondering how this mod works, and who would have guessed, i actually can add something
ez af to do, if you have autohotkey installed on you machine here's the code:
press "x" to toggle going forward, ("w" it turns it off, and ctrl+q for quicker script process closing)
don't know how much you into autohotkey so i'll just say that if you want to change the key; edit "x::" into what letter you want, and so "+w::" would be for shift+w
Thanks to whoever made this mod, it is amazing. I was propping a a bottle opener and a clothes pin on the "w" key before to autoswim :D