музыка mp3 и мобильные телефонысофт портал
Обновить страницу!




Vida-Virtual (0)
-Shift">20.06.2012 18:48
Samp-R|G (0)
SkyKiller">19.08.2011 16:35





Информация:
Сайт моделируеться))С уважением Администратор!!




  • Страница 1 из 1
  • 1
Создание диологового окна
У вас  Дата: Четверг, 27.01.2011, 14:12 | Сообщение # 1

stalin_x_x







         Гильдия:Мужчина
         Сообщений: 32
         Репутация: 10001
Урок по созданию диалогового окна в 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=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
}
}
}[/code]

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

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

 
  • Страница 1 из 1
  • 1
Поиск:









PRO-GTA-PORTAL