[請益] 問一個觸發的寫法(zMud4.62)
 請問一下我想寫一個指令,但遇上的瓶頸,想問問有沒好的解決方式
 想寫的指令是:在打怪前會先根據自身的狀況幫自己先加加的指令(我是用別名來作)
 譬如說我把kill設成別名了
 一下kill就會判斷身上的加加 然後決定要不要先cast pray還是c bless,還是c armor
 如果最後都有了就kill mob,缺那一種就先加那種後才k
 我原先的寫法是這樣的
 先將pray bless armor 都已經設好變數,
 pray=1 就是身上沒pray
 pray=2 就是身上還有pray 以此類推bless armor
 本來是用#if{#if{#if {}}}去寫,但只套了兩層的#if就很複雜了.後頭還其他加加..
 如下...只是光pray跟bless就很冗長,要再加armor下去..很難加.土法鍊鋼式笨方法
 #if @pray=1 {#if @bless=1 {c bless;#wa 2000;c pray;#wa 2000;k @monser} {c pray;#wa 2000;k @monster}} {#if @bless=1 {c bless;#wa 2000;k @monster} {k @monster}}
想問問有沒有大能提供較佳的寫法
第二個問題
我換了一個寫法,也是行不通
#if @pray=1 {c pray;#wa 2000};
#if @bless=1 {c bless;#wa 2000};
#if @armor=1 {c armor;#wa 2000};
k @monster
看起來簡潔明確多了,邏輯上也通,可是!!
實際上跑起來,c pray後並不會等2秒才c bless
一下指令後,3個#if內的指令就同時一起下了
這個問題常常遇到...#if{}內的#wa,不會發揮效果(除非這個#if擺最後,後面沒指令了)
#if @pray=1 {c pray};#wa 2000;
#if @bless=1 {c bless};#wa 2000
#if @armor=1 {c armor};#wa 2000;
k @monster
這樣也不行 ,變成每打一隻mob.不管有沒有cast都要先等2+2+2秒....= =
想問問有沒辦法讓一連續執行的指令中,插入一個判斷句(譬如說if或其他的)
然後讓判斷句中的#wa都作動完,才跑後面的指令呢??
舉例:
原本的動作是  1;2;3;4;5;6
現在想在2跟3之間加作一個判斷7要不要作的指令
但7的動作會延遲2秒,所以如果作了7就要等2秒才能作後面的3;4;5;6
若寫 1;2;#if xxx {7;#wa 2000};4;5;6  <--這樣不行..跑起來還是1;2;7;3;4;5;6的效果
以上...請大能幫忙一下,謝謝
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 124.218.222.246
※ 編輯: tsevoli         來自: 124.218.222.246      (06/03 11:06)
推
06/03 11:22, , 1F
06/03 11:22, 1F
→
06/03 11:55, , 2F
06/03 11:55, 2F
→
06/03 11:56, , 3F
06/03 11:56, 3F
推
06/03 13:24, , 4F
06/03 13:24, 4F
→
06/04 08:38, , 5F
06/04 08:38, 5F
討論串 (同標題文章)
以下文章回應了本文:
完整討論串 (本文為第 1 之 3 篇):
mud 近期熱門文章
PTT遊戲區 即時熱門文章
                            10
                        
                            12
                        
                            13
                        
                            30