XGM Forum
Сайт - Статьи - Проекты - Ресурсы - Блоги

Форуме в режиме ТОЛЬКО ЧТЕНИЕ. Вы можете задать вопросы в Q/A на сайте, либо создать свой проект или ресурс.
Вернуться   XGM Forum > Warcraft> Академия: форум для вопросов
Ник
Пароль
Войти через VK в один клик
Сайт использует только имя.

Закрытая тема
 
Flame of Soul

offline
Опыт: 1,193
Активность:
Оптимальный вариант отсчета
1. Герой умрает
2. Считается по формуле переменная наказания по времени ung_time = 10 + 4 * HeroLevel

Теперь задача как опримальнее будет реализовать обратный отсчет в заголовке мультибоарда?

Сама реализация неважна, сделаю сама. как будет лучше сделать через repiat until с задержкой wait = 1 sec и уменьшать ung_time и выходить по условию ung_time == 0 или как оптимальнее варианты?
Старый 05.09.2008, 16:06
NETRAT

offline
Опыт: 82,062
Активность:
polledwait это плохо
массив интов (если набор героев) + таймер с интервалом 1 сек
сабж в посте Jon'а

Отредактировано NETRAT, 05.09.2008 в 18:07.
Старый 05.09.2008, 16:14
Flame of Soul

offline
Опыт: 1,193
Активность:
Цитата:
массив интов (если набор героев) + таймер с интервалом 1 сек


и как таймером считать крличество секунд определенное?
или таймер сделать как событие и инты уменьшать и выводить пока инта не станет равной либо 0 либо ung_time в зависимости от того инкрементируем мы или декрементируем?

или как ты имел ввиду?
Старый 05.09.2008, 17:30
J
expert
offline
Опыт: 47,997
Активность:
Цитата:
или таймер сделать как событие и инты уменьшать и выводить пока инта не станет равной либо 0 либо ung_time в зависимости от того инкрементируем мы или декрементируем?

да
Код:
globals           
    timer udg_Timer = CreateTimer()
    integer udg_TimerTime
endglobals

function TimerAction takes nothing returns nothing
    local string str = I2S(udg_TimerTime/60)+":"+I2S(udg_TimerTime-(udg_TimerTime/60)*60)
    if udg_TimerTime <= 0 then
         call PauseTimer(udg_Timer)
    endif
    //blabla
    set udg_TimerTime = udg_TimerTime - 1
endfunction

function StartTimer takes integer time returns nothing
    set udg_TimerTime = time 
    call TimerStart(udg_Timer, 1, true, function TimerAction)
    call TimerAction()
endfunction

Отредактировано Jon, 05.09.2008 в 17:48.
Старый 05.09.2008, 17:40
Flame of Soul

offline
Опыт: 1,193
Активность:
Спасибо Jon!!!!

У меня еще один маленький вопросик, а вот в этом месте:

local string str = I2S(udg_TimerTi..... - это случаем не утечка?
Да и вообще зачем нужна эта строчка? Или ты все работу сделал за меня и осталось только ее присваивать заголовку мультибоарда))) но меня интересует вопрос утечки.
Старый 06.09.2008, 11:32
Лось

offline
Опыт: 7,223
Активность:
Утечки - необнулённые переменные наследованные от типа handle, string к ним неотносится.
Старый 06.09.2008, 11:51
Flame of Soul

offline
Опыт: 1,193
Активность:
Спасибо большое Лось, теперь я это запомню. Всем кто принял участие в помощи тоже огромное спасибо.

Модераторы можете закрывать данную тему! Всем спасибо.
Старый 06.09.2008, 12:09
Закрытая тема

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск

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

BB-коды Вкл.
[IMG] код Вкл.
HTML код Выкл.
Быстрый переход



Часовой пояс GMT +3, время: 18:22.