看板 mud 關於我們 聯絡資訊
大家好,我又來問問題。 之前靠著版上大大支援,解決了我在ubuntu下架設mud遇到的問題,非常感謝。 先附上我使用的mudlib :https://github.com/taedlar/es2_mudlib 我在增加裡面的指令,大部分的時候沒甚麼問題。 我這次在做改中文名的指令。 我定義為chname。 語法如下: #include <command.h> inherit F_CLEAN_UP; void create() { seteuid(getuid());} int main(object me, string arg) { object link; SECURED_COMMAND; if ( link = me->link()) { write("您的中文姓名 [" + link->query("name") + "]: "); input_to("get_name", link); return 1; } return notify_fail("斷線使用者不能修改個人資料。\n"); return notify_fail("請輸入你的新中文姓名。\n"); } void get_name(string new_name, object link) { if( new_name != "" ) link->set("name", new_name); write("請記得用 save 儲存您所作的修改。\n"); } int help(object me) { write(@HELP指令格式: chname 這個指令可以讓你更改你的中文姓名。 HELP ); return 1;} -------語法到此結束分隔線------- 我遇到的問題是,以上面這個語法我可以成功把資料存在/data/login/x/ 的人物資料xx.o裡面。 但是無法存到/data/user/x/的人物資料。 不知道要怎麼改.. 如果有人有空的話,希望可以幫我看看哪邊出問題。 感謝!! ---題外話--- 我在地圖裡種了一棵傳說之樹,想拿來告白用。 拿去問chatgpt他給我了一段可以用的程式碼,但是中文名都叫不出來。 後來自己修一修勉強可以用,覺得AI蠻有趣的。哈哈 但是上面提到的問題我問不出來 ,我下不到正確的關鍵字,結果害他一直跳針。 於是來請教大家,謝謝! -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 163.27.9.55 (臺灣) ※ 文章網址: https://www.ptt.cc/bbs/mud/M.1709270276.A.BEF.html
laechan : 看起來你是拿login那個檔案裡面的段落去貼到指令 03/01 13:30
laechan : 實際上若是在遊戲內的指令input_to("get_name",me); 03/01 13:31
laechan : 下方void get_name(string new_name,object me) { 03/01 13:31
laechan : 然後 me->set("name",new_name); 不過要留意一下 03/01 13:32
laechan : 確定ES2 mud的中文名是使用 "name" 欄位 03/01 13:32
laechan : 在login裡頭link類似靈魂,me=this_player()類似身體 03/01 13:33
laechan : link一般儲存的東西是密碼,i上次登入時間,ip這類的 03/01 13:34
laechan : 而一般使用的me則儲存中文名,等級,技能,...這些 03/01 13:34
dsnsid : 感謝解答!! 我是拿修改email的指令去改的 03/01 14:00
dsnsid : 所以可能是因為這樣 他存的位置不對 我再改一下 03/01 14:00
dsnsid : 感謝感謝 03/01 14:00
dsnsid : 歐,我改好了 已經成功了 謝謝大大教學 03/01 15:13
kyoe : link->set("name", new_name);後link->save(); 03/05 10:53
msrvoice : 完蛋了, 完全看不懂了 ... 04/15 21:42