Подкиньте идею,как закрепить 2х юнитов в позиции героя.При движении они должны перемещаться в позиции героя.Приказ прикрепить не подойдёт,они порой отстают.Планирую на МУИ ГУИ делать.С минимальной утечкой.Заранее спасибо.

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

Сергей4, можно через Custom Script в GUI.
Событие - каждые 0,1 сек.
Действия: прописать 2 действия в Custom Script:
call SetUnitX(udg_U1, GetUnitX(udg_U2))
call SetUnitY(udg_U1, GetUnitY(udg_U2))
U1 - юнит, который переместить надо,
U2 - юнит, к которому переместить надо.
Всё. Три строчки (на GUI), две переменные, один триггер, ноль утечек.
Если нужно больше юнитов, чем один, то добавляем ещё переменную и копируем 2 действия.
`
ОЖИДАНИЕ РЕКЛАМЫ...
0
17
6 лет назад
Отредактирован N1ghtSiren
0
Создать точки относительно героя, двигать её каждые 0.05 секунд, а на точки в это же время перемещать нужных юнитов.
MoveUnit через ГУИ = каждый раз создаёт новую точку = утечная
0
5
6 лет назад
Отредактирован Сергей4
0
Действие двигать(мгновенно) я рассматривал.Но там точно утечки будут.На jass писать пример мне никто не будет.Может существуют какие-то способности для закрепления война к войну. Оба война будут без облика(на примере доп сумок)
Может существует команда через личный сценарий,удаляющая точку.Да бы не прибегать к jass
0
17
6 лет назад
Отредактирован N1ghtSiren
0
Как-то так. Включаете на время движения, выключаете на время бездействия.
3 глобалки :
udg_YourLoc - точка
udg_YourHero - герой (относительно чего двигается)
udg_YourMovedUnit - то, кого двигаем
он же, но в джазз варианте:
раскрыть
function Trig_t3_Actions takes nothing returns nothing
    local real x = GetUnitX(udg_YourHero)
    local real y = GetUnitY(udg_YourHero)
    call MoveLocation( udg_YourLoc,                        (x),                        (y) )
    call SetUnitPositionLoc( udg_YourMovedUnit, udg_YourLoc )
endfunction

//===========================================================================
function InitTrig_t3 takes nothing returns nothing
    set gg_trg_t3 = CreateTrigger(  )
    call TriggerRegisterTimerEventPeriodic( gg_trg_t3, 0.05 )
    call TriggerAddAction( gg_trg_t3, function Trig_t3_Actions )
endfunction
Загруженные файлы
0
5
6 лет назад
0
Попробую импортировать и протестировать. Спасибо
0
32
6 лет назад
0
Ты хочешь что ли рюкзак на герое сделать?
0
28
6 лет назад
0
Что такое МУИ?
2
32
6 лет назад
2
PT153:
Что такое МУИ?
неграмотная анаграма-аббривеатура из далеких 2000ых, подразумевающая мультиплеерность системы, и никакого отношения к этому значению никогда не имевшая
0
5
6 лет назад
0
Fakov, 2 рюкзака хочу сделать
0
32
6 лет назад
0
Непрактично. Лучше дамми героя-героев делать. И чтобы они постоянно следовали
1
18
6 лет назад
Отредактирован Maniac_91
1
Сергей4, можно через Custom Script в GUI.
Событие - каждые 0,1 сек.
Действия: прописать 2 действия в Custom Script:
call SetUnitX(udg_U1, GetUnitX(udg_U2))
call SetUnitY(udg_U1, GetUnitY(udg_U2))
U1 - юнит, который переместить надо,
U2 - юнит, к которому переместить надо.
Всё. Три строчки (на GUI), две переменные, один триггер, ноль утечек.
Если нужно больше юнитов, чем один, то добавляем ещё переменную и копируем 2 действия.
Принятый ответ
Чтобы оставить комментарий, пожалуйста, войдите на сайт.