Last active
September 2, 2021 17:07
-
-
Save notwa/e7bff589d97fa6826bd9c0566c314358 to your computer and use it in GitHub Desktop.
phasmophobia macro script for adding and removing items
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
#SingleInstance Force | |
#IfWinActive ahk_exe Phasmophobia.exe | |
Return | |
; 1 = D.O.T.S Projector | |
; 2 = EMF Reader | |
; 3 = Flashlight | |
; 4 = Ghost Writing Book | |
; 5 = Spirit Box | |
; 6 = UV Light | |
; 7 = Video Camera | |
; 8 = Candle | |
; 9 = Crucifix | |
; 10 = Glowstick | |
; 11 = Head Mounted Camera | |
; 12 = Lighter | |
; 13 = Motion Sensor | |
; 14 = Parabolic Microphone | |
; 15 = Photo Camera | |
; 16 = Salt | |
; 17 = Sanity Pills | |
; 18 = Smudge Sticks | |
; 19 = Sound Sensor | |
; 20 = Strong Flashlight | |
; 21 = Thermometer | |
; 22 = Tripod | |
*,:: | |
; add just the stuff you need. | |
Prologue("ahk_class UnityWndClass", mouseX, mouseY) | |
PhasmoAdd(1) ; D.O.T.S Projector | |
PhasmoAdd(3) ; Flashlight | |
PhasmoAdd(7) ; Video Camera | |
PhasmoAdd(9) ; Crucifix | |
PhasmoAdd(10) ; Glowstick | |
PhasmoAdd(11) ; Head Mounted Camera | |
PhasmoAdd(12) ; Lighter | |
PhasmoAdd(13) ; Motion Sensor | |
PhasmoAdd(15) ; Photo Camera | |
PhasmoAdd(16) ; Salt | |
PhasmoAdd(17,4) ; Sanity Pills (x4) | |
PhasmoAdd(18) ; Smudge Sticks | |
PhasmoAdd(20,2) ; Strong Flashlight (x2) | |
PhasmoAdd(21) ; Thermometer | |
PhasmoAdd(22,2) ; Tripod (x2) | |
Epilogue(mouseX, mouseY) | |
Return | |
*/:: | |
; add "All" of everything. | |
Prologue("ahk_class UnityWndClass", mouseX, mouseY) | |
Loop 22 | |
PhasmoAll(A_Index) | |
Epilogue(mouseX, mouseY) | |
Return | |
*;:: | |
; add one of everything. | |
Prologue("ahk_class UnityWndClass", mouseX, mouseY) | |
Loop 22 | |
PhasmoAdd(A_Index) | |
Epilogue(mouseX, mouseY) | |
Return | |
*':: | |
; remove one of everything. | |
Prologue("ahk_class UnityWndClass", mouseX, mouseY) | |
Loop 22 | |
PhasmoRemove(A_Index) | |
Epilogue(mouseX, mouseY) | |
Return | |
; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; | |
; internal stuff from hereon! ; | |
; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; | |
GetClientSize(hwnd, ByRef w, ByRef h) | |
{ | |
VarSetCapacity(rc, 16) | |
DllCall("GetClientRect", "uint", hwnd, "uint", &rc) | |
w := NumGet(rc, 8, "int") | |
h := NumGet(rc, 12, "int") | |
} | |
Prologue(hint, ByRef mouseX, ByRef mouseY) | |
{ | |
global winW, winH | |
hwnd := WinExist(hint) | |
GetClientSize(hwnd, winW, winH) | |
SetDefaultMouseSpeed 0 | |
SetMouseDelay 0 | |
CoordMode Mouse, Screen | |
MouseGetPos mouseX, mouseY ; store mouse position to restore later | |
CoordMode Mouse, Client | |
} | |
Epilogue(mouseX, mouseY) | |
{ | |
CoordMode Mouse, Screen | |
MouseMove mouseX, mouseY ; restore original mouse position | |
Sleep 100 ; prevent accidental repetition of macro | |
} | |
PhasmoClick(relX, relY, n:=1) | |
{ | |
global winW, winH | |
fakeW := 1.6 * winH | |
off := (winW - fakeW) / 2 | |
MouseMove % off + fakeW * relX, winH * relY | |
Sleep 10 | |
Click | |
Loop % n - 1 | |
{ | |
Sleep 170 | |
Click | |
} | |
Sleep 10 | |
} | |
PhasmoAll(id, n:=1) | |
{ | |
If id between 1 and 7 | |
PhasmoClick(0.395, (id + 9.7) / 33.1, n) | |
If id between 8 and 22 | |
PhasmoClick(0.795, (id + 3.7) / 36.4, n) | |
} | |
PhasmoAdd(id, n:=1) | |
{ | |
If id between 1 and 7 | |
PhasmoClick(0.340, (id + 9.7) / 33.1, n) | |
If id between 8 and 22 | |
PhasmoClick(0.740, (id + 3.7) / 36.4, n) | |
} | |
PhasmoRemove(id, n:=1) | |
{ | |
If id between 1 and 7 | |
PhasmoClick(0.360, (id + 9.7) / 33.1, n) | |
If id between 8 and 22 | |
PhasmoClick(0.760, (id + 3.7) / 36.4, n) | |
} |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
updated for 0.3.0