[Include] LProgress - Автоматические прогресс-бары (Automatic Progressbar)
Показано с 1 по 6 из 6

Тема: LProgress - Автоматические прогресс-бары (Automatic Progressbar)

  1. #1
    Пользователь Аватар для Lomt1k
    Регистрация
    01.09.2010
    Адрес
    Pawno
    Сообщений
    11
    Вес репутации
    0

    LProgress - Автоматические прогресс-бары (Automatic Progressbar)

    Наверняка вы не раз встречали автоматические прогресс-бары во многих MMORPG. Например, во время сбора предметов, перезарядки оружия или во время "каста" заклинаний заполняется определенная шкала и, как только она заполнится до конца, срабатывает какое-либо событие.

    Я решил использовать нечто подобное в своём игровом моде, но нашел лишь общие решения для "ручной работы" с прогресс-барами. Поэтому, взяв за основу один из готовых инклюдов, я создал несколько функций и колбэков, делающие прогресс-бары полностью автоматическими.

    Смотрите сами:
    PHP код:
    //// Functions
    StartProgress(playeridTimeToFinishColor 0x00FFAAFFUpdateTime 500); // запустить прогесс
    //TimeToFinish - это время до завершения процесса в ms (1000 - это одна секунда)
    //Color - цвет прогрессбара
    //UpdateTime - частота обновления прогрессбара в ms (пол секунды по умолчанию)
    StopProgress(playerid); //прервать прогресс
    FinishProgress(playerid); //успешно завершить прогресс

    //// Callbacks
    forward OnProgressFinished(playerid); //при успешном завершении прогресса
    forward OnProgressUpdate(playerid); //при каждом обновлении прогресса 
    Пример использования:
    PHP код:
    OnPlayerSpawn(playerid)
    {
    StartProgress(playerid10000);//10000 - это 10 секунд
    SendClientMessage(playerid, -1"Вы получите 100$ через 10 секунд");
    return 
    1;
    }

    public 
    OnProgressUpdate(playerid)
    {
    SendClientMessage(playerid, -1"Ждите, 100$ уже совсем близко...");
    return 
    1;
    }

    public 
    OnProgressFinished(playerid)
    {
    GivePlayerMoney(playerid100);
    SendClientMessage(playerid, -1"А вот и обещанные 100$ ;)");
    return 
    1;

    СКАЧАТЬ: https://yadi.sk/d/IiKqBcX4tin5r

    В архиве два инклюда:
    ProgressBars от Infernus' Group - основные функции по работе с TextDraw, с которыми работает мой инклюд.
    LProgress - собственно сам инклюд.

    Инклюды должны быть прописаны в следующей последовательности:
    PHP код:
    #include <ProgressBar>
    #include <Logos RP\LProgress> 


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

    Пример автоматического прогрессбара.
    Используемый цвет: 0xFFCC00FF



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

    Версия 1.1: https://yadi.sk/d/M08v3fEWtipYy
    - Теперь при перезапуке нового прогресса старый удаляется.

  2. 1 пользователь сказал cпасибо Lomt1k за это полезное сообщение::

    kayeezy (02.08.2016)

  3. #2
    Пользователь Аватар для SqueezZ
    Регистрация
    27.08.2012
    Сообщений
    2
    Вес репутации
    0

    Re: LProgress - Автоматические прогресс-бары (Automatic Progressbar)

    Отлично!

  4. #3
    Пользователь Аватар для Dominik_48
    Регистрация
    17.11.2014
    Сообщений
    64
    Вес репутации
    1

    Re: LProgress - Автоматические прогресс-бары (Automatic Progressbar)

    Молодец.
    Если я помог тебе, не ленись поставь +

  5. #4
    Пользователь Аватар для kayeezy
    Регистрация
    15.11.2011
    Адрес
    LA
    Сообщений
    465
    Вес репутации
    1

    Re: LProgress - Автоматические прогресс-бары (Automatic Progressbar)

    В OnProgressFinished неплохо было бы добавить параметр типа bool:sucess, чтобы обозначить через какую функцию завершилось действие, а именно StopProgress или FinishProgress. Ну это так.. пожелание)

  6. #5
    Пользователь Аватар для Lomt1k
    Регистрация
    01.09.2010
    Адрес
    Pawno
    Сообщений
    11
    Вес репутации
    0

    Re: LProgress - Автоматические прогресс-бары (Automatic Progressbar)

    OnProgressFinished срабатывает только при успешном завершении прогресса, при StopProgress он не срабатывает. Было бы корректнее назвать функцию BreakProgress.

  7. #6
    Пользователь Аватар для Nexius_Tailer
    Регистрация
    07.01.2016
    Адрес
    Гомель, Беларусь
    Сообщений
    18
    Вес репутации
    0

    Re: LProgress - Автоматические прогресс-бары (Automatic Progressbar)

    А если я захочу, чтобы он в левом углу был, либо же просто других размеров и цветов?
    Плохо, что настраивать нельзя.

    П.с. Укажи автора основного инклуда, который как основу используешь.
    Не хотите постоянно проверять обновления моих скриптов?
    Подключите его последним, после всех остальных
    Nexius's Update Checker

Похожие темы

  1. Прогресс бар
    от TwixXtra в разделе Вопросы по скриптингу
    Ответов: 7
    Последнее сообщение: 07.07.2015, 13:08
  2. ProgressBar
    от [UA]_Yarik_[UA] в разделе Вопросы по скриптингу
    Ответов: 5
    Последнее сообщение: 24.02.2015, 17:50
  3. ProgressBar
    от Amfy в разделе Проблемы с компилированием
    Ответов: 1
    Последнее сообщение: 14.11.2012, 17:13
  4. Прогресс Бар
    от Fristyle в разделе Вопросы по скриптингу
    Ответов: 4
    Последнее сообщение: 29.09.2012, 00:07
  5. Как делать бары?
    от OKStyle в разделе Вопросы по скриптингу
    Ответов: 12
    Последнее сообщение: 14.07.2010, 13:47

Ваши права

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