The last versions of this script are found below. They were uploaded May 24, 2021
Phasmophobia requires that you hold down shift to sprint. You should always be sprinting so holding the shift key for 10 minutes leads to hand pain. This script makes the shift key a sprint toggle instead of a hold to sprint key.
Install like any other AutoHotkey script. Copy to text file and set extension to .AHK Doubleclick file after installing AutoHotkey.
Shift to toggle sprint.
For scripts that support it, F9 to add all items and F10 to add a preset loadout.
You may have to toggle sprint off and on when you first load a map or when you alt tab back into the game. The game "forgets" the key is down so you have to do this.
There are six versions below. Use the one that fits your needs.
Toggle Sprint with No Indicators
Code: Select all
; Autohotkey that makes sprint (bound to shift) toggleable. This version has no indicators.
; Hotkeys: Shift key to toggle shift always up / down. End key to close script.
#MaxThreadsPerHotkey 3
Shift::
SprintToggle := !SprintToggle
if (SprintToggle)
SendInput {Shift Down}
else
SendInput {Shift Up}
return
+End::
SendInput {Shift Up}
ExitApp
return
End::
ExitApp
return
Code: Select all
; Autohotkey that makes sprint (bound to shift) toggleable. This version has a sound indicator.
; Hotkeys: Shift key to toggle shift always up / down. End key to close script.
#MaxThreadsPerHotkey 3
Shift::
SprintToggle := !SprintToggle
if (SprintToggle)
{
SendInput {Shift Down}
Soundbeep, 150, 100 ; frequency, duration
}
else
SendInput {Shift Up}
return
+End::
SendInput {Shift Up}
Soundbeep, 500, 400 ; frequency, duration
ExitApp
return
End::
Soundbeep, 500, 400 ; frequency, duration
ExitApp
return
Code: Select all
; Autohotkey that makes sprint (bound to shift) toggleable. This version has a GUI.
; Hotkeys: Shift key to toggle shift always up / down. End key to close script.
#MaxThreadsPerHotkey 3
BackgroundColor := "aaaaaa"
SprintColor := "66aa55"
WalkColor := "ff0000"
; GUI window that you can move around.
Gui +LastFound +AlwaysOnTop
Gui, Color, %BackgroundColor%
Gui, Font, s24
Gui, Add, Text, vStatusText cWhite, Autohotkey
Gui, Show, x500, y50 NoActivate
; Comment above and uncomment below for 2nd monitor no toolbar GUI.
; Gui +LastFound +AlwaysOnTop -Caption +ToolWindow
; Gui, Color, %BackgroundColor%
; Gui, Font, s32
; Gui, Add, Text, vStatusText cWhite, Phasmo Assist
; Gui, Show, x2010, y50 NoActivate ; Change x y coordinates for preferred location.
return
Shift::
SprintToggle := !SprintToggle
if (SprintToggle)
{
SendInput {Shift Down}
GuiControl,, StatusText, Sprint
Gui, Color, %SprintColor%
}
else
{
SendInput {Shift Up}
GuiControl,, StatusText, Walk
Gui, Color, %WalkColor%
}
return
GuiClose:
SendInput {Shift Up}
ExitApp
return
+End::
SendInput {Shift Up}
ExitApp
return
End::
ExitApp
return
Code: Select all
; Autohotkey that makes sprint (bound to shift) toggleable. This version has a GUI. It also helps add items.
; Hotkeys: Shift key to toggle shift always up / down. End key to close script. F10 for custom add (no headcams or mics). F9 for add all.
; Change F10 [Loop, Values] to change what is added.
#MaxThreadsPerHotkey 3
BackgroundColor := "aaaaaa"
SprintColor := "66aa55"
WalkColor := "ff0000"
; GUI window that you can move around.
Gui +LastFound +AlwaysOnTop
Gui, Color, %BackgroundColor%
Gui, Font, s24
Gui, Add, Text, vStatusText cWhite, Autohotkey
Gui, Show, x500, y50 NoActivate
; Comment above and uncomment below for 2nd monitor no toolbar GUI.
; Gui +LastFound +AlwaysOnTop -Caption +ToolWindow
; Gui, Color, %BackgroundColor%
; Gui, Font, s32
; Gui, Add, Text, vStatusText cWhite, Autohotkey
; Gui, Show, x2010, y50 NoActivate ; Change x y coordinates for preferred location.
return
Shift::
SprintToggle := !SprintToggle
if (SprintToggle)
{
SendInput {Shift Down}
GuiControl,, StatusText, Sprint
Gui, Color, %SprintColor%
; Uncomment below if you want a beep when sprint is enabled.
; Soundbeep, 150, 100 ; frequency, duration
}
else
{
SendInput {Shift Up}
GuiControl,, StatusText, Walk
Gui, Color, %WalkColor%
}
return
; Next code block taken from Neighthianael. Change value after Loop, to change how many items are added.
#If WinActive("ahk_exe Phasmophobia.exe")
+F10::
F10::
Loop, 1 { ; EMF Reader
Click 805, 355 ; EMF Reader
Sleep, 100
}
Loop, 0 { ; Flashlight
Click 805, 384 ; Flashlight
Sleep, 100
}
Loop, 2 { ; Photo Camera
Click 805, 413 ; Photo Camera
Sleep, 100
}
Loop, 2 { ; Lighter
Click 805, 442 ; Lighter
Sleep, 100
}
Loop, 4 { ; Candle
Click 805, 471 ; Candle
Sleep, 100
}
Loop, 1 { ; UV Light
Click 805, 500 ; UV Light
}
Loop, 2 { ; Crucifix
Click 805, 529 ; Crucifix
Sleep, 100
}
Loop, 5 { ; Video Camera
Click 805, 558 ; Video Camera
Sleep, 100
}
Loop, 1 { ; Spirit Box
Click 805, 587 ; Spirit Box
Sleep, 100
}
Loop, 2 { ; Salt
Click 805, 616 ; Salt
Sleep, 100
}
Loop, 4 { ; Smudge Sticks
Click 805, 645 ; Smudge Sticks
Sleep, 100
}
Loop, 5 { ; Tripod
Click 805, 674 ; Tripod
Sleep, 100
}
Loop, 4 { ; Strong Flashlight
Click 805, 703 ; Strong Flashlight
Sleep, 100
}
Loop, 4 { ; Motion Sensor
Click 805, 732 ; Motion Sensor
Sleep, 100
}
Loop, 2 { ; Sound Sensor
Click 805, 765 ; Sound Sensor
Sleep, 100
}
Loop, 3 { ; Themometer
Click 1340, 355 ; Themometer
Sleep, 100
}
Loop, 4 { ; Sanity Pills
Click 1340, 384 ; Sanity Pills
Sleep, 100
}
Loop, 1 { ; Ghost Writing Book
Click 1340, 413 ; Ghost Writing Book
Sleep, 100
}
Loop, 4 { ; Infrared Light Sensor
Click 1340, 442 ; Infrared Light Sensor
Sleep, 100
}
Loop, 0 { ; Parabolic Microphone
Click 1340, 471 ; Parabolic Microphone
Sleep, 100
}
Loop, 2 { ; Glowstick
Click 1340, 500 ; Glowstick
Sleep, 100
}
Loop, 0 { ; Head Mounted Camera
Click 1340, 529 ; Head Mounted Camera
Sleep, 100
}
return
#If
#If WinActive("ahk_exe Phasmophobia.exe")
+F9::
F9::
Click 900, 355 ; EMF Reader
Sleep, 100
Click 900, 384 ; Flashlight
Sleep, 100
Click 900, 413 ; Photo Camera
Sleep, 100
Click 900, 442 ; Lighter
Sleep, 100
Click 900, 471 ; Candle
Sleep, 100
Click 900, 500 ; UV Light
Sleep, 100
Click 900, 529 ; Crucifix
Sleep, 100
Click 900, 558 ; Video Camera
Sleep, 100
Click 900, 587 ; Spirit Box
Sleep, 100
Click 900, 616 ; Salt
Sleep, 100
Click 900, 645 ; Smudge Sticks
Sleep, 100
Click 900, 674 ; Tripod
Sleep, 100
Click 900, 703 ; Strong Flashlight
Sleep, 100
Click 900, 732 ; Motion Sensor
Sleep, 100
Click 900, 765 ; Sound Sensor
Sleep, 100
Click 1430, 355 ; Themometer
Sleep, 100
Click 1430, 384 ; Sanity Pills
Sleep, 100
Click 1430, 413 ; Ghost Writing Book
Sleep, 100
Click 1430, 442 ; Infrared Light Sensor
Sleep, 100
Click 1430, 471 ; Parabolic Microphone
Sleep, 100
Click 1430, 500 ; Glowstick
Sleep, 100
Click 1430, 529 ; Head Mounted Camera
Sleep, 100
return
#If
GuiClose:
SendInput {Shift Up}
ExitApp
return
+End::
SendInput {Shift Up}
ExitApp
return
End::
ExitApp
return
Code: Select all
; Autohotkey that makes sprint (bound to shift) toggleable. This version has a GUI. It also helps add items.
; Hotkeys: Shift key to toggle shift always up / down. End key to close script. F10 for custom add (no headcams or mics). F9 for add all.
; Change F10 [Loop, Values] to change what is added.
#MaxThreadsPerHotkey 3
BackgroundColor := "aaaaaa"
SprintColor := "66aa55"
WalkColor := "ff0000"
; GUI window that you can move around.
; Gui +LastFound +AlwaysOnTop
; Gui, Color, %BackgroundColor%
; Gui, Font, s24
; Gui, Add, Text, vStatusText cWhite, Autohotkey
; Gui, Show, x500, y50 NoActivate
; Uncomment above and comment below to change GUI to be movable.
Gui +LastFound +AlwaysOnTop -Caption +ToolWindow
Gui, Color, %BackgroundColor%
Gui, Font, s32
Gui, Add, Text, vStatusText cWhite, Autohotkey
Gui, Show, x2010, y50 NoActivate ; Change x y coordinates for preferred location.
return
Shift::
SprintToggle := !SprintToggle
if (SprintToggle)
{
SendInput {Shift Down}
GuiControl,, StatusText, Sprint
Gui, Color, %SprintColor%
Soundbeep, 150, 100 ; frequency, duration
}
else
{
SendInput {Shift Up}
GuiControl,, StatusText, Walk
Gui, Color, %WalkColor%
}
return
; Next code block taken from Neighthianael. Change value after Loop, to change how many items are added.
#If WinActive("ahk_exe Phasmophobia.exe")
+F10::
F10::
Loop, 1 { ; EMF Reader
Click 805, 355 ; EMF Reader
Sleep, 100
}
Loop, 0 { ; Flashlight
Click 805, 384 ; Flashlight
Sleep, 100
}
Loop, 2 { ; Photo Camera
Click 805, 413 ; Photo Camera
Sleep, 100
}
Loop, 2 { ; Lighter
Click 805, 442 ; Lighter
Sleep, 100
}
Loop, 4 { ; Candle
Click 805, 471 ; Candle
Sleep, 100
}
Loop, 1 { ; UV Light
Click 805, 500 ; UV Light
}
Loop, 2 { ; Crucifix
Click 805, 529 ; Crucifix
Sleep, 100
}
Loop, 5 { ; Video Camera
Click 805, 558 ; Video Camera
Sleep, 100
}
Loop, 1 { ; Spirit Box
Click 805, 587 ; Spirit Box
Sleep, 100
}
Loop, 2 { ; Salt
Click 805, 616 ; Salt
Sleep, 100
}
Loop, 4 { ; Smudge Sticks
Click 805, 645 ; Smudge Sticks
Sleep, 100
}
Loop, 5 { ; Tripod
Click 805, 674 ; Tripod
Sleep, 100
}
Loop, 4 { ; Strong Flashlight
Click 805, 703 ; Strong Flashlight
Sleep, 100
}
Loop, 4 { ; Motion Sensor
Click 805, 732 ; Motion Sensor
Sleep, 100
}
Loop, 2 { ; Sound Sensor
Click 805, 765 ; Sound Sensor
Sleep, 100
}
Loop, 3 { ; Themometer
Click 1340, 355 ; Themometer
Sleep, 100
}
Loop, 4 { ; Sanity Pills
Click 1340, 384 ; Sanity Pills
Sleep, 100
}
Loop, 1 { ; Ghost Writing Book
Click 1340, 413 ; Ghost Writing Book
Sleep, 100
}
Loop, 4 { ; Infrared Light Sensor
Click 1340, 442 ; Infrared Light Sensor
Sleep, 100
}
Loop, 0 { ; Parabolic Microphone
Click 1340, 471 ; Parabolic Microphone
Sleep, 100
}
Loop, 2 { ; Glowstick
Click 1340, 500 ; Glowstick
Sleep, 100
}
Loop, 0 { ; Head Mounted Camera
Click 1340, 529 ; Head Mounted Camera
Sleep, 100
}
return
#If
#If WinActive("ahk_exe Phasmophobia.exe")
+F9::
F9::
Click 900, 355 ; EMF Reader
Sleep, 100
Click 900, 384 ; Flashlight
Sleep, 100
Click 900, 413 ; Photo Camera
Sleep, 100
Click 900, 442 ; Lighter
Sleep, 100
Click 900, 471 ; Candle
Sleep, 100
Click 900, 500 ; UV Light
Sleep, 100
Click 900, 529 ; Crucifix
Sleep, 100
Click 900, 558 ; Video Camera
Sleep, 100
Click 900, 587 ; Spirit Box
Sleep, 100
Click 900, 616 ; Salt
Sleep, 100
Click 900, 645 ; Smudge Sticks
Sleep, 100
Click 900, 674 ; Tripod
Sleep, 100
Click 900, 703 ; Strong Flashlight
Sleep, 100
Click 900, 732 ; Motion Sensor
Sleep, 100
Click 900, 765 ; Sound Sensor
Sleep, 100
Click 1430, 355 ; Themometer
Sleep, 100
Click 1430, 384 ; Sanity Pills
Sleep, 100
Click 1430, 413 ; Ghost Writing Book
Sleep, 100
Click 1430, 442 ; Infrared Light Sensor
Sleep, 100
Click 1430, 471 ; Parabolic Microphone
Sleep, 100
Click 1430, 500 ; Glowstick
Sleep, 100
Click 1430, 529 ; Head Mounted Camera
Sleep, 100
return
#If
GuiClose:
SendInput {Shift Up}
ExitApp
return
+End::
SendInput {Shift Up}
ExitApp
return
End::
ExitApp
return
Code: Select all
; Autohotkey that makes sprint (bound to shift) toggable. This version has a GUI. It also helps add items.
; Hotkeys: Shift key to toggle shift always up / down. End key to close script. F10 for custom add (no headcams or mics). F9 for add all.
; Change F10 [Loop, Values] to change what is added.
#MaxThreadsPerHotkey 3
BackgroundColor := "aaaaaa"
SprintColor := "66aa55"
WalkColor := "ff0000"
; GUI window that you can move around.
; Gui +LastFound +AlwaysOnTop
; Gui, Color, %BackgroundColor%
; Gui, Font, s24
; Gui, Add, Text, vStatusText cWhite, Autohotkey
; Gui, Show, x500, y50 NoActivate
; Uncomment above and comment below to change GUI to be movable.
Gui +LastFound +AlwaysOnTop -Caption +ToolWindow
Gui, Color, %BackgroundColor%
Gui, Font, s6
Gui, Add, Text, vStatusText cWhite, Autohotkey
Gui, Show, X0, Y0, NoActivate ; Change x y coordinates for preferred location.
return
Shift::
SprintToggle := !SprintToggle
if (SprintToggle)
{
SendInput {Shift Down}
GuiControl,, StatusText, Sprint
Gui, Color, %SprintColor%
Soundbeep, 150, 100 ; frequency, duration
}
else
{
SendInput {Shift Up}
GuiControl,, StatusText, Walk
Gui, Color, %WalkColor%
}
return
; Next code block taken from Neighthianael. Change value after Loop, to change how many items are added.
#If WinActive("ahk_exe Phasmophobia.exe")
+F10::
F10::
Loop, 1 { ; EMF Reader
Click 805, 355 ; EMF Reader
Sleep, 100
}
Loop, 0 { ; Flashlight
Click 805, 384 ; Flashlight
Sleep, 100
}
Loop, 2 { ; Photo Camera
Click 805, 413 ; Photo Camera
Sleep, 100
}
Loop, 2 { ; Lighter
Click 805, 442 ; Lighter
Sleep, 100
}
Loop, 4 { ; Candle
Click 805, 471 ; Candle
Sleep, 100
}
Loop, 1 { ; UV Light
Click 805, 500 ; UV Light
}
Loop, 2 { ; Crucifix
Click 805, 529 ; Crucifix
Sleep, 100
}
Loop, 5 { ; Video Camera
Click 805, 558 ; Video Camera
Sleep, 100
}
Loop, 1 { ; Spirit Box
Click 805, 587 ; Spirit Box
Sleep, 100
}
Loop, 2 { ; Salt
Click 805, 616 ; Salt
Sleep, 100
}
Loop, 4 { ; Smudge Sticks
Click 805, 645 ; Smudge Sticks
Sleep, 100
}
Loop, 5 { ; Tripod
Click 805, 674 ; Tripod
Sleep, 100
}
Loop, 4 { ; Strong Flashlight
Click 805, 703 ; Strong Flashlight
Sleep, 100
}
Loop, 4 { ; Motion Sensor
Click 805, 732 ; Motion Sensor
Sleep, 100
}
Loop, 2 { ; Sound Sensor
Click 805, 765 ; Sound Sensor
Sleep, 100
}
Loop, 3 { ; Themometer
Click 1340, 355 ; Themometer
Sleep, 100
}
Loop, 4 { ; Sanity Pills
Click 1340, 384 ; Sanity Pills
Sleep, 100
}
Loop, 1 { ; Ghost Writing Book
Click 1340, 413 ; Ghost Writing Book
Sleep, 100
}
Loop, 4 { ; Infrared Light Sensor
Click 1340, 442 ; Infrared Light Sensor
Sleep, 100
}
Loop, 0 { ; Parabolic Microphone
Click 1340, 471 ; Parabolic Microphone
Sleep, 100
}
Loop, 2 { ; Glowstick
Click 1340, 500 ; Glowstick
Sleep, 100
}
Loop, 0 { ; Head Mounted Camera
Click 1340, 529 ; Head Mounted Camera
Sleep, 100
}
return
#If
#If WinActive("ahk_exe Phasmophobia.exe")
+F9::
F9::
Click 900, 355 ; EMF Reader
Sleep, 10
Click 900, 384 ; Flashlight
Sleep, 10
Click 900, 413 ; Photo Camera
Sleep, 10
Click 900, 442 ; Lighter
Sleep, 10
Click 900, 471 ; Candle
Sleep, 10
Click 900, 500 ; UV Light
Sleep, 10
Click 900, 529 ; Crucifix
Sleep, 10
Click 900, 558 ; Video Camera
Sleep, 10
Click 900, 587 ; Spirit Box
Sleep, 10
Click 900, 616 ; Salt
Sleep, 10
Click 900, 645 ; Smudge Sticks
Sleep, 10
Click 900, 674 ; Tripod
Sleep, 10
Click 900, 703 ; Strong Flashlight
Sleep, 10
Click 900, 732 ; Motion Sensor
Sleep, 10
Click 900, 765 ; Sound Sensor
Sleep, 10
Click 1430, 355 ; Themometer
Sleep, 10
Click 1430, 384 ; Sanity Pills
Sleep, 10
Click 1430, 413 ; Ghost Writing Book
Sleep, 10
Click 1430, 442 ; Infrared Light Sensor
Sleep, 10
Click 1430, 471 ; Parabolic Microphone
Sleep, 10
Click 1430, 500 ; Glowstick
Sleep, 10
Click 1430, 529 ; Head Mounted Camera
Sleep, 10
return
#If
GuiClose:
SendInput {Shift Up}
ExitApp
return
+End::
SendInput {Shift Up}
ExitApp
return
End::
ExitApp
return
See below reply for the improved version.
Use case:
Phasmophobia requires that you hold down shift to sprint. You should always be sprinting so holding the shift key for 10 minutes leads to hand pain. This script makes the shift key a sprint toggle instead of a hold to sprint key.
After each game, you have to add items to the equipment pool. This requires a lot of clicking so this script has an auto clicker function so you just drag the mouse over the buttons.
I have multiple monitors so this script currently puts a small GUI on the right monitor. You will want to change the x,y coordinates or change the GUI code so you can drag it to where you want. Change the Sleep value lower to click faster.
To use:
Start the script. Press END to auto click. Press END to stop autoclicking. Press shift to toggle sprint on and off. Press PAUSE to close the script.
This isn't a very complicated script and I know it can be written more concisely. I was not aiming to use as few lines as possible.
Code: Select all
#MaxThreadsPerHotkey 3
BackgroundColor := "000000"
SprintColor := "66aa55"
WalkColor := "ff0000"
ClickerColor := "fd00ff"
Gui +LastFound +AlwaysOnTop -Caption +ToolWindow
Gui, Color, %BackgroundColor%
Gui, Font, s32
Gui, Add, Text, vStatusText cWhite, Phasmo Assist
Gui, Show, x2010, y50 NoActivate
return
Shift::
SprintToggle := !SprintToggle
if (SprintToggle)
{
Send "{Shift Down}"
GuiControl,, StatusText, Sprint
Gui, Color, %SprintColor%
}
else
{
Send "{Shift Up}"
GuiControl,, StatusText, Walk
Gui, Color, %WalkColor%
}
return
+End::
End::
ClickToggle := !ClickToggle
Send "{Shift Up}"
if (ClickToggle)
{
GuiControl,, StatusText, Auto Click
Gui, Color, %ClickerColor%
}
else
{
GuiControl,, StatusText, Stop Click
Gui, Color, %BackgroundColor%
}
Loop
{
if (!ClickToggle)
break
Click
Sleep 125
}
return
+Pause::
Send "{Shift Up}"
ExitApp
return
Pause::
ExitApp