CS:GO админы против игроков

Тема в разделе "Запросы", создана пользователем YAMER1, 27 май 2015.

  1. YAMER1

    YAMER1

    Сообщения:
    18
    Симпатии:
    0
    Ищу небольшой плагин, который позволяет админам играть против игроков сервера (некий admins vs players).
    Данный плагин, я видел в props плагине (моде), но там конечно же мешает этот мод.
    Если вам нужен будет это плагин пропс, то напишите это в комментариях.



    P.S. Заранее благодарю за сделанную вами работу и просмотр этой темы.
    Если захотите, то выдам вам админку на моём сервере навсегда или помогу раскрутить группу/сервер и т.д за сделанную вами услугу.
     
  2. NiGaByte

    NiGaByte

    Сообщения:
    501
    Симпатии:
    84
    Сделать два режима
    1) Куда присоединился хоть один админ, туда больше не смогут присоединится игроки, а тех кто там был, перебросит в другую команду.
    2) Заранее определять команду админов(кваром) 1=ct/2=t, заранее нельзя присоединится в эту команду.
     
  3. YAMER1

    YAMER1

    Сообщения:
    18
    Симпатии:
    0
    У komashchenko он же Феникс в плагине есть такая функция, может у него попросить, раз из русских никто не делает.
     
  4. hanson

    hanson

    Сообщения:
    303
    Симпатии:
    15
    YAMER1, давай начнем с того, зачем тебе это надо?
     
  5. DarklSide

    DarklSide

    Сообщения:
    684
    Симпатии:
    173
    По умолчанию sm_drenable - имеется в выключенном состоянии.
    По умолчанию sm_drugans - включен на T.

    sm_sortings - команда на сортировку Админов и игроков.
    Настройки в -> cfg/sourcemod/sm_joinfriends.cfg

    PHP:
    #include <sourcemod>
    #include <cstrike>
    //#define FLAG_ADMINA ADMFLAG_UNBAN
    new bool:b_en
    bool:b_team
    bool:switchEnd[MAXPLAYERS 1] = false;
    public 
    OnPluginStart()
    {
        new 
    Handle:cvar;
        
    HookConVarChange((cvar CreateConVar("sm_drenable""0""Включить/выключить плагин"FCVAR_PLUGINtrue0.0true1.0)), Cvar_b_enabled);
        
    b_en GetConVarBool(cvar);
        
    HookConVarChange((cvar CreateConVar("sm_drugans""0""0 - T, 1 - CT"FCVAR_PLUGINtrue0.0true1.0)), Cvar_b_team);
        
    b_team GetConVarBool(cvar);
        
    CloseHandle(cvar);
        
    AddCommandListener(JoinTeams"jointeam");
        
    //AddCommandListener(JoinTeams, "joinclass");
        
    HookEvent("round_end"Event_RoundEndEventHookMode_PostNoCopy);
        
    RegAdminCmd("sm_sortings"EnAdminSADMFLAG_ROOT);
        
    AutoExecConfig(true"sm_joinfriends");
    }
    public 
    Plugin:myinfo 
    {
        
    name "[NM] JoinFriends"
        
    author "DarklSide"
        
    description "Join friends in my team"
        
    version "1.0.2"
        
    url "www.surf-4fun.com"
    };
    public 
    Action:EnAdminS(clientargs)
    {
        if (
    IsClientInGame(client))
        {
            for (new 
    1<= MaxClientsi++)
            {
                if (
    IsClientInGame(i))
                {
                    if (
    b_Iadmins(i))
                    {
                        
    switchEnd[i] = true;
                    }
                }
            }
            
    PrintToChat(client"Сортировка команд, в след. раунде");
        }
        return 
    Plugin_Handled;
    }
    public 
    OnClientDisconnect(client)
    {
        if (
    b_en)
        {
            
    switchEnd[client] = false;
        }
    }
    bool:b_Iadmins(client)
    {
        return 
    GetUserAdmin(client) == INVALID_ADMIN_ID false true;
    }
    public 
    Event_RoundEnd(Handle:event, const String:name[], bool:dontBroadcast)
    {
        if (
    b_en)
        {
            for (new 
    1<= MaxClientsi++)
            {
                if (
    switchEnd[i])
                {
                    Switch(
    i);
                    
    switchEnd[i] = false;
                }
            }
        }
    }
    Switch(
    client)
    {
        if (
    IsClientInGame(client))
        {
            if (
    GetClientTeam(client) > 1)
            {
                if (
    b_team)
                {
                    
    CS_SwitchTeam(client2);
                }
                else
                {
                    
    CS_SwitchTeam(client3);
                }
            }
        }
    }
    public 
    Cvar_b_enabled(Handle:cvar, const String:oldvalue[], const String:newvalue[])
    {
        
    b_en GetConVarBool(cvar);
        if (
    b_en)
        {
            
    ServerCommand("mp_limitteams 0");
            
    ServerCommand("mp_autoteambalance 0");
        }
        else
        {
            
    ServerCommand("mp_limitteams 1"); // Своё значение
            
    ServerCommand("mp_autoteambalance 1"); // Своё значение
            
    for (new 1<= MaxClientsi++)
            {
                
    switchEnd[i] = false;
            }
        }
    }
    public 
    Cvar_b_team(Handle:cvar, const String:oldvalue[], const String:newvalue[])
    {
        
    b_team GetConVarBool(cvar);
    }
    public 
    Action:JoinTeams(client, const String:command[], args)
    {
        if (
    client && IsClientInGame(client))
        {
            switch (
    b_en)
            {
                case 
    0:
                return 
    Plugin_Continue;
                case 
    1:
                {
                    
    decl String:s_Team[4];
                    
    GetCmdArg(1s_Teamsizeof(s_Team));
                    new 
    i_team StringToInt(s_Team);
                    if (
    i_team == 0)
                    {
                        
    PrintToChat(client"\x01Автовыбор временно \x03отключен");
                        return 
    Plugin_Handled;
                    }
                    switch (
    b_team)
                    {
                        case 
    0:
                        {
                            if (
    i_team == CS_TEAM_T// && (GetUserFlagBits(client) < FLAG_ADMINA))
                            
    {
                                
    //ClientCommand(client, "jointeam 3");
                                
    PrintToChat(client"\x01Зайти за \x03T \x01можно только Админам - \x03(временно)");
                                return 
    Plugin_Handled;
                            }
                            return 
    Plugin_Continue;
                        }
                        case 
    1:
                        {
                            if (
    i_team == CS_TEAM_CT// && (GetUserFlagBits(client) < FLAG_ADMINA))
                            
    {
                                
    //ClientCommand(client, "jointeam 2");
                                
    PrintToChat(client"\x01Зайти за \x03СT \x01можно только Админам - \x03(временно)");
                                return 
    Plugin_Handled;
                            }
                            return 
    Plugin_Continue;
                        }
                    }
                }
            }
        }
        return 
    Plugin_Continue;
    }

    Для удобства:
    PHP:
    "Commands" 

        
    "ServerCommands" 
        

            
    "Включить ct или t" 
            

                
    "cmd"        "sm_drenable #1" 
                "admin"        "sm_unban" 
                "execute"    "server" 
                "1" 
                

                    
    "type"    "onoff" 
                    "title"    "Включить/Выключить" 
                

            } 
            
    "Админа за T/CT" 
            

                
    "cmd"        "sm_drugans #1" 
                "admin"        "sm_unban" 
                "execute"    "server" 
                "1" 
                

                    
    "type"    "onoff" 
                    "title"    "1 - CT, 2 - T" 
                

            } 
            
    "Сортировка игроков" 
            

                
    "cmd"        "sm_sortings" 
                "admin"        "sm_unban" 
                "execute"    "player" 
            

        } 
    }  

    P.S.: Не разу не запускал. Можно использовать как -

    Клан серва vs Игроков (swapteam),
    Друзья vs Игроков (swapteam),
    Так и, - Админы vs Игроков (sm_sortings),
    и т.д...
     

    Вложения:

    • joinfriends.smx
      Размер файла:
      5,7 КБ
      Просмотров:
      2
    • joinfriends.sp
      Размер файла:
      4 КБ
      Просмотров:
      1
    Последнее редактирование: 30 май 2015
    YAMER1 и BatyaMedic нравится это.
  6. YAMER1

    YAMER1

    Сообщения:
    18
    Симпатии:
    0
    Вроде сделал всё правильно, но пишет "нет такой команды".
     
  7. YAMER1

    YAMER1

    Сообщения:
    18
    Симпатии:
    0
    Врагмент кода феникса

    public AdminFlashHandler(Handle:menu, MenuAction:action, client, param)
    {
    if (action == MenuAction_Select)
    {
    switch(param)
    {
    case 0:
    {
    g_FlashModID = 0;
    PrintCenterTextAll("Все флешмобы отключены. Играйте и наслаждайтесь!");
    }
    case 1:
    {
    g_FlashModID = 1;
    g_iAdminTeam = 3;
    SetConVarInt(FindConVar("mp_limitteams"), 0);
    SetConVarInt(FindConVar("mp_autoteambalance"), 0);

    for (new i=1;i<=MaxClients;i++)
    {
    if (!IsClientInGame(i)) continue;
    CS_SwitchTeam(i, (GetUserAdmin(i) != INVALID_ADMIN_ID) ? g_iAdminTeam : CS_TEAM_T);
    }
    SetConVarInt(FindConVar("mp_restartgame"), 1);
    PrintCenterTextAll("Админы против игроков: убей админа - получи 10 бонусов!");

    LogToFile(log_path, "[FlashModes] Admin %N started flashmode #%d", client, param);
    }
    }
    DisplayMenu(g_hAdminFlashMenu, client, MENU_TIME_FOREVER);
    }
    else if (action == MenuAction_Cancel && param == MenuCancel_ExitBack) DisplayMenu(g_hAdminMenu, client, MENU_TIME_FOREVER);
    }
    И весь скрипт
     

    Вложения:

    • sProps.rar
      Размер файла:
      11,5 КБ
      Просмотров:
      0
  8. White Wolf

    White Wolf [] (int _n) -> double { return (_n % 2) == 0;}); Супер-модератор

    Сообщения:
    1.193
    Симпатии:
    424
    Смищно вы пошутили "весь код".
     
  9. AlmazON

    AlmazON деревянный © yand3xmail

    Сообщения:
    4.559
    Симпатии:
    1.988
    Оффтоп
     
  10. DarklSide

    DarklSide

    Сообщения:
    684
    Симпатии:
    173
    Смотри в error'ах или сделать дополнительную проверку.
     
    YAMER1 нравится это.
  11. YAMER1

    YAMER1

    Сообщения:
    18
    Симпатии:
    0
    Displaying call stack trace for plugin "joint.smx":
    L 05/29/2015 - 01:32:20: [SM] [0] Line 42, E:\css\s\s163\joint.sp::b_Iadmins()
    L 05/29/2015 - 01:32:20: [SM] [1] Line 25, E:\css\s\s163\joint.sp::EnAdminS()
    А sp файл же не нужен, это просто скрипт?
    Я не знаю, что означает этот путь.
     
  12. DarklSide

    DarklSide

    Сообщения:
    684
    Симпатии:
    173
    YAMER1, Обновил вложение, предыдущий файл можно удалить - smx.
    sp - для профилактики.
     
    YAMER1 нравится это.
  13. YAMER1

    YAMER1

    Сообщения:
    18
    Симпатии:
    0
    Большое спасибо, если тебе надо будет сервер попиарить, подписчиков накрутить или же разрекламировать услуги по созданию и настройки плагинов, то обращайся.
    Сам плагин я проверю уже завтра.

    Добавлено через 18 часов 0 минут
    Теперь пишу swapteam, тоже нет команды, но когда пишу sm_sortings просто ничего не происходит.
     
    Последнее редактирование: 29 май 2015
  14. DarklSide

    DarklSide

    Сообщения:
    684
    Симпатии:
    173