Поиск Плагин который кидает всех в наблюдатели

Сообщения
165
Реакции
-8
Нужен плагин который кидает всех игроков в спек , например в чат напишу /spec все игроки переходят в SPEC.
 
Сообщения
1,408
Реакции
182
Помог
2 раз(а)
Привет, есть такая тема, посмотри, можешь для себя переделать что бы по команде было.
22 Сен 2019
Плагин автоматически умеет кидать при заходе за определенную команду, например всех за КТ или ВСЕХ только за Т и так далее
 

Вложения

Сообщения
59
Реакции
27
Помог
1 раз(а)
Цикл по всем игрокам и смена команды
 
Сообщения
1,408
Реакции
182
Помог
2 раз(а)
и все это дело повесить на команду. (/spec)
22 Сен 2019
Набрасал немного (c include cstrike):

C++:
#include <amxmodx>
#include <amxmisc>
#include <cstrike>


//Необходимые сonst для разных предназначений
new const PLUGIN[] = "Spec";
new const VERSION[] = "1.0";
new const AUTHOR[] = "wellasgood"; //-_-

new const ACCESS_FLAG = ADMIN_CFG; //игрок только с этим флагом сможет использовать команду.


public plugin_init()
{
    register_plugin(PLUGIN, VERSION, AUTHOR);
    register_clcmd("say /spec", "funcallspec");
}


public funcallspec(id){
    if(get_user_flags(id) & ACCESS_FLAG){
        new iGamer[MAX_PLAYERS], iCount;
        get_players_ex(iGamer, iCount, GetPlayers_ExcludeDead|GetPlayers_ExcludeBots|GetPlayers_ExcludeHLTV);

        for(new i; i < iCount; i++){
            cs_set_user_team(iGamer[i], CS_TEAM_SPECTATOR, 0);
        }
    }
}
 
Последнее редактирование:
Сообщения
1,408
Реакции
182
Помог
2 раз(а)
Исправил! Добавил флаг, с которым может использовать команду.
22 Сен 2019
Этот плагин кидает всех в spec, но они остаются живы при этом (просто меняет)
22 Сен 2019
Тогда в цикле нужно сначало убить! перед изменением команды
22 Сен 2019
C++:
public funcallspec(id){
    if(get_user_flags(id) & ACCESS_FLAG){
        new iGamer[MAX_PLAYERS], iCount;
        get_players_ex(iGamer, iCount, GetPlayers_ExcludeDead|GetPlayers_ExcludeBots|GetPlayers_ExcludeHLTV);

        for(new i; i < iCount; i++){
            user_kill(iGamer[i], 1);
            cs_set_user_team(iGamer[i], CS_TEAM_SPECTATOR, 0);
        }
    }
}
22 Сен 2019
Смотря что Вам нужно! Ув. Поользователь!
22 Сен 2019
UPD (не будет перемещать того кто использует команду, и соотвественно убивать, т.е кто пишет /spec):


C++:
#include <amxmodx>
#include <amxmisc>
#include <cstrike>


//Необходимые сonst для разных предназначений
new const PLUGIN[] = "Spec";
new const VERSION[] = "1.0";
new const AUTHOR[] = "wellasgood"; //-_-

new const ACCESS_FLAG = ADMIN_CFG; //игрок только с этим флагом сможет использовать команду.


public plugin_init()
{
    register_plugin(PLUGIN, VERSION, AUTHOR);
    register_clcmd("say /spec", "funcallspec");
}


public funcallspec(id){
    if(get_user_flags(id) & ACCESS_FLAG){
        new iGamer[MAX_PLAYERS], iCount;
        get_players_ex(iGamer, iCount, GetPlayers_ExcludeDead|GetPlayers_ExcludeBots|GetPlayers_ExcludeHLTV);

        for(new i; i < iCount; i++){
            if(iGamer[i] != id){
                user_kill(iGamer[i], 1);
                cs_set_user_team(iGamer[i], CS_TEAM_SPECTATOR, 0);
            }
        }
    }
}
 
Сообщения
1,419
Реакции
2,509
Помог
59 раз(а)
  • Квары можно посмотреть в файле что создаётся по пути /plugins/transfer_to_other_team.cfg.
  • Файл с переводами transfer_to_other_team.txt загрузить в /data/lang.
  • Команду transfer_to_other_team можно использовать как из консоли сервера так и из консоли клиента. Для использования в игре команда /transfer в чате, можно изменить на 32-33 строках.
  • Флаг доступа можно изменить в файле /configs/cmdaccess.ini.

Код:
#include <amxmodx>
#include <amxmisc>
#include <reapi>

new const PLUGIN_NAME[] = "Transfer to Other Team";
new const PLUGIN_VERSION[] = "1.0.0";
new const PLUGIN_AUTHOR[] = "w0w";

/****************************************************************************************
****************************************************************************************/

enum _:CVARS
{
    CVAR_YOURSELF,
    TeamName:CVAR_TEAM_TO,
    CVAR_TEAM_WHO,
    CVAR_BOT_SUPPORT,
    CVAR_SILENT_KILL
};

