看板 mud 關於我們 聯絡資訊
說到MUD,早年最讓WIZ討厭的除了Multi就是蘿蔔 但是現在的MUD大多都沒有真的認真在抓蘿蔔了 蘿蔔一般來說就是用來打怪賺經驗(就算JY的UQ,也是要打怪才能賺到經驗啊) 基本上蘿蔔需要具備幾個基本的組成成分 1. 狀態判定 以萬王之王為例 需要判斷自己是否在"castall"的狀態 判斷方式有兩個 (1) score check 如果score有抓到 ^身體狀況%1朦朧術 KK自己的cast狀態,基本上朦朧術之後只會有鎮定術 (2) 觸發調整 使用常用的castg當castall完成後,觸發 #MATH castall 1 等最後一個cast掉(以我自己常用的是迅捷術掉cast)抓觸發字觸發 #MATH castall 0 (3) 例外調整 其他事件:死亡 (有些MUD斷線可能會掉光狀態,請自己確認) 抓觸發字觸發 #MATH castall 0 2. 行走 有些mud(例如kk)有每回合(2 sec)指令上限(7) 有些沒有 沒有的直接錄製path之後用zmud的slow walk trigger可以隨時停下打怪 有限制的,我是這樣 #TR {路徑上房間名稱} {#ALA +0.5 {#IF @castall {#IF !@fight {walk}} {回定點的指 令}} walk是一個alias,內容大致是 #CASE @room {direction} {direction}......{direction} #ADD room 1 tintin的話 #SWITCH $room { #CASE {1} {direction}; #CASE {2} {direction}; ... #CASE {N} {direction} }; #MATH {room} {$room+1}; 機制是這樣,進入房間後0.5秒判斷有無castall, 如果沒有,自動歸位重補cast 如果有,判斷有無進入戰鬥,沒有戰鬥就繼續移動 TINTIN的話#ALA +0.5 {}可以用#DELAY 0.4 {}取代 理論上TINTIN的極限可以到0.01,但是kk的限制下,最短應該是0.34 (第一個指令起算2秒內只能再接受6個指令,每個指令間隔0.333秒,所以取0.34 但是為了保險起見我會選擇 0.4) 3. 觸發戰鬥 #TR {中文名{(}%1{)}} { #IF @castall { #IF !@fight { 戰鬥指令(such as kill %left(%1,2)); #MATH fight 1; } } } %left(%1,2)表示kill指令下只有該字串的頭兩個英文字母被使用 KK中最短的ID是三個英文字母,我待的國家又有很多MOB實際上有對應的實際玩家 為了避免自己變成pker,我習慣加上這一層保險 4. 戰鬥結束 以kk為例 最容易判斷戰鬥結束的 (1)戰士系/魔劍士/神官 #TR {得到%1經驗} {#MATH fight 0;afterfight指令} 效果是只要你得到經驗就會把戰鬥歸零 BUG:如果同一區有狂戰,很容易發生你開打後還沒碰到怪他就死了 此時你不會得到任何經驗...... 修正的方式很簡單 在一開始開打的地方,設定#VAR mob %1 如果抓到XXX死了的訊息,你就kill @mob 此時可以判斷是否還在戰鬥中(出現這裡沒有這個人 表示戰鬥結束) (2)咒/巫/賢/祭 使用戰鬥型法術(stun/mind_blast/dragon_breath/soul_steal/holy_word 如果戰鬥已經結束會跳出 你現在不在戰鬥中的訊息 #TR {^你現在不在戰鬥中} {#MATH fight 0;afterfight指令} 5. 戰鬥結束的動作不外乎 (1) 撿屍 (2) 確認自己狀態 (3) 移動 這部分就大家各自有各自的手段 6. 戰鬥中補施法 -- 野人獻曝,板上應該一堆大神比我厲害 這算是玩MUD 20幾年後留下自己一點痕跡吧~"~ -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 211.23.191.211 (臺灣) ※ 文章網址: https://www.ptt.cc/bbs/mud/M.1681185693.A.D81.html
dontpkme : 推推推04/11 13:36
※ 編輯: deathcustom (218.32.247.13 臺灣), 04/11/2023 14:42:39 ※ 編輯: deathcustom (36.231.155.191 臺灣), 04/12/2023 13:02:14
tsetsethatha: 感謝發表! 04/12 13:58
tsetsethatha: 收錄於精華區z-3-20 再次感謝d大! :) 04/12 21:59