魔兽世界玩家社区APP官网

标题: [插件/宏/工具] 授人以鱼不如授人以渔,Gnome Sequencer Enhanced(GSE)解析,让小白学会自制一键宏~(果然技术贴没人看) [打印本页]

作者: 街充骨万怎    时间: 2024-8-6 19:45
标题: [插件/宏/工具] 授人以鱼不如授人以渔,Gnome Sequencer Enhanced(GSE)解析,让小白学会自制一键宏~(果然技术贴没人看)
[size=150%]Gnome Sequencer Enhanced(GSE)是一款《魔兽世界》高级宏编译插件,创建于2016年,它主要有以下3个特点:
1.突破了原有宏制作的字符限制。
2.GSE够实现高亮技能优先触发,以及所有技能、装备饰品的无限循环。(其原理是通过切换技能栏实现,也就是你要是[del]愿意[/del]闲的蛋疼,可以用翻页宏+/click Button命令实现GSE里面的所有操作)
3.能够在战斗前实现一定的逻辑判断,主要用于根据天赋、目标类型的循环选择。

[size=150%]从上述描述可见,GSE宏完全可以通过自己写的WA+动作条+宏实现全部功能。
[size=150%]所以,针对部分人在NGA论坛以及国外Discord论坛的一系列迷之回复以及脑残发言,在此作一个整体回复:

[size=120%]GSE所有的操作都是在暴雪接口允许范围内,不服你去举报暴雪让它封端口去~

[size=120%]进入WLK后,由于平射机制的改动,届时猎人将彻底告别卡平射,技能施放将按照优先级进行排序,GSE将大有所为~

[size=150%]下面,进入正题!!!!

[size=150%]一、如何下载GSE

[collapse=下载GSE]黑盒工坊就有下载,部分其他整合插件也可以在单体插件中加载GSE插件,游戏中可以通过在聊天框输出/GSE来呼出菜单。

具体步骤如下图所示:

(, 下载次数: 4)
[/collapse]

[size=150%]二、如何建立一个最基本的GSE宏

[collapse=如何建立GSE宏]很多新手玩家编写GSE宏最容易碰到一个问题,如何新建一个GSE宏然后把它拖到技能栏中?

下面我对新手容易碰到的问题来详细说明:

如何新建一个宏?

分为三种方式,一是导入,二是新建,三是记录

(, 下载次数: 4)


对于导入来说,操作相对简单,就跟导入WA字符串和Myslot按键保存一样,直接将别人已经编写好的GSE宏字符串复制在导入框中,然后选择导入即可(PS:此时如果出现已有相同GSE宏的情况,会提示你选择忽略合并重命名还是替换)

(, 下载次数: 5)


(, 下载次数: 4)


记录就是通过GSE插件记录自己打一个循环所施放的技能,然后点击生成,它会自动按顺序生成一个基本的GSE宏。

(, 下载次数: 4)


若需要新建一个全新的GSE宏,则点击“新”按钮,此时会创建一个新的GSE宏并进入其基本信息编写窗口,其中分为三大部分:

(, 下载次数: 5)


(一)名称及版本部分:
主要包含下列信息,其中红色为重要信息:
1.序列名:宏的名字,注意不要与其他宏同名,不要过长,也不要有特殊字符(否则会导致该宏不可用、也不可保存/删除/修改)
2.版本号:GSE宏可以根据不同场景需求建立不同的版本(每次新建会以上一个版本为模板),点击右边的“新”即可创建一个新的版本


(二)基本信息部分:
主要包含下列信息,其中红色为重要信息:

1.专精/职业ID:选择自己的职业
2.天赋:选择自己的天赋
3.帮助信息:可以对自己的GSE宏作一些使用说明和版本备注
4.帮助链接:可以把自己对宏的说明放在一个网页上,然后把网页链接放在这里
5.作者:插件会根据人物角色自动生成作者名称,也可以自行修改
6.默认版本:默认情况下GSE宏使用哪一个版本
7.Party:在团队中使用哪一个版本的宏,不选择视为默认版本
8.地下城版本:在5人副本中使用哪一个版本的宏,不选择视为默认版本
9.Raid:在团队副本中使用哪一个版本的宏,不选择视为默认版本
10.PVP:在PVP区域(如竞技场、战场等)使用哪一个版本的宏,不选择视为默认版本

(三)基本操作部分:
1.保存:保存对宏的操作(保存且关闭该宏后,过一段时间会自动弹出GSE默认窗口,只有在该窗口弹出后才完成了GSE宏的保存,如果未弹出窗口,很可能是未能成功保存)
2.删除:彻底删除该GSE宏(如果只删除某个特定版本,应该点击版本号进入该版本,然后再在右上角选择删除版本)
3.发送:可以将宏以密语的方式发送给某位玩家
4.设置:GSE宏的基本设置(后续讲,一般默认设置即可)

[size=120%]当你完成基本信息填写,然后点击保存后,恭喜你,一个默认的GSE宏就已经完成了,但想要它能正确的拖动到动作条,还不能少了以下动作:

1.回到GSE初始窗口,如果发现该宏显示为一个技能书图标,且无法拖动,说明未能生成宏的图标。这时候需点击该宏(当下面操作栏中的“编辑”、“创建图标”按钮变成黄色之后,才表示选中了该宏),选择创建图标,此时会生成一个默认的问号图标(问号图标功能类似于宏里面的#showtooltip ,当后面不接任何物品、技能名称时,会自动变成当前生效的第一个技能的图标)。
2.如果想改变默认的问号图标,需要按ESC,进入宏命令设置→XX专用宏,选择与GSE宏同名的专用宏,再点击改变名字/图标,选择自己喜欢的图标后点击保存,此时图标就变成选择后的图标,且不会变化了。
3.当宏有了图标之后,就可以拖动到动作条了,无论是在GSE界面拖动还是宏命令设置中拖动,效果均一样。

[size=150%]特别注意:

[size=120%]如果发现无法生成图标,很可能是自己的专用宏已经满了,请删掉一部分专用宏,或者将专用宏改到通用宏里面去[/collapse]

[size=150%]三、GSE 3.0宏结构解析

[collapse=GSE 3.0宏结构]无论是新手小白,还是GSE2.0的老用户,看到GSE3.0的版本界面估计都是一脸懵逼ing……

因为以往的GSE2.0使用区来进行功能划分,而GSE3.0版本由原先的“区”设计改为“块”设计,这导致了整个宏结构的设计思路发生了根本性的变化。

下面由我来对GSE3.0的宏结构进行解构:

GSE3.0完全抛弃了GSE2.0的区设计之后,将GSE宏分为了两个部分,一是宏(序列)主体,二是变量

(一)宏主体

顾名思义,就是宏的序列部分,主要负责对各种功能块(功能块部分在后章讲解)进行管理和排序,以达到预定的技能施放选择。

(, 下载次数: 1)


(二)变量

变量主要有以下两种功能:
一是作为重复性语句预先写入,然后通过 ~~变量名~~的方式插入在宏主体中各个功能块中,实现指定功能。
二是作为一个函数,其可根据WOW API中获取的部分参数返回TRUE(真)或者FALSE(假),配合“IF块”来实现非战斗状态下的宏序列选择

(, 下载次数: 3)


(, 下载次数: 1)


(二)其他功能

1.Compiled Template:用于查看GSE宏最终的序列效果(优先级宏可能有偏差,不过总体效果差不太多)

(, 下载次数: 2)


2.Raw Edit:以类似于Lua的方式来展示宏的结构

(, 下载次数: 4)


3.删除版本:会删除这个版本的宏
[/collapse]

[size=150%]四、GSE宏的灵魂,功能块的讲解

[collapse=块功能讲解]在以前版本的GSE插件中并没有块的概念,而是以区来进行划分(GSE2.0分为按下键区、主体区、释放键区),当然也可以认为GSE2.0及之前版本每一行都是一个块,但这对于有时想要执行一个多行操作的时候很不方便。

所以GSE3.0已从单行转变为“块”的概念,每一个块对应GSE2.0的一行,但是每一个块内部却可以不限制字数的行(这里的行与默认宏中的行是一个概念),此外还可以对不同块进行嵌套操作,来实现更为复杂的循环。

(, 下载次数: 1)


(一)基础块功能介绍
简而言之,块是在特定点击时执行的一系列命令的宏。 每个块都有一个类型来定义它是什么类型的块。
目前有GSE3.0中一共有5种类型块,分别是:

1.行动块(Action):标准的顺序执行块,类似于默认宏,当点击一次行动块时执行块内的一系列正常宏命令。

(, 下载次数: 2)


2.重复块(Repeat):重复块,可以设置重复次数,当设定完成且保存后,生成的宏主体会将该重复块内容重复生成指定次数的行动块。(PS:可以认为在宏主体插入重复块,跟插入指定数量的行动块没有区别)

(, 下载次数: 3)


3.暂停块(Pause):在继续之前等待指定点击次数N倍GCD指定时间(单位:毫秒/ms)的指令。类似于GSE2.0的click pause XXX。

(, 下载次数: 1)


很多人不知道暂停块的效果是什么,下面我来简单介绍下。暂停块相当于在GSE宏中插入了指定数量的无功能块,在点击该块时无任何效果,且由于块执行有一个最低时间,所以可以通过堆叠这种无效块来达到指定暂停时间的功能。

举例说明:
在一个GSE宏中插入了2个Action块,1个Pause块,顺序如下:

(, 下载次数: 4)


该宏中2个Action功能都是/say hello,但是由于中间被一个Pause块隔开,而且Pause块的模式为暂停指定时间,数值为1000ms,那么当玩家第一次按下该宏的时候,聊天框会出现一句hello文字,再次按下该宏的时候,宏会进入一个1000ms的等待,在这1000ms中,无论玩家以多快的速度按该宏,均无法打出第二个hello。只有等1000ms结束之后,玩家按下该宏,才能打出第二个hello来。

PS:切记以下两点:

1.暂停宏是在按下该GSE宏且该GSE宏正好处于Pause块的时候生效,不按下该GSE宏或该GSE宏并未处于Pause块时并不生效。
2.实际暂停时间=按下暂停宏的时间+暂停宏设置的指定时间/点击次数/GCD数量+暂停宏结束后的下一次点击时间,不能只理解成设定多少时间,就是多少时间。切记!!!!!!!!!!!!!!!!!!!!!



4.循环块(Loop):在继续执行宏的其余部分之前要循环的功能模块,它是GSE一键宏的最核心的模块。

总的来说,Loop Blocks循环块取代了GSE2.0中的PreMacro、PostMacro和Internal Loop函数。它们允许宏将执行类型从Sequential(序列)更改为Priority(优先级),并包含一系列用于循环的其他块组合。

如图,主要分为四种循环类型,下面我来一一介绍:

(, 下载次数: 3)


顺序执行-Sequential(1 2 3 4)

顾名思义,循环中的技能将按照内部嵌套的其他功能模块顺序执行。如果说重复块是在序列中插入指定数量的相同的行动块,那么顺序执行的循环块可以理解为在序列中插入指定数量的按照循环内部排序的其他功能模块。

(, 下载次数: 3)


随机执行-Random

与默认宏中的/castrandom类似,就是随机执行循环内的功能块,不作过多介绍

(, 下载次数: 3)


优先级执行-Priority(1 12 123 1234)

很多人没完全理解优先级执行的执行思路,以为是优先级高的必定会在按下该宏的第一时间触发,但其实这是错误的,正确的理解应该是:

优先级模型中,每次按下该GSE宏会依次从上往下尝试每个功能模块,直到出现第一个可执行的功能模块后,会跳转回第一个功能模块,继续从上往下依次尝试。所以如果优先级执行循环一共N个子模块,那么处于最上面的功能模块的尝试次数将会是最下面功能模块的N倍。

PS:就是优先级基本上从序列的顶部开始,然后循环到宏的底部,直到它到达最后一行。在7行宏的情况下,第一行的尝试次数是最后一行的7倍,其中第2行是6倍,第6行是2倍。

例如在下列Loop模型中,从上往下依次是多重射击、奥术射击、稳固射击,那么每次点击会首先尝试多重射击,如果多重射击不可用/CD,则尝试奥术射击,如果奥术射击也不可用,就尝试稳固射击。其中只要任意技能可用,则直接跳回循环的第一个块重新尝试。整体下来,处于第一优先级的技能会尝试次数更多,所以叫做优先级执行。

(, 下载次数: 1)


如果说以上仍然很难理解,那么我可以用翻页宏来为大家解释:

下面是三个翻页宏,分别是多重射击、奥术射击、稳固射击

多重射击宏:
/changeactionbar 2
/cast 多重射击
/changeactionbar 1

奥术射击宏
/changeactionbar 3
/cast 奥术射击
/changeactionbar 1

稳固射击宏:
/changeactionbar 1
/cast 稳固射击
/changeactionbar 1

我们假设如果技能处于CD,那么/cast之后的语句是无法执行的。
所以如果上面的宏绑定在不同动作条页的同一个位置,那么在快速点击该宏的情况下,会从上往下依次尝试多重射击、奥术射击、稳固射击,其中只要任何一个技能执行成功,则会重新跳回第一页的多重射击重新开始下一轮的尝试。

PS:所以优先级宏并不建议做太长,太长了会导致处于低优先级的技能CD浪费。个人建议优先级宏内的数量可参照这个标准来安排:平均按键时间/间隔*优先级序列内部块数量<GCD,这样能保证在1个GCD时间内按照优先级尝试完所有可施放技能

反向优先级执行-Reverse Priority(1 21 321 4321)

与优先级执行一样,通过翻页实现,不过思路正好相反。它是首先执行最上面的功能模块,然后按照反向优先级的方式依次往下执行。

(, 下载次数: 2)


[size=150%]PPS:GSE循环宏跟默认宏中的/castsequence 最大的区别是,在/castsequence中如果某个技能处于CD,是不能跳过该技能执行下一个技能的,而GSE由于是基于翻页宏处理队列,所以即使该宏处于CD,那么仍然可以跳过该技能执行

5.选择块(IF):块之间的选择(仅可在非战斗情况下生效)

(, 下载次数: 3)


选择块可以根据变量中的函数返回布尔值(True和False)来选择序列,但需要注意以下两点:

第一,必须配合变量使用,如果没能建立一个正确的变量,它是无法创建的(点击该图标也无法成功创建)。

PS:只有包含在function()中的完整函数才能执行,如果只是if类判断语句,是无法被识别为判断为布尔型变量的,也无法返回布尔值。

例子:
function()
local attackSpeed = UnitRangedDamage("player")
if attackSpeed >=1.83 then
return true
elseif attackSpeed < 1.83 then
return false
end
end

这是一个完整的判断函数,当攻速大于等于1.83时候,返回真,当攻速小于1.83时,返回假。可用于小花伞武器选择5611循环或者无脑稳固循环。

第二,选择块的选择功能只能在非战斗情况下进行使用,战斗中是无法进行选择的。所以常用于根据不同天赋、目标类型、急速等级来选择输出循环,

(, 下载次数: 3)


(二)功能模块的组合与排序

上面已经介绍完了GSE3.0的各个功能块,大家已经对每个功能块有一个基本的认识了,下面开始讲解GSE3.0最核心的功能,功能块嵌套、组合与排序。

1.功能块的新增与排序

首先,GSE3.0的序列主体最外层就是一个循环块(Loop),内部的所有功能块会按照1 2 3 4的模式从上往下循环执行。一般新建一个版本的时候,会默认生成一个Action块,但是我们也可以点击块上面的×来删除该块,如果不想立即删除,而是希望停用掉该块,可以点击Disable Block旁边的小方框来实现。

(, 下载次数: 3)


如果我们需要在最外层循环中插入相应的功能块,可以在左上角的最外层循环新建面板进行新增(共 Add Action | Add Repeat | Add Loop | Add Pause | Add IF 5个),也可以在之前插入的功能块的新建面板进行新增,新增的块会自动追加到当前层循环的最后面。

(, 下载次数: 2)


当序列做好后,如果需要调整其中块的顺序,可以通过每个块左边的↑↓箭头按钮来排序。

(, 下载次数: 2)


2.功能块的嵌套

支持嵌套的功能块只有循环块(Loop)和选择块(If)两种,下面分别介绍:

循环块(Loop)嵌套

循环块嵌套后,会先执行内层循环的内容,当内层循环执行完指定次数后之后再执行外层循环。

(, 下载次数: 3)


注意循环块新建面板旁边的Repeat数值,它表示该循环被执行多少次后,再执行循环块后续功能块,如下图示例:

(, 下载次数: 3)


选择块(IF)嵌套

IF块前面介绍过,它可以根据变量中的函数返回布尔值(True和False)来选择序列,然后可以分别在两个序列中插入不同的功能块。

在执行的时候,会根据变量返回的True或者False,先执行IF块内层的功能块,当内层功能块执行完之后,再执行与IF块同层的其他功能块

PS:IF块的内层循环无论是插入Action还是Loop,无论内部有几层嵌套,都必须等内部全部执行完毕之后,再执行外层循环

(, 下载次数: 3)


(三)功能模块与变量的搭配

前面介绍了变量一共分为重复性语句变量和布尔型变量两种,由于布尔型变量是用来配合IF块进行使用的,在之前IF块已经介绍过了,这里介绍的变量仅为重复性语句变量。

在之前我们写宏的时候,经常需要在宏的头部和尾部插入一些重复语句,如:

在翻页宏中的第二页,需要插入:

/changeactionbar [noexists][dead][noharm][nocombat]1
/stopmacro [noexists][dead][noharm][nocombat]

带风蛇宝宝需要插入:
/cast [@pettarget,exists] [] 闪电吐息

删除掉暴雪的提示信息需要插入:
/script UIErrorsFrame:Clear()

这些重复性语句如果需要在每个模块中添加的话,工作量很大不说,还非常不美观,这时候就可以使用重复语句型变量,将其统一写入其中,再通过在块中主体的前后加入~~变量名~~,来使每个功能块均实现该功能

(, 下载次数: 2)
[/collapse]

[size=150%]五、GSE插件的基本设置

[collapse=GSE设置]GSE的插件很多设置项,但是其实与我们相关的并不多,下面我来一一介绍:

(一)常规
1.常规设置
Hide Minimap Icon:隐藏小地图图标
在LAB中显示OCC队列:在提示中显示序列中的战斗外事件
Prompt Samples:在创建版本的时候,会生成一个默认的Action块
当离开战斗时重置宏:如题,类似于reset=combat
使用全局账户:默认GSE宏是创建在职业宏里面的,勾选此选项会创建在全局宏里面
自动创建全局宏存根:当创建GSE宏的时候,会自动在全局宏里面生成,不用创建完GSE宏后再点击创建图标
再LEB中显示GSE用户:当提示数据源的时候,列出其他GSE的用户的版本,一般不需勾选
隐藏加载信息:隐藏掉GSE的加载信息,一般不需勾选
使用WLM导出序列格式:使用WLM论坛的格式导出序列,一般不勾选,不然导出数据不能直接复制
登出时删除孤立的宏:跟标题功能一样,一般不勾选
自动创建职业宏存根:当创建GSE宏的时候,会自动在职业宏里面生成,不用创建完GSE宏后再点击创建图标
设置默认图标为问号:如题,跟创建普通宏默认图标为问号一样

2.默认导入动作
当导入的GSE宏与已存在GSE宏冲突时,导入动作分为忽略、合并和替换,建议默认选合并,这样新GSE宏作为老宏的一个新版本创建在同一个宏内。

3.Milisecond click settings
最小间隔设置,必须设置该属性且勾选选框后,暂停块的基于Milisecond的中断模型才能生效。建议选择为20

4.宏过滤选择
主要功能是选择在GSE主界面上可显示哪些默认的宏(比如你是猎人,如果你导入了战士的宏,则默认不显示),默认选项即可,一般不用修改

5.游戏选项

需要使用目标:类似于在整个宏前面加上 stopmacro [notarget],当没有目标是宏不生效
清除错误信息:类似于/run UIErrorsFrame:Clear()
使用第二个戒指在释放按键时候:类似于在块主体的后面加上~~KeyRelease~~,在释放按键的时候触发/use 12
使用第二个饰品在释放按键时候:类似于在块主体的后面加上~~KeyRelease~~,在释放按键的时候触发/use 14
使用腰部物品在释放按键时候:类似于在块主体的后面加上~~KeyRelease~~,在释放按键的时候触发/use 5
防止错误信息:类似于/script UIErrorsFrame:Clear()
使用第一个戒指在释放按键时候:类似于在块主体的后面加上~~KeyRelease~~,在释放按键的时候触发/use 11
使用第一个饰品在释放按键时候:类似于在块主体的后面加上~~KeyRelease~~,在释放按键的时候触发/use 13
使用颈部物品在释放按键时候:类似于在块主体的后面加上~~KeyRelease~~,在释放按键的时候触发/use 2
使用头部物品在释放按键时候:类似于在块主体的后面加上~~KeyRelease~~,在释放按键的时候触发/use 1

(, 下载次数: 2)


(, 下载次数: 1)


(二)Character

跟常规设置中的5.游戏选项基本一样,除了多了一个当离开战斗时重置宏,类似于reset=combat

(, 下载次数: 3)


(三)宏重置

设定什么按键可以重置掉整个宏,然后重新开始

(, 下载次数: 3)


(四)颜色

设定宏中命令和数据的颜色

(, 下载次数: 3)


(五)插件

选择GSE3.0可以再加载哪些插件,类似于Details加载Tiny Threat

(, 下载次数: 2)


(六)Windows Sizes

调整GSE3.0的窗口大小

(, 下载次数: 3)


(七)关于

GSE的版本信息

(, 下载次数: 3)


(八)调试

调试GSE插件,一般用户无需打开

(, 下载次数: 2)
[/collapse]

[size=150%]六、GSE宏实战案例

[collapse=兽王猎抽筋宏]为了方便大家对于GSE宏的理解,下面来一个实战案例:

案例需求:
1.武器为小花伞,或者其他3.0武器但是急速堆得比较高
2.面板攻速>1.825的话,卡CD放多重奥射;面板攻速<1.825的话,无脑抽稳固,或者卡CD打多重不打奥射
3.当目标为BOSS的时候,多重、奥射带雪球;当目标为非BOSS的时候,不带雪球
4.宝宝为风蛇,需要风蛇宏命令
5.不希望看到告警文字信息
6.多重奥射自动打杀戮命令

针对以上需求,下面开始写宏了!

第一步,新建宏后输入基本信息和序列名

(, 下载次数: 3)


第二步,选择版本(一般默认为版本1,如果需新增版本,点击后面的新即可,新的版本会把当前版本的序列内容复制过去,然后再修改)

(, 下载次数: 3)


第三步,设置对应的变量

目前根据需求,一共需要5个变量:判断目标是否为BOSS的布尔型变量、判断攻速是否低于1.825的布尔型变量、插入块主体前面的翻页宏相关内容和风蛇的施法宏变量、插入块主体后面的去掉告警文字信息的变量、插入主体后面的自动杀戮命令变量

(, 下载次数: 3)


第四步,设置主体循环

根据需求,为了贯彻瞎几把按的设计思路,该宏采用了优先级循环,优先级依次是多重射击、奥术射击、稳固射击。当目标为BOSS的时候,需要丢雪球,所以每个多重、奥射需要用IF块来进行选择。当攻速低于1.825的时候,需要无脑稳固然后卡CD丢多重,所以,最外层也需要一个IF块,然后将优先级Loop嵌套其中。

先设计一个伪代码:

最外层
if 攻速>1.825
loop循环(多重、奥射、稳固)
elseif 攻速<=1.825
loop循环(多重、稳固)

Loop循环层采用优先级模式
多重:
if 目标类型为BOSS
丢雪球
elseif 目标类型不为BOSS
不丢雪球

奥射:
if 目标类型为BOSS
丢雪球
elseif 目标类型不为BOSS
不丢雪球

稳固:永远不丢雪球

(, 下载次数: 1)


第五步,插入重复性语句变量

每个块都需要插入翻页宏相关的语句,放在宏主体的前面
每个宏都需要插入去掉告警文字信息的语句,放在宏主体的后面
多重、奥射需要插入打杀戮命令的语句,放在宏主体后面,但是在告警文字信息之前

(, 下载次数: 4)


第六步,创建图标

宏编写完成后,保存然后退出序列,在GSE主界面选中该宏,点击创建图标,这时候会生成一个默认的问号图标。如果需要修改图标,则需要按ESC进入宏命令设置里面后进入角色专属宏,然后选中GSE宏同名的宏,点击修改图标

(, 下载次数: 2)


(, 下载次数: 3)


如果此时,我有新的需求,要求能够卡CD打毒蝎,且自动标记/补标记。但是又不能影响之前的宏,需要手动进行选择的话,我们就可以新建一个版本,新建完版本后,它会直接以上一个版本为模板,然后在此基础上修正就行了。

(, 下载次数: 2)


第一步,由于需要第一时间上标记,所以我们可以在多重射击上加入插入以下语句(需为每个含多重射击的块都插入下面语句):
/castsequence [nochanneling,exists] reset=target/combat 猎人印记(等级 4), Null

(, 下载次数: 2)


第二步,由于需要第一时间上毒蝎,而且毒蝎优先级低于印记,所以我们可以在奥术射击上加入插入以下语句(需为每个含奥术射击的块都插入下面语句):
/castsequence [nochanneling,exists] reset=target/combat 毒蝎钉刺, Null

(, 下载次数: 4)


第三步,为了实现自动补毒蝎,补标记,我们可以将最后一个稳固宏写成传统的序列宏,然后调整好间隔,让其自动补毒蝎和印记:
/castsequence reset=target 稳固射击(等级 1), 稳固射击(等级 1), 稳固射击(等级 1), 稳固射击(等级 1), 稳固射击(等级 1), 毒蝎钉刺, 稳固射击(等级 1), 稳固射击(等级 1), 稳固射击(等级 1), 稳固射击(等级 1), 稳固射击(等级 1), 毒蝎钉刺, 稳固射击(等级 1), 稳固射击(等级 1), 稳固射击(等级 1), 稳固射击(等级 1), 稳固射击(等级 1), 毒蝎钉刺, 稳固射击(等级 1), 稳固射击(等级 1), 稳固射击(等级 1), 稳固射击(等级 1), 稳固射击(等级 1), 毒蝎钉刺, 稳固射击(等级 1), 稳固射击(等级 1), 稳固射击(等级 1), 稳固射击(等级 1), 稳固射击(等级 1), 猎人印记(等级 4)

(, 下载次数: 3)


如果我们需要根据不同的BOSS选择GSE宏的版本,可以在这里进行选择

(, 下载次数: 3)


最后,别忘了点击保存!!!

改进版请看此贴:《走向堕落的第二步》
https://bbs.nga.cn/read.php?tid=32314505

GSE代码:

dSyHwaGiiKrrkYPif1SKWUGG(LqmmbDmjTmq9mOAAuPRrq2MejFtIyCcuoNavTosempsK4Ecj7Jej9pqknqHcoOaSqsu1dHKMiifxKev2ijk9rKkIrcIuDsiIvkqLxcjMjPGUjjkANu1pbjyOcKLku1tvmvcDvisBfjQVccsElsYDrsTxvdgXHP0IHOEmuMSsXLfTziLpJumAcQtd0RLi1Sjv3wi1UvYVjPHtfhhcy5aEortxQRtGTdcs9DHcnEKiNxPA(uSFudiPkhOuQ6bHatyIkxyOK2qic(WqfJOuOorsOwrik9IseAgjv1nMOQDes0pgkQHukLJukKNmuKPukv2ssqFjjWycrIZeII1esQ3eHAoLiL7ukP9eIk)jPIAqHe6qdLyrHiYJcrktkKKlnrPnLuHpfIOgviQAvdOEvii6wLcSRHk9RqQmSKqowis6zHGW0krKRfIqBRer9Tqq14sQ05cbL1fsvVlc08gqU3qP2xjk8VsKQhNurAYHqxUe28sPphPA0LsC6Ks)EIIF9I3x)OiwJn6qPseD6dLOd5GsAPBSOacxjTL(uSI4gZ3dFXpIw9C1YpqBb0waTfqBb0waTfq7Nae0cRc8bPRsVuJXftcqqlSkWh6Kr5OCcibvx3Jhwc(hLBHMkawIQA0o22ImOoyVFL)JgALnsD2y7CZh4qy4Wsfg81sWDHD)icfq9E4qHcD)OmTyaQYlEF9IFOSfa0ISEkV4huY94t90kZlEF9temRSzcvXGt2TfGMSlskbkBj1mzRwP3wnoUk0OydreeQ0e6AafJo0djZKQMF)bLCpiGukV491prWe2UOjTynO6czlatOAPMucu2sQPAtA3qnvlvHTartnvlvm1Or22uxVh(tezR6eTfdqLjuTutkbkBj1uTjTBOMQLQWwGOPMQLkMA0iBBQVh)temRSzcvXGt2TfGMSlskbkBj1mHkQzcTuqGrx7GevOnTTv7HU3FgmaqN(I3x)erIba60mbPir5aaubKklGn6ujGQEAb0KMF)bvRShNm3CX7RFqtWcRbvxAsZm5E4pmrxfZQZeB3wSspozUHjrXeKUa74TlAYnqJnAlnPMqKJUDpbqKMzY94FyciAmX2TfR0JtMByIsnQkcdgSqmPfox37(HjazlayXKgqqYK7f6dtsDzcIgtSDBXk94K5gMOuysfHbdwiM0cNR7l1hMaKTaGftqZQlZ7l5dtY1M7d2NCT59hKUaBu1Ts5fVV(bnblSguDPjnFp8hMORIz1zIGfyJQUvkzsumbPlWgvDRucIgiMTbvxAcrTfGMSrKMVh)dtarJjcwGnQ6wPKjrfftqumQcOVbzvPermPfox37(HjazlayXKgqqEVqFysQltq0yIGfyJQUvkzcBIIjikgvb03GSQuIiM0cNR7l1hMaKTaGftqZQlZ7l5dtY1M7d2NCT597pbG1GQl5fVVEX7Rx8(6fVVEX7Rx8(6fVV(HnSbLCpiGukzdBUh(temRSzcCjHW17X)erGmzcTioWORni4E3pSHnOK7XN6PvMSHn3l0h2WMbda0PzdBUVuFydBgmaqNMnS5J4Ut(jaSguD9(99Wx8(6fVV(HnSbLCpiGukzdBUh(temRSzcCjHW17X)Wg2GsUhFQNwzYg2CV7h2WMbda0PzdB(iU7KFcaRbvxVF)HYwaqlY65hKUaBu1Ts5hXDN8dsq799Wx8(6fVVEX7RFydBqj3dciLs2WM7H)ebZkBMaxsyn4Vh)tebYKj0I4aJU2GG7D)Wg2GsUhFQNwzYg2CVqFydBgmaqNMnS5J4Ut(jaSguD9(99Wx8(6fVV(HnSbLCpiGukzdBUh(temRSzcCjH1G)E8pSHnOK7XN6PvMSHn37(HnSzWaaDA2WMpI7o5NaWAq1173FOSfa0ISE(bPlWgvDRu(rC3j)Ge0EFp(fVV(HnSbLCpiGukzdBUh(temRSLjciixyjtOAPIjSDTsDWfnfjLaLTKAMWeMaKYSJQTa0KntycUBfoSGj4Uv4W7X)Wg2myaGonByZhXDN8taynO669N4tN023x)iU7KF0qvvNptNokRGfwdQU(eeaOkayV)(99Wx8(6fVVEX7Rx8(6fVV(HnSbLCpiGukzdBUh(temRSzcCjHW17X)erGmzcTioWORni4E3pSHnOK7XN6PvMSHn3l0h2WMbda0PzdB(iU7KFcaRbvxVFFp8fVVEX7RFydBqj3dciLs2WM7H)ebZkBMaxsiC9E8pSHnOK7XN6PvMSHn37(HnSzWaaDA2WMpI7o5NaWAq1173FOSfa0ISE(bPlWgvDRu(rC3j)Ge0EFp8fVV(HnSbLCpiGukzdBUh(temRSLjciixyjtOAPIjSDTsDWfnfjLaLTKAMWeMaKYSJQTa0KntycUBfoSGj4Uv4W7X)Wg2myaGonByZhXDN8taynO669N4tN023x)iU7KF0qvvNptNokRGfwdQU(eeaOkayV)(9hkBbaTiRNFq1k7XjZnFe3DYpibT3V)GKfYca1BkBbaTiRNYl((99Wx8dLTaGwK1t5f)GsUhFQNwzEX7RFIGzLntOkgCYUTa0KDrsjqzlPMjB1k92QXXvHgfBiIGqLMqxdOy0HEizMu187pOK7bbKs5fVV(jcMW2fnPfRbvxiBbycvl1KsGYwsnvBs7gQPAPkSfiAQPAPIPgnY2M669WFIiBvNOTyaQmHQLAsjqzlPMQnPDd1uTuf2cen1uTuXuJgzBt994FIGzLntOkgCYUTa0KDrsjqzlPMjurntOLccm6AhKOcTPTTAp09(ZGba60x8(6NismaqNMjifjkhaGkGuzbSrNkbu1tlGM087pOAL94K5MlEF9dAcwynO6stAMj3d)Hj6QywDMy72Iv6XjZnmjkMG0fyhVDrtUbASrBPj1eIC0T7jaI0mtUh)dtarJj2UTyLECYCdtuQrvryWGfIjTW56E3pmbiBbalM0acsMCVqFysQltq0yITBlwPhNm3WeLctQimyWcXKw4CDFP(WeGSfaSycAwDzEFjFysU2CFW(KRnV)G0fyJQUvkV491pOjyH1GQlnP57H)WeDvmRoteSaBu1TsjtIIjiDb2OQBLsq0aXSnO6stiQTa0KnI0894FyciAmrWcSrv3kLmjQOycIIrva9niRkLiIjTW56E3pmbiBbalM0acY7f6dtsDzcIgteSaBu1TsjtytumbrXOkG(gKvLseXKw4CDFP(WeGSfaSycAwDzEFjFysU2CFW(KRnVF)jaSguDjV491lEF9I3xV491lEF9I3xV491pSHnOK7bbKsjByZ9WFIGzLTmrab5clzcvlvmHTRvQdUOPiPeOSLuZeMWeGuMDuTfGMSJGPgnY2MjmP6Idlubt8c01Vh)temRSzcCjHW17D)erGmzcTioWORni4EH(Wg2GsUhFQNwzYg2CFP(Wg2myaGonByZ9L8HnSzWaaDA2WMpI7o5NaWAq11733dFX7Rx8(6h2WguY9GasPKnS5E4prWSYwMiGGCHLmHQLkMW21k1bx0uKucu2sQzctycqkZoQ2cqt2rWuJgzBZeMuDXHfQGjEb663J)jcMv2mbUKq469UFydBqj3Jp1tRmzdBUxOpSHndgaOtZg28rC3j)eawdQUE)(J4Ut(bjO9HYwaqlY65hKUaBu1Ts577HV491lEF9I3x)Wg2GsUheqkLSHn3d)jcMv2YebeKlSKjuTuXe2UwPo4IMIKsGYwsntyctasz2r1waAYocMA0iBBMWe8qx8cM4fORFp(NiywzZe4scRb)9UFIiqMmHwehy01geCVqFydBqj3Jp1tRmzdBUVuFydBgmaqNMnS5J4Ut(jaSguD9(99Wx8(6fVV(HnSbLCpiGukzdBUh(temRSLjciixyjtOAPIjSDTsDWfnfjLaLTKAMWeMaKYSJQTa0KDem1Or22mHj4HU4fmXlqx)E8prWSYMjWLewd(7D)Wg2GsUhFQNwzYg2CVqFydBgmaqNMnS5J4Ut(jaSguD9(9hXDN8dsq7dLTaGwK1ZpiDb2OQBLY33JFX7RFydBqj3dciLs2WM7H)ebZkBzIacYfwYeMaKYSJQTa0KntycUBfoSGj4Uv4WcMG7wHdlycUBfoSGj4Uv4WcMGh6IxWeC3kCybtWDRWHfmb3TchwWeC3kCybtWDRWHfmbp0fVGj4Uv4WcMG7wHdlycUBfoSGj4Uv4WcMG7wHdlycEOlEbtWDRWHfmb3TchwWeC3kCybtWDRWHfmb3TchwWe8qx8cMG7wHdlycUBfoSGj4Uv4WcMG7wHdlycUBfoSGjvxCyHUh)dByZGba60SHnFe3DYpbG1GQR3FIpDsBFF9J4Ut(rdvvD(mD6OScwynO66tqaGQaG9(733dFX7Rx8(6fVVEX7Rx8(6h2WguY9GasPKnS5E4prWSYMjWLecxVh)tebYKj0I4aJU2GG7D)Wg2GsUhFQNwzYg2CVqFydBgmaqNMnS5J4Ut(jaSguD9(99Wx8(6fVV(HnSbLCpiGukzdBUh(temRSzcCjHW17X)Wg2GsUhFQNwzYg2CV7h2WMbda0PzdB(iU7KFcaRbvxVF)rC3j)Ge0(qzlaOfz98dsxGnQ6wP899Wx8(6h2WguY9GasPKnS5E4prWSYwMiGGCHLmHjaPm7OAlanzZeMG7wHdlycUBfoSGj4Uv4WcMG7wHdlycUBfoSGj4HU4fmb3TchwWeC3kCybtWDRWHfmb3TchwWeC3kCybtWdDXlycUBfoSGj4Uv4WcMG7wHdlycUBfoSGj4Uv4WcMGh6IxWeC3kCybtWDRWHfmb3TchwWeC3kCybtWDRWHfmbp0fVGj4Uv4WcMG7wHdlycUBfoSGj4Uv4WcMG7wHdlys1fhwO7X)Wg2myaGonByZhXDN8taynO669N4tN023x)iU7KF0qvvNptNokRGfwdQU(eeaOkayV)(9hXDN8dsq7dLTaGwK1ZpOAL94K5M3V)GKfYca1BkBbaTiRNYl((97pJtIHeO5E8pqOsBPdqaGvEX3FuMzBHgBBV4hi9u3rhCv6pc3TJujejcYilr4IglcXwras7ge6iSd02GBIchggUubdV(r0QNRw(r5rLjOQHbmdsq9tacAHvb(OGIIzAHudeeHWOqicHrHXa6iOssbDPVcONo2sHq3h6Kr5OCcibvx3Jhwc(hLPDjWQJKvNaqOZvdQUUY)XBJo)OiwJn6qPseD6dLOd5GsAPBSOacxjTL(uSI4gZFuUfAQayjQQr7yBlYG6G9(v(pq6PUZNkc3Qb0HcidKhI0f6vqrXSwGSqQqmqqUYei6VvJPqTqVyvrSQKHicsH4imCRgqhkGmqEigBiHTqkq3w6vwAPhDwbuesqHYGc2cDANwugqaTqiHu4GdgH0QviPTAvPVv7qqAPhDwPwryWGfcDOUCAb60Azce9vu(ybvOzR2PmuavqnTXP8kkBzvqrLRmbcX0QviPTAvPVv7qqAPhDwPuryWGfcDOUCAb60Azce93sbqrTuonAlKn2Od5HqOaXqFzce93QXuOwOxSQO8XcQqZwkoMuavqnTXP8qKULFlfhtkkBzvqrLJdoCeQi2Xe6ioUBHIXbI0f6vEOWmOd1LBlfOKvqpitzce9vavqnTXP80P0t7vu2YQGIkNc6sh0I4aJU2GGYeieRi2Xe6ioUBHIXbI0f6PvRqoLhkmd6qD52sbkzf0dYuMarFis3YRGU0bTioWORniGdoxeQiUAvrC1kePl0tlKguQfehNYei6tRsJEAHo0EAH0GsTG44OiUXScnk2qebHko4ecHqKULxbDP)wLgIrxPPevOXuKcncYQfnGo2sHXrHgqbquPhlB1EOJdUsHqfqfutBCkVIYwwfuu50sCcScilKFlfhtB1k92QXXvHgfBiIGq1NXjXqc0Cp(hrOaQ3dhkuO7hOjrZkqVVV((97F

测试结果:

(, 下载次数: 3)
[/collapse]

[collapse=一键MW宏]下面我们再来第二个案例:

案例需求:
1.将前进+猛禽,后退+猛禽集成到一个键上,按一下前进+猛禽;按两下后退+猛禽,按3下停住后退并翻页到第一页

上述需求比较简单,基本就是把MW的W、S以及猛禽宏绑定到同一个按键上,不过仍然需要通过按3下GSE宏+1次起手宏才能重新切换到远程攻击姿态

下面开始写宏了

第一步,新建宏后输入基本信息和序列名

(, 下载次数: 3)


第二步,选择版本(一般默认为版本1,如果需新增版本,点击后面的新即可,新的版本会把当前版本的序列内容复制过去,然后再修改)

(, 下载次数: 3)


PS:下面的选框代表按下该宏时是否同时使用饰品/装备,如果不需要使用,请取消勾选(不过退出战斗重置宏不要取消勾选,否则退出战斗后宏会停留在最后一次点击时候的块上,不会重置)

(, 下载次数: 4)


第三步,设置对应的变量

目前根据需求,一共需要2个变量:关闭自动攻击/射击,隐藏控制板;去掉告警文字信息

(, 下载次数: 2)


第四步,设置主体循环+插入重复性语句变量

根据需求,只需要在最外层循环中依次插入三个Action块就能实现该功能:1.前进+猛禽;2.后退+猛禽;3停止后退+翻页到第一页。
同时,将重复性语句插入块主体的前后。

(, 下载次数: 4)


第五步,创建图标

跟之前一样,宏编写完成后,保存然后退出序列,在GSE主界面选中该宏,点击创建图标,这时候会生成一个默认的问号图标。如果需要修改图标,则需要按ESC进入宏命令设置里面后进入角色专属宏,然后选中GSE宏同名的宏,点击修改图标

2.此时有了新的需求,要求在不影响第一页技能排列的情况下,要满足按2下GSE宏能翻页到第3页,在第三页有两个普通宏,其中一个放在跟翻页稳固宏同位置(暂定为宏1),另一个放在跟猛禽宏一个按键位置(暂定为宏2)。要求在第三页的时候,如果按宏1,则跳转回第一页并停止后退;如果按宏2,则停止后退,并直接翻页到第二页开始循环。

根据设计需求,下面新建一个版本,开始针对需求重新设计宏:
1.我们把之前版本的第三步取消掉
2.在第二个Action中加入翻到第三页的命令

(, 下载次数: 3)


3.由于需要在第三页搭配两个普通宏,下面我根据需求,把两个普通宏放这里:

第三页宏1:
#showtooltip 自动射击
/run if not MovePadFrame then UIParentLoadAddOn"Blizzard_MovePad"MovePadFrame:Hide()end
/click MovePadBackward
/cast [nopet,@pet,nodead]召唤宠物
/cast !自动射击
/cast 稳固射击
/changeactionbar 2

第三页宏2:
#showtooltip 杀戮命令
/run if not MovePadFrame then UIParentLoadAddOn"Blizzard_MovePad"MovePadFrame:Hide()end
/click MovePadBackward
/cast [nopet,@pet,nodead]召唤宠物
/cast [@pettarget,exists] 杀戮命令
/changeactionbar 1

3.这时候可能有些人觉得后退距离太难掌握了,要是能猛按直接退回原位,并且自动进入远程循环就好了。根据这个需求,由于前进速度与后退速度的不一致,因此我们就需要用到Pause块来调整后退的距离(Pause的原理可以看之前的块功能介绍)。

根据设计需求,继续新建一个版本,开始针对需求重新设计宏:

首先,在这里需要注意,我们需要首先在设置里面设一个基准的延迟值,不然Pause的延迟功能不能生效。我一般默认写20

(, 下载次数: 2)


然后,我们开始宏主体的修改:
1.需要在前进和后退间插入一个间隔来控制前进距离:由于前进速度比后退快,所以前进与后退的间隔比后退与停止的间隔小,考虑到按键本来就有100ms左右的间隔,因此理论上插入的Pause直接设置为一个空的点击就行了。此外,为了避免空刀,可以将一个空点击改为一个Action块,里面加入/cast 猛禽一击。

(, 下载次数: 3)


2.需要在后退和停止间插入一个间隔来控制后退距离:由于后退速度比前进慢,所以后退除了考虑点击自身100ms左右的延迟的基础上,还应该设置一个N ms的Pause,我根据自己的习惯,设置的是40,基本能做到狂按回退到同一个位置(如果感觉后退距离长了,请减小该数值;如果感觉后退距离短了,请加大该数值)

(, 下载次数: 3)


3.第三页同样需要搭配两个普通宏,但是跟据需求,需要进行一定修改,我把两个普通宏放这里:

第三页宏1:
#showtooltip 稳固射击
/cast [nopet,@pet,nodead]召唤宠物
/cast 稳固射击
/changeactionbar 2

第三页宏2:
#showtooltip 自动射击
/cast [nopet,@pet,nodead]召唤宠物
/castsequence reset=target/combat/2 !自动射击,X

[size=120%]PS:若需要宏响应速度更快,请将按键弹起触发改为按下触发

GSE代码:

dSy9maGiQKgfi0Par9kuv0SOs1UOc5xsQHjjDmvvltP8mkY0ucxtPkBJsL(giX4uQQY6ij6Eksu)Jamquf1bvfwOqPhQkzIOkPlsaTrQu(ifvzKks6KurTsufXlPkntscUPIyNk8tfPmuKYsjkEkktvixLazRuqFvrI8wkQQ7sPO2l0FPcmyL0HvzXQs9yKmzk5YsTzQi(mfLrlkCAs8AHQzlHBtuA3e63OYWjQwUGNlY0bUUQOTds9DqKXtPiNhrwpvKMpc7NudiP6aPQIfusQhKQetOsHUqQs1gsvL(WsvvnILOtSuzfvuPxusXmsu3ieSJcQFmumKqshPKqlzPQINSuvPPusPTurfFjvbDMuLYAwu6nJsZPi5olsypLK8Nuvyqvk1HkPArPkstArQUuQkztvj(uQcmQuv1QwumRrv3kvLAxlQ(1svzyfOowLs6zPkKPvPexRi12Qc13QuW4kIZvPkRRsfVRcmVQI7nj2xvq)Bu0cRuvpovHAYt0Ld1Mxv(Cv1OliNUc97rLXFmch)iRucDJQDUp5S(UurOLQchByeYIUIweKqMaCxaUla3fG7cWDb4Uaq2JNGm4citqIXf5GKOE9XtqgCbKzEmbAyhskCI4WuvOyczcu0jCbQ(fNSYpW9wPqbqcJfzQWLacsU1bAlKTvDBRQD)R(B6FBVQilAAVWXw19QUaztoQaxcJWXpgHmdVGY9UOtyeY82KKPl6l1yeo(rwn1La232MpplVbGlywdCVTjLeizZ232Ftb9VLZHvXkLgmDCSHS6evqroqVkiNfyiWfsUfozBv(QOVaeHmcqM3MeTqNsyeo(rwD4POE9LdEz4fCeRbVm8cq017jGtMt0S26fNSVpGRUxfY4ydz1HNI6vfNOxf5a61jCq30ol3cNSTEfKrlQxfKZ0UqlcubUZ6HL10eDn2cfN60ly5GjCq30olxNWbDt7SClCY2QCQkwneHClAHaeGShuafoXegHJFmch)ittOj82KOf6ustOjWXgYQtao5uxcOiAgomHSAQcfQ461jCq30ol34cq6cw4ybYQPUeqVUbLQ)lWXEiRobUa4aGJkooSlY0eAcVnjz6I(sTMqtGSisYBK9GcOWjIaCSHr44hzAcnH3MeTqNsAcnbo2qwn1La61nOu9FbomHS6e4cGdaoQ44ybYQPkuOIRxNWbDt7SI9OIdPlyHJ9qMMqt4Tjjtx0xQ1eAcKfrsEJShuaforeGdtyeo(rMMqt4Tjrl0PKMqtGJnKvtvOqfxVoHd6M2zf7rfhsxWchMqwnvgNOz9rbu4eFFb96powGmnHMWBtsMUOVuRj0eilIK8gzpOakCIiabiZzX3pvkagEbL7DrNWieGaCSHriZWlOCVl6egHmVnjz6I(sngHJFKvtDjG9TT5ZZYBa4cM1a3BBsjbs2S9T93uq)B5CyvSsPbthhBiRorfuKd0RcYzbgcCHKBHt2wLVk6lariJaK5Tjrl0PegHJFKvhEkQxF5GxgEbhXAWldVaeD9Ec4K5enRTEXj77d4Q7vHmo2qwD4POEvXj6vroGEDch0nTZYTWjBRxbz0I6vb5mTl0IavG7SEyznnrxJTqXPo9cwoych0nTZY1jCq30ol3cNSTkNQIvdri3Iwiabi7bfqHtmHr44hJWXpY0eAcVnjAHoL0eAcCSHS6eGto1LakIMHdtiRMQqHkUEDch0nTZYnUaKUGfowGSAQlb0RBqP6)cCShYQtGlaoa4OIJd7ImnHMWBtsMUOVuRj0eilIK8gzpOakCIiahByeo(rMMqt4Tjrl0PKMqtGJnKvtDjGEDdkv)xGdtiRobUa4aGJkoowGSAQcfQ461jCq30oRypQ4q6cw4ypKvtLXjAwFuafoX3xqVAch2fzAcnH3MKmDrFPwtOjqwej5nYEqbu4eracqMZIVFQuam8ck37IoHriab4WegHmdVGY9UOtyeY82KKPl6l1yeo(rwn1La232MpplVbGlywdCVTjLeizZ232Ftb9VLZHvXkLgmDCSHS6evqroqVkiNfyiWfsUfozBv(QOVaeHmcqM3MeTqNsyeo(rwD4POE9LdEz4fCeRbVm8cq017jGtMt0S26fNSVpGRUxfY4ydz1HNI6vfNOxf5a61jCq30ol3cNSTEfKrlQxfKZ0UqlcubUZ6HL10eDn2cfN60ly5GjCq30olxNWbDt7SClCY2QCQkwneHClAHaeGShuafoXegHJFmch)ittOj82KOf6ustOjWXgYQtao5uxcOiAgomHSAQcfQ461jCq30ol34cq6cw4ybYQPUeqVUbLQ)lWXEiRobUa4aGJkooSlY0eAcVnjz6I(sTMqtGSisYBK9GcOWjIaCSHr44hzAcnH3MeTqNsAcnbo2qwn1La61nOu9FbomHS6e4cGdaoQ44ybY0eAcVnjz6I(sTMqtGSisYBK9GcOWjIaCycJWXpY0eAcVnjAHoL0eAcCSHSAQlb0RBqP6)cCycz1jWfahaCuXXXcKvtvOqfxVoHd6M2zf7rfhsxWch7HmnHMWBtsMUOVuRj0eilIK8gzpOakCIiahlWiKnHHJfvrwej5nYODptncWXEyeo(rMMqt4Tjrl0PKMqtGJnKvtvOqfxVoHd6M2zf7rfhsxWchMqwnvgNOz9rbu4eFFb9QjCSazAcnH3MKmDrFPwtOjqwej5nYEqbu4eracqMZIVFQuam8ck37IoHriabiazm5nLZ8komHSPuFXF8mCjmcbiBsdoE9ahgHSP2fYlueJJSmaa5jvwx)(DYrIMDoIsSo0NLJKNHCbauSMYM222S7(Z0pYIUIweKqwPbg8zJXGShpbzWfqgSGJXOT6P0EMtP9mhE23aBbwczy74YN5SpKzEmbAyhskCI4WuvOycztoXNxHZIGoaDlcu4eXyrgV2o5EwaWHjKnozBKvkHUr1o3NCwFxQi0svHSP2fYrM)ULFsL)pNNzHfm)cVdccLzw(0NCwFxQKZdzyOkSr605tFYz9DPIXS873sOcVuWLsOxkzgJQDEPeZnNhYFK3vkHEPe1aVdccLzw(0NCwFxQKZt2pY7kLm9sjQbgQcBKoD(0NCwFxQKZd5pY7mvkrnW8JuLvIbgQcBKoDy75y)mnWO6sdVuW(5ZxkHUr1LwZt83T8tQ8B58mlSu8VuceGRyRW7xi4NpFPe6gvx6pZLUq8sLpH3pWl5H(ZAJF8cVdZVsxkrn58q(J8UTsjQX8yceEEmcXlv8Z0aJQln8sb7NpVjJQlDopKHLI)(5ZxkzNr1L(tQDLsMEPKz(4T5gPpl88yY5HmmV74sj8DPe6LsM5tToewk(lKnWh(zAGr1L2N)8i4S2bEEmWqLCzfi4xzEopl)Mv1WZNTuIDGNhZFop7Y5HmCmUukHEPKz(uRdHLI)czd8Hp5S(UubEEmLsOxkzMpY7mQ25LvGGFL558S8BwvdpF2sj2bEEmB58SJhtx1c5c)8zRQgwk(7NpFPKDgvxA)zTXpEOJHPZB58qg2fv)PkP(iVdEEm)58qgEjVjKnWJeQsE4SQYpF(sj0nQU0W2ZXW8JuF8npfgQcBKo9CEYc7IQ)uLuFK3bppMTCEidVK3G5hP(4BEkmuf2iD658qg2Eo2pRT8jmF5NPbgvxA4Lc2pF(s7q2O6sd7HompqnWoCgFH3hpMUQ18e)Dl)KkVPCEMviEPIp5SFK35N1w(eMVmsNoCwvblmFuwbc58q2iD6WzvfSW8rzfiadvH9Z0a4Lc2pF(sj7mQU0W2ZXLsuRq7)zGnx(luMzH5D(sOmLYN)Qb2HZ4l8(Y5jRqzMfM35lyhoJVW7dgQcdZVq4J8UF)mnWO6sdVuW(5ZxAhYgvxAFd4b(gW3WoCgFH3hYyYBkN5vCyczrt7fo2QUx1fitGIoHlq1V4Kv(bU3kfkasySiabiara
[/collapse]
作者: 一网湖水沧    时间: 2024-8-6 19:45
坐等wlk大放异彩
作者: 123457281    时间: 2024-8-6 19:54
坐等小鱼制作宏,完美导入就好
作者: 无奈的剑侠站    时间: 2024-8-6 19:59
鱼神666,前排占座。 学习一下
作者: 醉生三世生d    时间: 2024-8-6 20:06
建议说gse是挂的重新读一遍幼儿园语文。我用游戏自带255字符限制的宏是手打,我用wa是手打,用超过255字符限制并且汇总了wa功能的gse就是科技怪?这什么脑回路。看见个英文缩写就是挂是吧
作者: 安夕萌mdj    时间: 2024-8-6 20:09
期待教程
作者: 街充骨万怎    时间: 2024-8-6 20:18
输出从循环变成技能优先级的情况下,期待wlk版本的hekill插件,或者说gse是不是就能实现?
作者: Abraham30    时间: 2024-8-6 20:28
火前留名,好好学一下
作者: 确实是个孩子谥    时间: 2024-8-6 20:30
这些是不是就是JJC 科技挂的源头 都自己编的,过来碾压不会的普通老百姓玩家
作者: 穿雨捶    时间: 2024-8-6 20:38
如果可以还是手动的好,除非全程不动的木桩
作者: mbmwhfyn615732    时间: 2024-8-6 20:45
你想多了 还学啥 学导入就行
作者: 韭菜555    时间: 2024-8-6 20:50
哇哇。先哇后看
作者: 樱花283    时间: 2024-8-6 20:59
楼主有心,这年头找个GSE、WA基础教程真是太难了,百度到的全是垃圾,前几天有人做了WA的,你再做个GSE的都收藏了。
说GSE违规的,绝对是脑残,可能是拍被别人超越失去优越感吧,TBC的宏框架和正式服基本一样的相比当年能实现很多功能,GSE只是起到简化操作的作用,如果有精力愿意付出还是手动略胜一筹。
作者: 醉生三世生d    时间: 2024-8-6 21:02
最好这游戏取消能过分简化操作的一些东西。。
作者: 没想爱上你堑    时间: 2024-8-6 21:08
楼主好人
作者: 不好吃荤漳    时间: 2024-8-6 21:14
期待大佬的讲解,先保存。
作者: luly靓    时间: 2024-8-6 21:19
期待中
作者: jiaguangqin    时间: 2024-8-6 21:26
hxlm,zsmd
作者: wzyu638116    时间: 2024-8-6 21:33
你做就好了,我们用
作者: Jacqueline季    时间: 2024-8-6 21:37
插眼 等更新!!




欢迎光临 魔兽世界玩家社区APP官网 (https://huaijiufu.com/) Powered by Discuz! X3.5