|
发表于 2006-1-9 19:21:02
|
显示全部楼层
来自 中国–北京–北京
回复: 有能使客户端定时执行命令的插件吗?
附件传不上来,直接写出来吧。
/* AMX Mod script. (Nov 10th, 2002)
*
* Task Scheduler 0.2
* by JustinHoMi
*
* amx_task time "task" flags
* flags:
* m - time is in minutes
* s - time is in seconds
* r - repeat task
* t - specific time
*
*/
#include <amxmod>
new task_cmds[32][108]
new task_times[32][16]
new numtasks = 0
public load_task()
{
if (read_argc() < 4) {
server_print("[AMX] Usage: amx_task < time > ^"command^" < flags >")
return PLUGIN_HANDLED
}
new args[128]
read_args(args,128)
new time[6], cmd[108], flags[5]
parse(args,time,6,cmd,108,flags,5)
new Float:time_f = floatstr(time)
new flag[2] = ""
if (contain(flags,"r") != -1)
flag="b"
if (contain(flags,"m") != -1)
time_f = time_f * 60
if (contain(flags,"t") != -1)
{
copy(task_cmds[numtasks],108,cmd)
copy(task_times[numtasks],6,time)
numtasks++
return PLUGIN_HANDLED
}
set_task(time_f,"run_task",0,cmd,108,flag)
return PLUGIN_CONTINUE
}
public run_task(cmd[])
{
server_cmd(cmd)
return PLUGIN_HANDLED
}
public check_time()
{
new curtime[16]
get_time("%H:%M",curtime,16)
for(new i=0; i<numtasks; i++)
if(equal(curtime,task_times))
server_cmd(task_cmds)
return PLUGIN_CONTINUE
}
public plugin_init()
{
register_plugin("Task Scheduler","0.2","JustinHoMi")
register_srvcmd("amx_task","load_task")
set_task(60.0,"check_time",1,"",0,"b")
return PLUGIN_CONTINUE
} |
|