Доступ к готовым решениям

Переход в группу "Пользователь"

300.00 ₽
Одноразовый платёж
Быстрый переход в группу "Пользователи", без надобности написания постов и ожидания.

Покупка дает возможность:
Быть полноправным участником форума
Нормальное копирование кода
Создавать темы
Скачивать файлы
Доступ к архиву Pawno-Info

Мануал Управление сервером из игры

Статус
В этой теме нельзя размещать новые ответы.

Dainik

Умник
Добрый день, сегодня ко мне в голову пришла не большая идея, я знаю, что уже есть подобные системы, но все, что я находил, были на английском языке. И вот я решил написать панель управления сервером из игры (необходимо быть авторизованным через RCON).

Я писал на командном процессоре 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. Изменить название карты", "Выбрать", "Отмена");
    }
}
2. Ищем паблик OnDialogResponse и в него вставляем:
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 вы можете изменять.
Автор: я
​
 
Последнее редактирование модератором:
Статус
В этой теме нельзя размещать новые ответы.
Сверху Снизу