作者laechan (小太保)
看板mud_sanc
标题Re: block_command的部分
时间Thu Dec 27 19:49:10 2007
※ 引述《hermis (夏目)》之铭言:
: 我之前说要作的那个房间,为了避免短时间连call,所以才要用block_command
: 可是block_command没办法阻挡玩家执行add_action设的动作,就变成设了block_command
: 也没有意义,玩家还是可以连续拉。
: 如果改成设call_out,那肯定会变成连续call
: 用heart_beat,在4002也会造成负担。
: 那我要怎麽阻止玩家执行add_action的动作,又不会造成系统负担啊XD?
我觉得,重点是你这个房间是要干嘛的?
不要做一做,最後却发现原来有更简单的东西早就支援了。
这个 add_action 如果不是你设的,那自然你的东西不能阻挡
他人的 add_action;反之,如果是你设的,你可以在函数中
判断啊..
add_action("chat_xxx","chat");
int chat_xxx()
{
if(this_player()->query("block_command")>0)
{
write(this_player()->query("block_command_msg"));
return 1;
}
return 0;
}
现在几乎全部品的 add_action 都拿掉了,都让现有的指令可
以支援,除了少部份极稀少的物品除外。
另外,有个东西叫 user_commands()..
mixed cmds = this_player()->user_commands();
可以读取它现在可下的所有以 add_action 定义的指令.
add_action("cant_use_this_cmd",cmds);
int cant_use_this_cmd()
{
write("你现在不能使用这个指令.\n");
return 1;
}
Laechan
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 220.134.34.90
1F:→ hermis:对就是那个,原来是这样判定XD||| 12/28 08:52