Приветствуем вас на форуме проекта WoW Circle. Если вы читаете это, значит не зарегистрировались у нас. Для того, чтобы получить доступ к расширенным возможностям нашего форума нажмите сюда и пройди регистрацию, которая не займет у вас много времени. После регистрации будут доступны новые, более расширенные, возможности.
Таймер

Упомянутые в теме пользователи:

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

Тема: Таймер

  1. #1
    Дедушка форума
    Регистрация
    20.03.2012
    Сообщений
    4,173
    Поблагодарил(а)
    358
    Получено благодарностей: 1,437 (сообщений: 836).
    Репутация: 2397

    Таймер

    Для получения таймера нужно:

    1) OnUpdate функция
    2) локальная переменная

    На самом деле пункт 2 должен быть пунктом 1 т.к выполняться все будет с верху в низ

    Создаем локальную переменную:
    Назвать переменную можно как угодно.

    local isTime = 0;

    Создаем OnUpdate function:

    В качестве аргумента self и elapsed, на самом деле назвать можно как угодно , я напишу так.

    self - это фрейма ,к которой мы цепляем OnUpdate Handler.

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

    print('флудим') - это наше "тело" , если спамит в чат , значит все ок и можно писать дальнейшие условия (текст который флудит видим только мы).

    PHP код:
    local f CreateFrame('frame')
    f:SetScript('OnUpdate', function(selfelapsed) print('флудим'end
    И так теперь когда все есть , собираем это все в кучу и создаем условия для начала отсчета нашего таймера.

    Что бы таймер затикал ,нужно наращивать isTime внутри нашей функции. как это сделать :

    PHP код:
    local isTime 0;
    local f CreateFrame('frame');
    f:SetScript('OnUpdate', function(selfelapsed
    isTime isTime elapsed
    print(
    isTime);
    end
    Таким образом мы "наращиваем" нашу локальную переменную. Теперь в чат будет флудить не просто фразу , а время в секундах , начиная с 0 и до бесконечности с шагом 1/фпс.

    Если хотим включать\выключать наш таймер , то необходимо при достижении нужного промежутка времени в секундах обнулять OnUpdate , nil .

    PHP код:
    local isTime 0;
    local f CreateFrame('frame''mytimer');
    f:SetScript('OnUpdate', function(selfelapsed
    isTime isTime elapsed;
    if 
    isTime == 25 then 
       self
    :SetScript('OnUpdate'nil)
       print(
    isTime);
        
    isTime 0;
    end

    end

    Теперь при прошествии 25 секунд после начала отсчета наш таймер остановится.

    Как же его включать\выключать?

    Та очень просто:

    Что бы время пошло в чат ввести:
    PHP код:
    /run mytimer:Show() 
    И что бы время остановилось в чат

    PHP код:
    /run mytimer:Hide() 
    Последний раз редактировалось DreamlØlz; 25.12.2014 в 21:22.

  2. 2 пользователей сказали cпасибо DreamlØlz за это полезное сообщение:

    Cosmic Psychо (30.07.2020),Netherheal (04.10.2021)

Похожие темы

  1. Таймеры берсерка в ЦЛК
    от nicodemus в разделе Отклонено Wotlk
    Ответов: 8
    Последнее сообщение: 23.04.2014, 16:33
  2. Два таймера. Хэлп
    от revolutio в разделе Аддоны
    Ответов: 6
    Последнее сообщение: 07.03.2013, 17:30
  3. Таймеры на бг
    от Andal в разделе Архив
    Ответов: 0
    Последнее сообщение: 27.08.2012, 17:49

Ваши права

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