Fight'N Rage Script.ahk 2.5 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071
  1. #Requires AutoHotkey v2.0
  2. #include Notify.ahk
  3. #SingleInstance
  4. global toggleX := false ; 初始化 toggleX 变量,并声明为全局变量
  5. ; 只在 FIGHT_N_RAGE.exe 窗口激活时有效
  6. #HotIf WinActive("ahk_exe FIGHT_N_RAGE.exe")
  7. A::
  8. {
  9. Send("{Down down}") ; 按下向下方向键
  10. Sleep(50) ; 等待50毫秒
  11. Send("{Down up}") ; 松开向下方向键
  12. Send("{Up down}") ; 按下向上方向键
  13. Sleep(50) ; 等待50毫秒
  14. Send("{Up up}") ; 松开向上方向键
  15. Send("{Z down}") ; 按下Z键
  16. Sleep(100) ; 等待100毫秒
  17. Send("{Z up}") ; 松开Z键
  18. }
  19. ; 按下 X 键时,持续按下和松开 X 键,不会修改X键的默认行为
  20. ~X::
  21. {
  22. global toggleX ; 显式声明 toggleX 为全局变量
  23. if (toggleX) ; 如果 toggleX 为真,执行操作
  24. { ;连发必须搭配while 避免关闭线程
  25. while GetKeyState("X", "P") ; 判断物理按下是否按下 X 键
  26. ; "P" 表示检查物理按键的状态,即检测键是否被按下或松开。
  27. ; 如果按键被按下,GetKeyState("X", "P") 会返回 True,表示按下状态。
  28. ; 如果按键被松开,GetKeyState("X", "P") 会返回 False,表示松开状态。
  29. ; GetKeyState("X", "P") 会在每次循环时检查 X 键的物理状态,如果你按住了 X 键,循环会一直进行;当松开 X 键时,循环停止。
  30. ; 总结一下, "P" 是指检查实际按键的状态,而非虚拟或软件中的按键状态。
  31. {
  32. Send("{X down}") ; 持续按下 X 键
  33. Sleep(50) ; 每50毫秒模拟一次按下
  34. Send("{X up}") ; 松开 X 键
  35. Sleep(50) ; 每50毫秒模拟一次松开
  36. }
  37. }
  38. }
  39. ; 按下 F1 键来切换 X 键的启用/禁用状态
  40. F1::
  41. {
  42. global toggleX ; 显式声明 toggleX 为全局变量
  43. toggleX := !toggleX ; 切换 toggleX 的状态
  44. if (toggleX) {
  45. Notify.Show('Alert!', 'X连击未激活.', , , , 'theme=!')
  46. }
  47. else {
  48. Notify.Show('Alert!', 'X连击激活.', , , , 'theme=!')
  49. }
  50. Sleep(1000) ; 显示提示1秒钟
  51. ToolTip("") ; 隐藏提示
  52. }
  53. #HotIf ; 结束条件块
  54. ; 按下win+ C 弹出提示 任何时候都可以激活 没有前置条件
  55. #c::
  56. {
  57. MsgBox("You pressed Win-C while any window except Notepad is active.")
  58. Notify.Show('Info', 'X连击未激活.', , 'soundi', ,
  59. 'theme=idark style=edge show=slideNorth hide=slideSouth@250 pos=ct z=100')
  60. }
  61. return