I'm Cobra
Специалист
Здравствуйте уважаемые пользователи Pawno-Info!
Сегодня я просматривал тему "Какие уроки вы хотели бы видеть у нас на форуме?" и я увидел там один комментарий.
И вот решил создать тему с подробным объяснением и примерами использования диалогов.1)Название Урока: Урок по Диологам.
2)Суть урока: Все по диалогам виды и тд, что бы было написанно как сделать последовательность от 1 го диолога ко второму обход из 2 диолога в 1 вый
3)Что это даст: при создании чего либо новечки уже смогут орентироваться в кое чем
Давайте начнем.
Типы диалогов.
Всего типов диалоговых окон , это:
1. DIALOG_STYLE_MSGBOX - Диалог, который показывает просто сообщение игроку.
Также вместо ввода названия стиля диалогового окна можно использовать цифры 0, 1, 2, 3
0 ID - DIALOG_STYLE_MSGBOX - Диалог, который показывает просто сообщение игроку.
Функция, для вывода диалога:
ShowPlayerDialog(playerid, dialogid, style, caption[], info[], button1[], button2[])
playerid - ID игрока которому будет показан диалог.
dialogid - ID диалога.
style - Стиль диалогового окна.
caption[] - Заголовок диалога.
info[] - Текст диалога.
button1[] - Название левой кнопки диалога.
button2[] - Название правой кнопки диалога.
Пример использования:
PHP:
ShowPlayerDialog(playerid, 1, 0, "Заголовок", "Мы создали первое диалоговое окно\nPawno-Info", "Pawno", "Info");
\t - для табуляции
Теперь поработаем с командами:
DIALOG_STYLE_MSGBOX - Диалог, который показывает просто сообщение игроку.
PHP:
CMD:dialog(playerid, params[]) return ShowPlayerDialog(playerid, 1, 0, "Заголовок", "Мы создали первое диалоговое окно\nPawno-Info", "Pawno", "Info");
PHP:
case 1:
{
if(response) // Это если игрок нажал на кнопку 'Pawno'
{
SendClientMessage(playerid, -1, "* Вы нажали на кнопку Pawno!");
}
else // Это если игрок нажал на кнопку 'Info'
{
SendClientMessage(playerid, -1, "* Вы нажали на кнопку Info!");
}
}
PHP:
case 1:
{
if(response) // Это если игрок нажал на кнопку 'Pawno'
{
ShowPlayerDialog(playerid, 2, 0, "Заголовок 2", ""Мы создали второе диалоговое окно\nPawno-Info, "Pawno", "Info");
}
else
{
ShowPlayerDialog(playerid, 3, 0, "Заголовок 3", ""Мы создали третье диалоговое окно\nPawno-Info, "Pawno", "Info");
}
}
PHP:
CMD:dialog(playerid, params[]) return ShowPlayerDialog(playerid, 1, 1, "Заголовок", "Введите что-нибудь:", "Pawno", "Info");
PHP:
case 1:
{
if(response)
{
if(!strlen(inputtext)) // Это проверка на то, ввел ли игрок что-нибудь
{
SendClientMessage(playerid, -1, "* Вы ничего не ввели!");
ShowPlayerDialog(playerid, 1, 1, "Заголовок", "Введите что-нибудь:", "Pawno", "Info");
return 1;
}
format(string, sizeof(string, "* Вы ввели: %s", inputtext);
SendClientMessage(playerid, -1, string);
}
else // Это если игрок нажал на кнопку 'Info'
{
SendClientMessage(playerid, -1, "* Вы нажали на кнопку Info!");
}
}
DIALOG_STYLE_LIST - Диалог, со списком.
PHP:
CMD:dialog(playerid, params[]) return ShowPlayerDialog(playerid, 1, 2, "Заголовок", "1\n2", "Pawno", "Info");
PHP:
case 1:
{
if(response)
{
switch(listitem)
{
case 0: // Это если игрок выбрал 1
{
SendClientMessage(playerid, -1, "* Вы выбрали цифру 1!");
}
case 1: // Это если игрок выбрал 2
{
SendClientMessage(playerid, -1, "* Вы выбрали цифру 2");
}
}
}
}
DIALOG_STYLE_PASSWORD - Диалог, с полем ввода пароля.
Этот диалог отличается от DIALOG_STYLE_INPUT только тем что он скрывает то что вы вводите на •.
PHP:
CMD:dialog(playerid, params[]) return ShowPlayerDialog(playerid, 1, 3, "Заголовок", "Введите что-нибудь:", "Pawno", "Info");
PHP:
case 1:
{
if(response)
{
if(!strlen(inputtext)) // Это проверка на то, ввел ли игрок что-нибудь
{
SendClientMessage(playerid, -1, "* Вы ничего не ввели!");
ShowPlayerDialog(playerid, 1, 3, "Заголовок", "Введите что-нибудь:", "Pawno", "Info");
return 1;
}
format(string, sizeof(string, "* Вы ввели: %s", inputtext);
SendClientMessage(playerid, -1, string);
}
else // Это если игрок нажал на кнопку 'Info'
{
SendClientMessage(playerid, -1, "* Вы нажали на кнопку Info!");
}
}
Автор: I'm Cobra
© При копировании на посторонние ресурсы ссылка на pawno-info и автор должны быть написаны обязательно!
Последнее редактирование:
