Вопросы

Как сделать смену ника с командой /nick для админов , 

Поделиться сообщением


Ссылка на сообщение

4 ответа на этот вопрос

  • 0

SetPlayerName


CMD:nick(playerid, params[]) {
    if(PI[playerid][pAdmin] < 4) //проверка на администратора
        return SendClientMessage(playerid,-1,!"Вы не администратор!");
    if(sscanf(params, "s[" #MAX_PLAYER_NAME "]", params[0]))
        return SendClientMessage(playerid,-1,!"Используйте /nick [ Имя ]");
    return SetPlayerName(playerid, params[0]);
}  

 

Отредактировано пользователем Skiffi

Поделиться сообщением


Ссылка на сообщение
  • 0

Ну можно просто написать систему смены ников.

Для начала добавить дефайны надо

 

#define f(                            format(string, sizeof(string),
#define SCM                           SendClientMessage
#define SCMTA                         SendClientMessageToAll
#define DSI                           DIALOG_STYLE_INPUT
#define DSM                           DIALOG_STYLE_MSGBOX
#define COLOR_RED                     0xFF0000FF
#define COLOR_GRAD                    0xB4B5B7FF
#define COLOR_LIGHTBLUE               0x33CCFFAA
#define publics%0(%1)                 forward%0(%1); public%0(%1)

 

Далее создаешь новую переменную

 

new NickChange[MAX_PLAYERS][MAX_PLAYER_NAME];

После чего у себя в моде ищешь сам диалог выбора из списка команды menu(mm). Ищем public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[]). И пишем сюда сам диалог:

 

case 5: SPD(playerid, 14, DSI, "{FFCD00}Смена ника", "{FFFFFF}Смена ника происходит только после\n\
                                                                подтверждения администрации сервера\n\n\
                                                                Смена ника стоит {FF8300}3.000.000${ffffff}\n\
                                                                Ваш ник не должен содержать {FF8300}русские{ffffff} символы\n\
                                                                так же в нём не должны присутствовать {FF8300}цифры{ffffff}!\n\
                                                                Пример правильного ника Имя_Фамилия: {FF8300}'Roberto_Giordano'{ffffff}\n\n\
                                                                Введите ваш новый ник в данное окно", "Далее", "Назад");

 

 

 

Поделиться сообщением


Ссылка на сообщение
  • 0

@seimi , тоесть вы предлагаете человеку, напихать в его мод дефайны, которые он скорее всего даже не будет использовать?
Ваши дефайны в основном, обычное сокращение стандартных функций/параметров, так почему бы не использовать их напрямую?..

Поделиться сообщением


Ссылка на сообщение
Гость
Эта тема закрыта для публикации ответов.
  • Последние посетители   0 пользователей онлайн

    Ни одного зарегистрированного пользователя не просматривает данную страницу

  • Похожий контент

    • djxxx
      От djxxx
      приветствую всех.
       
      Задался таким вопросом при добавлении одной системы на DIALOG_STYLE_TABLIST_HEADERS.
       
      Суть проблемы в том, что диалог не выравнивается под нужные показатели, а просто как будто находиться по середине, в диалоге используется \t, но они особо не помогают в решении, также не ровно.
       
      а если попытаться выравнивать большим количеством \t, оно компилируется но в игре происходят вылеты
       
      Код такой:
      DialogAdmShop ( playerid, DIALOG_EPOINTSHOP, DIALOG_STYLE_TABLIST_HEADERS, fmt_str, ""BR"номер\t"BR"наименование\t"BR"доступное действие\n"\ "{EB4C42}#1\t{FFFFFF}Виртуальная валюта\t{888888}нажмите для взаимодействия\n"\ "{EB4C42}#2\t{FFFFFF}Донат валюта\t{888888}нажмите для взаимодействия\n"\ "{EB4C42}#3\t{FFFFFF}Вип статусы\t{888888}нажмите для взаимодействия\n"\ "{EB4C42}#4\t{FFFFFF}Кейсы\t{888888}нажмите для взаимодействия\n"\ "{EB4C42}#5\t{FFFFFF}Уникальные аксессуары\t{888888}нажмите для взаимодействия", "Выбрать", "Закрыть" ); }  
      сток dialogadmshop:
      stock DialogAdmShop(playerid, dialogid, style, title[], text[], button[], button2[]) {   if(style == 5)   {      ShowPlayerDialog(playerid, 0, DIALOG_STYLE_LIST, "...", "...", "...", "");    }   ShowPlayerDialog(playerid, dialogid, style, title, text, button, button2);   return 1; }