Fluffos 3.0 (alpha7)
本帖最后由 sunyc 于 2013-8-5 08:56 PM 编辑https://github.com/fluffos/fluff ... /fluffos-3.0-alpha7
Fluffos 3.0 (alpha7)
sunyc released this a minute ago
3.0 vs 2.0 Summary
https://github.com/fluffos/fluff ... angeLog.fluffos-3.x
FluffOS 3.0-alpha7
Check c++11 capability during configuring.
new LPC predefine __CXXFLAGS__.
Fixes cmud/zmud problem with TCP_NODELAY with MCCP.
new debug macro "-dadd_action" to show add_action related logs.
disable_commands() now accepts one int argument. (see 3.0 vs 2.0).
北大侠客行MUD,中国最好的MUD 这个版本针对 北侠 修改了 disable_commands(int)这个efun , 参数默认为1 , 和以前一样删除actions. 传入参数为0 , 只禁止命令输入 不删除actions. wa............................. 我不知道这样理解对不对:
假如我买了一个干粮,咬了几口,睡觉的时候干粮被人搜走,然后被他扔掉了(过分啊)。这时候,我醒来了。
如果disable_commands(1),我身上就没有eat这个action了。
如果disable_commands(0),我身上还有eat这个action,但是我要吃的object已经被摧毁了。 回复 5# zues
fluffos里与disable无关,eat这个action只要food被别人get走都会被remove。 如果是这样的话,disable_commands睡觉,enable_commands睡醒就行,action怎么会add不上去?
标题
回复 7# zuesenable_commands外部函数本身并不包含add当前上下环境action的操作。而老的disable_commands却包含了remove action操作,它和enable_commands并不对称。所以这次sunyc提供了参数把差异部分给分离出来。 宇聪,我看了fluffos的代码,发现一个重要的区别是move_object不再判断object是否enable_command了,一律作remove_sent和apply_init的操作。基于这个disable_command的时候仅仅置个标志,而不remove_sent是没有问题的。
不过我认为这个实现是不合理的,mud里绝大部分的物件是非enable_command的,如果enable_command的物件是1,非enable_command的物件可能就是10. 这些物件调用apply_init的开销是多余的。
我觉得move_object应该继续判断enable_command标志,同时增加一个setup_commands的efun,由lpc手动的调用apply_init,而disable_command保持remove_sent的操作。
你觉得呢 setup new commands 里面做了检查了, 所以并没有太多的性能损失。 setup new commands 里面做了检查了, 所以并没有太多的性能损失。
页:
[1]