Кик Бота.

alexmy

Участник
Сообщения
284
Реакции
13
Всем привет, пытаюсь кикнуть второго Танка если появится, на все без успешно. Помогите плиз=).
PHP:
public void EventTankSpawn(Event event, const char[] name, bool dontBroadcast)
{
    int client = GetClientOfUserId(GetEventInt(event,"userid"));
    SetEntityHealth(client, g_iTankHP);
    {
        for (int i = 1; i <= 2; i++)
        {
            new String:class[100];
            GetClientModel(i, class, sizeof(class));
            if (GetClientTeam(i)==3 && IsFakeClient(i) && (StrContains(class, "hulk", false) == -1))
            {
                KickClient(i);
            }
        }
    }
}
 

alexmy

Участник
Сообщения
284
Реакции
13
PHP:
public void EventTankSpawn(Event event, const char[] name, bool dontBroadcast)
{
    int client = GetClientOfUserId(event.GetInt("userid"));
    char class[100];
    for (int i = 1; i <= MaxClients; i++)
    {
        if (IsClientInGame(i) && IsFakeClient(i))
        {
            GetClientModel(i, class, sizeof(class));
            if (StrContains(class, "hulk", false) != -1)
            {
                KickClient(client);
                return;
            }
        }
    }
    SetEntityHealth(client, g_iTankHP);
}
Спс конечно, но проблема осталась, он кикает всех подряд ботов танков. Я наверно опять не так выразился, если текущий танк уже есть на карте и игра спавнит нового танка, вот одного из двух на кик.
 

AlmazON

Не путать с самим yand3xmail
Сообщения
5,099
Реакции
2,755
если текущий танк уже есть на карте
PHP:
public void EventTankSpawn(Event event, const char[] name, bool dontBroadcast)
{
    int client = GetClientOfUserId(event.GetInt("userid"));
    char class[100];
    for (int i = 1; i <= MaxClients; i++)
    {
        if (IsClientInGame(i) && IsFakeClient(i) && i != client)
        {
            GetClientModel(i, class, sizeof(class));
            if (StrContains(class, "hulk", false) != -1)
            {
                KickClient(client);
                return;
            }
        }
    }
    SetEntityHealth(client, g_iTankHP);
}
 

alexmy

Участник
Сообщения
284
Реакции
13
PHP:
public void EventTankSpawn(Event event, const char[] name, bool dontBroadcast)
{
    int client = GetClientOfUserId(event.GetInt("userid"));
    char class[100];
    for (int i = 1; i <= MaxClients; i++)
    {
        if (IsClientInGame(i) && IsFakeClient(i) && i != client)
        {
            GetClientModel(i, class, sizeof(class));
            if (StrContains(class, "hulk", false) != -1)
            {
                KickClient(client);
                return;
            }
        }
    }
    SetEntityHealth(client, g_iTankHP);
}
Спасибо большое, сейчас работает. Но это не то оказывается, бак тогда появляется на карте. Как можно убить его?
 

alexmy

Участник
Сообщения
284
Реакции
13
PHP:
ForcePlayerSuicide(client);
Или просто мог бы установить ему 1 HP.
Привет, если 1 hp, его игрок убьет и опять таймер запустится на спавн :D. Фишка такая что с киком что суицидом. Плагин убивает второго танка, убиваешь "сам" первого танка и при спавне нового танка плагин суицидирует этого танка, хотя он один на карте.
 

AlmazON

Не путать с самим yand3xmail
Сообщения
5,099
Реакции
2,755
суицидирует этого танка
PHP:
public void EventTankSpawn(Event event, const char[] name, bool dontBroadcast)
{
    int client = GetClientOfUserId(event.GetInt("userid"));
    char class[100];
    for (int i = 1; i <= MaxClients; i++)
    {
        if (IsClientInGame(i) && IsFakeClient(i) && i != client && IsPlayerAlive(i))
        {
            GetClientModel(i, class, sizeof(class));
            if (StrContains(class, "hulk", false) != -1)
            {
                KickClient(client);
                return;
            }
        }
    }
    SetEntityHealth(client, g_iTankHP);
}
При суициде танков более 1, только мёртвых.
 

alexmy

Участник
Сообщения
284
Реакции
13
PHP:
public void EventTankSpawn(Event event, const char[] name, bool dontBroadcast)
{
    int client = GetClientOfUserId(event.GetInt("userid"));
    char class[100];
    for (int i = 1; i <= MaxClients; i++)
    {
        if (IsClientInGame(i) && IsFakeClient(i) && i != client && IsPlayerAlive(i))
        {
            GetClientModel(i, class, sizeof(class));
            if (StrContains(class, "hulk", false) != -1)
            {
                KickClient(client);
                return;
            }
        }
    }
    SetEntityHealth(client, g_iTankHP);
}
При суициде танков более 1, только мёртвых.
Спасибо большое, сейчас все хорошо.
 
Сверху Снизу