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

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

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

Зарегистрироваться!
  • Если Вы желаете помогать развитию проекта, готовы заполнять раздел(-ы) и подсказывать другим пользователям на портале, есть возможность попасть в команду редакторов. Для этого следует обратиться в техническую поддержку
Пользователь
Регистрация
8 Июл 2025
Сообщения
14
Как сделать диалоговое меню для /setleader для копии радмира рп
 
Пользователь
Регистрация
4 Сен 2024
Сообщения
130
Сам я незнаю, но вот что нашел:

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
Сообщения
130
Как сделать диалоговое меню для /setleader для копии радмира рп
Уточни, тебе надо диалоговое меню или окно?

Пример диалогового окна:
iZb85Y3.md.png
 
Сверху