Статус темы:
Закрыта.
  1. damir4ik Пользователь

    Регистрация:
    27.07.15
    Сообщения:
    228
    Симпатии:
    19
    Пол:
    Мужской
    Привет всем. Помогите сделать 2 пункта меню.
    1.Войти в игру ( именно за кт чтобы переводило)
    2.Спектаторы
    __
    Для детран сервера , поэтому именно условие только за КТ.
    PHP:
    /*
                        Часть кода с обходом лимита предоставил Freedo.m, за что ему спасибо
    */

    #include <amxmodx>
    #include <cstrike>
    #include <fakemeta>

    #pragma semicolon 1

    new g_MapName[32], bool:g_VIPMap false;

    public 
    plugin_init()
    {
        
    register_plugin("Change Team""1.0""neygomon");
        
    register_clcmd("chooseteam""ShowMenu");
        
    register_menucmd(register_menuid("Team Menu"), MENU_KEY_1|MENU_KEY_2|MENU_KEY_3|MENU_KEY_5|MENU_KEY_6|MENU_KEY_0"HandleMenu");
        
    register_message(96"MessageShowMenu");
        
    register_message(114"MessageVGUIMenu");
        
    get_mapname(g_MapNamecharsmax(g_MapName));
        if(
    containi(g_MapName"as_") != -1g_VIPMap true;
    }

    public 
    ShowMenu(id)
    {
        new 
    szMenu[512], iLen formatex(szMenucharsmax(szMenu), "\yВыбор команды:^n^n"), iKeys MENU_KEY_0;
        new 
    iNumTe get_teamplayersnum(1), iNumCt get_teamplayersnum(2), CsTeams:iTeam cs_get_user_team(id);
        if(
    iNumTe iNumCtiLen += formatex(szMenu[iLen], charsmax(szMenu) - iLen"\y1. \dТеррористы^n");
        else
        {
            
    iLen += formatex(szMenu[iLen], charsmax(szMenu) - iLen"\y1. \wТеррористы^n");
            
    iKeys |= MENU_KEY_1;
        }
        if(
    iNumCt iNumTeiLen += formatex(szMenu[iLen], charsmax(szMenu) - iLen"\y2. \dКонтр-террористы^n^n");
        else
        {
            
    iLen += formatex(szMenu[iLen], charsmax(szMenu) - iLen"\y2. \wКонтр-террористы^n^n");
            
    iKeys |= MENU_KEY_2;
        }
        if(
    g_VIPMap)
        {
            if(
    iTeam != CS_TEAM_CTiLen += formatex(szMenu[iLen], charsmax(szMenu) - iLen"\y3. \dСтать VIP^n^n");
            else
            {
                
    iLen += formatex(szMenu[iLen], charsmax(szMenu) - iLen"\y3. \wСтать VIP^n^n");
                
    iKeys |= MENU_KEY_3;
            }
        }
        if(
    CS_TEAM_UNASSIGNED iTeam CS_TEAM_SPECTATORiLen += formatex(szMenu[iLen], charsmax(szMenu) - iLen"\y5. \dСлучайный выбор^n");
        else
        {
            
    iLen += formatex(szMenu[iLen], charsmax(szMenu) - iLen"\y5. \wСлучайный выбор^n");
            
    iKeys |= MENU_KEY_5;
        }
        if(
    iTeam == CS_TEAM_SPECTATORiLen += formatex(szMenu[iLen], charsmax(szMenu) - iLen"\y6. \dНаблюдение^n^n^n");
        else
        {
            
    iLen += formatex(szMenu[iLen], charsmax(szMenu) - iLen"\y6. \wНаблюдение^n^n^n");
            
    iKeys |= MENU_KEY_6;
        }
        
    formatex(szMenu[iLen], charsmax(szMenu) - iLen"\y0. \wВыход");
        return 
    show_menu(idiKeysszMenu, -1"Team Menu");
    }

    public 
    HandleMenu(idiKey)
    {
        switch(
    iKey)
        {
            case 
    0:
            {
                
    set_pdata_int(id125get_pdata_int(id125) & ~(1<<8));
                
    engclient_cmd(id"jointeam""1");
            }
            case 
    1:
            {
                
    set_pdata_int(id125get_pdata_int(id125) & ~(1<<8));
                
    engclient_cmd(id"jointeam""2");
            }
            case 
    2:
            {
                
    set_pdata_int(id125get_pdata_int(id125) & ~(1<<8));
                
    engclient_cmd(id"jointeam""3");
            }
            case 
    4:
            {
                
    set_pdata_int(id125get_pdata_int(id125) & ~(1<<8));
                
    engclient_cmd(id"jointeam""5");
            }
            case 
    5:
            {
                
    user_kill(id1);
                
    engclient_cmd(id"jointeam""6");
            }
        }
        return 
    PLUGIN_HANDLED;
    }

    public 
    MessageShowMenu(iMsgIdiMsgDestiReceiver)
    {
        static 
    szArg4[20]; get_msg_arg_string(4szArg4charsmax(szArg4));
        if(
    equal(szArg4"#Team_Select"12) || equal(szArg4"#IG_Team_Select"15) || equal(szArg4"#IG_VIP_Team_Select"19))
        {
            
    set_pdata_int(iReceiver2050);
            return 
    ShowMenu(iReceiver);
        }
        return 
    PLUGIN_CONTINUE;
    }

    public 
    MessageVGUIMenu(iMsgIdiMsgDestiReceiver)
    {
        if(
    get_msg_arg_int(1) == 2)
        {
            
    set_pdata_int(iReceiver2050);
            return 
    ShowMenu(iReceiver);
        }
        return 
    PLUGIN_CONTINUE;
    }

    get_teamplayersnum(sw)
    {
        static 
    players[32], iNum;
        switch(
    sw)
        {
            case 
    1get_players(playersiNum"che""TERRORIST");
            case 
    2get_players(playersiNum"che""CT");
        }
        return 
    iNum;
    }
     

    Вложения:

    • changeteam.sma
      Размер файла:
      3,8 КБ
      Просмотров:
      4
  2. sQilver Пользователь

    Регистрация:
    02.11.15
    Сообщения:
    29
    Симпатии:
    10
    Пол:
    Мужской
    Skype:
    kekc_mp3
    ICQ:
    2354005
    М.б. прокатит
     

    Вложения:

    • changeteam.sma
      Размер файла:
      4,2 КБ
      Просмотров:
      7
  3. neygomon Его Темнейшество :j Команда форума

    Регистрация:
    26.02.15
    Сообщения:
    7.594
    Симпатии:
    4.169
    Пол:
    Мужской
    sQilver,
    Код:
        new iNumTe = get_teamplayersnum(1), iNumCt = get_teamplayersnum(2), CsTeams:iTeam = cs_get_user_team(id);
        if(iNumTe > iNumCt) iLen += formatex(szMenu[iLen], charsmax(szMenu) - iLen, "\y1. \dCT^n");
        else
        {
            iLen += formatex(szMenu[iLen], charsmax(szMenu) - iLen, "\y1. \wCT^n");
            iKeys |= MENU_KEY_1;
        }
    ->
    Код:
    iLen += formatex(szMenu[iLen], charsmax(szMenu) - iLen, "\y1. \wCT^n");
            iKeys |= MENU_KEY_1;
     
    damir4ik и sQilver нравится это.
  4. damir4ik Пользователь

    Регистрация:
    27.07.15
    Сообщения:
    228
    Симпатии:
    19
    Пол:
    Мужской
    neygomon, после замены на твой код.
    change team (57) error 017 undefined symbol "iTeam"
    __
    Мб , готовый исходник закинешь)
     
  5. sQilver Пользователь

    Регистрация:
    02.11.15
    Сообщения:
    29
    Симпатии:
    10
    Пол:
    Мужской
    Skype:
    kekc_mp3
    ICQ:
    2354005
    new CsTeams:iTeam = cs_get_user_team(id); в public ShowMenu(id)
     
Статус темы:
Закрыта.