作者hmml (hmml)
看板mud_sanc
标题[心得] Zmud 将各class中相同字串的触发整合为一个
时间Sat Oct 2 11:31:57 2010
减少triggers数量的方式,增加修减也不难。适用战斗开始与战斗结束两条触发,
因为指令并不复杂。
Pattern:□ □ □ 战 斗 [开] 始 □ □
Commands:
001 classlist="blood|blood2|8kwa|king|hole"
002 #var classopen ""
003
#forall @classlist {#var classopen %additem(%trigger(%i),@classopen)}
004 #case
%ismember(1,@classopen) {hi} {hello} {glare} {runaway} {dunno}
总共四行:
001:建立一个名为classlist的列表,把要用到的class名字全塞进去,用|隔开。
002:建立或清空一个名为classopen的Variable。
003:
先从绿色部份说明:
#forall @classlist {%i}:循序执行@classlist的内容,如照左方所写执行
,则会在视窗循序输出:
blood
blood2
8kwa
king
hole
黄色部份:
输出class的开关状态,0为关,1为开。套入绿色执行式成
#forall @classlist {#trigger(%i)}时,则会视窗循序输出:
0
1(假设目前blood2正在开启)
0
0
0
蓝色部份:
#var classopen %additem(%trigger(%i),@classopen)
%additem将%trigger(%i)的结果增加到@classopen的内容後方,但不会修改内容,
所以要加上#var classopen来真正修改@classopen,配合#forall部份,就会执行
以下指令:
#var classopen %additem(%trigger(blood),@classopen) =0
#var classopen %additem(%trigger(blood2),@classopen) =1
#var classopen %additem(%trigger(8kwa),@classopen) =0
#var classopen %additem(%trigger(king),@classopen) =0
#var classopen %additem(%trigger(hole),@classopen) =0
而classopen里的列表会有如下的变化:
0
0|1
0|1|0
0|1|0|0
0|1|0|0|0 ←本行最终执行结果。
004:
%ismember(1,@classopen):输出资料"1"在classopen所在位置,结果是2(第二笔)
将2带入#case中:
#case
2 {hi} {hello} {glare} {runaway} {dunno}
依据2这个结果,#case 会选出右方第二个指令,即{hello},输出至视窗:
hello
=============================================================================
Pattern:□ □ □ 战 斗 [开] 始 □ □
Commands:
classlist="
blood|blood2|8kwa|king|hole"
#var
classopen ""
#forall @
classlist {#var
classopen %additem(%trigger(%i),@
classopen)}
#case %ismember(1,@
classopen)
{hi} {hello} {glare} {runaway} {dunno}
蓝色和
紫色部份可以依自己喜好更名,但同色要相同名称。
绿色部份依使用需求自行增修减删,但classlist和#case的内容要相对应。
注:常常会出现所有的class都没开的情况(跑区域),如果不想让#case乱执行项目,
请在#case最後方加上{#noop},或填入想执行的命令,当classlist里的class列表
都没开启时,#case会得到0的要求,依zmud设计会执行#case最尾端的项目。
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 220.133.176.62
1F:→ nahceal :有神快拜 10/02 13:00
2F:推 tawi :败神 10/02 14:43
3F:推 tawi :这个Trigger几版的能用?? 10/02 14:58
4F:推 pkhinet :推推推!! 10/02 17:02
5F:→ laechan :将这才能用来写任务可能会... 10/04 15:07
6F:推 justinj :....我只能说7.21可以存很多的触发..amem 10/04 17:26
7F:→ justinj :一般来说我只会写路径...跑错了或停了就重下一组开始 10/04 17:27