level 8
a123005
楼主
对mud还不太熟悉,不明白mudos如何设计的存储结构,比如cmd/std/有个kill
room init add_action('do_kill','kill'), 房间内 有2个NPC npc1,npc2
npc1 的init add_action('npc_kill','kill')
npc2 的init add_action('npc_kill','kill')
那么user 进入房间后kill命令 有4个函数
我实现原理是每个命令都是一个数组,如kill命令 为[std的,room的,npc1的,npc2的]
并且每个函数会有1个标示 如
std的kill标示是'' 注:''其实就是空字符串
room的do_kill 标示是''
npc1 的npc_kill 标示是'npc1'
npc2 的npc_kill 标示是'npc2'
执行的时候 比如kill npc1 我会查询标示为npc1的函数及标示为''的函数
那么过滤后 要执行的kill命令的函数组为[std的,room的,npc1的]后,倒序循环执行每个函数返回false则终止执行
这种实现方式是否合理,mudos的实现机制是什么样子的呢?
2014年05月27日 09点05分
1
room init add_action('do_kill','kill'), 房间内 有2个NPC npc1,npc2
npc1 的init add_action('npc_kill','kill')
npc2 的init add_action('npc_kill','kill')
那么user 进入房间后kill命令 有4个函数
我实现原理是每个命令都是一个数组,如kill命令 为[std的,room的,npc1的,npc2的]
并且每个函数会有1个标示 如
std的kill标示是'' 注:''其实就是空字符串
room的do_kill 标示是''
npc1 的npc_kill 标示是'npc1'
npc2 的npc_kill 标示是'npc2'
执行的时候 比如kill npc1 我会查询标示为npc1的函数及标示为''的函数
那么过滤后 要执行的kill命令的函数组为[std的,room的,npc1的]后,倒序循环执行每个函数返回false则终止执行
这种实现方式是否合理,mudos的实现机制是什么样子的呢?