Четверг, 22.04.2021, 23:43
Logo site
  • Главная
  • Форум
  • Мы в Контакте
  • Pwn-Zone.Ru
[ Новые сообщения · Участники · Правила форума · Поиск · RSS ]
  • Страница 1 из 1
  • 1
Форум » SA-MP » Wiki-The-Samp » Создание Диалогового окна
Создание Диалогового окна
Gambit26Дата: Четверг, 13.09.2012, 21:11 | Сообщение # 1
Рядовой
Группа: Пользователь
Сообщений: 14
Награды: 0
Репутация: 0
Замечания: 0%
Функция:
Code
ShowPlayerDialog(playerid, dialogid, style, caption[], info[], button1[], button2[]);

Параметры:
Code
playerid, dialogid, style, caption[], info[], button1[], button2[]

dialogid: например 1-2-3-4-5... и т.д

Стили: 3 стиля диалогового окна.
Стиль 1=DIALOG_STYLE_MSGBOX
Стиль 2=DIALOG_STYLE_INPUT
Стиль 3=DIALOG_STYLE_LIST

Примеры использования стилей:
DIALOG_STYLE_MSGBOX(0) можно использовать для вывода сообщений.
DIALOG_STYLE_INPUT(1) система регистрации и т.п.
DIALOG_STYLE_LIST(2) Лист возможных опций

caption: Название диалога
info: Текст в диалоговом окне
button1: Первая кнопка например: Ок, Login
button2: вторая кнопка .Пример:Cancel

Вот вам пример кода:
Code
if(strcmp(cmdtext, "/login", true) == 0)       
{
          new s[128];
          new loginname[MAX_PLAYER_NAME];
          GetPlayerName(playerid,loginname,MAX_PLAYER_NAME);
          format(s,sizeof(s),"Welcome again, %s!\n\nContiune to login!",loginname);
          ShowPlayerDialog(playerid,1,DIALOG_STYLE_INPUT,"Login Plase!",s,"Login","Cancel");
          return 1;
}

вот так то текст будет по-русски:
Code
if(strcmp(cmdtext, "/login", true) == 0)       
{
          new s[128];
          new loginname[MAX_PLAYER_NAME];
          GetPlayerName(playerid,loginname,MAX_PLAYER_NAME);
          format(s,sizeof(s)," Здарова еще раз, %s!\n\n Зайди под своим ником!",loginname);
          ShowPlayerDialog(playerid,1,DIALOG_STYLE_INPUT," Форма Логина!",s," Логин"," Отмена");
          return 1;
}

Вот паблик функции работы с ней:
Code
public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[])

Параметры:
Code
playerid, dialogid, response, listitem, inputtext[]

Сейчас расскажу здесь что означает:
playerid: ну я думаю вы поняли что это ид игрок.
dialogid: ид диалогового окна
response: проверка нажал ли игрок на первую кнопку или на вторую
listitem: если выбрали стиль окна DIALOG_STYLE_LIST ,то это будет выбор опции находящего в списке
inputtext[] это то что игрок ввел в поле, например, в системе регистрации.

пример диалогового окна на примере стиля DIALOG_STYLE_MSGBOX(0).
Code
public OnPlayerCommandText(playerid,cmdtext[])
{
if(strcmp(cmdtext,"/okno",true)==0) {ShowPlayerDialog(playerid,0,DIALOG_STYLE_MSGBOX,"Заголовок","Текст информации","Кнопка1"," Кнопка2"); return 1;}return 0;
}

public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[])
{
if(dialogid == 0)
{
if(response)
{
//Здесь то что случится если игрок нажмет на кнопка1
}
else
{
//А здесь если он нажмет кнопка2
}
}
}

В случае создание диалогового окна необходимо пользоватся:
\b - backspae - забой
\f - Form feed - перевод страницы
\n - new line - новая строка
\r - возврат каретки
\' - одиночная кавычка
\" - двойные кавычки
\? - вопросительный знак

Автор: Kaza40k


Сообщение отредактировал Gambit26 - Четверг, 13.09.2012, 21:12
 
Форум » SA-MP » Wiki-The-Samp » Создание Диалогового окна
  • Страница 1 из 1
  • 1
Поиск:

Лучшая рип студия!

Проследить за всеми новостями мы не можем, так как новости берутся из открытых источников. Если вы считаете, что новость нарушает ваши права на авторство или дизайн, то обратитесь к администрации данного ресурса. | Хостинг от uCoz