Добавлен noyl
Написал пару строк в рефоргэтэ.
собственно
do
local PERIOD = 0.03125
local TEXTURE = "Abilities\\Weapons\\RedDragonBreath\\RedDragonMissile.mdl"
local DINTANCE = 700.0
local SPEED = 20.0
local BOOL = {}
local HERO
local function FourCC(id)
return string.unpack(">I4", id)
end
local timer = CreateTimer()
TimerStart(timer, 0, false, function()
HERO = CreateUnit(Player(0), FourCC('H001'), 0, 0, 0)
for i = 0, bj_MAX_PLAYER_SLOTS - 1 do
BOOL[i] = true
end
end)
local trg = CreateTrigger()
for i = 0, bj_MAX_PLAYER_SLOTS - 1 do
TriggerRegisterPlayerMouseEventBJ(trg, Player(i), bj_MOUSEEVENTTYPE_DOWN)
end
TriggerAddCondition(trg, Condition(function()
return BlzGetTriggerPlayerMouseButton() == MOUSE_BUTTON_TYPE_LEFT
end))
TriggerAddAction(trg, function()
local player = GetTriggerPlayer()
local id = GetPlayerId(player)
if(BOOL[id])then
BOOL[id] = false
local unit = HERO
local x = GetUnitX(unit)
local y = GetUnitY(unit)
local xm = GetMouseX(id)
local ym = GetMouseY(id)
local angle = Atan2(ym - y, xm - x)
local model = AddSpecialEffect(TEXTURE, x, y)
local now = 0.0
BlzSetSpecialEffectPitch(model, angle)
TimerStart(CreateTimer(), PERIOD, true, function()
now = now + SPEED
if(now >= DINTANCE)then
BOOL[id] = true
DestroyEffect(model)
DestroyTimer(GetExpiredTimer())
return
end
x = x + SPEED * Cos(angle)
y = y + SPEED * Sin(angle)
BlzSetSpecialEffectPosition(model, x, y, 50.0)
end)
end
end)
end
Но почем-то через пару использований(или определенное время, хз) просто ничего не происходит, что за blek megiks?
Принятый ответ
Я недавно тот же вопрос задавал, ну и ответ там же
Кароче сборщик мусора подгребает твой триггер
`
ОЖИДАНИЕ РЕКЛАМЫ...
Чтобы оставить комментарий, пожалуйста, войдите на сайт.
Например не нужно