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

Тема: ProgressBar

  1. #1
    Активный пользователь Аватар для [UA]_Yarik_[UA]
    Регистрация
    11.07.2012
    Возраст
    28
    Сообщений
    304
    Репутация: 2

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

    ProgressBar

    Всем доброго времени суток.
    Столкнулся сегодня с такой проблемой: у меня есть загрузка\разгрузка (когда на нее заезжает игрок он замораживается на 20 сек)
    Мне нужно сделать ProgressBar который за 20 сек пройдет от 0 до 100 + на него вывести еще и проценты.
    я скачал инклуд http://forum.sa-mp.com/showthread.ph...ht=progressbar (не реклама)
    создал уже сам ProgressBar
    PHP код:
    new PlayerBar:zagvidr//progressbar 
    PHP код:
        zagvidr CreatePlayerProgressBar(playerid198.000000208.000000258.00000022.0000001189758719100.000000BAR_DIRECTION_RIGHT); 
    как теперь его заставить за 20 сек пройти от 0 до 100 + еще нужно какуюто переменную на % чтобы я мог вывести их на текстдрав. (тоесть как сделать чтобы проценты и ProgressBar одновременно увеличивались от 0 до 100?

    Размер самого ProgressBar 100

  2. #2
    Nothing Аватар для Privies
    Регистрация
    25.03.2011
    Адрес
    Рига
    Сообщений
    2,978
    Репутация: 411

    Звание: - очень-очень хороший человек

    Re: ProgressBar

    Первое что в голову приходит - таймер

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

    [UA]_Yarik_[UA] (24.02.2015)

  4. #3
    Активный пользователь Аватар для [UA]_Yarik_[UA]
    Регистрация
    11.07.2012
    Возраст
    28
    Сообщений
    304
    Репутация: 2

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

    Re: ProgressBar

    Цитата Сообщение от Privies Посмотреть сообщение
    Первое что в голову приходит - таймер
    ну а код примерно как выглядеть будет, ато я себе даже представления никакого не могу дать об этом

  5. #4
    Nothing Аватар для Privies
    Регистрация
    25.03.2011
    Адрес
    Рига
    Сообщений
    2,978
    Репутация: 411

    Звание: - очень-очень хороший человек

    Re: ProgressBar

    forward bar();
    new times;

    // Например в команду
    SetTimer("bar", 1000, true);


    public message()
    {
    times ++;
    new value = GetPlayerProgressBarValue(playerid, barid)
    SetPlayerProgressBarMaxValue(playerid, barid, value+5);
    if(times == 20) KillTimer(bar);
    }

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

    [UA]_Yarik_[UA] (24.02.2015)

  7. #5
    Проверенный Аватар для e.kosovskij
    Регистрация
    09.07.2010
    Адрес
    Украина, Харьков
    Сообщений
    3,180
    Репутация: 308

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

    Re: ProgressBar

    PHP код:
    // в начало погрузки
    SetTimerEx("timer_bar"1000false"ii"playerid0);


    // timer
    forward timer_bar(playeridbar_value);
    public 
    timer_bar(playeridbar_value)
    {
        if(
    bar_value == 100
        {
            
    // конец погрузки
            // размораживаем игрока, удаляем все текстдравы.
            
    return 1;
        }
        if(
    bar_value == 0)
        {
            
    // создаешь текстдрав(поле для бара)    
            // вывод процента (переменная bar_value)
        
    }
        else
        {
            
    // продвигаешь бар на 5 единиц больше (размер бокса больше делаешь, там по координатам расчитай сколько добавлять)
            // обновление процента (переменная bar_value)
        
    }
        
    SetTimerEx("timer_bar"1000false"ii"playeridvar_value+5);
        return 
    1;


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

    [UA]_Yarik_[UA] (24.02.2015)

  9. #6
    Активный пользователь Аватар для [UA]_Yarik_[UA]
    Регистрация
    11.07.2012
    Возраст
    28
    Сообщений
    304
    Репутация: 2

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

    Re: ProgressBar

    Цитата Сообщение от Privies Посмотреть сообщение
    forward bar();
    new times;

    // Например в команду
    SetTimer("bar", 1000, true);


    public message()
    {
    times ++;
    new value = GetPlayerProgressBarValue(playerid, barid)
    SetPlayerProgressBarMaxValue(playerid, barid, value+5);
    if(times == 20) KillTimer(bar);
    }
    Взял именно ваш вариант все получилось спасибо! На ошибку на скрине просьба не обращать внимания тему lock
    результат:

Ваши права

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