Такой глупый вопрос на который я не могу найти ответ .. помогите пожалуйста, желательно скриншот

Принятый ответ

Нужно просто создать война на позиции казармы, и отправить его в другую точку. И повторять это пока не надоест.
Есть два варианта решения задачи по перемещению юнита из одной точки в другую: отдать юниту стандартный приказ двигаться в точку, или же самостоятельно реализовать функцию перемещения юнита в нужную позицию. Примитивнейшая реализация может выглядеть так:
скриншотов нет
function playCinematic()
    createBarracks()
    SetSkyModel("environment\\sky\\lordaeronsummersky\\lordaeronsummersky")
    local t = CreateTimer()
    TimerStart(t, 2, false, function()
        CinematicModeBJ(true, GetPlayersAll())
        createFootmans()
        CameraSetupApplyForPlayer(true, gg_cam_Camera_002, Player(0), 0)
        CameraSetupApplyForPlayer(true, gg_cam_Camera_003, Player(0), 15)
        DestroyTimer(t)
    end)
end

function createBarracks()
    --если бараки уже стоят, то эта функция не нужна
    local barracks = CreateUnit(Player(0), FourCC('hfoo'), 0, 0, bj_UNIT_FACING)
    BlzSetUnitSkin(barracks, FourCC('hbar'))
    SetUnitScale(barracks, 2, 2, 2)
    SetUnitFacing(barracks, 300)
    SetUnitAnimation(barracks, "stand work")
end

function createFootmans()
    --здесь работаем с пехотинцами

    local function createFootman()
        --с каждым вызовом этой функции мы создаём нового пехотинца внутри казармы
        --включаем для него проигрывание анимации
        --и создаём таймер, в котором меняем его положение на карте

        local f = CreateUnit(Player(0), FourCC('hfoo'), 0, 0, -90)
        SetUnitPathing(f, false)
        SetUnitAnimationByIndex(f, 26)

        local x = GetUnitX(f)
        local tFootman = CreateTimer()
        TimerStart(tFootman, 0.015, true, function()
            local y = GetUnitY(f)
            if y < -3000 then
                --при достижении крайней точки удаляем футмана
                RemoveUnit(f)
                DestroyTimer(tFootman)
                return
            end
            SetUnitPosition(f, x, y - 1.5)
        end)
    end

    createFootman()

    local t = CreateTimer()
    TimerStart(t, 1.5, true, function()
        createFootman()
    end)
end

Загруженные файлы
`
ОЖИДАНИЕ РЕКЛАМЫ...
1
29
1 месяц назад
1
Загруженные файлы
Ответы (1)
0
23
1 месяц назад
0
3
23
1 месяц назад
3
Нужно просто создать война на позиции казармы, и отправить его в другую точку. И повторять это пока не надоест.
Есть два варианта решения задачи по перемещению юнита из одной точки в другую: отдать юниту стандартный приказ двигаться в точку, или же самостоятельно реализовать функцию перемещения юнита в нужную позицию. Примитивнейшая реализация может выглядеть так:
скриншотов нет
function playCinematic()
    createBarracks()
    SetSkyModel("environment\\sky\\lordaeronsummersky\\lordaeronsummersky")
    local t = CreateTimer()
    TimerStart(t, 2, false, function()
        CinematicModeBJ(true, GetPlayersAll())
        createFootmans()
        CameraSetupApplyForPlayer(true, gg_cam_Camera_002, Player(0), 0)
        CameraSetupApplyForPlayer(true, gg_cam_Camera_003, Player(0), 15)
        DestroyTimer(t)
    end)
end

function createBarracks()
    --если бараки уже стоят, то эта функция не нужна
    local barracks = CreateUnit(Player(0), FourCC('hfoo'), 0, 0, bj_UNIT_FACING)
    BlzSetUnitSkin(barracks, FourCC('hbar'))
    SetUnitScale(barracks, 2, 2, 2)
    SetUnitFacing(barracks, 300)
    SetUnitAnimation(barracks, "stand work")
end

function createFootmans()
    --здесь работаем с пехотинцами

    local function createFootman()
        --с каждым вызовом этой функции мы создаём нового пехотинца внутри казармы
        --включаем для него проигрывание анимации
        --и создаём таймер, в котором меняем его положение на карте

        local f = CreateUnit(Player(0), FourCC('hfoo'), 0, 0, -90)
        SetUnitPathing(f, false)
        SetUnitAnimationByIndex(f, 26)

        local x = GetUnitX(f)
        local tFootman = CreateTimer()
        TimerStart(tFootman, 0.015, true, function()
            local y = GetUnitY(f)
            if y < -3000 then
                --при достижении крайней точки удаляем футмана
                RemoveUnit(f)
                DestroyTimer(tFootman)
                return
            end
            SetUnitPosition(f, x, y - 1.5)
        end)
    end

    createFootman()

    local t = CreateTimer()
    TimerStart(t, 1.5, true, function()
        createFootman()
    end)
end

Загруженные файлы
Принятый ответ
Чтобы оставить комментарий, пожалуйста, войдите на сайт.