作者dsnsid (大颗寿司)
看板mud
标题[问题] 关於建构新的指令 (以ES2为mudlib)
时间Fri Mar 1 13:17:54 2024
大家好,我又来问问题。
之前靠着版上大大支援,解决了我在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://webptt.com/cn.aspx?n=bbs/mud/M.1709270276.A.BEF.html
1F:→ laechan : 看起来你是拿login那个档案里面的段落去贴到指令 03/01 13:30
2F:→ laechan : 实际上若是在游戏内的指令input_to("get_name",me); 03/01 13:31
3F:→ laechan : 下方void get_name(string new_name,object me) { 03/01 13:31
4F:→ laechan : 然後 me->set("name",new_name); 不过要留意一下 03/01 13:32
5F:→ laechan : 确定ES2 mud的中文名是使用 "name" 栏位 03/01 13:32
6F:→ laechan : 在login里头link类似灵魂,me=this_player()类似身体 03/01 13:33
7F:→ laechan : link一般储存的东西是密码,i上次登入时间,ip这类的 03/01 13:34
8F:→ laechan : 而一般使用的me则储存中文名,等级,技能,...这些 03/01 13:34
9F:→ dsnsid : 感谢解答!! 我是拿修改email的指令去改的 03/01 14:00
10F:→ dsnsid : 所以可能是因为这样 他存的位置不对 我再改一下 03/01 14:00
11F:→ dsnsid : 感谢感谢 03/01 14:00
12F:→ dsnsid : 欧,我改好了 已经成功了 谢谢大大教学 03/01 15:13
13F:推 kyoe : link->set("name", new_name);後link->save(); 03/05 10:53
14F:推 msrvoice : 完蛋了, 完全看不懂了 ... 04/15 21:42