API
释放技能类
/cast
完整语法:/cast [condition] (skill_id, skill_lv)/skill_name
以保护模式 (即倒技能释放时不会被打断) 释放指定技能
| 名称 | 说明 |
|---|---|
| skill_id | 技能ID |
| skill_lv | 技能等级 |
| skill_name | 技能名称 |
conditon为可选条件类
示例:
- 通过保护模式,指定技能名称释放技能 逐云寒蕊:
/cast 逐云寒蕊- 通过保护模式释放技能 “徵” (技能ID为14067,技能等级25):
/cast (14067 25)- 在有buff:(1908 1)且气点大于6通过保护模式释放技能1:
/cast [buff:(1908 1) & qidian>6] 技能1
/fcast
完整语法:/fcast [condition1&condition2&...] (skill_id, skill_lv)/skill_name
以非保护模式释放指定技能
| 名称 | 说明 |
|---|---|
| skill_id | 技能ID |
| skill_lv | 技能等级 |
| skill_name | 技能名称 |
conditon为可选条件类
模式一(初始模式)
以非保护模式释放技能(即释放倒读条技能时可以被其他任何技能打断)
示例:
假设技能2是倒读条技能,技能1是非读条技能 在当前选中目标血量小于50%释放技能1和2,并且让1可以强制打断2读条:
/cast [thealth<50] 技能1 /fcast [thealth<50] 技能2
模式二
在模式二下,fcast可用于在运功状态时施放其他招式
要使用模式二,需要先在宏文件头部定义:
/set [script_template:dps_new] /set [fcast_logic:true]示例:
假设技能2是非读条技能且不占gcd,技能1是读条技能
在当前选中目标血量小于50%释放技能1和2:
/set [script_template:dps_new] /set [fcast_logic:true] /fcast [thealth<50] 技能2 /cast [thealth<50] 技能1假设技能2是倒读条技能,技能1是非读条技能。
在当前选中目标血量小于50%释放技能1和2,并且让1可以强制打断2读条:
/set [script_template:dps_new] /set [fcast_logic:true] /fcast [thealth<50] 技能1 /cast [thealth<50] 技能2
/castxyz
完整语法:/castxyz [condition] (skill_id, skill_lv)/skill_name
以保护模式释放坐标指向性(即释放需要释放位置)的指定技能
| 名称 | 说明 |
|---|---|
| skill_id | 技能ID |
| skill_lv | 技能等级 |
| skill_name | 技能名称 |
conditon为可选条件类
PS: contion中必须包含skillpos条件
示例:
在自身位置释放技能1
/castsyz [skill_pos:self] 技能1
/fcastxyz
完整语法:/fcastxyz [condition] (skill_id, skill_lv)/skill_name
以非保护模式释放坐标指向性(即释放需要释放位置)的指定技能
| 名称 | 说明 |
|---|---|
| skill_id | 技能ID |
| skill_lv | 技能等级 |
| skill_name | 技能名称 |
conditon为可选条件类
PS: contion中必须包含skillpos条件
示例:
在自身位置释放技能1
/fcastsyz [skill_pos:self] 技能1
/npccast
完整语法:/npccast [condition] (skill_id, skill_lv)/skill_name
让友方NPC通过保护模式释放指定技能
| 名称 | 说明 |
|---|---|
| skill_id | 技能ID |
| skill_lv | 技能等级 |
| skill_name | 技能名称 |
conditon为可选条件类
示例:
让名为小明的npc通过保护模式释放技能1:
/npccast [name:小明] 技能1
/npcfcast
完整语法:/npcfcast [condition] (skill_id, skill_lv)/skill_name
让友方NPC通过非保护模式释放指定技能
| 名称 | 说明 |
|---|---|
| skill_id | 技能ID |
| skill_lv | 技能等级 |
| skill_name | 技能名称 |
conditon为可选条件类
示例:
让名为小明的npc通过非保护模式释放技能1:
/npcfcast [name:小明] 技能1
宏设置类
[script_template:dps_new]
设定当前宏的运行模式
可用取值
取值 效果 默认值 heal 在宏的一行语句运行成功后,回到宏的起始部分运行 ❌ dps 在宏的一行语句运行成功后,依然向下继续运行 ❌ dps_new 在宏的一行语句运行成功后,依然向下继续运行 ❌ tank 在宏的一行语句运行成功后,依然向下继续运行 ❌
[script_logic:new]
设定当前宏的运行模式
可用取值
取值 效果 默认值 new 在宏的一行语句运行成功后,回到宏的起始部分运行 ❌ old 在宏的一行语句运行成功后,依然向下继续运行 ✅ 两种运行模式的不同可见下方图解
[script_logic:new]
设定当前宏的运行模式
可用取值
取值 效果 默认值 new 在宏的一行语句运行成功后,回到宏的起始部分运行 ❌ old 在宏的一行语句运行成功后,依然向下继续运行 ✅ 两种运行模式的不同可见下方图解
工具类
/var
场景一:在当前宏中声明一个自定义名称的初始变量
/var [definevar:customname=value]
场景二:更改一个自定义名称变量的值
/var [set:customname=value]
| 名称 | 说明 |
|---|---|
| customname | 自定义变量名称(仅支持英文变量名) |
| value | 变量的值 (可使用的数据类型) |
变量值可使用的数据类型
| 类型 | 说明 |
|---|---|
| boolean | 布尔值 真:true 假:false |
| integer | 整数 |
场景一二多为联动使用,详见下面的示例
示例:
声明一个名称为
qs(起手循环的缩写)的初始变量值为false/var [definevar:qs=false]声明一个自定义变量:
qs为false当变量
qs为false最后一个技能释放的技能是(1 1)时,使变量值qs改变为true当变量
qs为true且最后一个技能释放的技能是(2 2),使变量值qs改变为false/var [definevar:qs=false] /if [last_skill=(1 1) & qs=false] /var [set:qs=true] /end /if [last_skill=(2 2) & qs=true] /var [set:qs=false] /endPS: 当前示例中
/if和last_skill的详细说明可点击对应文字查看
场景三:衍生用法,在当前语句执行结束后更改一个变量的值
/... <setvar:customname=value>
示例:
当自身拥有buff(1 1)时释放技能1,且释放技能1后变量test改变为true
/cast [buff:(1 1)] 技能1 <setvar:test=true>
/timer
/timer [register:customname]
创建一个自定义名称的计时器
示例:
设定一个名为test的倒计时器
/timer [register:test]
计时器可以作为条件写入语句,例如:
/cast [timer:test=0] 技能1
/if /else /elseif /end
/if [condition]
/...
/end
/if和/end需要成对出现
当/if或/elseif后的条件满足时,运行中间的命令
示例:
当自身拥有
buff(1 1)且拥有buff(2 2),
且自身技能(3 3)cd小于15释放技能1,自身有buff(4 4)时释放技能2/if [buff:(1 1) & buff:(2 2)] /cast [cd:(3 3)<15] 技能1 /cast [buff:(4 4)] 技能2 /end声明一个自定义变量:
qs为false
当变量qs为false最后一个技能释放的技能是(1 1)时,使变量值qs改变为true
当变量qs为true且最后一个技能释放的技能是(2 2),使变量值qs改变为false
以上所有条件均不满足时,则释放技能(1 1)/var [definevar:qs=false] /if [last_skill=(1 1) & qs=false] /var [set:qs=true] /elseif [last_skill=(2 2) & qs=true] /var [set:qs=false] /else /cast (1 1) /end
条件类
逻辑判断连接符
本工具可用的逻辑判断连接符:
| 名称 | 说明 |
|---|---|
| & | 符号前和符号后的条件必须同时成立才会执行 |
| | | 符号前或符号后的条件任意一个成立就会执行 |
示例:
若需要条件A与条件B同时成立才释放技能1
/cast [A & B] 技能1
若需要条件A与条件B任意一个成立就释放技能1
/cast [A | B] 技能1
逻辑运算符
本工具可用的逻辑运算符有
| 名称 | 说明 |
|---|---|
| > | 大于 |
| < | 小于 |
| >= | 大于等于 |
| <= | 小于等于 |
| = | 等于 |
| != | 不等于 |
PS:不能逻辑运算两个变量,如明教不能写moon<sun
目标有BUFF (来源为自身) tbuff
tbuff : (buff_id, buff_lv)
| 名称 | 说明 |
|---|---|
| buff_id | BUFFID |
| buff_lv | BUFF等级 |
当前目标有指定buff(来自于自己的)
示例:
当前目标有buff(1,1)时释放技能1
/cast [tbuff:(1 1)] 技能1
目标有BUFF (所有来源) tbuffall
tbuffall : (buff_id, buff_lv)
| 名称 | 说明 |
|---|---|
| buff_id | BUFFID |
| buff_lv | BUFF等级 |
当前目标有指定buff(来自于所有的)
示例:
当前目标有buff(1,1)时释放技能1
/cast [buff:(1 1)] 技能1
目标无BUFF (来源为自身) !tbuff / tnonbuff
!tbuff : (buff_id, buff_lv)
| 名称 | 说明 |
|---|---|
| buff_id | BUFFID |
| buff_lv | BUFF等级 |
!tbuff含义与tnobuff相同
当前目标没有指定buff(来自于自己的)
示例:
当前目标没有buff(1,1)时释放技能1
/cast [!tbuff:(1 1)] 技能1
目标无BUFF (所有来源) !tbuffall / tnonbuffall
!tbuffall : (buff_id, buff_lv)
| 名称 | 说明 |
|---|---|
| buff_id | BUFFID |
| buff_lv | BUFF等级 |
!tbuffall含义与tnobuffall相同
当前目标没有指定buff(来自于所有的)
示例:
当前目标没有buff(1,1)时释放技能1
/cast [!tbuffall:(1 1)] 技能1
目标BUFF时间 (来源为自身) tbufftime
tbufftime:(buff_id buff_lv) [operator] value
| 名称 | 说明 |
|---|---|
| buff_id | BUFFID |
| buff_lv | BUFF等级 |
| operator | 逻辑运算符 |
| value | 剩余时间(可为浮点数) |
目标身上指定buff的剩余时间(来自于自己的)
示例:
当前目标身上id为1,等级为1的buff剩余时间小于1.2s时释放技能1
/cast [tbufftime:(1 1)<1.2] 技能1
目标BUFF时间 (所有来源) tbufftimeall
tbufftimeall:(buff_id buff_lv) [operator] value
| 名称 | 说明 |
|---|---|
| buff_id | BUFFID |
| buff_lv | BUFF等级 |
| operator | 逻辑运算符 |
| value | 剩余时间(可为浮点数) |
目标身上指定buff的剩余时间(来自于所有的)
示例:
当前目标身上id为1,等级为1的buff剩余时间小于1.2s时释放技能1
/cast [tbufftimeall:(1 1)<1.2] 技能1
目标BUFF层数 (来源为自身) tbuffcount
tbuffcount:(buff_id buff_lv) [operator] value
| 名称 | 说明 |
|---|---|
| buff_id | BUFFID |
| buff_lv | BUFF等级 |
| operator | 逻辑运算符 |
| value | BUFF堆叠层数 |
目标身上指定buff的剩余堆叠数量(来自于自己的)
示例:
自身角色id为1, 等级为1的技能剩余堆叠数量小于1时释放技能1:
/cast [tbuffcount:(1 1)<1] 技能1
目标BUFF层数 (所有来源) tbuffcountall
tbuffcountall:(buff_id buff_lv) [operator] value
| 名称 | 说明 |
|---|---|
| buff_id | BUFFID |
| buff_lv | BUFF等级 |
| operator | 逻辑运算符 |
| value | BUFF堆叠层数 |
目标身上指定buff的剩余堆叠数量(来自于所有的)
示例:
自身角色id为1, 等级为1的技能剩余堆叠数量小于1时释放技能1:
/cast [tbuffcountall:(1 1)<1] 技能1
自身有BUFF (来源为自身) buff
buff : (buff_id, buff_lv)
| 名称 | 说明 |
|---|---|
| buff_id | BUFFID |
| buff_lv | BUFF等级 |
当前自身有指定buff(来自于自己的)
示例:
当前自身有buff(1,1)时释放技能1
/cast [buff:(1 1)] 技能1
自身有BUFF (所有来源) buffall
buffall : (buff_id, buff_lv)
| 名称 | 说明 |
|---|---|
| buff_id | BUFFID |
| buff_lv | BUFF等级 |
当前自身有指定buff(来自于所有的)
示例:
当前自身有buff(1,1)时释放技能1
/cast [buffall:(1 1)] 技能1
自身无BUFF (来源为自身) !buff / nobuff
!buff : (buff_id, buff_lv)
| 名称 | 说明 |
|---|---|
| buff_id | BUFFID |
| buff_lv | BUFF等级 |
当前自身没有指定buff(来自于自己的)
示例:
当前自身没有buff(1,1)时释放技能1
/cast [!buff:(1 1)] 技能1
自身无BUFF (所有来源) !buffall / nobuffall
!buffall : (buff_id, buff_lv)
| 名称 | 说明 |
|---|---|
| buff_id | BUFFID |
| buff_lv | BUFF等级 |
当前自身没有指定buff(来自于所有的)
示例:
当前自身没有buff(1,1)时释放技能1
/cast [!buffall:(1 1)] 技能1
自身BUFF时间 (来源为自身) bufftime
bufftime:(buff_id buff_lv) [operator] value
| 名称 | 说明 |
|---|---|
| buff_id | BUFFID |
| buff_lv | BUFF等级 |
| operator | 逻辑运算符 |
| value | 剩余时间(可为浮点数) |
自身角色指定buff的剩余时间(来自于自己的)
示例:
同tbufftime
自身BUFF时间 (所有来源) bufftimeall
bufftimeall:(buff_id buff_lv) [operator] value
| 名称 | 说明 |
|---|---|
| buff_id | BUFFID |
| buff_lv | BUFF等级 |
| operator | 逻辑运算符 |
| value | 剩余时间(可为浮点数) |
自身角色指定buff的剩余时间(来自于所有的)
示例:
同tbufftimeall
自身BUFF层数 (来源为自身) buffcount
buffcount:(buff_id buff_lv) [operator] value
| 名称 | 说明 |
|---|---|
| buff_id | BUFFID |
| buff_lv | BUFF等级 |
| operator | 逻辑运算符 |
| value | BUFF堆叠数量 |
自身角色指定技能的剩余堆叠数量(来自于自己的)
示例:
自身id为1, 等级为1的buff剩余堆叠数量小于2时释放技能1:
/cast [buffcount:(1 1)<1] 技能1
自身BUFF层数 (所有来源) buffcountall
buffcountall:(buff_id buff_lv) [operator] value
| 名称 | 说明 |
|---|---|
| buff_id | BUFFID |
| buff_lv | BUFF等级 |
| operator | 逻辑运算符 |
| value | BUFF堆叠数量 |
自身角色指定技能的剩余堆叠数量(来自于所有的)
示例:
自身buff id为1, 等级为1的buff剩余堆叠数量小于2时释放技能1
/cast [buffcountall:(1 1)<1] 技能1
自身生命值百分比 health
health [operator] value
| 名称 | 说明 |
|---|---|
| operator | 逻辑运算符 |
| value | 百分比数值 |
自身角色当前生命值百分比
示例:
自身生命值小于 50% 时,释放技能1
/cast [health<50] 技能1
目标生命值百分比 thealth
thealth [operator] value
| 名称 | 说明 |
|---|---|
| operator | 逻辑运算符 |
| value | 百分比数值 |
目标当前生命值百分比
示例:
目标生命值小于 50% 时,释放技能1
/cast [thealth<50] 技能1
自身能量值 energy
energy [operator] value
| 名称 | 说明 |
|---|---|
| operator | 逻辑运算符 |
| value | 百分比数值 |
自身能量值(唐门)/双刀(竹雾体态)刀气值(霸刀)/挡格值(苍云)/锐意值(刀宗)/点染(花间)/醉意(怀旧服丐帮)
(数值上限参照各门派特殊能量条)
示例:
自身能量值小于 50% 时,释放技能1
/cast [energy<50] 技能1
自身气点 qidian
qidian [operator] value
| 名称 | 说明 |
|---|---|
| operator | 逻辑运算符 |
| value | 百分比数值 |
自身气点(纯阳)/禅那(少林)/剑舞值(七秀)
示例:
自身气点大于7时,释放技能1
/cast [qidian<7] 技能1
自身药性 yaoxing
yaoxing [operator] value
| 名称 | 说明 |
|---|---|
| operator | 逻辑运算符 |
| value | 百分比数值 |
自身的药性点数(范围:-5~5;-5为5点寒性;5为5点温性;0为中性)
示例:
自身药性小于-2时,释放技能1
/cast [yaoxing<-2] 技能1
自身日灵值/刀气值 sun
sun [operator] value
| 名称 | 说明 |
|---|---|
| operator | 逻辑运算符 |
| value | 百分比数值 |
自身日灵值(明教)/鞘刀(金屏体态)刀气值(霸刀) (数值上限参照各门派特殊能量条,特别的:日灵值>=100可以判断满日灵)
示例:
自身日灵值大于80时,释放技能1
/cast [sun>80] 技能1
自身月魂值 moon
moon [operator] value
| 名称 | 说明 |
|---|---|
| operator | 逻辑运算符 |
| value | 百分比数值 |
自身月魂值(明教)
示例:
自身月魂值大于80时,释放技能1
/cast [moon>80] 技能1自身月魂值大于日灵值释放技能1
/cast [moon>sun] 技能1
内力 mana
mana [operator] value
| 名称 | 说明 |
|---|---|
| operator | 逻辑运算符 |
| value | 百分比数值 |
自身角色当前的内力百分比
示例:
角色内力值小于50时释放技能1
/cast [mana<50] 技能1
移动状态 movestate
movestate [operator] value
| 名称 | 说明 |
|---|---|
| stand | 站立不动 |
| walk | 行走 |
| run | 奔跑 |
| jump | 跳跃(包括二段跳) |
| swim | 游泳 |
| swim_jump | 游泳时跳跃 |
| sit | 坐下 |
示例:
角色站立时释放技能1
/cast [movestate=stand] 技能1
自身拥有奇穴 talent
talent:(talent_id talent_lv)
| 名称 | 说明 |
|---|---|
| talent_id | 奇穴id |
| talent_lv | 奇穴等级 |
自身拥有指定的奇穴
示例:
当自身有奇穴(1 1)时释放技能1
/cast [talent:(1 1)] 技能1
自身没有奇穴 !talent
!talent:(talent_id talent_lv)
| 名称 | 说明 |
|---|---|
| talent_id | 奇穴id |
| talent_lv | 奇穴等级 |
自身没有指定的奇穴
示例:
当自身没有奇穴(1 1)时释放技能1
/cast [!talent:(1 1)] 技能1
自身是否进入战斗 fight
fight:true/false
| 名称 | 说明 |
|---|---|
| fight:true | 战斗中 |
| fight:false | 不在战斗中 |
自身是否进入战斗
示例:
自身进入战斗释放技能1
/cast [fight:true] 技能1
自身与目标距离 dist
dist [operator] value
| 名称 | 说明 |
|---|---|
| operator | 逻辑运算符 |
| value | 距离(单位:尺) |
当前目标与自身角色的距离
示例:
当前目标与角色距离小于20尺时释放技能1:
/cast [dist<20] 技能1
自身技能冷却时间 cd
cd:(skill_id skill_lv) [operator] value
| 名称 | 说明 |
|---|---|
| skill_id | 技能ID |
| skill_lv | 技能等级 |
| operator | 逻辑运算符 |
| value | 剩余时间 |
自身角色指定技能的剩余冷却时间
示例:
自身角色id为1, 等级为1的技能冷却时间小于1s时释放技能1
/cast [cd:(1 1)<1] 技能1
自身技能堆叠数量 skillcharge
skillcharge:(skill_id, skill_lv) [operator] value
| 名称 | 说明 |
|---|---|
| skill_id | 技能ID |
| skill_lv | 技能等级 |
| operator | 逻辑运算符 |
| value | 技能堆叠数量 |
自身角色指定技能堆叠数量
示例:
假设技能1的id为1,等级为1,在小于2层的时候释放技能2
/cast [skillcharge:(1 1)<2] 技能2
上一个释放的技能 last_skill
last_skill[operator]skill_id
| 名称 | 说明 |
|---|---|
| operator | 逻辑运算符,仅可用"=或!=" |
| skill_id | 技能ID |
宏命令最后一次释放技能的id(需开启record_skill)
示例:
宏命令最后一次释放的技能id为123时释放技能1
/set [record_skill:true]
/cast [last_skill=123] 技能1
PS:last_skil后只能跟技能id,不能加技能等级
当前读条技能的百分比 skill_progress
skill_progress:(skill_id skill_lv) [operator] value
| 名称 | 说明 |
|---|---|
| operator | 逻辑运算符 |
| value | 技能读条百分比 |
当前读条技能的释放百分比
示例:
id为1,等级为1的技能读条到20%时释放技能1
/cast [skill_progress:(1 1)=0.2] 技能1
技能释放位置 skillpos
skillpos:type
| 名称 | 说明 |
|---|---|
| type | target 当前目标位置,self 自身角色位置 |
配合/castxyz或/fcastxyz使用, 指定技能释放位置
示例:
见 /castxyz
监控类
/monitor
完整语法:/monotor [condition]
定义一个监控器,对团队中拥有指定条件的玩家目标进行监控筛选
conditon为条件类, 具体见下表
| 条件类 | 说明 | 是否必选 |
|---|---|---|
| monitor_template | 技能ID | ✅ |
| index | 监控编号 | ✅ |
| monitor_type | 监控类型 | ❌ |
| sorttype | 排序方式(升序排列或降序排列) 对 monitor_template中指定的属性排序*只在 monitor_template为health时有效*只在 monitor_type为character时有效 | ❌ |
monitor_template 选项
| 监控属性 | 说明 |
|---|---|
| health | 目标生命值 |
| allmember | 所有目标 |
monitor_type 选项
| 监控类型 | 说明 | 值类型 |
|---|---|---|
| count | 符合监控条件的目标数量 | 整数 |
| character | 符合监控条件的所有目标 | 目标列表 |
sorttype 选项
| 监控类型 | 说明 | 值类型 |
|---|---|---|
| count | 符合监控条件的目标数量 | 整数 |
| character | 符合监控条件的所有目标 | 目标列表 |
