Как сделать диалоговое меню

Добро пожаловать!

Зарегистрировавшись у нас, вы сможете обсуждать, делиться и отправлять личные сообщения другим участникам нашего сообщества.

Зарегистрироваться!
Пользователь
Регистрация
8 Июл 2025
Сообщения
14
Как сделать диалоговое меню для /setleader для копии радмира рп
 
Только чтение
Регистрация
4 Сен 2024
Сообщения
163
Сам я незнаю, но вот что нашел:

Pawn:
// Определяем ID диалогового окна
#define DIALOG_SETLEADER 1234

// Функция, вызываемая при вводе команды /setleader
CMD:setleader(playerid, params[])
{
    // Проверяем, авторизован ли игрок и имеет ли он нужный уровень админки
    if (!IsPlayerLoggedIn(playerid) || !IsPlayerAdmin(playerid, 5)) // Пример: уровень админки 5
    {
        SendClientMessage(playerid, COLOR_RED, "Вы не имеете прав на использование этой команды.");
        return 1;
    }

    // Отображаем диалоговое окно
    ShowPlayerDialog(playerid, DIALOG_SETLEADER, DIALOG_STYLE_INPUT, "Установка лидера", "Введите ID игрока:", "Установить", "Отмена");
    return 1;
}

// Callback, вызываемый при ответе на диалоговое окно
public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[])
{
    if (dialogid == DIALOG_SETLEADER)
    {
        if (response) // Если нажата кнопка "Установить"
        {
            new targetid = strval(inputtext); // Получаем ID игрока из введенного текста

            // Проверяем, является ли введенный ID числом и существует ли игрок с таким ID
            if (!IsNumeric(inputtext) || !IsPlayerConnected(targetid))
            {
                SendClientMessage(playerid, COLOR_RED, "Неверный ID игрока.");
                return 1;
            }

            // Здесь должна быть логика установки лидера фракции для targetid.
            // Например:
            // SetPlayerFactionLeader(targetid, GetPlayerFaction(playerid));

            format(string, sizeof(string), "Игрок %s [%d] назначен лидером фракции.", GetPlayerNameEx(targetid), targetid);
            SendClientMessage(playerid, COLOR_GREEN, string);
        }
        else // Если нажата кнопка "Отмена"
        {
            SendClientMessage(playerid, COLOR_WHITE, "Установка лидера отменена.");
        }
        return 1;
    }
    return 0;
}

Если не работает, тогда хз, попробуй использовать PawnoKit
 
Только чтение
Регистрация
4 Сен 2024
Сообщения
163
Как сделать диалоговое меню для /setleader для копии радмира рп
Уточни, тебе надо диалоговое меню или окно?

Пример диалогового окна:
iZb85Y3.md.png
 
Профессионал
Заблокированный
Регистрация
20 Мар 2025
Сообщения
446
Обратите внимание, пользователь заблокирован на форуме. Не рекомендуется проводить сделки. Мы не несем ответственности за действия пользователя вне форума.
круто
 
Пользователь
Регистрация
27 Апр 2024
Сообщения
30
Сам я незнаю, но вот что нашел:

Pawn:
// Определяем ID диалогового окна
#define DIALOG_SETLEADER 1234

// Функция, вызываемая при вводе команды /setleader
CMD:setleader(playerid, params[])
{
    // Проверяем, авторизован ли игрок и имеет ли он нужный уровень админки
    if (!IsPlayerLoggedIn(playerid) || !IsPlayerAdmin(playerid, 5)) // Пример: уровень админки 5
    {
        SendClientMessage(playerid, COLOR_RED, "Вы не имеете прав на использование этой команды.");
        return 1;
    }

    // Отображаем диалоговое окно
    ShowPlayerDialog(playerid, DIALOG_SETLEADER, DIALOG_STYLE_INPUT, "Установка лидера", "Введите ID игрока:", "Установить", "Отмена");
    return 1;
}

// Callback, вызываемый при ответе на диалоговое окно
public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[])
{
    if (dialogid == DIALOG_SETLEADER)
    {
        if (response) // Если нажата кнопка "Установить"
        {
            new targetid = strval(inputtext); // Получаем ID игрока из введенного текста

            // Проверяем, является ли введенный ID числом и существует ли игрок с таким ID
            if (!IsNumeric(inputtext) || !IsPlayerConnected(targetid))
            {
                SendClientMessage(playerid, COLOR_RED, "Неверный ID игрока.");
                return 1;
            }

            // Здесь должна быть логика установки лидера фракции для targetid.
            // Например:
            // SetPlayerFactionLeader(targetid, GetPlayerFaction(playerid));

            format(string, sizeof(string), "Игрок %s [%d] назначен лидером фракции.", GetPlayerNameEx(targetid), targetid);
            SendClientMessage(playerid, COLOR_GREEN, string);
        }
        else // Если нажата кнопка "Отмена"
        {
            SendClientMessage(playerid, COLOR_WHITE, "Установка лидера отменена.");
        }
        return 1;
    }
    return 0;
}

Если не работает, тогда хз, попробуй использовать PawnoKit
опять нейросеть, ура!
 
Пользователь
Регистрация
27 Апр 2024
Сообщения
30
Вот пример создания диалогового окна
dialog:
ShowPlayerDialog(playerid, dialog_id, dialog_style, "заголовок", "мой первый диалог", "понятно", "закрыть");
Но вряд ли тебе это поможет. Скинь код /setleader, постараюсь помочь(если актуально)
 
Последнее редактирование:
Сверху