mud 板


LINE

看板 mud  RSS
0、寫在前頭 原本理想的狀況是,照本宣科之後一切都如同想像般美好,什麼設定都不需要, 只要把自己的權限提升到 admin,就可以在自己建立的世界當中胡作非為。先做出一 個妃子,再把它複製成三千甄嬛,從此就可以化身為四爺...(誤 但是當電腦系統不斷持續進步,程式也跟著演化的同時,我們拿到的MUDOS以及 MUDLIB並不一定如同十多年前般的水乳交融。相反地,反而如同後宮三千般的意外複 雜,有些舊式的寫法已經不見容於新的MUDOS當中。 這就是為什麼我要寫這篇賺賺P幣的原因了,但是另一個原因是,經典賽快到了, 沒有成本可以下注(爆 一、運行mudlib之後 0. 先定義一些用語: 啟動mudlib == /mud/bin/driver /mud/bin/es2.conf & 停止/終止mudlib == killall driver 或是== ctrl +c (如果不是在背景執行的話, 也就是執行時沒加 &) 1. 當我們成功的執行 /mud/bin/driver /mud/bin/es2.conf之後,可以試著用其他 的telnet tool連線到我們所架設的mud: telnet xxx.xxx.xxx.xxx xxxx 或是直接用Ubuntu來連線: telnet localhost xxxx 不意外的話,可以看到welcome畫面(定義在/mud/mudlib/adm/etc/welcome) 2. 這時候,我們可以不急不徐的鍵入自己想要創的ID,因為自己是唯一又是第一, 想要取什麼5566、7788的,一切操之在己。 但是,就在這個取完ID的摩門特,按下enter之後,畫面上竟然出現了"什麼?" 嗯? "什麼?" 是系統問我什麼,還是我取錯ID,叫做"什麼",還是說第一個帳號只能叫做"什麼?" 但是,我們一定不死心的又再敲下幾個字母,例如重複剛剛的ID再輸入一次, 系統畫面仍然會回答我們"什麼?" ◢▆▅▄▃崩╰(〒皿〒)╯潰▃▄▅▇◣ 當你多按下幾次回車鍵,就是所謂的enter鍵,只會多出幾個">"符號,並不能讓你 進入虛擬世界當四爺,我們就要回頭找找看系統處理登入程序的原始碼。 /mud/mudlib/adm/daemons/logind.c *ps: 以後為了節省時間,/mud/mudlib 就省略不打,直接用 /adm /include 代表在/mud/mudlib底下的檔案路徑 3. /adm/daemons/logind.c 到底做了什麼事呢? 很好,我也不知道。 但是在古鴿泡了一整天之後,我終於看到了一些關鍵字。input_to這個函數的寫法 已經過時了。 原本寫法是 input_to("xxx", ob); 現在(指mudos為fluffos-2.4時)都要改成 input_to((:xxx:), ob); input_to() 裡頭的 xxx, 指的是要呼叫的程序名稱, 把要呼叫的名稱都改用 (: :) 包起來。 這是不求甚解的做法。 想知道更多,請看 http://www.mudbuilder.com/simple/?t29.html 4. 好了,我們花了一堆功夫,將/adm/daemons/logind.c裡頭所有的input_to() 都改寫完之後,應該是可以快快樂樂的去當四爺了吧。 這時請先把剛剛執行的/mud/bin/driver /mud/bin/es2.conf停止 如果按什麼按鍵都不動,只要按下ctrl+c 就停了 或是在Ubuntu裡頭再開個terminal,下這個指令"killall driver" 再執行一次啟動程序 /mud/bin/driver /mud/bin/es2.conf *懶人可以在 bash_profile裡頭加上alias ex: alias runmud='/mud/bin/driver /mud/bin/es2.conf &' & => 在Linux背景執行程序 再source ~/.bash_profile 再度啟動之後,又看到令人雀躍的welcome畫面,小心翼翼地敲下去自己的ID, 使用這個名字將會創造一個新的人物﹐您確定嗎(y/n)﹖y 這次沒有再出現"什麼?"了,喔耶,總算離化身四爺又近了一步。 可是,嗯,我知道大家最怕的就是”可是、但是、不過、but”, 輸入資料到某些階段的時候就出問題了,那萬惡的”什麼?”又回到我們的面前。 唉,四爺再等下去恐怕都下檔了。 5. 這次我們要來學習看錯誤訊息,在/mud/mudlib/log底下會產生幾個檔案: debug.log ==> MUDOS(fluffos)執行時的錯誤 log ==> 編譯時會產生的錯誤 preload.log ==> 不解釋 這次因為是已經正常啟動mudlib,因此直接看log檔: 會發現一些在logind.c被編譯時產生的 undefine error 這種語法錯誤讓我們重新回到編寫 logind.c 這時是因為我們剛剛改寫過 input_to(),它會去加載同一文檔內的區域函數, 但是在檔案開頭並沒有宣告,所以編譯時會認為它是錯誤的。 請把遺漏的、有看到undefine的函數名稱,宣告在檔案開始的地方: ex: 你會在開頭的附近看到有這個宣告: private void init_new_body(object link, object user); 你就把所有缺少的函式宣告在這裡。 等改寫好之後,再砍掉原本執行的mudlib程序,再執行一次。 6. 當我們再度telnet到站台裡的時候,一路通暢的讓我們創建帳號,直到... 錯誤再度發生 to be continue... --



※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 210.66.174.184 ※ 編輯: neca 來自: 210.66.174.184 (01/24 18:23) ※ 編輯: neca 來自: 210.66.174.184 (01/24 18:29) ※ 編輯: neca 來自: 210.66.174.184 (01/24 18:29)
1F:推 laechan :辛苦啦 1.165.164.2 01/24 18:44
2F:→ kasase :input_to那邊對我很有幫助,謝謝 140.112.30.81 01/24 20:42







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燈, 水草

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

TOP