Re: block_command的部分

看板mud_sanc (Sanctuary - 聖殿)作者 (小太保)時間18年前 (2007/12/27 19:49), 編輯推噓0(001)
留言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
對就是那個,原來是這樣判定XD|||
12/28 08:52, 1F
文章代碼(AID): #17Sv4urA (mud_sanc)
討論串 (同標題文章)
本文引述了以下文章的的內容:
3
10
完整討論串 (本文為第 2 之 2 篇):
3
10
文章代碼(AID): #17Sv4urA (mud_sanc)