Как тригернно сделать так, чтобы как в стандарте создавалась "ратуша" и 5 рабов, на каждого игрока?
Именно в таком же положении, 5 рабов перед рудником. Т.е. между ратушей и рудником.
Нужно, чтобы рабочие создавались в том квадрате(см.рис)(как в стандартном развитии), а получается только вот так.

находим ближайший к точке старта рудник
и создаём рабочих на половине пути от рудника до точки старта
расстояние высчитывается по теореме пифагора (должны были проходить в 6-7 классе)
либо с помощью векторов (10-11 класс)
Aristokrat952, для кода нужно юзать форматирование код
Aristokrat952, xgm.guru/p/help/txt2#h13
`
ОЖИДАНИЕ РЕКЛАМЫ...

Показан только небольшой набор комментариев вокруг указанного. Перейти к актуальным.
5
Ну можно сделать триггер поиска ближайшего рудника от ратуши, и создания работником между ними, могу сделать пример, если надо...
7
Aristokrat952:
Ну можно сделать триггер поиска ближайшего рудника от ратуши, и создания работником между ними, могу сделать пример, если надо...
Если не сложно, буду благодарен.
5
так это же bj функции, посмотри сам как там сделано, вот пример одной из рас: "MeleeStartingUnitsHuman". У тебя Jass New Pack? Просто если бы я и сделал пример, то я взял бы и просто переписал все эти BJ функции сам, с некоторыми правками конечно, но по факту это делать глупо, раз ты сам можешь посмотреть их в редакторе.
А вообще вот фрагмент кода, для создания юнитов у орков:
Код
определение ближайшего рудника
set nearestMine = MeleeFindNearestMine(startLoc, bj_MELEE_MINE_SEARCH_RADIUS)
здесь создается главное здание
set townHall = CreateUnitAtLoc(whichPlayer, 'htow', startLoc, bj_UNIT_FACING)

локейшн рудника
set nearMineLoc = MeleeGetProjectedLoc(GetUnitLoc(nearestMine), startLoc, 320, 0)

определение координат этого рудника(x, y)
set peonX = GetLocationX(nearMineLoc)
set peonY = GetLocationY(nearMineLoc)
создание каждого рабочего; переменная unitSpacing по умолчанию равна 64-ем
call CreateUnit(whichPlayer, 'hpea', peonX + 0.00 * unitSpacing, peonY + 1.00 * unitSpacing, bj_UNIT_FACING)
call CreateUnit(whichPlayer, 'hpea', peonX + 1.00 * unitSpacing, peonY + 0.15 * unitSpacing, bj_UNIT_FACING)
call CreateUnit(whichPlayer, 'hpea', peonX - 1.00 * unitSpacing, peonY + 0.15 * unitSpacing, bj_UNIT_FACING)
call CreateUnit(whichPlayer, 'hpea', peonX + 0.60 * unitSpacing, peonY - 1.00 * unitSpacing, bj_UNIT_FACING)
call CreateUnit(whichPlayer, 'hpea', peonX - 0.60 * unitSpacing, peonY - 1.00 * unitSpacing, bj_UNIT_FACING)
не забудь удалить локейшны после этого
(честно, не знаю, что за таблица вначале ._.)
28
находим ближайший к точке старта рудник
и создаём рабочих на половине пути от рудника до точки старта
расстояние высчитывается по теореме пифагора (должны были проходить в 6-7 классе)
либо с помощью векторов (10-11 класс)
Aristokrat952, для кода нужно юзать форматирование код
Aristokrat952, xgm.guru/p/help/txt2#h13
Принятый ответ
5
nvc123, спс, и кстати, в оригинале, работники создаются не на половине расстояния от рудника до стартовой позиции, а на фиксированном расстоянии от рудника.
16
Пикаешь каждого юнита вокруг ратуши, проверяешь, рудник ли это, если рудник, то создаёшь 5 работников в точке с полярным смещением расстояние (ратуша -> рудник)/2 по отношению к углу от ратуши до рудника.
Показан только небольшой набор комментариев вокруг указанного. Перейти к актуальным.
Чтобы оставить комментарий, пожалуйста, войдите на сайт.