[問題] 關於建構新的指令 (以ES2為mudlib)

看板mud (網路地下城/文字遊戲)作者 (大顆壽司)時間2月前 (2024/03/01 13:17), 編輯推噓0(0012)
留言12則, 2人參與, 2月前最新討論串1/1
大家好,我又來問問題。 之前靠著版上大大支援,解決了我在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

03/01 13:30, 2月前 , 1F
看起來你是拿login那個檔案裡面的段落去貼到指令
03/01 13:30, 1F

03/01 13:31, 2月前 , 2F
實際上若是在遊戲內的指令input_to("get_name",me);
03/01 13:31, 2F

03/01 13:31, 2月前 , 3F
下方void get_name(string new_name,object me) {
03/01 13:31, 3F

03/01 13:32, 2月前 , 4F
然後 me->set("name",new_name); 不過要留意一下
03/01 13:32, 4F

03/01 13:32, 2月前 , 5F
確定ES2 mud的中文名是使用 "name" 欄位
03/01 13:32, 5F

03/01 13:33, 2月前 , 6F
在login裡頭link類似靈魂,me=this_player()類似身體
03/01 13:33, 6F

03/01 13:34, 2月前 , 7F
link一般儲存的東西是密碼,i上次登入時間,ip這類的
03/01 13:34, 7F

03/01 13:34, 2月前 , 8F
而一般使用的me則儲存中文名,等級,技能,...這些
03/01 13:34, 8F

03/01 14:00, 2月前 , 9F
感謝解答!! 我是拿修改email的指令去改的
03/01 14:00, 9F

03/01 14:00, 2月前 , 10F
所以可能是因為這樣 他存的位置不對 我再改一下
03/01 14:00, 10F

03/01 14:00, 2月前 , 11F
感謝感謝
03/01 14:00, 11F

03/01 15:13, 2月前 , 12F
歐,我改好了 已經成功了 謝謝大大教學
03/01 15:13, 12F
文章代碼(AID): #1buMK4ll (mud)
文章代碼(AID): #1buMK4ll (mud)