Добавлен
Можете подсказать как впихнуть в переменную больше одного юнита.
local unit Dummy = CreateUnit(GetOwningPlayer(marine), 'n001', xMarine, yMarine, angle)
`
ОЖИДАНИЕ РЕКЛАМЫ...

Показан только небольшой набор комментариев вокруг указанного. Перейти к актуальным.
9
function Trig_ShootTest_Actions takes nothing returns nothing


local unit marine = gg_unit_H000_0003
local unit Target = gg_unit_n000_0005
local real xMarine = GetUnitX(marine)
local real yMarine = GetUnitY(marine)
local real xTarget = GetUnitX(Target)
local real yTarget = GetUnitY(Target)
local real angle = bj_RADTODEG * Atan2(yTarget - yMarine, xTarget - xMarine) + GetRandomReal(-12.00, 12.00)
local unit Dummy = CreateUnit(GetOwningPlayer(marine), 'n001', xMarine, yMarine, angle)

local real maxDis = 1200
local real Damege = 50
local real Aoe = 90
local real Speed = 2000

local string BloodEfect = "Objects/Spawnmodels/Human/HumanBlood/HumanBloodKnight.mdl"

local timer TimerAct = CreateTimer()
local integer id = GetHandleId(TimerAct)
 
    if xMarine == xTarget and yMarine == yMarine then
        set angle = GetUnitFacing(marine)
    endif

call SetUnitX(Dummy, xMarine + 106 * Cos(angle * bj_DEGTORAD))
call SetUnitY(Dummy, yMarine + 106 * Sin(angle * bj_DEGTORAD))

call SaveUnitHandle(Hash, id, StringHash("marine"), marine)
call SaveUnitHandle(Hash, id, StringHash("Target"), Target)


call SaveReal(Hash, id, StringHash("Damege"), Damege)
call SaveReal(Hash, id, StringHash("maxDis"), maxDis)
call SaveReal(Hash, id, StringHash("Aoe"), Aoe)
call SaveReal(Hash, id, StringHash("angle"), angle)
call SaveReal(Hash, id, StringHash("Speed"), Speed * 0.03)
call SaveStr(Hash, id, StringHash("BloodEfect"), BloodEfect)
call SaveReal(Hash, id, StringHash("process"), 0)
call SaveGroupHandle(Hash, id, StringHash("group"), CreateGroup())




call SaveUnitHandle(Hash, id, StringHash("Dummy"), Dummy)
call DisplayTextToForce( GetPlayersAll(), "Shoot" )

call TimerStart(TimerAct, 0.03, true, function Trig_ShootTest_Actions2)
    
    
    call SetUnitAnimation( gg_unit_H000_0003, "attack" )

    call StopSoundBJ( gg_snd_GyrocopterImpactHit1, false )
    call PlaySoundBJ( gg_snd_GyrocopterImpactHit1 )
set marine = null
set Target = null
set Dummy = null
set TimerAct = null
    
endfunction
22
jasonrus96, у вас Dummy, а должно быть Dummy[цифра]
30
я сделала как в вашем примере полезли ошибки
Для начала неплохо бы почитать за массивы.
Этот комментарий удален
32
Если чо, существует group, если есть нужда создавать и двигать множество даммиков, почему бы не собирать их в группу и перебирать там, то локальные массивы хрень.
30
quq_CCCP, без очистки перебирать group можно только через ForGroup (ели речь за дореф ванилу), а это проброс юнита через глобалки. Ну а глобалки это зло.
18
  1. Здравствуйте, судя по коду вы пытаетесь двигать юнита вперед по направлению к цели либо по направлению взгляда. Но так как цели нет движение идет всегда по направлении взгляда
  2. Если вам надо передать несколько юнитов через таймер, то либо используйте структуру/struct, либо используйте индексы вместо StringHash("Dummy")
  3. Если вам надо заставить несколько юнитов лететь вперед, то создайте функцию которая принимает unit dummy. Затем вызовете эту функцию для всех нужных юнитов
Показан только небольшой набор комментариев вокруг указанного. Перейти к актуальным.
Чтобы оставить комментарий, пожалуйста, войдите на сайт.