HatoL
offline
Опыт:
439Активность: |
Помогите с wait или "события с малым периодом"
У меня есть триггер, в котором надо объявить локальную переменную. Надо реализовать так, чтобы она при каждом запуске триггера (или цикла) увеличивалась на 100 единиц. Теперь моя трабла: 1. Так как это локальная переменная, то ее можно объявить только в начале триггера (внутри цикла уже не получится - вариант с циклом отпадает). 2. Мне надо хранить предыдущее значение переменной, а так как событие Periodic Event просто повторяет триггер, то при каждом запуске будет объявляться новая переменная - соответственно старое значение пропадает. Помогите плз. Что мне делать в таком случае? |
24.05.2006, 20:48 | #1
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
exAres
I love magic :)
offline
Опыт:
7,788Активность: |
HatoL есть два варианта(вроде): 1)создать не локальную а глобальную переменную, 2)сохранять переменную в кеш.
ЗЫ а почему циклом низя ? создаёшь в начале переменную а потом циклом её увеличиваешь! |
24.05.2006, 21:24 | #2
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
w3soft
ТГБ тим
offline
Опыт:
1,769Активность: |
Код:
|
25.05.2006, 06:40 | #3
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
HatoL
offline
Опыт:
439Активность: |
MrSmiLe и w3soft спасибо! что-то я не доDOOMался сразу сам... в первый раз же пишу такой тригг... (с jass) Закрывайте тему
|
25.05.2006, 13:34 | #4
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
DioD
offline
Опыт:
45,134Активность: |
CС глобалками он выглядит точно так-же. |
25.05.2006, 15:57 | #5
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
HatoL
offline
Опыт:
439Активность: |
Пока не закрывайте плз, поторопился я. Вопрос насчет циклов: wait'ы работают там неточно, поэтому надо что-то другое. Помогите плз. |
26.05.2006, 00:08 | #6
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
w3soft
ТГБ тим
offline
Опыт:
1,769Активность: |
В конце триггера присвой значение локальной переменной глобальной. При запуске триггера из глобальной будет извлекаться значение, которое будет присвиваться локальной. |
26.05.2006, 05:54 | #7
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
HatoL
offline
Опыт:
439Активность: |
тогда какой смысл вообще объявлять локальную переменную? Если юнитов будет два, то заклинание не будет работать на обоих. |
26.05.2006, 11:45 | #8
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
felix_ff
offline
Опыт:
757Активность: |
тоды юзай кеш...
примеру: function F_Actions takes nothing returns nothing local integer i = GetStoredInteger(udg_Cache, I2S(H2I(GetTriggeringTrigger())), "i") далее твои действия set i = i + 100 call StoreInteger(udg_Cache, I2S(H2I(GetTriggeringTrigger())), "i", i) endfunction |
26.05.2006, 11:49 | #9
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
Iron
Листовой
offline
Опыт:
24,427Активность: |
Можно заносить значение переменной в Custom Value кастующего юнита. |
26.05.2006, 16:48 | #10
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
exAres
I love magic :)
offline
Опыт:
7,788Активность: |
HatoL зато таймеры точно ! Нужно заносить переменную в КЕШ и сохранять на Хендл таймера а в функции таймера считывешь с него информацию и потом, если нужно, опять заносишь. Ща пример писать нет времени !
|
26.05.2006, 17:44 | #11
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|