mud 板


LINE

看板 mud  RSS
嘛,明年應該會繼續改。 最近思考的東西有兩個層面: 1.生物屬性值 2.板模 所謂生物屬性值是說,例如我想架的 mud,我希望它有 hp/sp/pp 三種數值,那比較合理的想法就是,既然我同時也是 tmi2_v3_改 的修改者,我自然會在 tmi2_v3_改,加上這三個屬性值,但是其 它拿到 tmi2_v3_改 的人,他可能只希望他的 mud,有 hp/sp 就 好,不要有 pp。 那麻煩了,因為對一個已寫了 hp/sp/pp 的 mudlib 來說,拿這 一份去改為只有 hp/sp 的 mud,得改動不少地方。 (反過來也一樣,但新增畢竟比減少簡單一點) 是以這裡就帶出一個直覺的做法: 少用 query("xxx"),多用 query_xxx 的函數讀取法。 事實上前者也不是不行(在 user.c 裡面針對 query 做判斷式), 但後者最大的好處,是給修改者較大的修改及擴充彈性。 而且使用函數名,在 win 下的最大好處就是可透過 win 的搜尋 功能,直接就能搜出到底哪些 .c 檔有寫到 query_xxx,將來要 做統一的修改時把這些檔案搜出來,一次修改即可。 然後以上面為前提,則必然需要一個用來繼承的 .c 檔,統一宣 告這些 query_xxx 函數,來讓 user.c、monster.c 等繼承,或 是更乾脆一點寫成 simul_efun。 這個明年再決定。 再來,所謂的板模是說,例如 sanc 風格的 who 長這樣: > who ζ TMI-2 Win32 ζ 現在時刻: 12/20 10:03(四)(已執行: 15分 49秒) ────────────────────────────────────── 線上的玩家: ────────────────────────────────────── 線上的巫師: *Laechan ────────────────────────────────────── 共有 1/1 位玩家在 TMI-2 Win32. (斷線狀態: 0 位) 但是 casamia 的 who 是長這樣 > who2 [冒險者] 13級 人類 0 Laechan 你看到 1 位玩家進入遊戲. 板模的常見做法,是先將板模讀進來: if(!module_str || module_str=="") module_str=read_file(THIS_CMD_MODULE); 然後是這裡: str=sprintf(module_str, ppl->query_hp(), ppl->query_sp(), . <= 看板模裡頭有多少 %s, %d, .. . 依序放進所需的參數 . ); str=COLOR_D->get_color(str); <= 這樣就可以使用 $HIW$ 等顏色字串 這樣做的好處是,常用指令的各個板模,可放在同一個目錄下, 方便修改及管理。缺點就是,例如說 sanc 的 who 是只讀取玩 家的 cap_name 然後每 6 個 id 一列,像這種在板模內可能只 有一行: $CYN$──────────────────────────────────$NOR$ 線上的玩家: %s $CYN$──────────────────────────────────$NOR$ 然後修改者得為這個 %s 寫一個處理用的函數: string who_string() { string tmp; mixed usr=users(); object ppl; foreach(ppl in usr) . . return tmp; } 當然 who 的例子可能複雜了些(因為是讀取全部玩家的資料), 但這代表了如果今天要顯示的是一個不定size的 mapping 或是 array 的資料時,就得自訂函數來應付板模化的讀取方式。 (這些問題在 guild 顯示玩家已加入公會、或是 skill 顯示玩 家已習得技能等指令上面會特別明顯,都得靠自訂函數) 那麼,板模化有沒有必要? 我認為板模化還是有其價值,因為初期把指令的顯示結果寫得 太陽春的話,對拿到這份 mudlib 的人來說,它要改的東西就 會很多,反之,如果有提供大部份指令的顯示板模,那初期至 少修改者可以只改動板模跟指令裡頭 sprintf 的地方,就能 達到個人化顯示風格的目的。 以上兩個,會列入明年初的修改重點。 -- 『無窮的宇宙,無盡的時空,無限的可能,與無常的人生之間 的永恆矛盾,從倪匡這顆腦袋中編織出來。 』 ──金庸評倪匡 --



※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 122.117.106.224
※ 文章網址: https://webptt.com/m.aspx?n=bbs/mud/M.1545275347.A.8AD.html ※ 編輯: laechan (122.117.106.224), 12/20/2018 11:11:12







like.gif 您可能會有興趣的文章
icon.png[問題/行為] 貓晚上進房間會不會有憋尿問題
icon.pngRe: [閒聊] 選了錯誤的女孩成為魔法少女 XDDDDDDDDDD
icon.png[正妹] 瑞典 一張
icon.png[心得] EMS高領長版毛衣.墨小樓MC1002
icon.png[分享] 丹龍隔熱紙GE55+33+22
icon.png[問題] 清洗洗衣機
icon.png[尋物] 窗台下的空間
icon.png[閒聊] 双極の女神1 木魔爵
icon.png[售車] 新竹 1997 march 1297cc 白色 四門
icon.png[討論] 能從照片感受到攝影者心情嗎
icon.png[狂賀] 賀賀賀賀 賀!島村卯月!總選舉NO.1
icon.png[難過] 羨慕白皮膚的女生
icon.png閱讀文章
icon.png[黑特]
icon.png[問題] SBK S1安裝於安全帽位置
icon.png[分享] 舊woo100絕版開箱!!
icon.pngRe: [無言] 關於小包衛生紙
icon.png[開箱] E5-2683V3 RX480Strix 快睿C1 簡單測試
icon.png[心得] 蒼の海賊龍 地獄 執行者16PT
icon.png[售車] 1999年Virage iO 1.8EXi
icon.png[心得] 挑戰33 LV10 獅子座pt solo
icon.png[閒聊] 手把手教你不被桶之新手主購教學
icon.png[分享] Civic Type R 量產版官方照無預警流出
icon.png[售車] Golf 4 2.0 銀色 自排
icon.png[出售] Graco提籃汽座(有底座)2000元誠可議
icon.png[問題] 請問補牙材質掉了還能再補嗎?(台中半年內
icon.png[問題] 44th 單曲 生寫竟然都給重複的啊啊!
icon.png[心得] 華南紅卡/icash 核卡
icon.png[問題] 拔牙矯正這樣正常嗎
icon.png[贈送] 老莫高業 初業 102年版
icon.png[情報] 三大行動支付 本季掀戰火
icon.png[寶寶] 博客來Amos水蠟筆5/1特價五折
icon.pngRe: [心得] 新鮮人一些面試分享
icon.png[心得] 蒼の海賊龍 地獄 麒麟25PT
icon.pngRe: [閒聊] (君の名は。雷慎入) 君名二創漫畫翻譯
icon.pngRe: [閒聊] OGN中場影片:失蹤人口局 (英文字幕)
icon.png[問題] 台灣大哥大4G訊號差
icon.png[出售] [全國]全新千尋侘草LED燈, 水草

請輸入看板名稱,例如:Tech_Job站內搜尋

TOP