• Страница 1 из 1
  • 1
Информация о диалоговых окнах
[S]ilverbac[k]Дата: Воскресенье, 16.09.2012, 20:07 | Сообщение # 1
.::Offline::.
Пахан
Сообщений: 723
[ 86 ]
Награды: 17

Статус отсутствует
Что же такое диалоговые окна и для чего они предназначены? На эти вопросы я постараюсь ответить в этом небольшом уроке.
Что такое диалоговое окно? Дилоговое окно, а также 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)


    [FS]Neon[APP]FCP[APP]Vehicle Tuning Generator ||||| 20% -- Работа приостановленаОбложка:
     
    -KissFM-[Like]Дата: Воскресенье, 16.09.2012, 20:19 | Сообщение # 2
    .::Offline::.
    Разбойник
    Сообщений: 31
    [ 0 ]
    Награды: 0

    Статус отсутствует
    [S]ilverbac[k],

    Спасибо норм тема))







    Нарушение пункта 3.2.
     
    werrenДата: Суббота, 27.04.2013, 02:16 | Сообщение # 3
    .::Offline::.
    Новичок
    Сообщений: 4
    [ 0 ]
    Награды: 0

    Статус отсутствует
    красава
     
    lahДата: Среда, 02.10.2013, 18:39 | Сообщение # 4
    .::Offline::.
    Новичок
    Сообщений: 2
    [ 0 ]
    Награды: 0

    Статус отсутствует
    Спасибо давно искал!
     
    Ainur$Дата: Вторник, 18.03.2014, 17:46 | Сообщение # 5
    .::Offline::.
    Новичок
    Сообщений: 3
    [ 0 ]
    Награды: 0

    Статус отсутствует
    легко wacko wacko
     
    • Страница 1 из 1
    • 1
    Поиск:


    Copyright www.SAMP-TEAM.com (c) 2009-2024
    Правила использования материалов сайта

    При копировании материалов из нашего сайта
    ссылка на www.SAMP-TEAM.com обязательна!
    Нарушители правил будут строго наказаны!

    Хостинг от uCoz   
    Для корректного просмотра мы рекомендуем Вам использовать браузер Google Chrome.
    Яндекс.Метрика
    Яндекс.Метрика