看板mud
标 题Re: 请问关於触发
发信站不良牛牧场 (Sun Apr 10 02:02:47 2005)
转信站ptt!ctu-reader!ctu-peer!news.nctu!nctumenews!news.ind.ntou!news.ntu!ne
※ 引述《[email protected] (隐者)》之铭言:
: ※ 引述《baseball (小低)》之铭言:
: > 所以从你的举例来看当你hp > 100
: > 後她就会去执行 say hi
: > 是这样吗?
: > 那写成以下刑事会比较ok 吧?
: > #if {%1<100} {cast heal;#if {%1>100} {say hi}}
: #if {%1<100} {cast heal};#if {%1>100} {say hi}
如果是这种近似二分的判别
不用写到两个#if
#if {a} {b} {c}
语法是若a条件成立,则执行b,a不成立则执行c
而c那部分一般可以省略
所以上面可以简化成#if {%1<100} {cast heal} {say hi}
: > 对了,如何做 %1 便量的设定
: > P.S. 顺便问问 #var 如何使用在哪些情形下用的到
: #var小弟不太会用
一般来说在触发句中抓变数时
zmud会依变数先後顺序依序将值存入%1,%2...etc
但是若有其他触发句也在抓变数
那麽先前存在%1,%2中的值便会被重置
为了继续使用抓到的变数,便会利用#var
#var 变数名 变数值
例如我在触发句中抓了一个HP的值是%1
那麽就可使用#var HP %1
这时%1的值就会存入变数中
记得在zmud上排工具列中的[变数]这个设定里加入你所设的变数名称
另外已设定的变数要抓出来做判别时
名称前要加上@号以让zmud知道这是个变数值
ex: #if {@HP<100} {cast heal}
这样就行了...
另外原po最早问的问题
#if {a} {b}中
若b失败了怎麽继续执行
比较简略一点的就是抓执行b的失败讯息触发再执行一次
比较安全的方法,就是触发指令中再让a条件的判别check一次
就用上面的例子好了
如果是抓score的状态,那麽可以写成
#if {@HP<100} {cast heal};sc
不过这样画面比较洗就是了 XD~
希望有帮到忙 :)
--
你知道 云是留不住的 於是渴望成为坚实大地的自己
只是等待偶然降雨时随即风乾的相遇
很少动的新闻台:http://mypaper.pchome.com.tw/news/bobu
--
╭──── Origin:
<不良牛牧场> bbs.badcow.com.tw (210.200.247.200)─────╮
│ ↘ Welcome to SimFarm BBS -- From : [140.120.25.173] │
╰◣◣◢ ◢◢《不良牛免费拨接→电话:40586000→帐号:zoo→密码:zoo》 ◣◣◢ ─╯