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

Как сделать проверку на администрацию с показом в диалоге

Привет, хочу в /mp (системе мероприятий) добавить проверку на тп админам, чтобы если администратор проводящий мп захотел поставил запрет для тп админам, и разрешение, а то многие мешают, только как сделать это????


у меня вот такая система мп

C++:
CMD:mp(playerid, params[])
{
    if(PlayerInfo[playerid][pAlcoInvenxua] < 4) return SendClientMessage(playerid,COLOR_GREY,"У вас нет прав!");
    SPD(playerid, 5343, DIALOG_STYLE_LIST,"Создание МП", "{0080FF}Включить/Выключить телепорт\n{0080FF}1. Раздать оружие(В радиусе 50)\n{0080FF}2. Раздать жизни(В радиусе 50)\n{0080FF}3. Обезоружить всех(В радиусе 50)\n{0080FF}Выдать временный скин", "Выбрать", "Отмена");
    return true;
}

C++:
        case 5343:
            {
                if(response)
                {
                    if(listitem == 0) {
                        if(Teleport == 0)
                        {
                            GetPlayerPos(playerid, TeleportFloat[0], TeleportFloat[1], TeleportFloat[2]); // Записываем координаты
                            TeleportInfo[0] = GetPlayerInterior(playerid); // Записываем интерьер
                            TeleportInfo[1] = GetPlayerVirtualWorld(playerid); // Записываем виртуальный мир
                            Teleport = 1;
                            format(stringer, sizeof(stringer), "%s %s[%d]: открыл телепорт на мероприятие используйте (/gomp)", (FD(playerid)) ? "Основатель" : "Администратор", PlayerInfo[playerid][pNames],playerid);
                            SendClientMessageToAll(0xFFCD00ff,stringer);
                        }
                        else
                        {
                            format(stringer, sizeof(stringer), "%s %s[%d]: закрыл телепорт на мероприятие.", (FD(playerid)) ? "Основатель" : "Администратор", PlayerInfo[playerid][pNames],playerid);
                            SendClientMessageToAll(0xFFCD00ff,stringer);
                            Teleport = 0;
                            return 1;
                        }
                    }
                    if(listitem == 1)
                    {
                        SPD(playerid, 5346, DIALOG_STYLE_INPUT,"Выдача оружия", "{FFFFFF}Введите id оружия и патроны\n{FFFFFF}Пример: {FF0000}31,500\n{FFFFFF}Где {FF0000}31 m4 {FFFFFF}а {FF0000}500 патроны", "Выдать", "Закрыть");
                    }
                    if(listitem == 2)
                    {
                        foreach(Player, i)
                        {
                            if(GetDistanceBetweenPlayers(playerid,i) < 50 && playerid != i) { SetPlayerHealthAC(i, 100); SetPlayerArmour(i, 0); SendClientMessage(i, COLOR_YELLOW, "Администратор выдал вам жизни");}
                        }
                    }
                    if(listitem == 3)
                    {
                        foreach(Player, i)
                        {
                            if(GetDistanceBetweenPlayers(playerid,i) < 50 && playerid != i)
                            {
                                ResetWeapons(i);
                                SendClientMessage(i, COLOR_YELLOW, "Администратор забрал у вас оружие");
                            }
                        }
                    }
                    if(listitem == 4) {
                        if(IsPlayerInRangeOfPoint(playerid, 60.0, TeleportFloat[0], TeleportFloat[1], TeleportFloat[2]) && Teleport == 1) {
                            ShowPlayerDialog(playerid, 5355, DIALOG_STYLE_INPUT, "Выдача временного скина", "Введите в поле ниже, ID скина", "Далее", "Отмена");
                        } else return SendClientMessage(playerid, COLOR_WHITE, "Вы не в зоне мероприятия или мероприятие не активно!");
                    }
                }
            }



C++:
CMD:gomp(playerid)
{
    if(Teleport == 0) return SendClientMessage(playerid, -1, "{AC0000}[Ошибка] {ffffff}На данный момент мероприятий нет.");
    else ShowPlayerDialog(playerid, 3333, DIALOG_STYLE_MSGBOX, "{FFCD00}Телепортация", "{ffffff}Вы уверены, что хотите попасть в место проведения мероприятия?", "Да", "Нет");
    return 1;
}
C++:
        case 3333:
        {
            if(!response) return true;
            new Float:Coords[3], in = GetPlayerInterior(playerid), vw = GetPlayerVirtualWorld(playerid);
            GetPlayerPos(playerid, Coords[0], Coords[1], Coords[2]);
            SetPVarFloat(playerid, "BackX", Coords[0]), SetPVarFloat(playerid, "BackY", Coords[1]), SetPVarFloat(playerid, "BackZ", Coords[2]), SetPVarInt(playerid, "BackIn", in), SetPVarInt(playerid, "BackVw", vw);
            SetPPos(playerid, TeleportFloat[0], TeleportFloat[1], TeleportFloat[2]);
            SetPlayerInteriorEx(playerid, TeleportInfo[0]);
            SetPlayerVirtualWorldEx(playerid, TeleportInfo[1]);
            SendClientMessage(playerid,COLOR_BLUE,"Вы были успешно телепортированы на место проведения мероприятия.");
            SendClientMessage(playerid,COLOR_BLUE,"Используйте команду '/back', чтобы вернуться обратно.");
            return true;
        }
 
Последнее редактирование:
Сверху Снизу