屏蔽玩家的输出信息、输入命令一样可以通过simefun、lib来实现,靠disable来实现属于杀鸡 ...
labaz 发表于 2013-8-9 10:29 AM http://pkuxkx.net/forum/images/common/back.gif
但是昏迷状态下执行init同样会带来其他的问题。比如见人就打招呼的npc,难道你要玩家醒来后看到一堆msg? 好像泥潭的处理方式很简单:
在/feature/command.c里面
enable_player()增加如下判断:
if (this_object()->query_temp("disable_input"))
this_object()->delete_temp("disable_input");
disable_player()里注释掉disable_command(),增加 set_temp("disable_input", 1);
同时,新增一个simul_efuns
int living(object ob)
{
if (ob->query_temp("disable_input"))
return 0;
return efun::living(ob);
} 回复 11# jason
我记得好像只有睡觉才有暂存信息,晕倒是没的 alpha 7.1给enable_commands增加了一个参数,默认是0. enable_commands(1)的时候,会调用父物件,兄弟和子物件的init方法。不过这个办法有一点要注意的,就是要先调用
enable_commands(0);
add_action("command_hook", "", 1);
再调用
enable_commands(1);
否则command_hook会覆盖其他的action。比如鸡腿上定义了eat,而有个emote也是eat,会出现不能eat jitui的问题。 sunyc,貌似基于epoll的连接功能有问题。暂时还没找到稳定的复现办法。 我跟labaz正在debug 不是 epoll的问题 而是 你们logind里 控制最大连接数的有bug
页:
1
[2]