下面是引用 pcpc305305 於 2010-02-20 13:55 發表的 :
你問了捨?
複製程式
如何判斷是否連續按住一個按鍵,其實也就是用按鍵偵測達成的
如以下範例:
public client_PostThink(id)
{
static button
button = pev(id, pev_button)
if (button & IN_USE) //當按住 +use 鍵時
{
.......
}
else // 當沒按住 +use 鍵時,也就是放開了 +use 鍵
{
........
}
}
至於顯示像放 C4 的進度條,就是用設定 message 的功能
這個你可以在我最後幫你修改的那個超級M4A1中找到用法參考喔
stock show_user_taskbar(id, Float:task_time)
{
new time = floatround(task_time, floatround_floor) + (floatfract(task_time) >= 0.5 ? 1 : 0)
message_begin(MSG_ONE_UNRELIABLE, g_msgBarTime, _, id)
write_short(time) // time (second) [0=clear]
message_end()
}
stock clear_user_taskbar(id)
{
message_begin(MSG_ONE_UNRELIABLE, g_msgBarTime, _, id)
write_short(0) // time (second) [0=clear]
message_end()
}
有關 TASK的用法,
其實設定一個 TASK 就是設定執行一項任務,但可以延遲執行,
所以很多需要延遲時間執行的項目,或是需要定時重覆執行的項目都可以用 TASK 來達成
而任務項目執行的內容,玩家可以自訂其內容,比如:像 回血 , 加護甲, 無敵效用結束時間等等,...
1. 設定TASK指令的格式如下:
set_task(time, "task_process", task_id, args, args_num, "set", repeat_times)
time = 延遲時間(單位:秒)
task_process = 任務程序名稱,就是要執行的 public 程序的名稱
task_id = 任務代碼,也就是這項任務的ID代碼
args = 指定傳遞參數
args_num = 指定傳遞參數的數量
set = TASK執行的模式設定字串
repeat_times = 重覆執行這項 TASK 的次數, 也只有當 "set" 這個字串內容為 "a" 的時候有作用
2. 取消這項 TASK 的指令格式
remove_task(task_id)
task_id = 任務代碼,也就是要取消那個任務的ID代碼
3. 為何有時候你會看到有些 task_id 後面會再 +7777 或 +8888
這個其實就是為了區隔每個不同項目用的,只是寫插件的人自已設定的,並不是公式用法來的
因為如果任務ID不作區隔的話,那麼當你下達 remove_task(task_id) 時,
若是剛好二項不同性質的任務其task_id都一樣的話,那麼這二項任務都會同時被取消了
先大致這樣說明了,其實真要了解詳細,不是光這樣說明就會清楚的^^"
建議你可以參考其它有用到task用法的插件來參考看看喔
我最近覺得打字實在太累了..