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

看板mud_sanc (Sanctuary - 聖殿)作者 (這個世界瘋了...)時間12年前 (2013/05/20 14:12), 編輯推噓2(2012)
留言14則, 3人參與, 最新討論串6/6 (看更多)
不好意思 我現在又遇到一個問題~ 就是一直顯示錯誤@@ -- 錯誤號: 0 事件: Compile error 描述: [string "Script file"]:1: unexpected symbol near '<' 呼叫者: Immediate execution -- 我研究了很久 還是找不到原因QQ ※ 引述《hmml (hmml)》之銘言: : <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: 60.251.155.10

05/20 15:05, , 1F
有一個 < 就要有一個 >
05/20 15:05, 1F

05/20 18:59, , 2F
科科,其實錯誤就在前幾行裡面
05/20 18:59, 2F

05/20 19:00, , 3F
是指有重複的地方嗎??? 我有刪掉耶 但是一樣QQ
05/20 19:00, 3F

05/20 19:01, , 4F
注意前幾行,有多了幾行重複的,不必要的。
05/20 19:01, 4F

05/20 19:02, , 5F
那你就重做一個,只複製<Send><\Send>之間的部份試試
05/20 19:02, 5F

05/21 10:22, , 6F
還是無法Orz 該不會是因為我是用免安裝版@@???
05/21 10:22, 6F

05/21 11:56, , 7F
裝 notepad2, 然後把 script 檔丟進去找是否有漏 < >
05/21 11:56, 7F

05/21 11:57, , 8F
或是把 script 檔直接丟進瀏覽器(如firefox)觀看也可
05/21 11:57, 8F

05/21 12:27, , 9F
firefox顯示星星符號不合語法...囧a
05/21 12:27, 9F

05/21 12:35, , 10F
所以我把星星改成 戰鬥開始 ???
05/21 12:35, 10F

05/21 13:33, , 11F
先換成別的(如 ***, $$$, ★★★,..) try try
05/21 13:33, 11F

05/22 11:51, , 12F
嘗試過了 還是不行QQ 好像全形字不符合語法??
05/22 11:51, 12F

05/23 00:04, , 13F
你先把你的貼上來...
05/23 00:04, 13F

05/23 00:23, , 14F
左側的勾選項,和下方的Send to項內容也貼上來
05/23 00:23, 14F
文章代碼(AID): #1HcRwolQ (mud_sanc)
文章代碼(AID): #1HcRwolQ (mud_sanc)