魔兽世界多开精灵
怀旧版
Version:1.0.0 作者:三哥
软件介绍
开发背景
三哥干了半辈子软件开发,从来都是给别人写软件,这次竟然有了动手的念头,熬了几个通宵写了这个小工具,算是给自己重回魔兽世界找个理由吧。
外挂?辅助?
对外挂只有个模糊的认识。但出于对魔兽世界这个游戏的热爱,实在不想写个外挂程序去破坏它。所以,在写这个小工具之初,就给自己定了几个原则:
1、不去读游戏内存、访问原游戏进程、不做CALL;
2、不监控网络收发包;
3、不做“钩子”(这个没守住,还是做了个鼠标钩子,这个后面说)。
因此,个人认为,这个小软件从技术特性上不算是外挂。
就功能特性上来说,这个软件提供了多窗口按键映射(类似按键精灵)、多窗口布局方案等功能,确实方便了玩家多开角色操作。即使在单角色游戏时,也可以弥补原生宏做不到的一些按键操作。所以用不用你说了算。
软件特色
如果方便算是特色,那就是了。
至少在设计之初,三哥是想把在这个工具写的“傻瓜“一点。毕竟是给自己用的,玩起游戏来还哪顾得上整那些配置和参数。三哥之前玩魔兽时也用过按键精灵之类的脚本软件,没点程序基础,用起来还是费点劲。所以,看下面:
1、不用写代码,鼠标点点,设置个按键方案、屏幕方案就开打吧;
2、按键方案、屏幕方案可以设置多个,不用退出游戏,一键切换;
3、自己配置功能“热键”,方便热加载、按键方案暂停/恢复、重置游戏窗口等;
4、之前说的那个鼠标钩子,是为了在设计屏幕方案时,不需要从下拉菜单选游戏窗口。点击即所得,谁用谁知道。
5、再说这个鼠标钩子:我想设计个鼠标指向不同窗口时,可切换(暂停/使用)按键方案的功能。具体场景是:鼠标在主游戏窗口时,按键方案生效。在副窗口时,按键方案暂停,使用者可用游戏预设按键执行操作。不过,由于时间紧,又担心会对性能造成影响,所以暂时没有做。看后续有时间测试下再说吧。
6、还说这个钩子:由于不想访问游戏内存,怕暴雪埋伏了Game Guard,只能通过Windows Message实现UI层面的游戏交互,所以有些功能做起来费劲。不过看网上有些人通过鼠标的Pos、Cursor实现了自动钓鱼、监控血条等功能,因此,保留这个钩子,看看之后还能做点什么。
三哥这些年一直是写商业软件的,习惯了有产品经理设计目标、UI设计界面和交互、测试帮你扫尾巴的幸福生活。自己写的东西,没人擦屁股了,所以也希望使用者接受程序员式的“脑抽”设计,轻量化吐槽。
聊了这么多,下面开始写文档了
环境需求
1、.Net FrameWork 4.6.1;
2、Windows 7/Windows 10
3、程序运行时会提示需要管理员权限;
功能
1、加载/重载配置
2、重置游戏窗口
3、暂停/恢复按键
4、设置按键方案
5、设置屏幕方案
6、系统设置
7、帮助文档
8、退出
下载安装
下载地址:
下载链接: https://pan.baidu.com/s/1ZV3PocBGwlqcjwU_X3edjQ
提取码: 71ma
安装方法:
解压缩就可使用,软件是C#开发的,需要微软的.NET Framework 4.6.1,软件可以从微软官网去下载。找不到,可以下载下面这个:
下载链接: https://pan.baidu.com/s/1jjcyXKv5YbqHWGsYwUmRJg
提取码: ah9k
使用说明
软件是围绕两个使用场景来设计的:游戏环境配置和游戏使用体验。下面的分别对两个部分进行说明:
环境配置篇
Double(魔兽世界多开精灵)1.0.0版本主要实现了两大功能域,:
1、 屏幕方案配置管理——(多角色游戏窗口布局管理);
2、 键盘方案配置管理——(多角色游戏窗口按键分发管理);
3、 环境配置——两大功能域都依赖环境配置。
(一) 屏幕方案配置
我们在双开、多开游戏时,最难受的是几个游戏窗口难以同时呈现,堆叠起来又严重影响游戏体验,干扰沉浸体验:
为了解决这个问题,三哥做了几点考虑:
1、 预设多套屏幕布局,保存成“屏幕使用方案”,可以在游戏时动态切换;
2、 设计主(Master)副(Slave1、Slave2 ……)窗的概念,玩的时候可以凸显主窗口,副窗口小型化、或者前置、或者隐藏;
Tips:副窗口没那个大黑框,这里框出来是为了好识别
3、 引入两种模式:游戏模式、调试模式:
a) 游戏模式时,所有窗口去边框化,提高游戏沉浸感;
b) 调试模式时,显示窗口边框,玩家可以调整窗口位置、大小。可以临时性使用或保存成屏幕方案,以备下次使用时载入。
为了呈现上述思考,Double 1.0.0做了如下设计:
1、 动态载入按钮:
a) 程序启动时,按钮显示“红灯”。点击后,根据预设的屏幕布局方案,修改魔兽窗口布局。为了便于玩家区别,会相应修改窗口标题(主窗口为:Master,副窗口依次为:Slave1、Slave2……SlaveN)。
b) 载入完成后,按钮显示“绿灯”。
c) 有时,我们会在游戏进行时关闭、新开游戏窗口或者修改游戏窗口分辨率(魔兽世界游戏在修改窗口分辨率时,会重设游戏标题,这是我后来发现的,下一版本我会修改程序,通过窗口句柄识别魔兽窗口,而不是标题),这时需要玩家重置(关闭->开启)按钮,直到窗口标题修改完成,然后继续游戏。
2、 用户定制窗口:
a) 通过下面操作打开屏幕方案定制窗口
b) 定制窗口由下面四部分组成:
Tips:只有在窗口按钮“绿灯时”,才能定制屏幕方案
※ 选择区:
窗口打开时,“当前窗口”下拉列表尚未载入游戏窗口数据,这时需要点击“刷新”按钮,载入游戏窗口信息。窗口信息载入后,通过下拉列表可以选择要操作的游戏窗口。
另一种选择窗口的方式就是鼠标点击游戏窗口,“当前窗口”下拉列表会跟随变化,信息设置区也会显示游戏窗口的相关数据,修改即可(鼠标钩子就用在这了)。
在载入游戏窗口后,通过切换“游戏模式”选择项,可以切换游戏窗口的显示模式(有边框<->无边框)。在玩家不想保存屏幕方案,只是临时调整屏幕设置时,可以方便的投入游戏。
※ 设置区:
玩家可以在这里设置窗口摆放位置、尺寸。设置好数据,点击“设置”按钮,游戏窗口会立刻调整窗口信息(提示下,窗口没变化,先看看窗口标题改了没)。
Tips:这里有个小问题:带边框窗口由于增加了边框和标题区,所以要比预想尺寸大一些,所以在非游戏模式时,设置窗口尺寸要加上边框尺寸,WIN10环境下窗口边框尺寸变化值为:宽+16,高+39,即,800X600像素的窗口,要设置成816X639。
原点:窗口左上角XY坐标。
宽、高:游戏窗口宽度、高度。
※ 预设方案
软件为两种游戏模式预设了四种游戏方案模板。玩家选择模板,切换“游戏模式”,可以用鼠标拖动、修改窗口位置、尺寸,然后保存方案。
※ 保存区
点击“保存”按钮,弹出保存方案窗口。输入信息,保存方案。
如果希望下次载入窗口时使用该方案,请选中“默认方案”选择框。
3、 窗口方案列表:
窗口方案列表在“编辑屏幕方案”按钮下方,玩家可以看到已保存的全部预设屏幕方案,这里提供删除方案和设置缺省调用功能。
(二) 按键方案配置
键盘操作角色在魔兽世界这个游戏中得到了质的提升,丰富的按键设计,可以使玩家激情的秀操作、秀技能,配合鼠标可以完成游戏角色的所有操作功能。在多开游戏时,主游戏不用说了,如何操作副游戏窗口中的角色一直是个问题。何时跟随,何时停止,何时发技能,对什么目标发技能,技能顺序,根据目标状态发不同技能等。这些操作,在不侵入原游戏进程的前提下,光靠软件外部检测很难实现。幸好魔兽世界提供了强大的宏命令功能,在配合魔兽宏的情况下,上述问题基本可以解决,三哥也总结了些小技巧,这些我们在游戏使用篇再谈,下面先看按键方案配置介绍。
1、 按键方案载入
还是红绿灯:
Tips:载入窗口后,按键方案才会生效
点击,“绿灯亮”,载入缺省按键方案,“红灯”停止按键方案。
2、 按键方案定制
这里主要讲讲设置按键:
※ 设置按键区
按键定义:热键、接收键。
热键:玩家在主游戏区,按下的特定按键、组合按键。
接收键:热键按下时,发送至目标窗口的按键、组合键。
按键是单独、单组触发的。接收键在不同目标窗口按顺序触发,顺序即为“目标按键区”的排列顺序。
接收键之间有触发延迟(是为了模拟玩家手动操作),按键触发后,下一个按键在延迟毫秒数后触发。延迟默认为0(不代表没延迟,软件在后台随机生成延迟时间,取值1-100毫秒之间)。
设置热键时,不需要设置向主窗口—“Master”发送自己。即,设置按键“1”,不需要设置向”Master”窗口发送接收键“1”。
一个热键,点击后,可向同一目标窗口,顺序发送一组接收键(是不是想到了抽筋宏,Bingo)。
※ 保存区
这里同样可以选择方案默认生效,软件会把刚保存的按键方案设置为缺省使用方案,在下次载入时生效。
Tips:由于算法问题,热键多了保存时间比较长,但是载入时加载会很快。这个版本先这样,,下个版本三哥会优化下这里。
3、 按键方案列表
跟窗口方案一样,没啥可说的。
(三) 环境配置
环境配置包括三部分:基本配置、系统热键、授权码。
1、 基本配置
游戏窗口标题:魔兽世界游戏的默认窗口标题。如果玩家使用了第三方的集成游戏环境,窗口标题可能不是默认状态,可在这里修改。
2、 系统热键
窗口置顶:软件设置游戏窗口时,默认不会将窗口置顶,即,主窗口可以遮蔽副窗口。如果玩家想达到如下效果:
可以以主窗口为背景,激活副窗口,然后按下”Window 键”+“F10”键,副窗口将置为前置窗口。
单游戏模式:按下”Window 键”+“F11”快捷键,当前激活窗口最大化,并修改为游戏模式。
按键暂停/恢复:热键方案会影响玩家聊天,宏命令编辑等功能,可以通过按下”Window 键”+“F12”快捷键,切换热键方案的暂停/恢复使用状态(与”红绿灯”按钮的区别:红绿灯按钮是卸载/载入缺省按键方案,快捷键是暂停按键方案。后者更环保、无延迟。)。
3、 授权码
1、 部分高级功能会在授权期后失效,需要授权码使用。
2、 后续新开发的功能,需要授权码使用。
3、 玩家可微信作者申请或打赏后联系作者索要授权码,具体规则稍后容禀。
游戏体验篇
Double(魔兽世界多开精灵)1.0.0版本将游戏使用和软件配置这两部分操作区分开来,是为了提高玩家的操作体验。玩家游戏时,基本上只需要操作“红绿灯”结合快捷键,就能完成软件的操作了。
(一) 红绿灯介绍
1、 红绿灯功能条
虽然都是三个灯,但这个不是交通信号灯。这三个灯不是一组的,而是分成三组,代表了三个功能。
窗口灯:红灯—>载入缺省屏幕方案;绿灯—>恢复原游戏窗口。
按键灯:红灯—>载入缺省按键方案;绿灯—>卸载当前按键方案。
任务条灯:隐藏/显示Windows 任务栏(当主窗口非满屏时,任务栏会遮蔽部分游戏窗口,影响游戏体验)。
2、 使用窗口灯
窗口灯按钮的设计目标是:使用缺省屏幕方案的配置信息,修改已打开的游戏窗口标题、位置、大小。
当新打开、重启某一游戏窗口后,需要开关(关闭—>打开)窗口灯状态。确认游戏窗口已按规则修改(Master,Slave1、Slave2……Slave3),即可继续游戏了。
重新设置缺省屏幕方案后,需开关窗口灯,重新载入方案。
3、 使用按键灯
按键灯与窗口灯使用方法相同。
按键灯可以随时按下,但仅在窗口载入生效时生效。
按键灯开启后,会使用缺省按键方案设置的按键规则。
4、 使用任务条灯
这个没什么好说的,随时随地,隐藏/显示任务条。
(二) 使用技巧
都是三哥自己多开使用时的一些设置,仅供参考。你可以根据自己的习惯去发挥。
1、 人物快速跟随
副角色跟随可以说是最常用的功能了没有之一。三哥在做按键方案配置时专为“跟随”设置个热键,绑定到所有副窗口的特定键上(三哥用的”F6”—>”Numpad7”,没啥原因,个人习惯)。在游戏中做个公共宏,在游戏按键条上给这个特定键绑定个位置,然后把宏拖上去。这个热键三哥绑在了鼠标第6键上,按起来方便。
2、 近战带远程
主角色近战,副角色远程。这个组合玩起来有点难受。主要原因是如何让远程保持攻击距离可以攻击(猎人8码)或不被AOE。
三哥的做法是:给主窗口角色的近战攻击热键,绑定2个接收键,第一个是“后退键”,第二个是技能键。这样,当遇怪时,在适当距离先点击热键,副角色会停在原地使用远程技能,近战上去砍吧。
3、 远程带远程
这个配置很舒服。
三哥一般会把主/副窗口角色的技能配合绑定,大招对大招,小招对小招。当然,不用老去调按键方案,可以调游戏窗口里的动作条嘛。
4、 副角色带宝宝
三个喜欢把副角色的宝宝绑在鼠标滚轮上,前进、后退随意。
5、 小队多目标治疗
组小副本,当副角色是治疗时,三哥会在副窗口把队友目标切换键单独绑定(游戏原设置是F1-F5,三哥绑在了Numpad4-6,主副窗口直接名字指代了,你用原设也可)。这时你有两种使用方式:
一、分别绑定三个热键到副窗口,接收键设置为(目标一+快速治疗)(目标二+快速治疗)(目标三+快速治疗);
二、绑定三个热键到副窗口目标切换键,按下、再按治疗技能。
6、抽筋宏
这主要是在单开时使用,比游戏中设置抽筋宏好用。
设置热键,接收键目标窗口选择“Master”,绑定接收键为多个技能键,这里要注意顺序,冷却长、优先级高的放在键序的前面,然后使劲按吧。讲究点,你可以把公冷设到按键延迟上,触发实机会更准确。