Пользователь
- Регистрация
- 8 Июл 2025
- Сообщения
- 14
- Автор темы
- #1
Как сделать диалоговое меню для /setleader для копии радмира рп
Зарегистрировавшись у нас, вы сможете обсуждать, делиться и отправлять личные сообщения другим участникам нашего сообщества.
Зарегистрироваться!// Определяем 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;
}
Уточни, тебе надо диалоговое меню или окно?Как сделать диалоговое меню для /setleader для копии радмира рп