Показано с 1 по 8 из 8

Тема: Dialogs Include

  1. #1
    Активный пользователь Аватар для TwixXtra
    Регистрация
    08.01.2015
    Сообщений
    847
    Репутация: 29

    Звание: на пути к лучшему

    Dialogs Include R6

    Автор:Gammix
    Dialogs Include R6
    Описание Include

    Здравствуйте! Этот инклюд позволяет добавить к себе на сервер диалоговое меню с использованием preview models.
    Вы также можете редактировать меню.
    DIALOG_STYLE_PREVMODEL_HEADERS


    Особенности:
    *Добавляет новое диалоговое стиль: DIALOG_STYLE_PREVMODEL
    *Добавляет новое диалоговое стиль только при использовании dialogs2.inc: DIALOG_STYLE_PREVMODEL_HEADERS (dialogs2 включает DIALOG_STYLE_PREVMODEL, так что только использовать любой из включить)
    *Нет необходимости использовать любой новый тип функции, его интегрировать в функции диалогового умолчанию SAMP: ShowPlayerDialog
    *Функцию, чтобы получить диалоговое идентификатор игрока
    *Функция, чтобы получить вид диалогового игроков
    *Настраиваемые диалоговые окна.
    *Краш и ошибка бесплатно (не обещаю!)
    *Нажмите клавишу ESC, чтобы закрыть диалоговое окно.
    *Кнопки переключения страниц
    *Хорошо выглядят textdraws и отношение к SAMP диалогов!

    Код:
    playerid - игрок, который использует диалог
    dialogid - dialogid который осуществляется доступ
    response - (1), если нажать кнопку Button1; (0), если нажать кнопку Button2
    listItem - Item ID, который был выбран
    inputtext - возвращает ModelID модели, выбранной в виде строки. Вы можете использовать strval, чтобы получить идентификатор в виде целого числа!
    Код:
    В конфигурации сценария:Для простой версии (без заголовков)
    #define MAX_DIALOG_MODELS 300 // максимальное количество ListItems models которые может иметь диалог
    #define DIALOG_STYLE_PREVMODEL 6 // Новое диалоговое стиль ID, вы можете изменить, если не подходит или для использования в будущем! Это может повлиять HidePlayerDialog.
    #define MODELS_PER_LINE (6) // Максимальное модели, которые могут быть отображены в строке
    #define MODELS_PER_PAGE ((MODELS_PER_LINE) * 3) // Макс моделей, которые могут быть отображены на странице
    А для версии с заголовком:
    #define MAX_DIALOG_MODELS 300 // максимальное количество ListItems models которые может иметь диалог
    #define MAX_DIALOG_HEADER_SIZE 15 // Максимальная длина строки описания модели
    #define DIALOG_STYLE_PREVMODEL 6 // Новое диалоговое стиль ID, вы можете изменить, если не подходит или для использования в будущем! Это может повлиять HidePlayerDialog.
    #define DIALOG_STYLE_PREVMODEL_HEADERS 7 // новое диалоговое стиль ID (описание одного), вы можете изменить, если не подходит или для использования в будущем! Это может повлиять HidePlayerDialog.
    #define MODELS_PER_LINE 6 // Максимальное модели, которые могут быть отображены в строке
    #define MODELS_PER_PAGE MODELS_PER_LINE * 3 // Максимальное модели, которые могут быть отображены на странице
    Двойной щелчок на модели, чтобы выбрать его непосредственно без нажатия на любую другую кнопку.
    Очень экономически эффективным и коротким размер выходного из этого включить.
    Больше возможностей в короткий размер, использует меньше памяти!
    Код:
    Funcions
    Код HTML:
    native ShowPlayerDialog(playerid, dialogid, style, caption[], info[], button1[], button2[] = "", infosize = sizeof(info));
    native HidePlayerDialog(playerid);
    native GetPlayerDialogID(playerid);
    native GetPlayerDialogStyle(playerid);
    native SetupPreviewModelDialog(playerid, Float:mx, Float:my, Float:mz, Float:mzoom = 1.0, mbgcolor = 0x4A5A6BFF, hovercolor = 0x8B0000FF, selectcolor = 0x8B0000FF);
    Description labels version:
    Код HTML:
    native ShowPlayerPreviewModelDialog(playerid, dialogid, caption[], info[], headers[][MAX_DIALOG_DESC_LENGTH], button1[], button2[] = "", infosize = sizeof(info), headerssize = sizeof(headers));
    Callbacks
    Код HTML:
    public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[]);

    Example
    Это просто диалог выбора скина, которая появится при спавне. В основном тестовый скрипт!
    Код HTML:
    #define FILTERSCRIPT
    
    #include <a_samp>
    #include <dialogs>
    
    #define DIALOG_SKINS 10
    
    public OnFilterScriptInit()
    {
        return 1;
    }
    
    public OnFilterScriptExit()
    {
        return 1;
    }
    
    public OnPlayerSpawn(playerid)
    {
        new skins_array[] =
        {
            0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,
            50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,
            97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,
            132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,
            167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,
            202,203,204,205,206,207,208,209,210,211,212,213,214,215,216,217,218,219,220,221,222,223,224,225,226,227,228,229,230,231,232,233,234,235,236,
            237,238,239,240,241,242,243,244,245,246,247,248,249,250,251,252,253,254,255,256,257,258,259,260,261,262,263,264,265,266,267,268,269,270,271,
            272,273,274,275,276,277,278,279,280,281,282,283,284,285,286,287,288,289,290,291,292,293,294,295,296,297,298,299
        };
        SetupPreviewModelDialog(playerid, 0.0, 0.0, 0.0, 0.0);
        ShowPlayerDialog(playerid, DIALOG_SKINS, DIALOG_STYLE_PREVMODEL, "Select your skin", skins_array, "Select", "Cancel");
        return 1;
    }
    
    public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[])
    {
        if(dialogid == DIALOG_SKINS)
        {
            if(response)
            {
                SetPlayerSkin(playerid, listitem);
                
                new string[58];
                format(string, sizeof(string), "~b~~h~~h~~h~Skin Changed~n~~b~~h~~h~~h~%d", strval(inputtext));
                GameTextForPlayer(playerid, string, 5000, 3);
            }
        }
        return 1;
    }
    Description labels version:
    Просто модель машины с именами автомобилей в описании.
    Код HTML:
    #define FILTERSCRIPT
    
    #include <a_samp>
    #include <dialogs2>
    
    #define DIALOG_VEHICLES 11
    
    new const gVehicleNames[][] =
    {
        "Landstalker","Bravura","Buffalo","Linerunner","Perrenial","Sentinel","Dumper",
        "Firetruck","Trashmaster","Stretch","Manana","Infernus","Voodoo","Pony","Mule",
        "Cheetah","Ambulance","Leviathan","Moonbeam","Esperanto","Taxi","Washington",
        "Bobcat","Mr Whoopee","BF Injection","Hunter","Premier","Enforcer","Securicar",
        "Banshee","Predator","Bus","Rhino","Barracks","Hotknife","Trailer 1","Previon",
        "Coach","Cabbie","Stallion","Rumpo","RC Bandit","Romero","Packer","Monster",
        "Admiral","Squalo","Seasparrow","Pizzaboy","Tram","Trailer 2","Turismo",
        "Speeder","Reefer","Tropic","Flatbed","Yankee","Caddy","Solair","Berkley's RC Van",
        "Skimmer","PCJ-600","Faggio","Freeway","RC Baron","RC Raider","Glendale","Oceanic",
        "Sanchez","Sparrow","Patriot","Quad","Coastguard","Dinghy","Hermes","Sabre",
        "Rustler","ZR-350","Walton","Regina","Comet","BMX","Burrito","Camper","Marquis",
        "Baggage","Dozer","Maverick","News Chopper","Rancher","FBI Rancher","Virgo","Greenwood",
        "Jetmax","Hotring","Sandking","Blista Compact","Police Maverick","Boxville","Benson",
        "Mesa","RC Goblin","Hotring Racer A","Hotring Racer B","Bloodring Banger","Rancher",
        "Super GT","Elegant","Journey","Bike","Mountain Bike","Beagle","Cropdust","Stunt",
        "Tanker", "Roadtrain","Nebula","Majestic","Buccaneer","Shamal","Hydra","FCR-900",
        "NRG-500","HPV1000","Cement Truck","Tow Truck","Fortune","Cadrona","FBI Truck",
        "Willard","Forklift","Tractor","Combine","Feltzer","Remington","Slamvan",
        "Blade","Freight","Streak","Vortex","Vincent","Bullet","Clover","Sadler",
        "Firetruck LA","Hustler","Intruder","Primo","Cargobob","Tampa","Sunrise","Merit",
        "Utility","Nevada","Yosemite","Windsor","Monster A","Monster B","Uranus","Jester",
        "Sultan","Stratum","Elegy","Raindance","RC Tiger","Flash","Tahoma","Savanna",
        "Bandito","Freight Flat","Streak Carriage","Kart","Mower","Duneride","Sweeper",
        "Broadway","Tornado","AT-400","DFT-30","Huntley","Stafford","BF-400","Newsvan",
        "Tug","Trailer 3","Emperor","Wayfarer","Euros","Hotdog","Club","Freight Carriage",
        "Trailer 3","Andromada","Dodo","RC Cam","Launch","Police Car (LSPD)","Police Car (SFPD)",
        "Police Car (LVPD)","Police Ranger","Picador","S.W.A.T. Van","Alpha","Phoenix","Glendale",
        "Sadler","Luggage Trailer A","Luggage Trailer B","Stair Trailer","Boxville","Farm Plow",
        "Utility Trailer"
    };
    new gPlayerVehicle[MAX_PLAYERS];
    
    public OnFilterScriptInit()
    {
        return 1;
    }
    
    public OnFilterScriptExit()
    {
        return 1;
    }
    
    public OnPlayerSpawn(playerid)
    {
        new vehicles_array[] =
        {
            400,401,402,403,404,405,406,407,408,409,410,411,412,413,414,415,416,417,418,419,420,421,422,423,424,425,426,427,428,429,430,
            431,432,433,434,435,436,437,438,439,440,441,442,443,444,445,446,447,448,450,451,452,453,454,455,456,457,458,459,460,461,
            462,463,464,465,466,467,468,469,470,471,472,473,474,475,476,477,478,479,480,481,482,483,484,485,486,487,488,489,490,491,492,
            493,494,495,496,497,498,499,500,501,502,503,504,505,506,507,508,509,510,511,512,513,514,515,516,517,518,519,520,521,522,523,
            524,525,526,527,528,529,530,531,532,533,534,535,536,539,540,541,542,543,544,545,546,547,548,549,550,551,552,553,554,
            555,556,557,558,559,560,561,562,563,564,565,566,567,568,571,572,573,574,575,576,577,578,579,580,581,582,583,584,585,
            586,587,588,589,590,591,592,593,594,595,596,597,598,599,600,601,602,603,604,605,606,607,608,609,610,611
        };
        
        new desc_array[sizeof(vehicles_array)][MAX_DIALOG_DESC_LENGTH];
        for(new i; i < sizeof(vehicles_array); i++)
        {
            format(desc_array[i], MAX_DIALOG_DESC_LENGTH, "%s", gVehicleNames[vehicles_array[i] - 400]);
        }
        ShowPlayerPrevModelDialog(playerid, DIALOG_VEHICLES, "Select your vehicle", vehicles_array, desc_array, "Select", "Cancel");
        return 1;
    }
    
    public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[])
    {
        if(dialogid == DIALOG_VEHICLES)
        {
            if(response)
            {
                DestroyVehicle(gPlayerVehicle[playerid]);
                
                new Float:pos[4];
                GetPlayerPos(playerid, pos[0], pos[1], pos[2]);
                GetPlayerFacingAngle(playerid, pos[3]);
                
                gPlayerVehicle[playerid] = CreateVehicle(strval(inputtext), pos[0], pos[1], pos[2], pos[3], random(255), random(255), -1);
                
                SetVehicleVirtualWorld(gPlayerVehicle[playerid], GetPlayerVirtualWorld(playerid));
                LinkVehicleToInterior(gPlayerVehicle[playerid], GetPlayerInterior(playerid));
                
                PutPlayerInVehicle(playerid, gPlayerVehicle[playerid], 0);
    
                new string[100];
                format(string, sizeof(string), "~b~~h~~h~~h~Vehicle Spawned~n~~b~~h~~h~~h~%s", gVehicleNames[strval(inputtext) - 400]);
                GameTextForPlayer(playerid, string, 5000, 3);
            }
        }
        return 1;
    }


    Показываться диалоги быстро, не создавая массив для info[] парам. Вот простой пример:
    Код HTML:
    ShowPlayerDialog(playerid, 0, DIALOG_STYLE_PREVMODEL, "Test dialog", {0, 1, 2, 3, 5}, "Select", "Close");
    Download:https://github.com/Gammix/Dialogs-Include
    Ссылка на оригинальную тему: http://forum.sa-mp.com/showthread.php?t=570213

  2. #2
    МАМБА ХУЯМБА Аватар для FanHamMer
    Регистрация
    27.03.2011
    Адрес
    Москва
    Возраст
    20
    Сообщений
    2,635
    Репутация: 272

    Звание: как роза среди колючек

    Re: Dialogs Include

    Ради приличия, не надо переводить переводчиком.

  3. #3
    Пользователь
    Регистрация
    27.07.2012
    Сообщений
    55
    Репутация: 8

    Звание: пока не определено

    Re: Dialogs Include

    Цитата Сообщение от FanHamMer Посмотреть сообщение
    Ради приличия, не надо переводить переводчиком.
    Может он думал, что в этом и суть перевода - копипастой в гугл и сюда

  4. #4
    Активный пользователь Аватар для TwixXtra
    Регистрация
    08.01.2015
    Сообщений
    847
    Репутация: 29

    Звание: на пути к лучшему

    Re: Dialogs Include

    Цитата Сообщение от FanHamMer Посмотреть сообщение
    Ради приличия, не надо переводить переводчиком.
    Не я переводил

    ________________ Сообщение добавлено в [20:59] ________ Предыдущее сообщение в [20:57] ________________

    Цитата Сообщение от DIz Посмотреть сообщение
    Может он думал, что в этом и суть перевода - копипастой в гугл и сюда
    Гугл xd, это не для меня

  5. #5
    МАМБА ХУЯМБА Аватар для FanHamMer
    Регистрация
    27.03.2011
    Адрес
    Москва
    Возраст
    20
    Сообщений
    2,635
    Репутация: 272

    Звание: как роза среди колючек

    Re: Dialogs Include

    Цитата Сообщение от TwixXtra Посмотреть сообщение
    Не я переводил
    Я об этом и говорю.

  6. #6
    unknown2154
    Бродяга

    Re: Dialogs Include

    Не нужно

  7. #7
    Активный пользователь Аватар для TwixXtra
    Регистрация
    08.01.2015
    Сообщений
    847
    Репутация: 29

    Звание: на пути к лучшему

    Re: Dialogs Include

    Цитата Сообщение от Hidden125661 Посмотреть сообщение
    Не нужно
    Мож кому пригодится кто не умеет ТД рисовать или не любит

  8. #8
    Пользователь
    Регистрация
    09.07.2014
    Сообщений
    1
    Репутация: 10

    Звание: на пути к лучшему

    Re: Dialogs Include

    Цитата Сообщение от TwixXtra Посмотреть сообщение
    Мож кому пригодится кто не умеет ТД рисовать или не любит
    А автора перевода не хочешь написать и с какого портала взял тему?

Похожие темы

  1. Помогите! #include
    от Liza4ka в разделе Вопросы по скриптингу
    Ответов: 7
    Последнее сообщение: 01.05.2015, 21:21
  2. вопрос по #include <md5>
    от schped в разделе Вопросы по скриптингу
    Ответов: 5
    Последнее сообщение: 27.08.2013, 19:32
  3. [Include] Easy Dialogs
    от White_116 в разделе Инклюды
    Ответов: 5
    Последнее сообщение: 12.06.2013, 22:19
  4. Ищу #include <ini>
    от ReckLess в разделе Ищу скрипт/мод/функцию/программу/плагин...
    Ответов: 3
    Последнее сообщение: 08.06.2013, 16:56
  5. По поводу include
    от AnGeLo в разделе Вопросы по скриптингу
    Ответов: 4
    Последнее сообщение: 16.04.2013, 11:16

Ваши права

  • Вы не можете создавать новые темы
  • Вы не можете отвечать в темах
  • Вы не можете прикреплять вложения
  • Вы не можете редактировать свои сообщения
  •