1. gegelga Пользователь

    Регистрация:
    17.03.15
    Сообщения:
    62
    Симпатии:
    11
    Unbenannt.png

    Не пойму в чём ошибка заключается

    Код:
    /*
                        Часть кода с обходом лимита предоставил Freedo.m, за что ему спасибо
    */
    
    #include <amxmodx>
    #include <cstrike>
    #include <fakemeta>
    
    #pragma semicolon 1
    
    new g_MapName[32], bool:g_VIPMap = false;
    
    native al_admin_expired(index);
    
    public plugin_init()
    {
        register_plugin("Change Team", "1.1", "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_MapName, charsmax(g_MapName));
         if(containi(g_MapName, "as_") != -1) g_VIPMap = true;
    }
    
    public ShowMenu(id)
    {
                new szMenu[512],    iKeys = MENU_KEY_0
             
                new exp = al_admin_expired(id);
                if(exp > 0)
                {
                    new sys = get_systime();
                    if(exp - sys > 0)
                        {
                            if((exp - sys) / 86400 > 4)
                            iLen = formatex(szMenu, charsmax(szMenu), "\r[\yРусский стандарт\r] \wВыбор команды:^n\r=================== ^n\r[\yАдминка\r] \wзакончится через: \r%d \yдн.!", (exp - sys) / 86400)
                            else if (4 >= (exp - sys) / 86400 > 0)
                            iLen = formatex(szMenu, charsmax(szMenu), "\r[\yРусский стандарт\r] \wВыбор команды:^n\r=================== ^n\r[\yАдминка\r] \wзакончится через: \r%d \yдня!", (exp - sys) / 86400)
                            else
                            iLen = formatex(szMenu, charsmax(szMenu), "\r[\yРусский стандарт\r] \wВыбор команды:^n\r=================== ^n\r[\yАдминка\r] \wзакончится: \rсегодня!")
                        }
                        else
                        client_print(id, print_chat, "Действие админки истекло!");
                }
                else if(exp == 0) iLen = formatex(szMenu, charsmax(szMenu), "\r[\yРусский стандарт\r] \wВыбор команды:^n\r=================== ^n\r[\yАдминка\r] \wУ вас \yбессрочная")
                else iLen = formatex(szMenu, charsmax(szMenu), "\r[\yРусский стандарт\r] \wВыбор команды:^n^n") 
        new iNumTe = get_teamplayersnum(CS_TEAM_T), iNumCt = get_teamplayersnum(CS_TEAM_CT), CsTeams:iTeam = cs_get_user_team(id);
        if(iNumTe > iNumCt) iLen += formatex(szMenu[iLen], charsmax(szMenu) - iLen, "\r1. \dТеррористы^n");
        else
        {
            iLen += formatex(szMenu[iLen], charsmax(szMenu) - iLen, "\r1. \wТеррористы^n");
            iKeys |= MENU_KEY_1;
        }
        if(iNumCt > iNumTe) iLen += formatex(szMenu[iLen], charsmax(szMenu) - iLen, "\r2. \dКонтр-террористы^n^n");
        else
        {
            iLen += formatex(szMenu[iLen], charsmax(szMenu) - iLen, "\r2. \wКонтр-террористы^n^n");
            iKeys |= MENU_KEY_2;
        }
        if(g_VIPMap)
        {
            if(iTeam != CS_TEAM_CT) iLen += formatex(szMenu[iLen], charsmax(szMenu) - iLen, "\r3. \dКупить админку^n^n");
            else
            {
                iLen += formatex(szMenu[iLen], charsmax(szMenu) - iLen, "\r3. \wКупить админку^n^n");
                iKeys |= MENU_KEY_3;
            }
        }
        if(CS_TEAM_UNASSIGNED < iTeam < CS_TEAM_SPECTATOR) iLen += formatex(szMenu[iLen], charsmax(szMenu) - iLen, "\r5. \dСлучайный выбор^n");
        else
        {
            iLen += formatex(szMenu[iLen], charsmax(szMenu) - iLen, "\r5. \wСлучайный выбор^n");
            iKeys |= MENU_KEY_5;
        }
        if(iTeam == CS_TEAM_SPECTATOR) iLen += formatex(szMenu[iLen], charsmax(szMenu) - iLen, "\r6. \dНаблюдение^n^n^n");
        else
        {
            iLen += formatex(szMenu[iLen], charsmax(szMenu) - iLen, "\r6. \wНаблюдение^n^n^n");
            iKeys |= MENU_KEY_6;
        }
        formatex(szMenu[iLen], charsmax(szMenu) - iLen, "\r0. \wВыход");
        return show_menu(id, iKeys, szMenu, -1, "Team Menu");
    }
    
    public HandleMenu(id, iKey)
    {
        switch(iKey)
        {
            case 0:
            {
                set_pdata_int(id, 125, get_pdata_int(id, 125) & ~(1<<8));
                engclient_cmd(id, "jointeam", "1");
            }
            case 1:
            {
                set_pdata_int(id, 125, get_pdata_int(id, 125) & ~(1<<8));
                engclient_cmd(id, "jointeam", "2");
            }
            case 2:
            {
                set_pdata_int(id, 125, get_pdata_int(id, 125) & ~(1<<8));
                engclient_cmd(id, "jointeam", "3");
            }
            case 4:
            {
                set_pdata_int(id, 125, get_pdata_int(id, 125) & ~(1<<8));
                engclient_cmd(id, "jointeam", "5");
            }
            case 5:
            {
                user_kill(id, 1);
                engclient_cmd(id, "jointeam", "6");
            }
        }
        return PLUGIN_HANDLED;
    }
    
    public MessageShowMenu(iMsgId, iMsgDest, iReceiver)
    {
        static szArg4[20]; get_msg_arg_string(4, szArg4, charsmax(szArg4));
        if(equal(szArg4, "#Team_Select", 12) || equal(szArg4, "#IG_Team_Select", 15) || equal(szArg4, "#IG_VIP_Team_Select", 19))
        {
            set_pdata_int(iReceiver, 205, 0);
            return ShowMenu(iReceiver);
        }
        return PLUGIN_CONTINUE;
    }
    
    public MessageVGUIMenu(iMsgId, iMsgDest, iReceiver)
    {
        if(get_msg_arg_int(1) == 2)
        {
            set_pdata_int(iReceiver, 205, 0);
            return ShowMenu(iReceiver);
        }
        return PLUGIN_CONTINUE;
    }
    
    get_teamplayersnum(const CsTeams:iTeam)
    {
        static players[32], iNum;
        get_players(players, iNum, "che", iTeam == CS_TEAM_T ? "TERRORIST" : "CT"); 
        return iNum;
    }
     
  2. LeninChan^^ Команда форума

    Регистрация:
    27.02.15
    Сообщения:
    1.085
    Симпатии:
    368
    Пол:
    Мужской
    Telegram:
    LeninChan
    PHP:
    /*
                        Часть кода с обходом лимита предоставил Freedo.m, за что ему спасибо
    */

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

    #pragma semicolon 1

    new g_MapName[32], bool:g_VIPMap false;

    native al_admin_expired(index);

    public 
    plugin_init()
    {
        
    register_plugin("Change Team""1.1""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], iLeniKeys MENU_KEY_0;
        new 
    exp al_admin_expired(id);
        if(
    exp 0)
        {
            new 
    sys get_systime();
            if(
    exp sys 0)
            {
                if((
    exp sys) / 86400 4)
                    
    iLen formatex(szMenucharsmax(szMenu), "\r[\yРусский стандарт\r] \wВыбор команды:^n\r=================== ^n\r[\yАдминка\r] \wзакончится через: \r%d \yдн.!", (exp sys) / 86400);
                else if (
    >= (exp sys) / 86400 0)
                    
    iLen formatex(szMenucharsmax(szMenu), "\r[\yРусский стандарт\r] \wВыбор команды:^n\r=================== ^n\r[\yАдминка\r] \wзакончится через: \r%d \yдня!", (exp sys) / 86400);
                else
                    
    iLen formatex(szMenucharsmax(szMenu), "\r[\yРусский стандарт\r] \wВыбор команды:^n\r=================== ^n\r[\yАдминка\r] \wзакончится: \rсегодня!");
            }
            else
                
    client_print(idprint_chat"Действие админки истекло!");
        }
        else if(
    exp == 0)
            
    iLen formatex(szMenucharsmax(szMenu), "\r[\yРусский стандарт\r] \wВыбор команды:^n\r=================== ^n\r[\yАдминка\r] \wУ вас \yбессрочная");
        else 
    iLen formatex(szMenucharsmax(szMenu), "\r[\yРусский стандарт\r] \wВыбор команды:^n^n");
        new 
    iNumTe get_teamplayersnum(CS_TEAM_T), iNumCt get_teamplayersnum(CS_TEAM_CT), CsTeams:iTeam cs_get_user_team(id);
        if(
    iNumTe iNumCtiLen += formatex(szMenu[iLen], charsmax(szMenu) - iLen"\r1. \dТеррористы^n");
        else
        {
            
    iLen += formatex(szMenu[iLen], charsmax(szMenu) - iLen"\r1. \wТеррористы^n");
            
    iKeys |= MENU_KEY_1;
        }
        if(
    iNumCt iNumTeiLen += formatex(szMenu[iLen], charsmax(szMenu) - iLen"\r2. \dКонтр-террористы^n^n");
        else
        {
            
    iLen += formatex(szMenu[iLen], charsmax(szMenu) - iLen"\r2. \wКонтр-террористы^n^n");
            
    iKeys |= MENU_KEY_2;
        }
        if(
    g_VIPMap)
        {
            if(
    iTeam != CS_TEAM_CTiLen += formatex(szMenu[iLen], charsmax(szMenu) - iLen"\r3. \dКупить админку^n^n");
            else
            {
                
    iLen += formatex(szMenu[iLen], charsmax(szMenu) - iLen"\r3. \wКупить админку^n^n");
                
    iKeys |= MENU_KEY_3;
            }
        }
        if(
    CS_TEAM_UNASSIGNED iTeam CS_TEAM_SPECTATORiLen += formatex(szMenu[iLen], charsmax(szMenu) - iLen"\r5. \dСлучайный выбор^n");
        else
        {
            
    iLen += formatex(szMenu[iLen], charsmax(szMenu) - iLen"\r5. \wСлучайный выбор^n");
            
    iKeys |= MENU_KEY_5;
        }
        if(
    iTeam == CS_TEAM_SPECTATORiLen += formatex(szMenu[iLen], charsmax(szMenu) - iLen"\r6. \dНаблюдение^n^n^n");
        else
        {
            
    iLen += formatex(szMenu[iLen], charsmax(szMenu) - iLen"\r6. \wНаблюдение^n^n^n");
            
    iKeys |= MENU_KEY_6;
        }
        
    formatex(szMenu[iLen], charsmax(szMenu) - iLen"\r0. \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(const CsTeams:iTeam)
    {
        static 
    players[32], iNum;
        
    get_players(playersiNum"che"iTeam == CS_TEAM_T "TERRORIST" "CT");
        return 
    iNum;
    }
     
  3. neygomon Его Темнейшество :j Команда форума

    Регистрация:
    26.02.15
    Сообщения:
    7.588
    Симпатии:
    4.158
    Пол:
    Мужской
    LeninChan^^, читор, это мой код. я ему в скайпе сделал точно так же :D
     
    LeninChan^^ нравится это.
  4. gegelga Пользователь

    Регистрация:
    17.03.15
    Сообщения:
    62
    Симпатии:
    11
    забыл выложить, прикольно получись. Я ошибку допустил, засунул форматекс в функцию :headbang: