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

 



 
          





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





Последние Файлы 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  
Форум SAMP о мультиплеерах для GTA. »   » Wiki-Samp-Rus » [Tutorial]Создание Диалогового окна (Переведено с sa-mp.com)
[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
Dima-kunДата: Суббота, 12.12.2009, 12:19 | Сообщение # 16
Группа: Разработчики
Сообщений: 6269
Награды: 72
Репутация: 3512
Замечания: 0%
Статус:
Sane4ek, урок для кого? почитай. попробуй, постарайся


Мои работы:
[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
Alan_WakeДата: Воскресенье, 20.12.2009, 15:39 | Сообщение # 17
Уверенный в себе
Группа: Продвинутые
Сообщений: 296
Награды: 2
Город: Санкт-Петербург
Репутация: 38
Замечания: 0%
Статус:
Так всётаки, как сделать с DIALOG_STYLE_LIST , мне помочь никто не хочет?


F.A.Q "Создание шлагбаумов"



likext.com -все самое интересное из мира спорта
Dima-kunДата: Воскресенье, 20.12.2009, 20:28 | Сообщение # 18
Группа: Разработчики
Сообщений: 6269
Награды: 72
Репутация: 3512
Замечания: 0%
Статус:
ты разделяй каждый пункт \n


Мои работы:
[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
Dima-kunДата: Воскресенье, 20.12.2009, 20:54 | Сообщение # 19
Группа: Разработчики
Сообщений: 6269
Награды: 72
Репутация: 3512
Замечания: 0%
Статус:
Quote (Alan_Wake)
if(response) return 1;

ты сделал чтобы при при нажатии на кнопку "Выбрать" у тебя ничего не срабатывало...

if(!response) return 1;


Мои работы:
[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
Dima-kunДата: Воскресенье, 20.12.2009, 21:15 | Сообщение # 20
Группа: Разработчики
Сообщений: 6269
Награды: 72
Репутация: 3512
Замечания: 0%
Статус:
[offtop] Alan_Wake, незачто.[/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
AntivirusДата: Понедельник, 21.12.2009, 01:00 | Сообщение # 21
Группа: Продвинутые
Сообщений: 735
Награды: 13
Город: Мамбо
Репутация: 60
Замечания: 40%
Статус:
а что нужно вставить если треюуеться отмена ?
например -

тут я сам вставлю что надо//Здесь то что случится если игрок нажмет на кнопка1
}
else
{
что вставить сюда , чтобы меню исчезло при выборе ?//А здесь если он нажмет кнопка2
}
}
}

Dima-kunДата: Понедельник, 21.12.2009, 15:04 | Сообщение # 22
Группа: Разработчики
Сообщений: 6269
Награды: 72
Репутация: 3512
Замечания: 0%
Статус:
Antivirus,

if(response)
{
//
}
else if(!response)
{
//
}

[offtop]З.ы, ты мне с NPC не ответил[/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
Dima-kunДата: Четверг, 31.12.2009, 15:20 | Сообщение # 23
Группа: Разработчики
Сообщений: 6269
Награды: 72
Репутация: 3512
Замечания: 0%
Статус:
во-первых у тебяскобки не все были закрыты, иды диалоговых не прально присвоены услвоие фс это или ГМ не закрыл. в общем не прально сделал.. вот те пральный вариант

[pwn]// This is a comment
// uncomment the line below if you want to write a filterscript
//#define FILTERSCRIPT

#include <a_samp>

#define DIALOGID 5009
#pragma tabsize 0

#if defined FILTERSCRIPT

public OnFilterScriptInit()
{
print("\n--------------------------------------");
print(" Filterscript by WaRik");
print("--------------------------------------\n");
return 1;
}

public OnFilterScriptExit()
{
return 1;
}

#else
public OnGameModeInit()
{
}
#endif

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 1;
}

public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[])
{
if(dialogid ==1)
{
if(response)
{
if(listitem == 0)
{
SetPlayerSpecialAction (playerid, FIGHT_STYLE_BOXING );
SendClientMessage(playerid, 0xFFFFFFAA, "Ты выбрал стиль бокса ");
}
if(listitem == 1)
{
SetPlayerSpecialAction (playerid, FIGHT_STYLE_KUNGFU );
SendClientMessage(playerid, 0xFFFFFFAA, "Ты выбрал стиль кунгфу");
}
if(listitem == 2)
{
SetPlayerSpecialAction (playerid, FIGHT_STYLE_KNEEHEAD );
SendClientMessage(playerid, 0xFFFFFFAA, "Ты выбрал стиль KNEEHEAD");
}
if(listitem == 3)
{
SetPlayerSpecialAction (playerid, FIGHT_STYLE_GRABKICK );
SendClientMessage(playerid, 0xFFFFFFAA, "Ты выбрал стиль GRABKICK");
}
if(listitem == 4)
{
SetPlayerSpecialAction (playerid, FIGHT_STYLE_ELBOW );
SendClientMessage(playerid, 0xFFFFFFAA, "Ты выбрал стиль ELBOW");
}
if(listitem == 5)
{
SetPlayerSpecialAction (playerid, FIGHT_STYLE_NORMAL );
SendClientMessage(playerid, 0xFFFFFFAA, "Ты выбрал стиль NORMAL");
}
}
return 1;
}
return 0;
}
[/pwn]


Мои работы:
[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Дата: Четверг, 31.12.2009, 15:36 | Сообщение # 24
Постоялец
Группа: Пользователи
Сообщений: 335
Награды: 3
Город: а.k.a ЕкБ_ЮЗ
Репутация: 51
Замечания: 20%
Статус:
не можешь для PEN1 регу выложить , тож пытался сделать не получается mda




Translation from english to russian Ravens_Roleplay_v3 (RC5.2) - 0.3c--------15%
Dima-kunДата: Четверг, 31.12.2009, 15:44 | Сообщение # 25
Группа: Разработчики
Сообщений: 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Дата: Четверг, 31.12.2009, 15:56 | Сообщение # 26
Постоялец
Группа: Пользователи
Сообщений: 335
Награды: 3
Город: а.k.a ЕкБ_ЮЗ
Репутация: 51
Замечания: 20%
Статус:
я именно от туда и пытался crazy

Добавлено (31.12.2009, 15:56)
---------------------------------------------
DizeL-ZR, в выборе стилей боя получилось почему то что чел начинает танцевать xDDD




Translation from english to russian Ravens_Roleplay_v3 (RC5.2) - 0.3c--------15%
W@RДата: Четверг, 31.12.2009, 16:07 | Сообщение # 27
Постоялец
Группа: Пользователи
Сообщений: 335
Награды: 3
Город: а.k.a ЕкБ_ЮЗ
Репутация: 51
Замечания: 20%
Статус:
спасиб , а чё почему у меня танцевать чел то начинает а не стиль выбирается xD




Translation from english to russian Ravens_Roleplay_v3 (RC5.2) - 0.3c--------15%
Dima-kunДата: Четверг, 31.12.2009, 16:16 | Сообщение # 28
Группа: Разработчики
Сообщений: 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Дата: Четверг, 31.12.2009, 16:36 | Сообщение # 29
Постоялец
Группа: Пользователи
Сообщений: 335
Награды: 3
Город: а.k.a ЕкБ_ЮЗ
Репутация: 51
Замечания: 20%
Статус:
у меня в мод вписан фс на анимации с танцами и всей лабудой через диалоговое окно , может чёт с ним путается




Translation from english to russian Ravens_Roleplay_v3 (RC5.2) - 0.3c--------15%
Dima-kunДата: Четверг, 31.12.2009, 16:42 | Сообщение # 30
Группа: Разработчики
Сообщений: 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
Форум SAMP о мультиплеерах для GTA. »   » Wiki-Samp-Rus » [Tutorial]Создание Диалогового окна (Переведено с sa-mp.com)
Поиск:





 


 


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