• Уважаемый Гость.
    - Прежде чем создать свою тему, пожалуйста, попробуй воспользоваться этим -> ПОИСКОМ !!!
    - После решения Вашего вопроса (проблемы) - нажмите "Лучший ответ", на сообщении, которое его решило. За игнорирование этого действия - Вы получите соответствующее предупреждение. Мы - стараемся Вам помочь. Уделите 10 секунд - чтобы нажать кнопку. (Если у Вас нет такой возможности - укажите в последнем своем сообщении какой ответ Вы считаете лучшим. Наши модераторы сделают это за Вас)
    ЗАПРЕЩЕНО:
    - Cоздавать темы с названиями "Помогите", "Плиз", "Ошибка", "Не могу найти", "Хелп" и тому подобное;
    - Cоздавать темы без детального описания того, что нужно исправить.
    - Cоздавать темы из одного скриншота.
    За игнор правил форума - Ваша тема будет удалена, а Вы получите системное предупреждение.

Как вырезать неиспользуемые кейсы из диалога?

zazais

Специалист
Привет,

В команде /makeleader есть пустые строки "закрыто" тоесть в case ид отвечает за фракцию, как можно убрать эти закрытые фракции, и оставить только те которые используются

Вот код

C++:
CMD:makeleader(playerid, params[])
{
    if(PlayerInfo[playerid][pAlcoInvenxua] < 1) return true;
    if(sscanf(params, "d", params[0])) return SendClientMessage(playerid, -1, "Введите: /makeleader [ID]");
    if(!FIX_IsPlayerConnected(params[0])) return SendClientMessage(playerid, COLOR_GRAY,"Ошибка: Игрока не существует");
    //if(PlayerInfo[params[0]][pMember] > 0 && !PlayerInfo[params[0]][pAlcoInvenxua]) return SendClientMessage(playerid, C_GRAD1,"Игрок во фракции.");
    if(PlayerInfo[params[0]][pWarns] >= 1) return SendClientMessage(playerid, C_GRAD1,"У игрока предупреждение.");
    new dialog[512];
    strcat(dialog, "[1] LSPD\n[2] ФБР\n[3] Армия Авианосец\n[4] МЧС Лос Сантос\n[5] La Cosa Nostra\n[6] Yakuza\n[7] Мэрия\n[8] Закрыто\n[9] Закрыто\n[10] закрыто\n[11] Инструкторы\n[12] Ballas Gang\n[13] Vagos Gang\n[14] Russian Mafia\n[15] Grove Street Gang\n[16] San News\n[17] Aztec Gang\n[18] Rifa Gang");
    SPD(playerid, 16099, DSL, "Назначить лидера",dialog, "Выбрать", "Отмена");
    SetPVarInt(playerid,"PlayerMakeLeader",params[0]);
    return true;
}
C++:
        case 16099:
            {
                if(response)
                {
                    new actplayerid = GetPVarInt(playerid, "PlayerMakeLeader");
                    switch(listitem)
                    {
                        case 0: PlayerInfo[actplayerid][pRank] = 15, PlayerInfo[actplayerid][pModel] = (PlayerInfo[actplayerid][pSex] == 1) ? (283) : (76);
                        case 1: PlayerInfo[actplayerid][pRank] = 10, PlayerInfo[actplayerid][pModel] = (PlayerInfo[actplayerid][pSex] == 1) ? (165) : (141);
                        case 2: PlayerInfo[actplayerid][pRank] = 15, PlayerInfo[actplayerid][pModel] = (PlayerInfo[actplayerid][pSex] == 1) ? (61) : (191);
                        case 3: PlayerInfo[actplayerid][pRank] = 10, PlayerInfo[actplayerid][pModel] = (PlayerInfo[actplayerid][pSex] == 1) ? (70) : (219);
                        case 4: PlayerInfo[actplayerid][pRank] = 10, PlayerInfo[actplayerid][pModel] = (PlayerInfo[actplayerid][pSex] == 1) ? (113) : (214);
                        case 5: PlayerInfo[actplayerid][pRank] = 10, PlayerInfo[actplayerid][pModel] = (PlayerInfo[actplayerid][pSex] == 1) ? (186) : (169);
                        case 6: PlayerInfo[actplayerid][pRank] = 10, PlayerInfo[actplayerid][pModel] = (PlayerInfo[actplayerid][pSex] == 1) ? (147) : (150);
                        case 7: return true;
                        case 8: return true;
                         case 9: return true;
                        case 10: PlayerInfo[actplayerid][pRank] = 10, PlayerInfo[actplayerid][pModel] = (PlayerInfo[actplayerid][pSex] == 1) ? (59) : (172);
                        case 11: PlayerInfo[actplayerid][pRank] = 10, PlayerInfo[actplayerid][pModel] = (PlayerInfo[actplayerid][pSex] == 1) ? (104) : (195);
                        case 12: PlayerInfo[actplayerid][pRank] = 10, PlayerInfo[actplayerid][pModel] = (PlayerInfo[actplayerid][pSex] == 1) ? (110) : (190);
                        case 13: PlayerInfo[actplayerid][pRank] = 10, PlayerInfo[actplayerid][pModel] = (PlayerInfo[actplayerid][pSex] == 1) ? (272) : (214);
                        case 14: PlayerInfo[actplayerid][pRank] = 10, PlayerInfo[actplayerid][pModel] = (PlayerInfo[actplayerid][pSex] == 1) ? (270) : (56);
                        case 15: PlayerInfo[actplayerid][pRank] = 13, PlayerInfo[actplayerid][pModel] = (PlayerInfo[actplayerid][pSex] == 1) ? (187) : (211);
                        case 16: PlayerInfo[actplayerid][pRank] = 10, PlayerInfo[actplayerid][pModel] = (PlayerInfo[actplayerid][pSex] == 1) ? (115) : (41);
                        case 17: PlayerInfo[actplayerid][pRank] = 10, PlayerInfo[actplayerid][pModel] = (PlayerInfo[actplayerid][pSex] == 1) ? (173) : (226);
                    }
                    SendMes(actplayerid, C_BLUE, "Администратор %s назначил Вас контролировать фракцию %s", PlayerInfo[playerid][pNames], GetPlayerLeadName[listitem+1]);
                    SendClientMessage(actplayerid, C_BLUE, "Используйте /lpanel для управлением организации.");
                    format(stringer, sizeof(stringer), "Администратор: %s Новый лидер организации \"%s[%d]\" - %s[%d]. Поздравляем!",PlayerInfo[playerid][pNames], GetPlayerLeadName[listitem+1],listitem+1,PlayerInfo[actplayerid][pNames],actplayerid);
                    SendClientMessageToAll(0xFFCD00ff,stringer);
                    SetPlayerSkinEx(actplayerid, PlayerInfo[actplayerid][pModel]);
                    SetPlayerArmour(actplayerid,0);
                    SetPlayerHealthAC(actplayerid,100);
                    PlayerInfo[actplayerid][pLeader] = listitem+1;
                     PlayerInfo[actplayerid][pMember] = listitem+1;
                    if(!PlayerInfo[actplayerid][pAlcoInvenxua]) PlayerInfo[actplayerid][pVigs] = 0;
                    SetPlayerToTeamColor(actplayerid);
                    format(stringer1, sizeof(stringer1), "выдал лидерство фракции %s",GetPlayerFracName[PlayerInfo[actplayerid][pMember]]);
                    Admin_Log(playerid, stringer1, PlayerInfo[actplayerid][pNames], gettime());
                    OnPlayerUpdateRL(actplayerid);
                    return true;
                }
            }
 
Сверху Снизу