Skip to content

Instantly share code, notes, and snippets.

@tony0x59
Last active August 9, 2018 14:44
Show Gist options
  • Save tony0x59/427290440a85a4142a32f5cf82b54630 to your computer and use it in GitHub Desktop.
Save tony0x59/427290440a85a4142a32f5cf82b54630 to your computer and use it in GitHub Desktop.
暗黑3 圣教军 阿克汉天谴宏
#SingleInstance force
#IfWinActive ahk_class D3 Main Window Class
;圣教军天谴流自用宏
;源自 http://nga.178.com/read.php?tid=13558051 自动钢甲速刷宏
;
; 代码做了重构,主要有几处修改:
; 1. 宏开关触发挪到了鼠标侧键(按 F2 还要左手操作,懒,只想单手扣脚),喝药水我在游戏按键绑定的鼠标侧键1。
; 2. 右键长按与 shift 键长按效果相同,用于做出强制原地攻击,躲地面元素伤,站立核眼buff圈等场景使用。
; 3. 左键自动连点特性可通过鼠标滚轮上划开启,下滑关闭。方便装备杨裤后快速切换,以及Boss战时安全走位,防止误触发左键普攻。
; 4. 右键自动连点特性(自动钢甲)通过 F1 键开启/关闭,由于切换频次较低,因此采用了单键切换,并弹出提示框方便确认当前开关状态。
; 5. 同时兼容国内版本和台服版本,理论上在外服也是可以正常工作的。(可能会解决之前某些玩家反馈的摁下 F2 只跑一下就不动了的问题)
; 6. 整合了两个小功能:F4 键在卡达拉处一键买满物品,鼠标指向物品后摁一下 F4 就行了;F5 键是在铁匠处免确认键一键分解,
; 也是鼠标指向拆解魔法物品按钮,或带拆解物品后,摁下 F5 即可(原理就是摁下 F5 键会触发一次鼠标单击 + Enter 回车键)。
;
;按 F2 或 鼠标侧键2 启动或暂停宏
;
;关于哪里可以修改,注释里注明可改动的地方需要改,其他地方保持不变即可
;对于那些按键设置并不是1天谴2挑衅3律法4勇士x强制移动左键回能右键钢甲的玩家,请进游戏按esc-选项-按键绑定,可看到界面上指令、按键1、按键2,按键1对应的指令设成自己的习惯按键,按键2对应的指令设成1234x就行,这样天谴宏不影响你玩其他职业也不影响你之前的按键习惯
;手动右键钢甲,按一下触发
SetKeyDelay,20
SetMouseDelay,20
v_Enable=0 ;宏开关变量
v_Tab=0 ;按Tab查看小地图暂停宏变量
v_LeftBtnAutoClick=1 ;是否连点左键
v_RightBtnAutoClick=1 ;是否连点右键
$F2:: ;开关键,鼠标有侧键的玩家,可以将F2换成鼠标侧键对应的代码XButton1、XButton2
$XButton2::
{
v_Enable:=!v_Enable
If (v_Enable=0)
Gosub, StopScript
Else
Gosub, RunScript
}
Return
~Enter::
~T::
~S::
~I::
~M::
;回车打字、按T回城、按S查看技能、按I查看装备、按M查看悬赏关闭宏
{
Gosub, StopScript
}
Return
~Tab::
;按Tab查看地形暂停宏和自动恢复
If (v_Enable)
{
v_Tab:=!v_Tab
If (v_Tab)
Gosub, PauseScript
Else
Gosub, RunScript
}
Return
~*LButton:: ;按住左键停止强制移动
If (v_Enable)
SetAutoMove(false)
Return
*LButton Up:: ;松开左键恢复强制移动
If (v_Enable)
SetAutoMove(true)
Return
~*RButton:: ;按住原地不动攻击
If (v_Enable)
{
SetAutoMove(false)
Send {LShift down}
}
Return
*RButton Up:: ;按住原地不动攻击
If (v_Enable)
{
SetAutoMove(true)
Send {LShift up}
}
Return
;==============================================
$F1::
Gosub, StopScript
v_RightBtnAutoClick:=!v_RightBtnAutoClick
If (v_RightBtnAutoClick)
MsgBox, 自动右键钢甲
Else
MsgBox, 手动右键钢甲
Return
$F4:: ;卡达拉赌血岩
Send {RButton 30}
Return
$F5:: ;一键分解 + 确认
send {Lbutton 1}
sleep 100
send {enter 1}
return
~WheelUp:: ; 开启左键连点
v_LeftBtnAutoClick = 1
If (v_Enable)
SetAutoLeftBtnClick(true)
Return
~WheelDown:: ; 关闭左键连点
v_LeftBtnAutoClick = 0
If (v_Enable)
SetAutoLeftBtnClick(false)
Return
;==============================================
Label1:
Send {1} ;动作条技能1键对应按键
Return
Label2:
Send {2} ;动作条技能2键对应按键
Return
Label3:
Send {3} ;动作条技能3键对应按键
Return
Label4:
Send {4} ;动作条技能4键对应按键
Return
MouseLButton:
Click ;点击鼠标左键,对应主要技能
Return
MouseRButton:
Click Right ;点击鼠标右键,对应钢甲技能
Return
RunScript:
SetTimer, Label1, 600 ;动作条技能1键600毫秒连点,对应天谴技能,600可改动
SetTimer, Label2, 600 ;动作条技能2键600毫秒连点,对应挑衅技能,600可改动
SetTimer, Label3, 600 ;动作条技能3键600毫秒连点,对应律法技能,600可改动
SetTimer, Label4, 600 ;动作条技能4键600毫秒连点,对应勇士技能,600可改动
SetAutoLeftBtnClick(v_LeftBtnAutoClick)
SetAutoRightBtnClick(v_RightBtnAutoClick)
Send {x down} ;自动按住强制移动键x,关闭强制移动down换up,down可改动
SetTimer, StopScriptIfD3NotActive, 150
Return
PauseScript:
SetTimer, Label1, off ;关闭技能1连点计时器
SetTimer, Label2, off ;关闭技能2连点计时器
SetTimer, Label3, off ;关闭技能3连点计时器
SetTimer, Label4, off ;关闭技能4连点计时器
SetAutoLeftBtnClick(false) ;关闭左键连点计时器
SetAutoRightBtnClick(false) ;关闭右键连点计时器
Send {x up} ;松开强制移动键x,
SetTimer, StopScriptIfD3NotActive, off
Return
StopScript:
Gosub, PauseScript
v_Enable=0
Return
SetAutoMove(isON)
{
If (isON)
Send {x down}
Else
Send {x up}
}
SetAutoLeftBtnClick(isON)
{
If (isON)
SetTimer, MouseLButton, 150 ;鼠标左键150毫秒连点,150可改动,只有这里需要改动
Else
SetTimer, MouseLButton, off
}
SetAutoRightBtnClick(isON)
{
If (isON)
SetTimer, MouseRButton, 600 ;鼠标右键600毫秒连点,钢甲手动触发,自动钢甲off换成600,off可改动
Else
SetTimer, MouseRButton, off
}
StopScriptIfD3NotActive:
; IfWinNotActive,暗黑破壞神III ;外服繁体游戏端窗口切换关闭宏
; Gosub, StopScript
If not WinActive("ahk_class D3 Main Window Class")
Gosub, StopScript
Return
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment