手把手教你使用 AutoHotkey 制作激战2脚本 您所在的位置:网站首页 激战2狮鹫使用 手把手教你使用 AutoHotkey 制作激战2脚本

手把手教你使用 AutoHotkey 制作激战2脚本

2024-03-01 11:18| 来源: 网络整理| 查看: 265

1. AutoHotkey 简介

AutoHotkey 是一款免费的、Windows平台下开放源代码的热键脚本语言,是为游戏操纵杆和鼠标创建的热键,是自动按键。也可以通过命令调用系统接口及程序,并创建基于简单语言的图形化界面的执行程序。

AutoHotkey官方网址:https://www.autohotkey.com AutoHotkey编程指南:https://wyagd001.github.io/zh-cn/docs

简单的说就是这个软件提供了一系列接口API,根据约定语法编写脚本,实现自动操作功能。

2. AutoHotkey 编程套件

本章节专为有编程基础的同学准备,手把手教你写脚本,没有兴趣的同学可以直接跳过。

首先编写工具推荐使用 Visual Studio Code(简称“VS Code” )是Microsoft在2015年4月30日Build开发者大会上正式宣布一个运行于 Mac OS X、Windows和 Linux 之上的,针对于编写现代Web和云应用的跨平台源代码编辑器,可在桌面上运行,并且可用于Windows,macOS和Linux。

Visual Studio Code官方网址:https://code.visualstudio.com

安装 Visual Studio Code 和 安装 AutoHotkey ,AutoHotkey 选择 V1.1 版本 的别选错;

1677053771023.jpg

image.png

进入 VS Code 界面,使用快捷键 Ctrl+Shift+P, 输入 language 查找设置项,设置为中文,当然一般同学们肯定更习惯使用英文界面啦;

image.png

image.png

选择左侧插件选项卡,输入 AutoHotkey 查询插件,选择 AutoHotkey Plus 插件安装;

image.png

选择左侧插件选项卡,输入 Code Runner 查询插件,选择 Code Runner 插件安装;

image.png

选择 文件->首选项->设置,输入 code,往下拉找到 AutoHotkey 的相关配置和安装目录对上即可;

image.png

image.png

新建一个文档,贴入如下示例代码,鼠标右键运行脚本;

image.png

image.png

灾厄循环取色宏.ahk ;按F12暂停开启脚本,运行时默认开启 F12::Suspend ;按F10会提取鼠标技能位置的RGB颜色 ;尽量提取技能格子11点方向位置的点,ctrl+v粘贴进代码 F10:: MouseGetPos, mouseX, mouseY PixelGetColor, color, %mouseX%, %mouseY%, RGB Clipboard = (%mouseX%,%mouseY%)=="%color%" ToolTip, point`(%mouseX%`,%mouseY%`) color "%color%" Sleep 3000 ToolTip return ;7号通用技能鲜血力量,改建n自动鲜血力量+F5 n:: Send 7 Sleep 500 Send {F5} Sleep 400 return ;按CapsLock开启技能循环 CapsLock:: if(onoff:=!onoff) { SetTimer, TagCX, 10 } else { SetTimer, TagCX, off } return ;灾厄的技能循环,第一次使用需要用F10提取的颜色修改代码 TagCX: { if (GetColor(1309,447)=="0x1E1E1E") ;职业技能F1 { send {F1} Sleep 500 } if (GetColor(717,989)=="0x4A7A0A") ;武器技能3 { send 3 Sleep 500 } if (GetColor(797,890)=="0x98650D") ;F5冷却完毕,使用鲜血力量+F5 { send n Sleep 500 } if (GetColor(788,988)=="0x125822") ;武器技能4 { send 4 Sleep 500 } if (GetColor(865,984)=="0x08130A") ;武器技能5 { send 5 Sleep 500 } if (GetColor(634,988)=="0x21832A") ;武器技能2 { send 2 Sleep 500 } if (GetColor(635,885)=="0xFFF896") ;职业技能F2 { send {F2} Sleep 500 } if (GetColor(1159,985)=="0x000E0E") ;通用技能9 { send 9 Sleep 500 } if (GetColor(1384,986)=="0x30A345") ;精英技能0 { send 0 Sleep 500 } } Return GetColor(x,y) { PixelGetColor, color, x, y, RGB StringRight color, color, 10 return color }

是的,小白会发现什么都没发生,所以需要阅读下一章节对脚本的简单解释,当然只有一起玩激战2的小伙伴才能读懂啦,游戏脚本肯定是依附于游戏机制本身。

3. ahk 示例脚本解释

思路说明:我们都知道 激战2 的游戏技能,分为 冷却中 和 可使用 两种状态,冷却中会蒙上一层黑色显示倒计时冷却。利用这一点,我们可以 根据鼠标在屏幕中的坐标,取出像素点的 RGB 颜色,如果是技能的颜色则能判断技能是 可使用 的,如果不是则直接认为 冷却中。

这一段的含义是,整个脚本可以通过 F12 按键 来暂停和开启,运行时默认开启。 ;按F12暂停开启脚本,运行时默认开启 F12::Suspend 这一段就是至关重要的取色阶段,理解的同学会发现,示例脚本本身并不是拿来就直接用的,需要你根据自己的环境进行做一些简单的修改。仔细观察,会发现脚本里输出循环的所有判断条件 if (GetColor(1309,447)=="0x1E1E1E") ; 需要设置成你自己的,可以通过 F10 按键,获取鼠标当前技能位置像素的 RGB 颜色,然后 Ctrl+V 粘贴出来,替换掉脚本里的那一行。 ;按F10会提取鼠标技能位置的RGB颜色 ;尽量提取技能格子11点方向位置的点,ctrl+v粘贴进代码 F10:: MouseGetPos, mouseX, mouseY PixelGetColor, color, %mouseX%, %mouseY%, RGB Clipboard = (%mouseX%,%mouseY%)=="%color%" ToolTip, point`(%mouseX%`,%mouseY%`) color "%color%" Sleep 3000 ToolTip return

image.png

这一段就是你需要手动替换的技能循环了,你甚至可以自己根据职业重写循环,作者对灾厄职业理解有限,目前只能示范性的写一个输出循环。 ;灾厄的技能循环,第一次使用需要用F10提取的颜色修改代码 TagCX: { if (GetColor(1309,447)=="0x1E1E1E") ;职业技能F1 { send {F1} Sleep 500 } if (GetColor(717,989)=="0x4A7A0A") ;武器技能3 { send 3 Sleep 500 } if (GetColor(797,890)=="0x98650D") ;F5冷却完毕,使用鲜血力量+F5 { send n Sleep 500 } if (GetColor(788,988)=="0x125822") ;武器技能4 { send 4 Sleep 500 } if (GetColor(865,984)=="0x08130A") ;武器技能5 { send 5 Sleep 500 } if (GetColor(634,988)=="0x21832A") ;武器技能2 { send 2 Sleep 500 } if (GetColor(635,885)=="0xFFF896") ;职业技能F2 { send {F2} Sleep 500 } if (GetColor(1159,985)=="0x000E0E") ;通用技能9 { send 9 Sleep 500 } if (GetColor(1384,986)=="0x30A345") ;精英技能0 { send 0 Sleep 500 } } Return

特别说明这一小段是 灾厄职业 的特殊性,把 鲜血力量 和 F5死幕 整合成一个按键按顺序施放,如果其他职业有特殊性要求也可以参考;

;7号通用技能鲜血力量,改建n自动鲜血力量+F5 n:: Send 7 Sleep 500 Send {F5} Sleep 400 return 当你设置完成职业技能循环后,通过 CapsLock 按键 就是大小写切换按键,开启和关闭技能的自动循环,开启时每隔 10毫秒 检测一次屏幕,确认技能是否需要施放;当然死灵起手 鲜血力量+大招+鲜血力量+F5死幕 的技能,建议手动施放,后开启 CapsLock 按键 进行自动循环。 ;按CapsLock开启技能循环 CapsLock:: if(onoff:=!onoff) { SetTimer, TagCX, 10 } else { SetTimer, TagCX, off } return 4. ahk 示例脚本使用

不想安装编程环境的同学,也可以用文本文档编辑 .ahk文件的,但是横竖都得懂 AHK语法,AutoHotkey编程指南:wyagd001.github.io/zh-cn/docs

脚本编写完成后会生成一个 .ahk 后缀的脚本文件,只要你的 AutoHotkey 软件安装正确,ahk 文件直接以管理员模式运行即可开启脚本,初次使用参考 第三章,使用 F10 按键把自己的技能取色 修改完成后,只需要使用 CapsLock 按键 开启和关闭技能自动循环啦!

image.png image.png

必须有人浴血奋战,世上才有自由可言。 —— 守魂者 阿尔莫拉



【本文地址】

公司简介

联系我们

今日新闻

    推荐新闻

    专题文章
      CopyRight 2018-2019 实验室设备网 版权所有