北大侠客行MUD论坛

 找回密码
 注册
搜索
热搜: 新手 wiki 升级
12
返回列表 发新帖
楼主: sunyc

FluffOS 3.0-alpha7.1

[复制链接]
发表于 2013-8-9 11:05:09 | 显示全部楼层
回复  jason


屏蔽玩家的输出信息、输入命令一样可以通过simefun、lib来实现,靠disable来实现属于杀鸡 ...
labaz 发表于 2013-8-9 10:29 AM



    但是昏迷状态下执行init同样会带来其他的问题。比如见人就打招呼的npc,难道你要玩家醒来后看到一堆msg?
北大侠客行Mud(pkuxkx.net),最好的中文Mud游戏!
发表于 2013-8-9 12:35:31 | 显示全部楼层
好像泥潭的处理方式很简单:
在/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);
}
北大侠客行Mud(pkuxkx.net),最好的中文Mud游戏!
发表于 2013-8-9 12:48:41 | 显示全部楼层
回复 11# jason

我记得好像只有睡觉才有暂存信息,晕倒是没的
北大侠客行Mud(pkuxkx.net),最好的中文Mud游戏!
发表于 2013-8-10 22:26:23 | 显示全部楼层
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的问题。
北大侠客行Mud(pkuxkx.net),最好的中文Mud游戏!
发表于 2013-8-10 22:34:34 | 显示全部楼层
sunyc,貌似基于epoll的连接功能有问题。暂时还没找到稳定的复现办法。
北大侠客行Mud(pkuxkx.net),最好的中文Mud游戏!
 楼主| 发表于 2013-8-11 10:30:03 | 显示全部楼层
我跟labaz正在debug 不是 epoll的问题 而是 你们logind里 控制最大连接数的有bug
北大侠客行Mud(pkuxkx.net),最好的中文Mud游戏!
您需要登录后才可以回帖 登录 | 注册

本版积分规则

Archiver|手机版|小黑屋|北大侠客行MUD ( 京ICP备16065414号-1 )

GMT+8, 2024-4-23 09:17 PM , Processed in 0.008439 second(s), 12 queries .

Powered by Discuz! X3.4

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表