精華區beta mud_sanc 關於我們 聯絡資訊
┌──────────────────────────────────┐ │操作環境:MUSHclient 4.73(較舊版本不保證能夠正常運行)使用語言:Lua│ └──────────────────────────────────┘ 以下部分內容參考自:http://www.gammon.com.au/mushclient/funwithtriggers.htm 在 MUSHclient 中的 Match pattern 有二種可供使用的格式: (1) Normal match (一般) (2) Regular expression (正規表示式、正則表達示) 第一種可以用來做一些簡單的觸發,但較實用的是第二種 下面對這二種觸發類型作個簡單的使用說明 ============================== (1) Normal match ============================== 此種觸發以一個「*」符號一路用到底,直接舉例說明比較快,假設我想要在 heart 效果 消失時送出 say 你該補 heart xxx 囉!的訊息 Trigger: 你的信仰之心效果消失了。-- 將信仰之心以「*」取代 → 你的*效果消失了。 Send: say 你該補 heart %1 囉!-- 此處的 %1 就是上面第一個也是唯一一個「*」符號 如此一來當你收到:你的戰士之心效果消失了。 就會送出:say 你該補 heart 戰士之心 囉! 但有時此類訊息前面會出現「> 」而影響觸發怎麼辦? 作法相同,在語句前再補一個「*」讓 Trigger 變成 → *你的*效果消失了。 Send 部分則要將 %1 改為 %2,因為他變成第二個「*」符號了 =========================== (2) Regular expression =========================== 按 Shift+Ctrl+8 打開觸發視窗,點擊下方的 Add... 按鈕,將你的觸發語句貼上,例如 你的技能,『少林拳法』進步了(673)!點擊 Convert To Regular Expression 此時你的 語句已經被轉換為 Regular expression 的格式,也就是: ^你的技能,『少林拳法』進步了\(673\)!$ 而且右方的 ✓Regular expression 也自動勾選了,現在說明一下上述的符號意義: 「^」表示一行的開頭,如果你收到的訊息是 你說道:你的技能,『少林拳法』進步了 (673)!因為前頭多了「你說道:」所以不會觸發 「\」效果類似於 zMUD 中的「~」 「$」表示一行的結束,如果你收到的訊息是你的技能,『少林拳法』進步了(673)!嗎 (當然聖殿沒有上面那種訊息),因為最後多了個「嗎」所以不會觸發 還有一些常用的符號如下: 「.」匹配任何單個字完 「*」位於此符號前的"東西"有零個或多個,例:「.*」同 zMUD 中的「*~」匹配任意 數量的任何東西 「+」位於此符號前的"東西"有一個或多個,例:「氣功+波」符合的語句有「氣功波」 、「氣功功波」、「氣功功功功功波」等 「?」位於此符號前的"東西"有零個或一個,這個我沒用過 「\d」匹配數字 「\D」匹配非數字 「\s」匹配空白 「\S」匹配非空白 「\w」匹配英文字元 「\W」匹配非英文字元 以上面語句為範例,如果想要在少林拳法升級時自動重設 en 該如何做? 將語句改為 ^你的技能,『少林拳法』進步了\(.*00\)!$^你的技能,『少林拳法』進步了\(.+00\)!$^你的技能,『少林拳法』進步了\(\d+00\)!$ 三者皆可,Send: 部分填入 en soulin fist,如此一來,每當少林拳法升到 100、 200、300 ……都會送出 en soulin fist 的指令 如果轉換出來的內容有亂碼怎麼辦? 例如像是 ☆☆☆ 戰 鬥 開 始 ☆☆☆ 轉換完會變成 ^☆☆☆ 戰 鬥 跚} 始 ☆☆☆$ 請不用在意,觸發仍然能夠正常運作,如果你覺得亂碼很礙眼,可以自行把亂碼部份 以上面提到的符號取代,例:刪掉 跚},以 .+ .. .* 等等取代皆可 與第一部份一樣,有時訊息前方會出現「> 」影響觸發該怎麼辦? 以上面為例,將語句修改為 ^[> ]*☆☆☆ 戰 鬥 .* 始 ☆☆☆$ 即可 [> ]* 代表在[]中的東西(> 和一個空白)出現了零或多個(「*」符號) 目前觸發簡單說明到這,有其他東西我想到再補吧! 有任何問題歡迎提出來討論,能幫的上忙的我就盡量吧~ -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 123.241.194.17