→ hermis:對就是那個,原來是這樣判定XD||| 12/28 08:52
※ 引述《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