如何設置指令的間隔時間 [已解決]

Home Home
引用 | 編輯 85607417
2011-04-05 22:26
樓主
推文 x0
比如說打/top15查看排名資料
如何設置至少10秒後才能打第二次/top15

獻花 x0
引用 | 編輯 yesterday00
2011-04-06 12:24
1樓
  
这个需要看具体插件,可以限定他打/top15的条件为is_used[id] == false
打完/top15后设 is_used[id] =true ,然后set_task 几秒后设is_used[id] = false
public cmd_top15(id)
{
    if(is_used[id]) return;
    is_used[id] = true    
    set_task(10.0,"can_use",id)
}
public can_use(id)
{
    is_used[id] = false
}    

也可以在client_prethink中判断used_time
new Float:used_time[33]
public cmd_top15(id)
{
    if(is_used[id]) return;
    used_time[id] = get_gametime()
    is_used[id] = true    
}
public client_prethink(id)
{
    if(!is_user_connected[id])
     return PLUGIN_CONTINUE
    if(is_used[id])
    {
        if(get_gametime() >= used_time[id]+ 10.0)
                is_used[id] = false
    }
    return PLUGIN_CONTINUE
}

獻花 x1
引用 | 編輯 i-c0112
2011-04-06 18:32
2樓
  
其實不用在client_prethink判斷吧
在處裡指令的函數判斷use_time就好了 表情

獻花 x0
引用 | 編輯 85607417
2011-04-07 09:45
3樓
  
感謝樓上兩位解答^^

獻花 x1