Re: [問題] 主牧的技能觸發寫法

看板mud_sanc (Sanctuary - 聖殿)作者 (hmml)時間12年前 (2013/05/20 00:06), 編輯推噓0(003)
留言3則, 1人參與, 最新討論串5/6 (看更多)
<triggers> <trigger enabled="y" group="" <triggers> <trigger enabled="y" group="" match="^(☆☆☆|○○○).*(☆☆☆|○○○)$" name="Control_Fight" regexp="y" send_to="12" sequence="100" > <send> if '%1' == '☆☆☆' then Execute ([[cast 'holy body']]) --一觸發就執行 DoAfterSpecial (5,[[cast pray]],10) --五秒後執行 DoAfterSpecial (10,[[cast 'holy shield']],10) --十秒後執行 DoAfterSpecial (15,[[cast encourage]],10) --十五秒後執行 DoAfterSpecial (20,[[cast 'holy power']],10) --二十秒後執行 else Execute ([[cast 'holy body']]) --同上類推 DoAfterSpecial (5,[[cast pray]],10) DoAfterSpecial (10,[[cast 'holy shield']],10) DoAfterSpecial (15,[[cast encourage]],10) DoAfterSpecial (20,[[cast 'holy power']],10) end  </send> </trigger> </triggers> if 架構應該不用再檢討了吧!所以就講MushClient裡的函數: 先說這一個: Execute ([[cast 'holy body']]) Execute() 相當於zMUD的#exec,它會分析裡面的內容是使用者設的別名, 還是要直接送給主機的指令。如果有照Hamano的教學去設置Mushclient ,那你的分行符號應該是分號";";而井字號"#"就是用來宣告後面的字 串是函數。這兩點關係到 Execute() 這函數好不好用。建議再檢查一 下你的MushClient設置是否沒問題。 Execute ([["cast holy body","cast pray","cast holy shield","cast encourage","cast pure power"]]) 所以你這段,假設cast無延遲,真得能瞬間五招,格式應該改為: Execute ([["cast holy body";"cast pray";"cast holy shield";"cast encourage";"cast pure power"]]) 或直接換行,但注意[[]]內不要在行首隨意空格做排版,Execture會把內容 忠實地送出去,所以連空格把指令送出去的話,聖殿可不認得: Execute ([["cast holy body" "cast pray" "cast holy shield" "cast encourage" "cast pure power"]]) 另外你的引號""標的位置,不符合聖殿放法術的格式,所以應該改為: Execute ([[cast 'holy body';cast pray;cast 'holy shield';cast encourage;cast 'pure power']]) 或: Execute ([[cast 'holy body' cast pray cast 'holy shield' cast encourage cast 'pure power']]) 再來: DoAfterSpecial (5,[[cast pray]],10) 這個是暫時性的延遲函數指令,相當於zMUD的#alarm。 綠色字體是秒數,設定從0.1秒到24小時減1秒。 黃色括號用來寫入指令,格式和Execute()一樣。 粉色字則是用來表示要如何處理內容,10是採用 Execute() 的處理方式。 這裡有一點提醒你:看一下上面的黃色行:cast 'pure power' 這個技能在戰鬥中放不出來的。 如果你要一行輪流放,你可以試試speedwalk: DoAfterSpeedWalk (long Seconds, BSTR SendText) 但是我沒用過這個,所以不清楚能不能達成你的需求。 -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 118.232.37.76

05/20 09:15, , 1F
秒數不用隔那麼長, 3 秒就夠保險了(一般是 2 秒)
05/20 09:15, 1F

05/20 09:15, , 2F
2秒最短是因為心跳秒數就是2,timer是+2+2在跳的
05/20 09:15, 2F

05/20 09:19, , 3F
不能在戰鬥中放的應該放在 else ... end 那一區
05/20 09:19, 3F
文章代碼(AID): #1HcFXoqi (mud_sanc)
文章代碼(AID): #1HcFXoqi (mud_sanc)