Форум

  • Страница 1 из 1
  • 1
Форум | www.SAMP-TEAM.com » Wiki SA-MP » Уроки скриптинга в Pawno » Информация о диалоговых окнах
Информация о диалоговых окнах
Что же такое диалоговые окна и для чего они предназначены? На эти вопросы я постараюсь ответить в этом небольшом уроке.
Что такое диалоговое окно? Дилоговое окно, а также GUI (Graphical User Interface) это интерфейс, который предоставляется пользователю в графическом виде. С точки зрения SA-MP это всего-лишь замена использования команд. Допустим, вы хотите забанить игрока за то что он нуб использует читы. В версиях 0.1-0.2 вы прописывали команду /ban [id] [причина]. В версиях 0.3 при помощи специального скрипта, который вы можете как скачать так и написать сами, нужно всего-лишь выбрать в списке нужного вам игрока, кликнуть на него 2 раза и появится окно, где вы должны всего-лишь ввести причину бана игрока и нажать Enter(или Ок) и игрок получит бан. Таким-же способом можно кикать игроков, а так же выдавать оружие, пополнять HP и броню.

Теперь я рассмотрю 4 вида диалоговых окон:

  • Первый вид окна - DIALOG_STYLE_MSGBOX


  • Второй вид окна - DIALOG_STYLE_INPUT


  • Третий вид окна - DIALOG_STYLE_LIST


  • Четвертый вид окна - DIALOG_STYLE_PASSWORD




Дилоговые окна создаются функцией ShowPlayerDialog(playerid,dialogid,style,caption[],info[],button1[],button2[]);

где

  • dialogid - ID диалогового окна (задается вручную, либо через #define)
  • style - стиль диалогового окна(см. выше)
  • caption - заглавие диалогового окна
  • info - информация, которая будет хранится в окне
  • button1 & button2 - соответственно кнопки Ок и Отмена

    Чтобы диалоговое окно выполняло различные задания, существует специальный public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[])

  • dialogid - ID диалогового окна (задается вручную, либо через #define)
  • response - проверка на нажатие кнопки1 или кнопки2
  • listitem - используется в DIALOG_STYLE_LIST
  • inputtext[] - используется в DIALOG_STYLE_INPUT, DIALOG_STYLE_PASSWORD

    Напишем небольшой код на проверку нажатой кнопки:

    Code

    if(!response)
    {
    SendClientMessage(playerid,0xFF0000FF,"Вы нажали Кнопку2 либо нажали клавишу ESC");
    }
    else
    {
    SendClientMessage(playerid,0xFF0000FF,"Вы нажали Кнопку1 либо нажали клавишу ENTER");
    }
  • 5923249.png(187.8 Kb) · 4271285.png(152.1 Kb) · 9423813.png(112.5 Kb) · 9911045.png(249.0 Kb)
    16.09.2012 в 20:07
    [S]ilverbac[k],

    Спасибо норм тема))
    16.09.2012 в 20:19
    красава
    27.04.2013 в 02:16
    Спасибо давно искал!
    02.10.2013 в 18:39
    легко wacko wacko
    18.03.2014 в 17:46
    Форум | www.SAMP-TEAM.com » Wiki SA-MP » Уроки скриптинга в Pawno » Информация о диалоговых окнах
    • Страница 1 из 1
    • 1
    Поиск: