资深会员
- UID
- 1747479
- 积分
- 4925
- 可用积分
- 点
- 威望
- 个
- 水滴
- 滴
- 存在感
- 点
- NB
- 点
- 豆币
- 点
- 帖子
- 主题
- 好友
- 精华
- APP积分
- 点
|
1.前言
前几天逛弓村,看到用ahk做的自动释放45的脚本(传送门: 旅人45自动释放工具—TravelerHelper v0.0.2(已更新),沃特碧们的Colg,DNF地下城与勇士 - COLG社区)
看了下觉得手搓应该也能使用ahk自动做到,花了一晚上看了文档,还是有点懵,直接下场试着写了一下,然后上周因果也试了,目前感觉还好。
远离是将你原先设置技能的按键映射到手搓键位。
有几个问题:
1.因为左右键会影响技能施放位置,所以目前几个技能全部是上下 + c / z / space,可能会影响到一些常用技能和跳起操作(时钟机制我被坑过好几次,我目前没找到更好的办法)。
2. 如果技能间设置的键位太相似也会影响,大家自己调整。
PS: 此脚本仅可在pve副本使用,严禁在pvp使。本人只分享思路,大佬们可以完善优化。
另外本脚本涉及权限检测、打字冲突、开关提示等均来自上述旅人45自动释放工具@ 喵喵桑 特别感谢。
正文
脚本基于v1,v2不支持(ahk下载链接可以自己搜github,如果你不知道github我不建议你使用这个脚本)
另外,技能施放前释放方向键,防止干扰。
小拔刀我本来设置自动搓第二下,不知道为什么经常不触发,解决方案是直接按两下,或者是按一下在按一下x
#NoEnv
#IfWinActive, ahk_exe dnf.exe
MappingEnable := False ;; 控制开关的变量,初始化为False
;; keycode转换
base := "vkFFsc"
keycodeUP := Format("{1}{2:X}", base, GetKeySC("Up"))
keycodeDOWN := Format("{1}{2:X}", base, GetKeySC("Down"))
keycodeLEFT := Format("{1}{2:X}", base, GetKeySC("Left"))
keycodeRIGHT := Format("{1}{2:X}", base, GetKeySC("Right"))
keycodeSPACE := Format("{1}{2:X}", base, GetKeySC("Space"))
keycodeZ := Format("{1}{2:X}", base, GetKeySC("z"))
keycodeC := Format("{1}{2:X}", base, GetKeySC("c"))
;; 权限检测
if not A_IsAdmin {
Run *RunAs "%A_ScriptFullPath%"
ExitApp
}
; =======================================================================================================
;; 功能开关快捷键设置,默认为Ctr+Z(^Z),其中^表示Ctr。
^Z::
MappingEnable := !MappingEnable
MouseGetPos, mouseX, mouseY
if MappingEnable{
ToolTip, "功能已开启" ,mouseX, mouseY
SetTimer, removeToolTip, -2000
Hotkey, e , MapE
Hotkey, r , MapR
Hotkey, f , MapF
Hotkey, t , MapT
Hotkey, v , MapV
Hotkey, y , MapY
} Else{
ToolTip, "功能已关闭" ,mouseX, mouseY
Hotkey, e , off
Hotkey, r , off
Hotkey, f , off
Hotkey, t , off
Hotkey, v , off
Hotkey, y , off
SetTimer, removeToolTip, -2000
}
Return
;; =======================================================================================================
MapE: ;小拔刀 ↓ + z
send {%keycodeUP% up}
sleep 5
send {%keycodeDOWN% up}
sleep 5
send {%keycodeDOWN% down}
sleep 15
send {%keycodeZ% down}
sleep 30
send {%keycodeDOWN% up}
sleep 5
send {%keycodeZ% up}
return
MapV: ;剑舞 ↓ + c
send {%keycodeUP% up}
sleep 5
send {%keycodeDOWN% up}
sleep 5
send {%keycodeDOWN% down}
sleep 15
send {%keycodeC% down}
sleep 10
send {%keycodeDOWN% up}
sleep 5
send {%keycodeC% up}
return
MapR: ;大拔刀 ↑↓ + space
send {%keycodeUP% up}
sleep 5
send {%keycodeDOWN% up}
sleep 5
send {%keycodeUP% down}
sleep 15
send {%keycodeDOWN% down}
sleep 15
send {%keycodeSPACE% down}
sleep 10
send {%keycodeUP% up}
sleep 5
send {%keycodeDOWN% up}
sleep 5
send {%keycodeSPACE% up}
return
MapF: ;瞬斩 ↑↓ + z
send {%keycodeUP% up}
sleep 5
send {%keycodeDOWN% up}
sleep 5
send {%keycodeUP% down}
sleep 15
send {%keycodeDOWN% down}
sleep 15
send {%keycodeZ% down}
sleep 10
send {%keycodeUP% up}
sleep 5
send {%keycodeDOWN% up}
sleep 5
send {%keycodeZ% up}
return
MapT: ;无形斩 ↑↓ + c
send {%keycodeUP% up}
sleep 5
send {%keycodeDOWN% up}
sleep 5
send {%keycodeUP% down}
sleep 15
send {%keycodeDOWN% down}
sleep 15
send {%keycodeC% down}
sleep 10
send {%keycodeUP% up}
sleep 5
send {%keycodeDOWN% up}
sleep 5
send {%keycodeC% up}
return
MapY: ;吊机 ←↓→ + z
send {%keycodeUP% up}
sleep 5
send {%keycodeLEFT% up}
sleep 5
send {%keycodeDOWN% up}
sleep 5
send {%keycodeRIGHT% up}
sleep 5
send {%keycodeLEFT% down}
sleep 15
send {%keycodeDOWN% down}
sleep 15
send {%keycodeRIGHT% down}
sleep 15
send {%keycodeZ% down}
sleep 10
send {%keycodeLEFT% up}
sleep 5
send {%keycodeDOWN% up}
sleep 5
send {%keycodeRIGHT% up}
sleep 5
send {%keycodeZ% up}
return
removeToolTip:
ToolTip
Return
|
|