[mushclient plugin] 擷取頻道 + timestamp + 支援再次觸發

209 views
Skip to first unread message

pokki

unread,
Jan 1, 2020, 8:43:27 PM1/1/20
to 金庸修真錄交易所
最近在整理 code 時翻出一年多前寫下的一個 plugin ,看看有沒有用 mush 的朋友用得著(感覺是沒有 avert)。

利申:那時候才剛開始用 mush ,對 lua 也一竅不通,寫出來能跑就擱著沒理了,如果遇上有問題或寫得不好的地方請不吝指正。

這個plugin是以 Nick Gammon 寫的 Chat_Redirector 為基礎改過來的。
當時我是希望擷取 task 頻道後再在 task 的分頁裡寫觸發轉一下顏色,這樣我的分身可以輕易看到主號 qm 有沒有停擺。用下來才發現 Nick 用的方法錄下來的句子不能被觸發,於是自己動手改了,順手加上 timestamp 。

使用方法和Nick原版相近但稍有改動,如下:

譬如你要擷取到 chat 分頁,你要有一個叫 chat.mcl 的 world file 。
  • Connection > Quick Connect (Ctrl+Alt+Shift+K)
  • World name要設定為 chat
  • IP Address設定為 0.0.0.0,不然它會嘗試連線
  • File > Save (Ctrl+S) 命名為 chat.mcl ,儲存到主 world file 的同一資料夾內
plugin自帶 chat, rumor, party, tell 的 trigger ,所以你只要如上法製作相關的 mcl 檔就可以了。

如果你要自己另加觸發,用文字編輯器打開 jymud_cap_channels.xml ,把新觸發加到 <triggers>...</triggers> 之間,像這樣:

此處script一定要寫 capture , name 就寫你要擷取過去的分頁名,注意 name 一定要獨一無二。
如果你有兩個以上的觸發要擷取去同一個分頁, name 也可以寫成 chat_2, chat_ultra 等等,plugin 只讀取 name 裡的第一個英文字作為分頁名。例如你想 chat 和 rumor 都收錄到 chat 分頁的話,可以把 rumor 改成 chat_rumor 。

xml 檔修改好後儲存,在 mushclient 裡 File > Plugins (Ctrl+Shift+P) Add 進 xml 檔就行了,如果已經有的話就用 Reinstall 囉。之後你就可以在你的頻道分頁裡加各種觸發啦。
 
至於這堆 xml 從何得來,pattern 小修可以自己手動在 xml 裡改,但因吃字眾多,而且要 escape xml,建議還是用 mush 產生。方法如下:
  • Game > Configure > Triggers (Ctrl+Shift+8)
  • Add...

    此處 Label 對應 xml 裡的 name,放你目標分頁的名字
    按Convert to Regular Expression 就會自動把吃字弄好並把 Regular expression 打勾,這屬於 mush 的觸發使用範疇,我就不多解釋了。
  • 按 OK 以後他會跳出一個窗口說找不到 subroutine 之類,按走不用理會。
  • 回到列表選取剛才建好的觸發,按 Copy ,回到你的文字編輯器 Paste 就可以拿到 xml 。記得要把在外包圍的 <triggers>...<triggers> 拿走,我們只要中間的單個 <trigger>...</trigger> 。
  • 做好後就可以把這個觸發刪除掉。

jymud_cap_channels.xml
Reply all
Reply to author
Forward
0 new messages