[心得] Zmud en技能自動更新使用等級之法

看板mud_sanc (Sanctuary - 聖殿)作者 (hmml)時間17年前 (2008/09/04 21:14), 編輯推噓15(1509)
留言24則, 8人參與, 最新討論串1/2 (看更多)
基本作法如下: #trig {你的技能,『騎士風斬法』進步了} {en knight slash} 或在設定中編輯: Patten:你的技能,『騎士風斬法』進步ꐊCommands:en knight slash 這樣一來,只要技能每進步一級,就會被觸發一次,重新設定使用等級。 但這樣做,觸發一百次中,只有一次是有效果的!感覺有些笨拙而不夠高級, 所以可以針對訊息最後的數字做分析,因此設定: Patten:你的技能,『騎士風斬法』進步了~((%d)00~) Commands:en knight slash 和前一例不同地,字串最後多了對數字的判斷。 %d是一個可以變動的數字,只要內容是阿拉伯數字,整句都是符合條件的字串。 大意是說:只要騎士風斬法最後的數字,最後兩位是00則執行commands的內容! 而最外面的()前方都有一個~,目的在使zmud將最外面的()視為字串的一部份, 而非zmud做自用的字元。 如此一來,zmud用來比對的句子會是 你的技能,『騎士風斬法』進步了(100) 若沒有加上~,則比對句會變成 你的技能,『騎士風斬法』進步了100 則觸發將不會成功。 如此一來,本觸發就會針對騎士風斬法的訊息,精確地做動作。看來也高級多了。 那能不能也針對技能部份做設定,來展現自己的才幹呢?也是可以的。即 Patten:你的技能,『(%1)』進步了~((%d)00~) Commands:#if (%1 = "騎士風斬法") {en knight slash} 技能名的部份可以用*,也能用%1,我習慣用%1。 而commands部分改為#if的語法來判斷。依此類推,將所有en技一一用#if 寫入該觸發,即可不用每更換一項en技,就重新寫一條。當然Myskill狀況複雜, 要寫入也是可以,但建議分離出來。 但以上寫法有一個問題,與zmud本身吃中文字的問題有關,當技能名稱恰巧有zmud 在用的字元在裡面,技能名會變成亂碼,zmud會將該技能當做別的字串去執行動作, 如閃華裂光拳,zmud的判斷中,它是佛山無影腳,也是冰焰杖法,六脈神劍等等, 甚至血腥必殺劍未列入#if的技能,也同樣做出如上錯誤的判斷,結果zmud就執行 上述en技的等級更新動作。如此一來,不就想顯示自己的睿智,卻像在搞笑了? 那有沒有解決良方呢?也是有的,加一道手續即可: patten部份不做任何改變,但不將%1直接代入#if處理,先將它帶到隔壁的房間, 好好地照顧一下...... 不對!先把它帶到變數去,在Commands最前方加上: #var skillname %1 接著再#if中的%1改成@skillname即可。 要設定閃華裂光拳時,先讓閃華裂光拳的升級訊息跑一次,這時,閃華裂光拳就 會被帶到廁所去凌~~~,啊~是skillname啦! 接著再到Var中的skillname那格看看抓到什麼內容,直接將內容複製下來,貼到 #if的判斷句即可。如果抓到亂碼,也一樣全部複製下來,加入判斷句中。 以下是本觸發的全貌: Patten:你的技能,『(%1)』進步了~((%d)00~) Commands: #var skillname %1 #if (@skillname = "騎士風斬法") {en knight slash} #if (@skillname = "武當劍法") {en wudon slash} #if (@skillname = "星光杖法") {en starlight wand} 以下列推...... 經過處理後,閃華裂光拳就能正常驅動,觸發也不會誤認其它技能了。 每創造新角色,只要整段貼過去,就高枕無憂囉! 理論上,在本觸發中加入特攻等級滿,自動更換下個一特攻來練也是可以的。 最後,是作者為規避技術上的錯誤,遭人譙到滿頭包的注意篇,請務必詳讀, 並時時刻刻銘記在心! 注意: 1.本篇所有內容依zmud 5.55版編輯規則編輯完成,不保證其它版本可以使用! 2.本篇各類zmud觸發指令列表使用方式參考自: http://suzin.pixnet.net/blog/post/9225957 紅貓的重生世界 但不保證使用方式的正確性。 3.本篇作者資質魯鈍,int值在500以下,跟石化人差不多,不保證本觸發的編法最完美, 最簡便,效果最好,使用前請三思! 4.本篇作法只保證對作者一帖見效,不保證其它人用了也有效。 -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 59.114.250.112 ※ 編輯: hmml 來自: 59.114.250.112 (09/04 21:16)

09/04 21:19, , 1F
提醒一下,教基本可以,可是別教人掛機。
09/04 21:19, 1F

09/04 21:43, , 2F
%d的前後不必(),即是(%d)改為%d就行了,()另有用途
09/04 21:43, 2F

09/04 22:12, , 3F
我習慣加,有加也沒事。
09/04 22:12, 3F

09/04 22:16, , 4F
練功機不是我的專長,團長比較厲害!
09/04 22:16, 4F

09/04 22:17, , 5F
/beg con算血量的觸發阿!!!
09/04 22:17, 5F

09/04 22:17, , 6F
啊!3400篇!
09/04 22:17, 6F

09/04 22:17, , 7F
厲害個屁 我連你說的都看不懂 不要啥都拿我出來說...
09/04 22:17, 7F

09/04 22:18, , 8F
說真的 我很討厭這個稱呼
09/04 22:18, 8F

09/04 22:24, , 9F
算血量沒在研究哩.....
09/04 22:24, 9F

09/04 22:48, , 10F
寫觸發這種東西,就是要越精簡越好。...
09/04 22:48, 10F

09/05 11:24, , 11F
我比較糟糕,我都是在進區域時通通enable一遍
09/05 11:24, 11F

09/05 16:39, , 12F
推技能名變數...我得整理一下觸發了
09/05 16:39, 12F

09/05 16:40, , 13F
阿....等我新電腦穩定再說
09/05 16:40, 13F

09/05 16:42, , 14F
所以同理heart消失也可以全部寫成一個對吧
09/05 16:42, 14F

09/05 16:50, , 15F
baha的點子不錯
09/05 16:50, 15F

09/06 09:59, , 16F
應該有辦法可以練到XX級就換下一招...試看看
09/06 09:59, 16F

09/06 10:25, , 17F
有辦法阿,把%d改%2然後%2=99判定使用招數 換招。
09/06 10:25, 17F

09/06 22:14, , 18F
不用設%2....直接打9900就好
09/06 22:14, 18F

09/06 22:39, , 19F
這樣要兩個觸發= =你們不是要大眾和?
09/06 22:39, 19F

09/06 22:42, , 20F
pattern:你的技能,『%1』進步了~((%2)~)!
09/06 22:42, 20F

09/06 22:42, , 21F
#if (%2 = "99") {enable judo} <--接想換得招式
09/06 22:42, 21F

09/06 22:44, , 22F
怪怪的.. 後面是 進步了~((%2)00~)!才對..應該能用.
09/06 22:44, 22F

09/06 22:54, , 23F
#if (@skillname = "魔法飛彈" & %2 = 99)
09/06 22:54, 23F

09/06 22:54, , 24F
可以這麼設!
09/06 22:54, 24F
文章代碼(AID): #18lzytYk (mud_sanc)
文章代碼(AID): #18lzytYk (mud_sanc)