Пятница, 23.04.2021, 00:03
Logo site
  • Главная
  • Форум
  • Мы в Контакте
  • Pwn-Zone.Ru
[ Новые сообщения · Участники · Правила форума · Поиск · RSS ]
  • Страница 1 из 1
  • 1
Форум » SA-MP » Wiki-The-Samp » [Tutorial] Создание Диалогового окна (Сдесь, расписано как можно создать Диалоговое окно.)
[Tutorial] Создание Диалогового окна
НазарДата: Воскресенье, 23.10.2011, 17:13 | Сообщение # 1
Гл. Администратор
Группа: Пользователь
Сообщений: 125
Награды: 7
Замечания: 0%
Урок по созданию диалогового окна в sa-mp 0.3

Функция:
Code
ShowPlayerDialog(playerid, dialogid, style, caption[], info[], button1[], button2[]);

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


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

Стили: 3 стиля диалогового окна.
Стиль 0=DIALOG_STYLE_MSGBOX
Стиль 1=DIALOG_STYLE_INPUT
Стиль 2=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 - возврат каретки
\t - табуляция
\v - вертикальная табуляция
\' - одиночная кавычка
\" - двойные кавычки
\? - вопросительный знак


По всем вопросам обращайтесь на форум :)
 
Форум » SA-MP » Wiki-The-Samp » [Tutorial] Создание Диалогового окна (Сдесь, расписано как можно создать Диалоговое окно.)
  • Страница 1 из 1
  • 1
Поиск:

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

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