Нужна помощь с таймером в коде

MrEvgen

Участник
Сообщения
117
Реакции
38
Сервер CSS
Есть плагин, который выдает бессмертие в конце раунда,

PHP:
new Handle:PROTECT;

public OnPluginStart()
{
    PROTECT = CreateConVar("round_end_protect", "1", "1 = защита в конце раунда вкл, 0 = откл", FCVAR_NOTIFY, true, 0.0, true, 1.0);
    HookEvent("round_end", round_end, EventHookMode_Pre);
}

public Action:round_end(Handle:event, const String:name[], bool:dontBroadcast)
{
    if (GetConVarBool(PROTECT))
    {
        for (new i = 1 ; i <= MaxClients; i++)
        {
            if (IsClientInGame(i) && IsPlayerAlive(i)) SetEntProp(i, Prop_Data, "m_takedamage", 0);
        }
    }
    return Plugin_Continue;
}

Нужно сделать, что бы он срабатывал через 1 секунду примерно
 

Someone

Участник
Сообщения
1,933
Реакции
1,653
Сервер CSS
Есть плагин, который выдает бессмертие в конце раунда,

PHP:
new Handle:PROTECT;

public OnPluginStart()
{
    PROTECT = CreateConVar("round_end_protect", "1", "1 = защита в конце раунда вкл, 0 = откл", FCVAR_NOTIFY, true, 0.0, true, 1.0);
    HookEvent("round_end", round_end, EventHookMode_Pre);
}

public Action:round_end(Handle:event, const String:name[], bool:dontBroadcast)
{
    if (GetConVarBool(PROTECT))
    {
        for (new i = 1 ; i <= MaxClients; i++)
        {
            if (IsClientInGame(i) && IsPlayerAlive(i)) SetEntProp(i, Prop_Data, "m_takedamage", 0);
        }
    }
    return Plugin_Continue;
}

Нужно сделать, что бы он срабатывал через 1 секунду примерно

PHP:
public Action:round_end(Handle:event, const String:name[], bool:dontBroadcast)
{
    if (GetConVarBool(PROTECT))
    {
        CreateTimer(1.0, TIMER);
    }
    return Plugin_Continue;
}

public Action TIMER(Handle hTimer)
{
    for (new i = 1 ; i <= MaxClients; i++)    if (IsClientInGame(i) && IsPlayerAlive(i))
    {
        SetEntProp(i, Prop_Data, "m_takedamage", 0);
    }
    return Plugin_Stop;
}
 

MrEvgen

Участник
Сообщения
117
Реакции
38
PHP:
public Action:round_end(Handle:event, const String:name[], bool:dontBroadcast)
{
    if (GetConVarBool(PROTECT))
    {
        CreateTimer(1.0, TIMER);
    }
    return Plugin_Continue;
}

public Action TIMER(Handle hTimer)
{
    for (new i = 1 ; i <= MaxClients; i++)    if (IsClientInGame(i) && IsPlayerAlive(i))
    {
        SetEntProp(i, Prop_Data, "m_takedamage", 0);
    }
    return Plugin_Stop;
}
Спасибо
 
Сверху Снизу