Re: [請益] 問一個觸發的寫法(zMud4.62)

看板mud (網路地下城/文字遊戲)作者 (半調子魔術師)時間15年前 (2010/06/04 15:31), 編輯推噓0(000)
留言0則, 0人參與, 最新討論串2/3 (看更多)
用二進位表是看看 spell=0 所有法術都沒有 第一個法術(bless)有了 spell=spell+1, 第一個法術沒有了 spell=spell-1; 第二個法術(armor)有了 spell=spell+2, 第二個法術沒有了 spell=spell-2; 第三個法術(pray)有了 spell=spell+4, 第三個法術沒有了 spell=spell-4; 依此類推 然後 #if %mod(@spell,2)==0 {c bless}; (表示bless 沒有 其他不管) #if %mod(@spell,4)==1 {c armor}; (表示bless 有了 armor 沒有 其他不管) #if %mod(@spell,8)==3 {c pray}; (表示 bless armor 都有了 pray 沒有 ) #if %mod(@spell,16)=7 {k mod}; (表示 所有法術有了) 這樣每次只會執行一個指令 全部法術都有了才會K p.s. 用 #additem, #delitem 寫起來可以更漂亮 不過我不太確定在4.62板 行不行。大致上就是把你想要要輸入的命令存在一個 list, 每次去讀 list 的最後一個。透過#additem #delitem 去改變這個 list 的最後一個東西。 題外話: 以前花了很多時間 學寫機器人..記得最後寫了一個模本可以輸入 1.要走的路徑 2.要打的mob list 3.不要打/要閃的(怕搶怪)的list.. 就會開始自走了.. 不過現在上線都只能發呆了@@ 動都懶得動了 ※ 引述《tsevoli (小夜)》之銘言: : 請問一下我想寫一個指令,但遇上的瓶頸,想問問有沒好的解決方式 : 想寫的指令是:在打怪前會先根據自身的狀況幫自己先加加的指令(我是用別名來作) : 譬如說我把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: 140.114.81.68 ※ 編輯: KMS 來自: 140.114.81.68 (06/04 16:13)
文章代碼(AID): #1C2Ala3R (mud)
文章代碼(AID): #1C2Ala3R (mud)