Антиреспавн CSGO

Павел 01

Участник
Сообщения
81
Реакции
4
Господа ,можете помочь с плагином, он рабочий но возродить сторонними плагинами нельзя.. Можете помочь или посоветовать как это возможно реализовать?
C-подобный:
#pragma semicolon 1

#include <sourcemod>
#include <cstrike>

public Plugin:myinfo =
{
    name    = "Anti ReSpawn",
    author    = "wS / World-Source.Ru",
    version = "1.1"
};

new Handle:g_Array;
new g_Array_Size;

public OnPluginStart()
{
    g_Array = CreateArray(28);

    new Handle:cvar = FindConVar("mp_restartgame");
    if (cvar != INVALID_HANDLE) HookConVarChange(cvar, cvar_mp_restartgame);

    HookEvent("round_end",        round_end,        EventHookMode_PostNoCopy);
    HookEvent("player_spawn",    player_spawn);
    HookEvent("player_death",    player_death);
}

public cvar_mp_restartgame(Handle:cvar, const String:OldValue[], const String:NewValue[])
{
    g_Array_Size = 0;
    ClearArray(g_Array);
}

public round_end(Handle:event, const String:name[], bool:silent)
{
    g_Array_Size = 0;
    ClearArray(g_Array);
}

public player_death(Handle:event, const String:name[], bool:silent)
{
    new client = GetClientOfUserId(GetEventInt(event, "userid"));
    if (!IsFakeClient(client))
    {
        decl String:steamid[28];
        if (GetClientAuthString(client, steamid, 28))
        {
            PushArrayString(g_Array, steamid);
            g_Array_Size++;
        }
    }
}

public player_spawn(Handle:event, const String:name[], bool:silent)
{
    if (g_Array_Size < 1)
        return;

    new client = GetClientOfUserId(GetEventInt(event, "userid"));
    if (IsFakeClient(client))
        return;

    new team = GetClientTeam(client);
    if (team < 2)
        return;

    decl String:steamid[28];
    if (GetClientAuthString(client, steamid, 28) && FindStringInArray(g_Array, steamid) != -1)
    {
        ChangeClientTeam(client, 1);
        CS_SwitchTeam(client, team);
    }
}
 
Сверху Снизу