作者happyhero (2008 Fighter!)
看板mud
标题Re: [问题] semote
时间Tue Oct 14 02:01:40 2008
恩 我测试了一下
emote的东西大概跟这些档案有关:
/adm/daemons/emoted.c
/cmds/usr/semote.c->不一定在/cmds/usr/下 也可能在/cmds/std/
/data/emoted.o
/cmds/wiz/edemote.c->不一定在/cmds/wiz/下 但应该会在管理者的指令资料夹内
主要问题会出在edemote.c这个档案
edemote(编辑emote用的指令)会把跟情绪指令相关的资料
储存在/data/emoted.o里面
不同的mudlib储存语法不完全相同
例如emote的中文名字 有些会储存为"name",有些mudlib则存为"chinese"
因此造成读取上的错误
如果你要拷贝某个mudlib的emote建议你把上面四个档案都一起拷贝过去
※ 引述《happyhero (2008 Fighter!)》之铭言:
: 应该是/data/emoted.o有被动到吧
: 如果要预防万一的话
: string *query_all_emote()
: {
: if (!mapp(emote) return 0;
: else return keys(emote);
: }
: 加一个判定 如果emoted.o这个档有问题的话 也不会跑出错误讯息
: 不过这是比较消极的做法啦XD
: ※ 引述《howar31 (影紫‧欧人)》之铭言:
: : → skwen:去adm/daemons/emoted.c的178行 看有没有操作mapping结构的 10/13 00:37
: : → skwen:程式码吧,因为mapping为空,不能操作,所以要加一些判断式. 10/13 00:37
: : 感谢楼上这位大大@@
: : ==
: : 170~179行内容是这样:
: : 170 mapping query_emote(string pattern)
: : 171 {
: : 172 if( !undefinedp(emote[pattern]) ) return emote[pattern];
: : 173 else return ([]);
: : 174 }
: : 175
: : 176 string *query_all_emote()
: : 177 {
: : 178 return keys(emote);
: : 179 }
: : ==
: : S大所说的Mapping是指170行这个吗?
: : Edo...不是很了解...Orz
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 114.44.0.180
※ 编辑: happyhero 来自: 114.44.0.180 (10/14 02:03)
1F:推 howar31:@O@ 感谢大大<(_ _)> 10/14 08:34