下面是引用 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用法的插件来参考看看喔
我最近觉得打字实在太累了..