Re: block_command的部分
看板mud_sanc (Sanctuary - 聖殿)作者laechan (小太保)時間18年前 (2007/12/27 19:49)推噓0(0推 0噓 1→)留言1則, 1人參與討論串2/2 (看更多)
※ 引述《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
→
12/28 08:52, , 1F
12/28 08:52, 1F
討論串 (同標題文章)
mud_sanc 近期熱門文章
PTT遊戲區 即時熱門文章
31
60
706
1406