Last active
August 9, 2018 14:44
-
-
Save tony0x59/427290440a85a4142a32f5cf82b54630 to your computer and use it in GitHub Desktop.
暗黑3 圣教军 阿克汉天谴宏
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_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