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

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

Закрытая тема
 
Pavell

offline
Опыт: 5,981
Активность:
Аргумент функции в таймере
Вобщем, есть функция:
function func takes unit u returns nothing
...
endfunction
нужно вызвать ее с помощью TimerStart, но как передать аргумент в функции? Пробовал так:
call TimerStart(t,2.00,function func(u))
но после сохранения JassHelper выдает ошибку... Возможно ли вобще передать аргумент функции в вызове таймера?
Старый 12.02.2012, 18:53
alpha

offline
Опыт: 7,387
Активность:
делают обычно это через хэш:
function func takes nothing returns nothing
  unit u = LoadUnitHandle(hashtab, GetHandleId(GetExpiredTimer()), 0)
...
  call FlushChildHashtable(hashtab, GetHandleId(GetExpiredTimer()))
  set u = null
endfunction
  
  local timer t = CreateTimer()
  call SaveUnitHandle(hashtab, GetHandleId(t), 0, u)
  call TimerStart(t, 2., false, function func)
  set t = null

//
  hashtable hashtab = InitHashtable()
alpha добавил:
твоим методом это сделать нельзя
Старый 12.02.2012, 19:08
Pavell

offline
Опыт: 5,981
Активность:
alpha, спс, понял, теперь буду знать...
тему можно клоуз
Старый 12.02.2012, 19:22
Закрытая тема

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

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

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

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



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