Сообщение через 5 сек после смерти

s777

Участник
Сообщения
449
Реакции
74
Привет. Очень нужно подправить плагин, чтобы сообщение писалось через 5 сек после смерти тому, кто умер. Сейчас пишется через 5 сек после начала раунда всем
C-подобный:
#include <sourcemod>

new Handle:hTimer = INVALID_HANDLE;

public OnPluginStart()
    HookEvent("round_start", round_start, EventHookMode_PostNoCopy);

public round_start(Handle:event, const String:name[], bool:dontBroadcast)
{
    if (hTimer != INVALID_HANDLE)
        KillTimer(hTimer);

    hTimer = CreateTimer(5.0, CT_Timer);
}

public Action:CT_Timer(Handle:timer)
{
    PrintToChatAll(" text");
    hTimer = INVALID_HANDLE;
}
 

Fleeeshi

Добрая душа
Сообщения
231
Реакции
202
Держи
 

Вложения

  • death.sp
    645 байт · Просмотры: 12

iLoco

Пишу плагины за печеньки 🍪🍪🍪
Сообщения
2,265
Реакции
1,323
оно вроде всем напишет? Убираю all - не компилится
C-подобный:
PrintToChatAll(" text");
C++:
Handle hTimer[MAXPLAYERS+1];

public void OnPluginStart()
{
   HookEvent("player_death", Event_PlayerDeath);
}


public Action Event_PlayerDeath(Event hEvent, char[] sEvName, bool bDontBroadcast)
{
    int client = GetClientOfUserId(GetEventInt(hEvent, "userid"));
    if(client)
    {
        if (hTimer[client] != INVALID_HANDLE)
        {
            KillTimer(hTimer[client]);
            hTimer[client] = null;
        }
        
        hTimer[client] = CreateTimer(5.0, CT_Timer, GetClientUserId(client), TIMER_FLAG_NO_MAPCHANGE);
    }
}

public Action CT_Timer(Handle timer, any userid)
{
    int client = GetClientOfUserId(userid);

    if(IsClientInGame(client))
    {
        PrintToChat(client, " text");
        hTimer[client] = INVALID_HANDLE;
    }
}
 
  • Мне нравится
Реакции: s777

Young <

Now, finally free
Сообщения
1,263
Реакции
506
  • Вау
Реакции: s777
Сверху Снизу