Сейчас 14:55:06 Пятница, 22 ноября, 2024 год
[ x ] Главная ⇒ Форум ⇐ RSS Файлы Cтатьи Картинки В о й т и   или   з а р е г и с т р и р о в а т ь с я


[ Новые сообщения · Участники · Правила форума · Поиск · RSS ]
  • Страница 1 из 1
  • 1
Модератор форума: PUVer, SirNikolas, Ty3uK  
Локалки и таймера
НаклзДата: Понедельник, 19 Января 2015, 18:37:18 | Сообщение # 1
10 уровень
Группа: Проверенные
Сообщений: 1431
Награды: 0
Репутация: 760
Блокировки:
Здравствуйте. Так как wiat - один большой баг, хотел бы всюду, где это возможно использовать таймера.. но столкнулся с одной огромной проблемой. С запуском таймера можно указать какую функцию он запустит, но ей нельзя передать параметры, как же поступить? Допустим таймер на длительное время, значения могут перезаписываться если использовать переменные или хеш таблицы... это будет крахом.
 

BiboДата: Понедельник, 19 Января 2015, 19:12:10 | Сообщение # 2
Группа: Проверенные
Сообщений: 741
Награды: 0
Блокировки:
Использовать не глобальный, а локальный таймер. Значения же записывать в хэш-таблицу, используя как ключ ID таймера.
 

НаклзДата: Понедельник, 19 Января 2015, 22:08:09 | Сообщение # 3
10 уровень
Группа: Проверенные
Сообщений: 1431
Награды: 0
Репутация: 760
Блокировки:
С момента про ID таймера, можно поподробней. Какой код что бы получить этот "ID" ?
 

BiboДата: Понедельник, 19 Января 2015, 22:13:48 | Сообщение # 4
Группа: Проверенные
Сообщений: 741
Награды: 0
Блокировки:
Записываем

local timer t = CreateTimer() //Создаем таймер
local integer id = GetHandleId(t) //получаем уникальный ID таймера
call SaveUnitHandle(udg_ТвойХэш, id, 0, udg_ТвойЮнит) //Сохраняем юнита в хэш-таблицу


Достаем уже внутри функции таймера

local timer t = GetExpiredTimer()
local integer id = GetHandleId(t)
local unit u = LoadUnitHandle(udg_ТвойХэш, id, 0)
//Далее любые действия с юнитом u


Сообщение отредактировал Bibo - Понедельник, 19 Января 2015, 22:15:28
 

НаклзДата: Понедельник, 19 Января 2015, 23:32:37 | Сообщение # 5
10 уровень
Группа: Проверенные
Сообщений: 1431
Награды: 0
Репутация: 760
Блокировки:
Большое спасибо) вопрос решён.
 

  • Страница 1 из 1
  • 1
Поиск:

Copyright © 2006 - 2024 Warcraft3FT.info При копировании материалов c сайта ставьте, пожалуйста, активную обратную ссылку на нас • Design by gReeB04ki ©
Хостинг от uCoz