1. @语句
很多系统指令 (如疗伤: liaoshang) 执行后需要一定时间才会结束;后续指令需要等待其运行结束再调用才能正常运行。
为此,可以设置等待时间,也可以采取各种手段来判断指令是否结束,以便执行后续指令。
@语句 以 @ 开头,是 wsmud_raid 提供的便捷语句。
它包含了判断指令是否结束的逻辑,直至指令执行结束才会执行它后续的语句。
目前,提供以下 @语句,后续会根据需求添加 (如有需求可在下方跟帖):
1). @kill 敌人名字1,敌人名字2,…
直至杀死指定名字、数量的敌人,该语句执行完毕。
@kill 管家,家丁,家丁
默认使用模糊查找,若在敌人名字后面添加 %
表示进行精确查找,敌人名字必须完全吻合指定的名字。
@kill 日月神教前辈长老 曲洋%,曲非烟
亦可找到 ”日月神教前辈长老 曲洋” 和 “古灵精怪 曲非烟“ 并进行击杀。
2). @until 条件
等待,直到条件满足,该语句执行完毕。
@until (:room)==扬州城-广场
go north
3). @cd
等待所有技能冷却结束,该语句执行完毕。
此外,可以等待指定技能的 cd,或等待除了指定技能外其他技能的 cd。
使用技能的 sid 指定技能,多个技能用 ,
连接。
等待指定技能的 cd
// 等待 缠字诀 和 三阴毒爪 的 cd
@cd sword.chan,unarmed.san
等待除了指定技能外其他技能的 cd
// 等待除了 真武除邪 和 一气化三清 以外所有技能的 cd
@cd ^force.chu,force.san
4). @liaoshang
5). @dazuo
10). @renew
7). @eq 装备id1,装备id2
穿戴指定装备,直至成功,该语句执行完毕。
备注:因为装备穿戴存在冷却 cd,所以直接调用 eq 装备id
未必能够穿戴成功。
8). @tip 关键文字
直至出现包含 关键文字 的系统提示,该语句执行完毕。
该语句中,可以截取部分信息、定义变量并用截取部分初始化,例如:
@tip 你数了下大概有($number)朵花
备注:@tip 语句的上一条(非守护)语句 刚刚被执行的时刻起产生的系统提示,才在被搜索的范围内。
另外,@tip 后面允许多个条件,请用 |
分隔,例如:@tip 你不会撬锁|钥匙($open)了秘门
9). @tidyBag
10). @cleanBag
11). @shimen
当 wsmud_pluginss 中打开师门自动放弃时,可使用该语句做师门任务,直至完成,该语句执行完毕。
12). @dialog
执行打开列表面板的系统命令后,需要调用此命令以等待列表面板的确实打开,之后再使用 id 占位符。
// 打开当铺老板售卖列表
select {r唐楠};list {r唐楠}
@dialog
buy 1 {d引气丹g} from {r唐楠}
13). @print
打印后面的内容,例如:
@print Hello World!
14). @call
调用其他的流程,格式为:@call 流程名称 参数0,参数1,...
例如:@call 武道塔 74,85
在名为“武道塔”的流程中,可以用 (arg0)
、(arg1)
来使用 @call
传来的参数,如上调用则:(arg0) 的值为 74,(arg1) 的值为 85。
使用 @call
会自动忽略被调用流程的 #语句。如何兼容两种模式可以参考本版块的已发布代码。
目前 @call
不支持嵌套调用,即被调用的流程中不能含有 @call
语句,后续视需求决定是否支持。