Как мгновенно перенести человека в другую комманду?

maxet24

Участник
Сообщения
73
Реакции
3
Добрый день! Я очень давно увидел видос ютубера (fenya). В нём феня перемещал мгновенно человека за другую комманду не меняя позиции игрока. То есть он мог встать в толпу своих и стать противником, расстреляв всекх. Подскажите плагин. (Advenced admin перемещает игрока на базу противника)
 

Munoon

Участник
Сообщения
200
Реакции
26
Не помню точную команду, но это можно как-то сделать через ent_fire
Сообщения автоматически склеены:

ent_fire !self addoutput "teamnumber 1" // Spectatort
ent_fire !self addoutput "teamnumber 2" // T side
ent_fire !self addoutput "teamnumber 3" // CT side

При этом на сервере должен стоять sv_cheats 1. Можешь сделать бинд что бы не вводить команду в консоль.
 
Последнее редактирование:

Paranoiiik

хачю клиентмод
Сообщения
2,047
Реакции
1,490
Д те же Team Switch и SwapTeam так делают
 

Paranoiiik

хачю клиентмод
Сообщения
2,047
Реакции
1,490
Тогда-же будет респавн, если я не ошибаюсь...
За SwapTeam точно не скажу, но Team Switch, по крайней мере, в CS:S точно делает это "на лету"
Сообщения автоматически склеены:

Прям как и заявлено в первом посту этой темы
 

Rimmer

Помогаю новичкам / Переводчик / Тестер / Заказчик
Сообщения
1,368
Реакции
753
А можно как то сделать так что бы всегда перекидывало, например за КТ, если игрок зашел за Т?
 

Rimmer

Помогаю новичкам / Переводчик / Тестер / Заказчик
Сообщения
1,368
Реакции
753
Ну конечно можно. Почему все время возникает такой вопрос? В две строчки это пишется
🥺
Напишешь?
 

Palonez

бб братки
Сообщения
3,035
Реакции
1,837
C++:
bool bOnly = true;    //true - ONLY CT | false - ONLY T

public void OnPluginStart()
{
    AddCommandListener(Listener, "jointeam");
}

public Action Listener(int client, char[] command, int args)
{
    if(bOnly) if(0 < GetClientTeam(client) < 3 && IsClientInGame(client) && !IsFakeClient(client)) ChangeClientTeam(client, 3);
    else if(GetClientTeam(client) == 1 || GetClientTeam(client) == 3 && IsClientInGame(client) && !IsFakeClient(client)) ChangeClientTeam(client, 2);
    return Plugin_Continue;
}
 
Последнее редактирование:

Rimmer

Помогаю новичкам / Переводчик / Тестер / Заказчик
Сообщения
1,368
Реакции
753
C++:
#include <cstrike>

bool bOnly = true;    //true - ONLY CT | false - ONLY T

public void OnPluginStart()
{
    AddCommandListener(Listener, "jointeam");
}

public Action Listener(int client, char[] command, int args)
{
    if(bOnly) if(0 < GetClientTeam(client) < 3 && IsClientInGame(client) && !IsFakeClient(client)) CS_SwitchTeam(client, 3);
    else if(GetClientTeam(client) == 1 || GetClientTeam(client) == 3 && IsClientInGame(client) && !IsFakeClient(client)) CS_SwitchTeam(client, 2);
    return Plugin_Continue;
}
Неа, захожу за Т спокойно
 

Rimmer

Помогаю новичкам / Переводчик / Тестер / Заказчик
Сообщения
1,368
Реакции
753

Palonez

бб братки
Сообщения
3,035
Реакции
1,837
не помогает, у меня shavit стоит переход без смертей я хз, короче я могу спокойно перейти на КТ или Т и не умру и все.
можешь отсюда попробовать Игрок определен в случайную команду поймать событие
C-подобный:
bool g_bMovedAfterJoin[MAXPLAYERS + 1] = {true, ...};

public void OnClientConnected(int client)
{
    g_bMovedAfterJoin[client] = false;
}

public void Event_player_team(Event event, const char[] name, bool dontBroadcast)
{
    int userid = event.GetInt("userid");
    int client = GetClientOfUserId(userid);
 
    if(!g_bMovedAfterJoin[client] && client)
    {
        g_bMovedAfterJoin[client] = true;
    
        if (event.GetInt("team") != 3) {
            RequestFrame(MovedAfterJoin, userid);
        }
    }
}

public void MovedAfterJoin(any data)
{
    int client = GetClientOfUserId(view_as<int>(data));
    if (client && IsClientInGame(client)) {
        ChangeClientTeam(client, 3);
    }
}

public void OnPluginStart()
{
    HookEvent("player_team", Event_player_team, EventHookMode_Post);
}
 
Сверху Снизу