Доброго времени суток!
Как сделать так, чтобы когда игрок умирает и наблюдает за другим игроком, то видел его секундомер?
Знаю, что надо использовать:
Не могу додуматься как реализовать.
Как сделать так, чтобы когда игрок умирает и наблюдает за другим игроком, то видел его секундомер?
Знаю, что надо использовать:
Код:
static target; target = get_entvar(id, var_iuser1) == 4 ? get_entvar(id, var_iuser2) : id;
Код:
#include <amxmodx>
#include <reapi>
#pragma semicolon 1
#define TASK_OFFSET 800
#define StopTask(%1) if(task_exists(%1 + TASK_OFFSET)) remove_task(%1 + TASK_OFFSET)
native PlayerFinished(id);
new Float:gStartTime[MAX_PLAYERS+1];
new bool:gOffTimer[MAX_PLAYERS+1] = false;
public plugin_init()
{
register_plugin("Stopwatch", "1.0", "Admin");
RegisterHookChain(RG_CBasePlayer_Spawn, "CBasePlayer_Spawn", .post = true);
register_clcmd("say /stop", "OffTimer");
}
public CBasePlayer_Spawn(id)
{
StopTask(id);
if(!gOffTimer[id])
{
set_task(1.0, "StartStopwatch", id + TASK_OFFSET, .flags = "b");
gStartTime[id] = get_gametime();
}
}
public StartStopwatch(id)
{
id -= TASK_OFFSET;
if(PlayerFinished(id) || gOffTimer[id] || !is_user_alive(id)) StopTask(id);
new Float:fDiff = get_gametime() - gStartTime[id];
new iMinutes = floatround(fDiff / 60.0, floatround_floor);
new iSeconds = floatround(fDiff - iMinutes * 60, floatround_floor);
set_hudmessage(random_num(0, 255), random_num(0, 255), random_num(0, 255), -1.0, 0.65, 0, 0.0, 0.9, 0.0, 0.0);
show_hudmessage(id, "%02i:%02i", iMinutes, iSeconds);
}
public OffTimer(id) gOffTimer[id] = !gOffTimer[id];
Не могу додуматься как реализовать.