warning
We are aware of an issue with download statistics. See our status page for details.
Precision Movement and Rotation script inspired by ab3d0.
/* https://autohotkey.com
* ©2003-2014 Chris Mallett, portions ©AutoIt Team and the AHK community
* Software License: GNU General Public License
* Created using: SciTE4AutoHotkey
* Version 3.0.06.01 - Based on SciTE 3.5.1
* Built on Oct 12 2014 13:40:05
* by fincs - Original SciTE by Neil Hodgson
* Written By: BetaVirus
* Date Compiled: 06/23/17
* Date of last edit: 06/23/17
* Title: AutoHotKey Object mover Script for Fallout 4
* This scrip was inspired by ab3d0 for his mod 'Presision Movement and Rotation on Nexus Mods website - which has since been removed by the author'
*/
;---------------------------------------------
;Active commands
;---------------------------------------------
#SingleInstance, Force;Limit to one instance of Autohotkey Script [FORCE,IGNORE,OFF]
MsgBox, Hotkey functions will not be run until Fallout is the active window. `nPress Shift+PauseQuit Script at anytime. `nPress Win+PPause Script (Buggy w/ Mods) `nPress CTRL+ALT+SSuspend Hotkeys `nPress CTRL+ALT+NumPadEnterShow Hotkeylist; Place a ; before the MsgBox to disable this popup when launching
^!NumpadEnter::
MsgBox, 0, Fallout 4 Movement Hotkeys, CTRL+ALT+NumpadEnterShow Hotkey List`nShift+PauseExit FO4 Hotkeyscript`nCTRL+ALT+SSuspend Hotkeys`nWIN+PPause AutoHotkey Script (Buggy w/ mods) ==========================================`nNumpadAddRaise Object by 1 or 5`nNumpadSubLower Object by 1 or 5`n==========================================`nNumpad6Move Right by 1`nNumpad4Move Left by 1`nNumpad8Move Forward by 1`nNumpad2Move Back by 1`n==========================================`nNumpadRightMove Right by 5`nNumpadLeftMove Left by 5`nNumpadUpMove Forward by 5`nNumpadDownMove Back by 5`n==========================================`nNumpad9Tilt Forward-Right by 1`nNumpad3Tilt Back-Right by 1`nNumpad7Tilt Forward-Left by 1`nNumpad1Tilt Back-Left by 1`n==========================================`nNumpadPgUpTilt Forward-Right by 5`nNumpadPgDnTilt Back-Right by 5`nNumpadHomeTilt Forward-Left by 5`nNumpadEndTilt Back-Left by 5`n==========================================`nNumpadMultRotate Right`nNumpadDivRotate Left`n==========================================`nNumpad0Get Selected Ref Positions`nNumpadInsGet Selected Ref Angles`n==========================================`nNumpadDotGet player Grabbed Ref`nNumpadDelGet player Grabbed Ref`n==========================================`nCtrl+Numpad5Reset Object Angle to 0`nCtrl+NumpadClearReset Object Angle to 0`n==========================================`nAlt+NumpadDotDuplicate Selected Ref`nAlt+NumpadDelMove Selected Ref to Player`n==========================================`nCtrl+NumpadEnterDisable Selected Ref`nAlt+NumpadEnterEnable Selected Ref
+Pause::ExitApp;Exit Script, aka close this script [Indiscriminate Fallout 4 running]
#IfWinActive, ahk_class Fallout4ahk_exe Fallout4.exe;Conditional check for Fallout 4 application before running hotkey commands [as reported by Windowspy]
;---------------------------------------------
;Removed commands
;---------------------------------------------
;#UseHook;keep in memory, not needed for hotkeys (remove ; infront of the # to enable)
;#Persistent;Remains active and does not terminate unless you tell it to quit (remove ; infront of the # to enable)
;---------------------------------------------
; Pause Script
;---------------------------------------------
^!s::Suspend ; Ctrl+Alt+S NOTE: This will suspend the Hotkeys but not the script.
#p:: Pause ; Win+P NOTE: This does not seem to work without Alt+Tabbing out of Fallout4. On my Moodded game to keep minimizing over and over again at last 5-15 times before I can play again.
;---------------------------------------------
; Modify Position Commands
;---------------------------------------------
NumpadAdd::;move object move down [numlock toggle move by 1 or 5]
if (GetKeyState("NumLock", "T"))
{
SetKeyDelay, 0,40
SendInput, modpos z 1
sendEvent, {enter}
sleep, 50
}
else
{
SetKeyDelay, 0,40
SendInput, modpos z 5
sendEvent, {enter}
sleep, 50
}
return
NumpadSub::;move object move down [numlock toggle move by 1 or 5]
if (GetKeyState("NumLock", "T"))
{
SetKeyDelay, 0,40
SendInput, modpos z -1
sendEvent, {enter}
sleep, 50
}
else
{
SetKeyDelay, 0,40
SendInput, modpos z -5
sendEvent, {enter}
sleep, 50
}
return
Numpad6::;move right by 1
SetKeyDelay, 0,40
SendInput, modpos x 1
sendEvent, {enter}
sleep, 50
return
Numpad4::;move left by 1
SetKeyDelay, 0,40
SendInput, modpos x -1
sendEvent, {enter}
sleep, 50
return
Numpad8::;move forward by 1
SetKeyDelay, 0,40
SendInput, modpos y 1
sendEvent, {enter}
sleep, 50
return
Numpad2::;move back by 1
SetKeyDelay, 0,40
SendInput, modpos y -1
sendEvent, {enter}
sleep, 50
return
NumpadRight::;move right by 5
SetKeyDelay, 0,40
SendInput, modpos x 5
sendEvent, {enter}
sleep, 50
return
NumpadLeft::;move left by 5
SetKeyDelay, 0,40
SendInput, modpos x -5
sendEvent, {enter}
sleep, 50
return
NumpadUp::;move forward by 5
SetKeyDelay, 0,40
SendInput, modpos y 5
sendEvent, {enter}
sleep, 50
return
NumpadDown::;move back by 5
SetKeyDelay, 0,40
SendInput, modpos y -5
sendEvent, {enter}
sleep, 50
return
;---------------------------------------------
; Modify Angle Commands
;---------------------------------------------
Numpad9::;tilt forward-right by 1
SetKeyDelay, 0,40
SendInput, modangle y 1
sendEvent, {enter}
sleep, 50
return
Numpad3::;tilt back-right by 1
SetKeyDelay, 0,40
SendInput, modangle y -1
sendEvent, {enter}
sleep, 50
return
Numpad7::;tilt Forward-Left by 1
SetKeyDelay, 0,40
SendInput, modangle x 1
sendEvent, {enter}
sleep, 50
return
Numpad1::;tilt Back-Left by 1
SetKeyDelay, 0,40
SendInput, modangle x -1
sendEvent, {enter}
sleep, 50
return
NumpadPgUp::;tilt forward-right by 5
SetKeyDelay, 0,40
SendInput, modangle y 5
sendEvent, {enter}
sleep, 50
return
NumpadPgDn::;tilt back-right by 5
SetKeyDelay, 0,40
SendInput, modangle y -5
sendEvent, {enter}
sleep, 50
return
NumpadHome::;tilt Forward-Left by 5
SetKeyDelay, 0,40
SendInput, modangle x 5
sendEvent, {enter}
sleep, 50
return
NumpadEnd::;tilt back-Left by 5
SetKeyDelay, 0,40
SendInput, modangle x -5
sendEvent, {enter}
sleep, 50
return
NumpadMult::;rotate left [numlock toggle move by 1 or 5]
if (GetKeyState("NumLock", "T"))
{
SetKeyDelay, 0,40
SendInput, modangle z 1
sendEvent, {enter}
sleep, 50
}
else
{
SetKeyDelay, 0,40
SendInput, modangle z 5
sendEvent, {enter}
sleep, 50
}
return
NumpadDiv::;rotate right [numlock toggle move by 1 or 5]
if (GetKeyState("NumLock", "T"))
{
SetKeyDelay, 0,40
SendInput, modangle z -1
sendEvent, {enter}
sleep, 50
}
else
{
SetKeyDelay, 0,40
SendInput, modangle z -5
sendEvent, {enter}
sleep, 50
}
return
;---------------------------------------------
; Get Commands
;---------------------------------------------
Numpad0::;get X,Y,Z coordnates of selected object
SetKeyDelay, 0,40
SendInput, getpos x;
sleep, 50
SendInput, getpos y;
sleep, 50
SendInput, getpos z
sendEvent, {enter}
sleep, 50
return
NumpadIns::;get X,Y,Z angle of selected object
SetKeyDelay, 0,40
SendInput, getangle x;
sleep, 50
SendInput, getangle y;
sleep, 50
SendInput, getangle z
sendEvent, {enter}
sleep, 50
return
NumpadDot::;Get Player grabbed Refrence (Picked up object ref)
SetKeyDelay, 0,40
SendInput, getplayer
sleep, 50
SendInput, grabbedref
sendEvent, {enter}
sleep, 50
return
NumpadDel::;Get Player grabbed Refrence (Picked up object ref)
SetKeyDelay, 0,40
SendInput, getplayer
sleep, 50
SendInput, grabbedref
sendEvent, {enter}
sleep, 50
return
;---------------------------------------------
; ResetCommands
;---------------------------------------------
Numpad5::;reset object rotation to 0
SetKeyDelay, 0,40
SendInput, setangle x 0;
sleep, 50
SendInput, setangle y 0;
sleep, 50
SendInput, setangle z 0
sendEvent, {enter}
sleep, 50
return
NumpadClear::;reset object rotation to 0
SetKeyDelay, 0,40
SendInput, setangle x 0;
sleep, 50
SendInput, setangle y 0;
sleep, 50
SendInput, setangle z 0
sendEvent, {enter}
sleep, 50
return
;---------------------------------------------
; Other Commands
;---------------------------------------------
!NumpadDot::;Spawn Duplicate of selected item
SetKeyDelay, 0,40
SendInput, SpawnDupe
sendEvent, {enter}
sleep, 50
return
!NumpadDel::;Spawn Duplicate of selected item
SetKeyDelay, 0,40
SendInput, SpawnDupe
sendEvent, {enter}
sleep, 50
return
!Numpad0::;Move object to Player
SetKeyDelay, 0,40
SendInput, moveto player
sendEvent, {enter}
sleep, 50
return
!NumpadIns::;Move object to Player
SetKeyDelay, 0,40
SendInput, moveto player
sendEvent, {enter}
sleep, 50
return
^NumpadEnter::;Disable Selected Ref
SetKeyDelay, 0,40
SendInput, Disable
sendEvent, {enter}
sleep, 50
return
!NumpadEnter::;Enable Selected Ref
SetKeyDelay, 0,40
SendInput, Enable
sendEvent, {enter}
sleep, 50
return