21:19
ОбновитьСмайлыУправление мини-чатом
МИНИ-ЧАТ
Главная страница!

 



 
          





Рекомендуем:





Последние Файлы GTA 4 Последние Файлы GTA-MP Реклама
Скрипт GTA 4 элементы Watch... 07.09.2014
Ferrari 360 Spider [EPM con... 13.12.2013
Porsche Cayenne Turbo 2012 ... 13.12.2013
Shelby Terlingua Mustang v1... 13.12.2013
Hamann Lamborghini Gallardo... 27.10.2013
[GM] The Big PEN1:LS v2.00 ... 04.12.2017
Dgun (AvnanceRP,SampRP,Dimo... 19.03.2016
SAMP скрипт SX Events (MySQ... 03.03.2016
Карта ASL мэрия для SAMP се... 03.03.2016
AIM для SA-MP 0.3.7 22.02.2016
Модератор форума: Dima-kun  
[Tutorial]Создание Диалогового окна
Dima-kunДата: Четверг, 29.10.2009, 22:47 | Сообщение # 1
Группа: Разработчики
Сообщений: 6269
Награды: 72
Репутация: 3512
Замечания: 0%
Статус:
Урок по созданию диалогового окна в sa-mp 0.3

Автор:BlackWolfA Перевод:DizeL[ZR]
Функция:

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).

[pwn]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
}
}
}[/pwn]

Вот Вам не большой пример скрипта..

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


Мои работы:
[INC] Сборник d_includes [LAST],[FS] New Demage Effect,[FS]Авто-Поворотники,
[FS]mp3player,[FS] Fun Chat Game,[FS] Car Buy Syst,[FS] Anti-AirBrk,[INC] d_setpos,
[GM] Game Move v0.1,[FS+include]Super-Armour [0.3z],[FS + Include] Multi Checkpoints


Сообщение отредактировал DizeL-ZR- - Пятница, 30.10.2009, 15:20
W@RДата: Четверг, 31.12.2009, 16:45 | Сообщение # 31
Постоялец
Группа: Пользователи
Сообщений: 335
Награды: 3
Город: а.k.a ЕкБ_ЮЗ
Репутация: 51
Замечания: 20%
Статус:
который ид? приведи пример , я чёт туплю уже сёдня , целый день сижу мод редаактирую




Translation from english to russian Ravens_Roleplay_v3 (RC5.2) - 0.3c--------15%
Dima-kunДата: Четверг, 31.12.2009, 17:13 | Сообщение # 32
Группа: Разработчики
Сообщений: 6269
Награды: 72
Репутация: 3512
Замечания: 0%
Статус:
поставь к пример 102


Мои работы:
[INC] Сборник d_includes [LAST],[FS] New Demage Effect,[FS]Авто-Поворотники,
[FS]mp3player,[FS] Fun Chat Game,[FS] Car Buy Syst,[FS] Anti-AirBrk,[INC] d_setpos,
[GM] Game Move v0.1,[FS+include]Super-Armour [0.3z],[FS + Include] Multi Checkpoints
W@RДата: Пятница, 01.01.2010, 11:13 | Сообщение # 33
Постоялец
Группа: Пользователи
Сообщений: 335
Награды: 3
Город: а.k.a ЕкБ_ЮЗ
Репутация: 51
Замечания: 20%
Статус:
где именна ? xD)))))))))))




