| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071 |
- #Requires AutoHotkey v2.0
- #include Notify.ahk
- #SingleInstance
- global toggleX := false ; 初始化 toggleX 变量,并声明为全局变量
- ; 只在 FIGHT_N_RAGE.exe 窗口激活时有效
- #HotIf WinActive("ahk_exe FIGHT_N_RAGE.exe")
- A::
- {
- Send("{Down down}") ; 按下向下方向键
- Sleep(50) ; 等待50毫秒
- Send("{Down up}") ; 松开向下方向键
- Send("{Up down}") ; 按下向上方向键
- Sleep(50) ; 等待50毫秒
- Send("{Up up}") ; 松开向上方向键
- Send("{Z down}") ; 按下Z键
- Sleep(100) ; 等待100毫秒
- Send("{Z up}") ; 松开Z键
- }
- ; 按下 X 键时,持续按下和松开 X 键,不会修改X键的默认行为
- ~X::
- {
- global toggleX ; 显式声明 toggleX 为全局变量
- if (toggleX) ; 如果 toggleX 为真,执行操作
- { ;连发必须搭配while 避免关闭线程
- while GetKeyState("X", "P") ; 判断物理按下是否按下 X 键
- ; "P" 表示检查物理按键的状态,即检测键是否被按下或松开。
- ; 如果按键被按下,GetKeyState("X", "P") 会返回 True,表示按下状态。
- ; 如果按键被松开,GetKeyState("X", "P") 会返回 False,表示松开状态。
- ; GetKeyState("X", "P") 会在每次循环时检查 X 键的物理状态,如果你按住了 X 键,循环会一直进行;当松开 X 键时,循环停止。
- ; 总结一下, "P" 是指检查实际按键的状态,而非虚拟或软件中的按键状态。
- {
- Send("{X down}") ; 持续按下 X 键
- Sleep(50) ; 每50毫秒模拟一次按下
- Send("{X up}") ; 松开 X 键
- Sleep(50) ; 每50毫秒模拟一次松开
- }
- }
- }
- ; 按下 F1 键来切换 X 键的启用/禁用状态
- F1::
- {
- global toggleX ; 显式声明 toggleX 为全局变量
- toggleX := !toggleX ; 切换 toggleX 的状态
- if (toggleX) {
- Notify.Show('Alert!', 'X连击未激活.', , , , 'theme=!')
- }
- else {
- Notify.Show('Alert!', 'X连击激活.', , , , 'theme=!')
- }
- Sleep(1000) ; 显示提示1秒钟
- ToolTip("") ; 隐藏提示
- }
- #HotIf ; 结束条件块
- ; 按下win+ C 弹出提示 任何时候都可以激活 没有前置条件
- #c::
- {
- MsgBox("You pressed Win-C while any window except Notepad is active.")
- Notify.Show('Info', 'X连击未激活.', , 'soundi', ,
- 'theme=idark style=edge show=slideNorth hide=slideSouth@250 pos=ct z=100')
- }
- return
|