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

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

Закрытая тема
 
Cosonic5
Моймозггоритогнем
offline
Опыт: 13,584
Активность:
помогите с таймером
вообщем ребят помогите с локальным таймером
local timer t = CreateTimer()
call TimerStart(t,15.00,true,function AbilityCast_Timer)
вот запускаю я таймер как мне сделать так что пока он не завершится способност будет активна?
теость суть способность при ее применении дается абилка на ловкость
должно пройти 15 сек
ну и затем абилка уберается все сделал, но с таймером как быть?
Мне именно надо как отследить что время закончилось?
в тригерах да там через событие а как на джассе пока не разобрался.
[+] замечание от Suite: 2.2 (название темы не отражает сути вопроса)
Старый 13.04.2012, 10:49
Klop
Папа римский
offline
Опыт: 13,006
Активность:
в джазе тоже через событие
function AbilityCast_Timer .........
local timer t = GetExpiredTimer()
.....
call DestroyTimer(t)
set t = null
endfunction

local timer t = CreateTimer()
call TimerStart(t,15.00,false,function AbilityCast_Timer)
set t = null
Старый 13.04.2012, 10:59
DaeDR

offline
Опыт: 8,074
Активность:
Cosonic5, Самый простой вариант "записать юнита в таймер" через Хеш-таблицу. Пример:
local timer t = CreateTimer ()
call SaveUnitHandle ( udg_Hash, GetHandleId(t), 1, GetTriggerUnit() )
call TimerStart ( t, 15.0, false, function AbilityCast_Timer )
set t = null
Функция AbilityCast_Timer будет выглядеть так:
function AbilityCast_Timer takes nothing returns nothing
local timer t = GetExpiredTimer() 
local integer h = GetHandleId(t)
local unit u = LoadUnitHandle ( udg_Hash, h, 1 )
call UnitRemoveAbiluty ( u, 'A000' ) // A000 - id способности, которая удалится
call RemoveSavedHandle ( udg_Hash, h, 1 )
set u = null
call DestroyTimer (t)
set t = null
endfunction
DaeDR добавил:
Таким образом через 15 сек. удалится способность A000

Отредактировано DaeDR, 13.04.2012 в 11:12.
Старый 13.04.2012, 11:02
Cosonic5
Моймозггоритогнем
offline
Опыт: 13,584
Активность:
DaeDR, Klop, спс ребят!
Старый 13.04.2012, 11:46
Закрытая тема

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

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

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

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



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