Translation from english to russian Ravens_Roleplay_v3 (RC5.2) - 0.3c--------15%
Dima-kunДата: Пятница, 01.01.2010, 11:26 | Сообщение # 34
Группа: Разработчики
Сообщений: 6269
Награды: 72
Репутация: 3512
Замечания: 0%
Статус:
да что ж вы такие не понятливые X(

в общем создай целую переменную.. new MyDialog;

ShowPlayerDialog(playerid,MyDialog,....

public OnDialogResponse

if(dialogid==MyDialog)


Мои работы:
[INC] Сборник d_includes [LAST],[FS] New Demage Effect,[FS]Авто-Поворотники,
[FS]mp3player,[FS] Fun Chat Game,[FS] Car Buy Syst,[FS] Anti-AirBrk,[INC] d_setpos,
[GM] Game Move v0.1,[FS+include]Super-Armour [0.3z],[FS + Include] Multi Checkpoints
W@RДата: Пятница, 01.01.2010, 12:13 | Сообщение # 35
Постоялец
Группа: Пользователи
Сообщений: 335
Награды: 3
Город: а.k.a ЕкБ_ЮЗ
Репутация: 51
Замечания: 20%
Статус:
и всё равно чел танцует в итоге ><




Translation from english to russian Ravens_Roleplay_v3 (RC5.2) - 0.3c--------15%
Dima-kunДата: Пятница, 01.01.2010, 13:42 | Сообщение # 36
Группа: Разработчики
Сообщений: 6269
Награды: 72
Репутация: 3512
Замечания: 0%
Статус:
W@R, не тому ты поменял ид..


Мои работы:
[INC] Сборник d_includes [LAST],[FS] New Demage Effect,[FS]Авто-Поворотники,
[FS]mp3player,[FS] Fun Chat Game,[FS] Car Buy Syst,[FS] Anti-AirBrk,[INC] d_setpos,
[GM] Game Move v0.1,[FS+include]Super-Armour [0.3z],[FS + Include] Multi Checkpoints
W@RДата: Пятница, 01.01.2010, 18:07 | Сообщение # 37
Постоялец
Группа: Пользователи
Сообщений: 335
Награды: 3
Город: а.k.a ЕкБ_ЮЗ
Репутация: 51
Замечания: 20%
Статус:
всё сделал так , как ты сказал в 66 посте




Translation from english to russian Ravens_Roleplay_v3 (RC5.2) - 0.3c--------15%
Dima-kunДата: Пятница, 01.01.2010, 19:28 | Сообщение # 38
Группа: Разработчики
Сообщений: 6269
Награды: 72
Репутация: 3512
Замечания: 0%
Статус:
[offtop]W@R, в чем-то ошибка по-любому ©[/offtop]


Мои работы:
[INC] Сборник d_includes [LAST],[FS] New Demage Effect,[FS]Авто-Поворотники,
[FS]mp3player,[FS] Fun Chat Game,[FS] Car Buy Syst,[FS] Anti-AirBrk,[INC] d_setpos,
[GM] Game Move v0.1,[FS+include]Super-Armour [0.3z],[FS + Include] Multi Checkpoints
W@RДата: Суббота, 02.01.2010, 10:12 | Сообщение # 39
Постоялец
Группа: Пользователи
Сообщений: 335
Награды: 3
Город: а.k.a ЕкБ_ЮЗ
Репутация: 51
Замечания: 20%
Статус:
ппц мы тупанули надо было ставить то SetPlayerFightingStyle

Добавлено (02.01.2010, 10:12)
---------------------------------------------
но сейчас перестали работать команды в моде... в чём проблема не знаешь ?




Translation from english to russian Ravens_Roleplay_v3 (RC5.2) - 0.3c--------15%
Dima-kunДата: Суббота, 02.01.2010, 10:18 | Сообщение # 40
Группа: Разработчики
Сообщений: 6269
Награды: 72
Репутация: 3512
Замечания: 0%
Статус:
если это фс у тебя поставь

public OnPlayerCommandText(playerid, cmdtext[])
{
if (strcmp("/stilefight", cmdtext, true, 10) == 0)
{
ShowPlayerDialog(playerid, 1, DIALOG_STYLE_LIST, " Меню стилей боя", " Стиль Бокса\n Стиль Кунгфу\n Стиль KNEEHEAD\n Стиль GRABKICK\n Стиль ELBOW\n Стиль NORMAL", "OK", " Отмена");
}
return 0;
}


Мои работы:
[INC] Сборник d_includes [LAST],[FS] New Demage Effect,[FS]Авто-Поворотники,
[FS]mp3player,[FS] Fun Chat Game,[FS] Car Buy Syst,[FS] Anti-AirBrk,[INC] d_setpos,
[GM] Game Move v0.1,[FS+include]Super-Armour [0.3z],[FS + Include] Multi Checkpoints
xSLiMxДата: Суббота, 02.01.2010, 23:44 | Сообщение # 41
Мастер джэдай
Группа: I'm V.I.P.
Сообщений: 2163
Награды: 34
Город: Ростов - на - Дону
Репутация: 1429
Замечания: 80%
Статус:
Можно ли менять цвет текста в окне?
AntivirusДата: Воскресенье, 03.01.2010, 21:07 | Сообщение # 42
Группа: Продвинутые
Сообщений: 735
Награды: 13
Город: Мамбо
Репутация: 60
Замечания: 40%
Статус:
а что означает error 017: undefined symbol "ShowPlayerDialog" ?
Dima-kunДата: Воскресенье, 03.01.2010, 21:09 | Сообщение # 43
Группа: Разработчики
Сообщений: 6269
Награды: 72
Репутация: 3512
Замечания: 0%
Статус:
Antivirus, это означает что у тебя не инклюды от самп 0.3


Мои работы:
[INC] Сборник d_includes [LAST],[FS] New Demage Effect,[FS]Авто-Поворотники,
[FS]mp3player,[FS] Fun Chat Game,[FS] Car Buy Syst,[FS] Anti-AirBrk,[INC] d_setpos,
[GM] Game Move v0.1,[FS+include]Super-Armour [0.3z],[FS + Include] Multi Checkpoints
ButersДата: Вторник, 05.01.2010, 00:15 | Сообщение # 44
Постоялец
Группа: Продвинутые
Сообщений: 315
Награды: 1
Город: Пенза
Репутация: 16
Замечания: 40%
Статус:
Приконекте сделал :)
Нужно задать кнопки куда и чего надо ?
Code
public OnPlayerConnect(playerid)
{
format("Правила сервера");
ShowPlayerDialog(playerid,2,DIALOG_STYLE_LIST,"\t Правила сервера","","Ок","Выйти");
return 1;
}



xXxAXExXxДата: Пятница, 15.01.2010, 16:11 | Сообщение # 45
Новенький
Группа: Пользователи
Сообщений: 18
Награды: 1
Город: ы
Репутация: -6
Замечания: 0%
Статус:
Как стандартные меню перевести на ShowPlayerDialog ???????? А то у меня ShowMenuForPlayer, я хочу все свои менюшки перевести на новый формат (Всмысле ShowPlayerDialog). Помогите плз!


217.70.119.180:7777 - Smart Life Role Play
Поиск:





 


 


 
Хостинг от uCoz samp.at.ua