new g_eCvar[CVARS];

public plugin_init()
{
    register_plugin(
        .plugin_name = PLUGIN_NAME,
        .version = PLUGIN_VERSION,
        .author = PLUGIN_AUTHOR);

    register_dictionary("transfer_to_other_team.txt");

    register_clcmd("say /transfer", "func_TransferToOtherTeam", ADMIN_RCON);
    register_clcmd("say_team /transfer", "func_TransferToOtherTeam", ADMIN_RCON);
    register_concmd("transfer_to_other_team", "func_TransferToOtherTeam", ADMIN_RCON);

    func_RegisterCvars();
}

public func_TransferToOtherTeam(const id, iAccess, iCommand)
{
    if(!cmd_access(id, iAccess, iCommand, 0))
        return PLUGIN_HANDLED;

    new iCount;

    for(new i = 1; i <= MaxClients; i++)
    {
        if(!is_user_connected(i) || is_user_hltv(i))
            continue;

        new TeamName:iTeam = get_member(i, m_iTeam);

        if(iTeam == g_eCvar[CVAR_TEAM_TO])
            continue;

        if(g_eCvar[CVAR_TEAM_WHO] == 1 && iTeam == TEAM_TERRORIST)
            continue;
        else if(g_eCvar[CVAR_TEAM_WHO] == 2 && iTeam == TEAM_CT)
            continue;
        else if(g_eCvar[CVAR_TEAM_WHO] == 3 && iTeam == TEAM_SPECTATOR)

        if(!g_eCvar[CVAR_YOURSELF] && id == i)
            continue;

        if(!g_eCvar[CVAR_BOT_SUPPORT] && is_user_bot(i))
            continue;

        rg_set_user_team(i, g_eCvar[CVAR_TEAM_TO], .check_win_conditions = true);
        user_kill(i, g_eCvar[CVAR_SILENT_KILL]);

        iCount++;
    }

    if(id && iCount)
        client_print_color(0, print_team_default, "%l", "TTOT_CHAT_MSG", id);

    return PLUGIN_HANDLED;
}

func_RegisterCvars()
{
    new pCvar;

    pCvar = create_cvar("ttot_yourself", "1", FCVAR_NONE, fmt("%L", LANG_SERVER, "TTOT_CVAR_YOURSELF"), true, 0.0, true, 1.0);
    bind_pcvar_num(pCvar, g_eCvar[CVAR_YOURSELF]);

    pCvar = create_cvar("ttot_team_to", "3", FCVAR_NONE, fmt("%L", LANG_SERVER, "TTOT_CVAR_TEAM_TO"), true, 1.0, true, 3.0);
    bind_pcvar_num(pCvar, g_eCvar[CVAR_TEAM_TO]);

    pCvar = create_cvar("ttot_team_who", "4", FCVAR_NONE, fmt("%L", LANG_SERVER, "TTOT_CVAR_TEAM_WHO"), true, 1.0, true, 4.0);
    bind_pcvar_num(pCvar, g_eCvar[CVAR_TEAM_WHO]);

    pCvar = create_cvar("ttot_bot_support", "0", FCVAR_NONE, fmt("%L", LANG_SERVER, "TTOT_CVAR_BOT_SUPPORT"), true, 0.0, true, 1.0);
    bind_pcvar_num(pCvar, g_eCvar[CVAR_BOT_SUPPORT]);

    pCvar = create_cvar("ttot_silent_kill", "1", FCVAR_NONE, fmt("%L", LANG_SERVER, "TTOT_CVAR_SILENT_KILL"), true, 0.0, true, 1.0);
    bind_pcvar_num(pCvar, g_eCvar[CVAR_SILENT_KILL]);

    AutoExecConfig(true, "transfer_to_other_team");
}

Код:
[ru]
TTOT_CHAT_MSG = ^4* ^3%n ^1перевел(а) игроков за другую команду
TTOT_CVAR_YOURSELF = Переводить того кто использовал команду^n0 - выкл.^n1 - вкл.
TTOT_CVAR_TEAM_TO = В какую команду переводить^n1 - террористы^n2 - контр-террористы^n3 - наблюдатели
TTOT_CVAR_TEAM_WHO = Кого переводить^n1 - террористов^n2 - контр-террористов^n3 - наблюдателей^n4 - всех
TTOT_CVAR_BOT_SUPPORT = Перевод ботов^n0 - выкл.^n1 - вкл.
TTOT_CVAR_SILENT_KILL = Бесшумное убийство (сообщение вверху справа)^n0 - выкл.^n1 - вкл.
 
Сообщения
4
Реакции
1
Обратите внимание, если вы хотите заключить сделку с этим пользователем, он заблокирован
wellasgood, О спасибо! значит не зря написал)
 

Пользователи, просматривающие эту тему

Сейчас на форуме нет ни одного пользователя.
Сверху Снизу