Добавлен Haikyo
Ждет определенное время, а после запускает какой-то триггер. В данном случае сохраняет в себе двух юнитов и интегер. Собственно, можно ли использовать подобное? Нет ли где утечек?
function InitTrig_INIT takes nothing returns nothing
Defines()
INIT()
timer wait = CreateTimer()
TimerStart(wait, 0.1, true, function waitUp)
wait = null
endfunction
struct wait1
unit caster
unit target
real time
real count
integer i
boolean check
static nothing new(unit caster, unit target, real time, integer i) {
wait1 a = wait1.create()
a.caster = caster
a.target = target
a.time = time
a.check = true
a.count = 0.00
a.i = i
caster = null
target = null
}
nothing action() {
if .i == 'A1QA'
SpellAction(.caster, .target)
endif
}
nothing delete() {
.action()
.caster = null
.target = null
.check = false
.destroy()
}
nothing counter() {
.count = .count + 0.1
if .count == .time then
.delete()
endif
}
endstruct
nothing waitUp() {
wait1 a = 100
loop
if a.check then
a.counter()
endif
exitwhen a == 1
a = a - 1
endloop
}
Принятый ответ
MadnezIX, смотря на какие числа ты рассчитываешь
если у тебя есть числа 0,0001 то под них стоит создавать одноразовый таймер (ибо крутить каждые 0,0001 секунды цикл от 100 до 0 очень затратно)
это к слову не замена вейту
ибо вейт предназначен немного для других вещей
если у тебя есть числа 0,0001 то под них стоит создавать одноразовый таймер (ибо крутить каждые 0,0001 секунды цикл от 100 до 0 очень затратно)
это к слову не замена вейту
ибо вейт предназначен немного для других вещей
`
ОЖИДАНИЕ РЕКЛАМЫ...
Чтобы оставить комментарий, пожалуйста, войдите на сайт.
если у тебя есть числа 0,0001 то под них стоит создавать одноразовый таймер (ибо крутить каждые 0,0001 секунды цикл от 100 до 0 очень затратно)
это к слову не замена вейту
ибо вейт предназначен немного для других вещей