Dainik
Умник
Добрый день, сегодня ко мне в голову пришла не большая идея, я знаю, что уже есть подобные системы, но все, что я находил, были на английском языке. И вот я решил написать панель управления сервером из игры (необходимо быть авторизованным через RCON).
Я писал на командном процессоре dc_cmd (Позже добавлю на ZCCMD)
!Внимание! Вы можете менять ID диалогов сами, ибо эти id у вас скорее всего уже используются.
Я писал на командном процессоре dc_cmd (Позже добавлю на ZCCMD)
!Внимание! Вы можете менять ID диалогов сами, ибо эти id у вас скорее всего уже используются.
1. Создаём в конце мода команду (/spanel):
PHP:
CMD:spanel(playerid)
{
if(IsPlayerAdmin(playerid)){
ShowPlayerDialog(playerid, 1, DIALOG_STYLE_LIST, "Панель управления сервером", "1. Изменить название GameMode\n2. Установка пароля\n3. Изменить название\n4. Изменить название сайта\n5. Изменить название карты", "Выбрать", "Отмена");
}
}
PHP:
switch(dialogid)
{
case 1:
{
if(response)
{
switch(listitem)
{
case 0:{ShowPlayerDialog(playerid, 2, DIALOG_STYLE_INPUT, "Смена GameModeText", "Введите пожалуйста новое название GameMode", "Установить", "Отмена");}
case 1:{ShowPlayerDialog(playerid, 3, DIALOG_STYLE_INPUT, "Установка пароля", "Введите пожалуйста пароль для сервера (Если хотите его убрать, просто оставьте поле пустым)", "Установить", "Назад");}
case 2:{ShowPlayerDialog(playerid, 4, DIALOG_STYLE_INPUT, "Смена названия", "Введите пожалуйста новое название сервера", "Установить", "Назад");}
case 3:{ShowPlayerDialog(playerid, 5, DIALOG_STYLE_INPUT, "Смена сайта", "Введите новый сайт", "Установить", "Отмена");}
case 4:{ShowPlayerDialog(playerid, 6, DIALOG_STYLE_INPUT, "Смена названия карты", "Введите новое название для карты", "Установить", "Отмена");}
}
}
}
case 2:
{
if(response)
{
if(strlen(inputtext) < 5 || strlen(inputtext) > 15) { ShowPlayerDialog(playerid, 2, DIALOG_STYLE_INPUT, "Смена GameModeText", "Введите пожалуйста новое название GameMode", "Установить", "Отмена"); }
else
{
new string[30];
format(string, sizeof(string), "gamemodetext %s", inputtext);
SendRconCommand(string);
}
}
}
case 3:
{
if(response)
{
if(strlen(inputtext) > 20) { ShowPlayerDialog(playerid, 3, DIALOG_STYLE_INPUT, "Установка пароля", "Введите пожалуйста пароль для сервера (Если хотите его убрать, просто оставьте поле пустым)", "Установить", "Назад"); }
else
{
new string[30];
format(string,sizeof(string), "password %s", inputtext);
SendRconCommand(string);
}
}
else {ShowPlayerDialog(playerid, 1, DIALOG_STYLE_LIST, "Панель управления сервером", "1. Изменить название GameMode\n2. Установка пароля\n3. Изменить название\n4. Изменить название сайта\n5. Изменить название карты", "Выбрать", "Отмена");}
}
case 4:
{
if(response)
{
if(strlen(inputtext) < 5 || strlen(inputtext) > 20) { ShowPlayerDialog(playerid, 4, DIALOG_STYLE_INPUT, "Смена названия", "Введите пожалуйста новое название сервера", "Установить", "Назад"); }
else
{
new string[30];
format(string, sizeof(string), "hostname %s", inputtext);
SendRconCommand(string);
}
}
else {ShowPlayerDialog(playerid, 1, DIALOG_STYLE_LIST, "Панель управления сервером", "1. Изменить название GameMode\n2. Установка пароля\n3. Изменить название\n4. Изменить название сайта\n5. Изменить название карты", "Выбрать", "Отмена");}
}
case 5:
{
if(response)
{
if(strlen(inputtext) < 3 || strlen(inputtext) > 20) { ShowPlayerDialog(playerid, 5, DIALOG_STYLE_INPUT, "Смена сайта", "Введите новый сайт", "Установить", "Отмена"); }
else{
new string[30];
format(string, sizeof(string), "weburl %s", inputtext);
SendRconCommand(string);
}
}
}
case 6:
{
if(response)
{
if(strlen(inputtext) < 3 || strlen(inputtext) > 20) { ShowPlayerDialog(playerid, 6, DIALOG_STYLE_INPUT, "Смена названия карты", "Введите новое название для карты", "Установить", "Отмена"); }
else{
new string[30];
format(string, sizeof(string), "mapname %s", inputtext);
SendRconCommand(string);
}
}
}
}
Напоминаю, все dialogid вы можете изменять.
Автор: я
Автор: я
Последнее редактирование модератором:
