Насколько я понял, вот эта колбаса создает юнита через группу, потом ее не до конца удаляет и куча всего ненужного?
Как создать через Нативку и Джасс просто одного юнита на точке без всего этого?
function CreateNUnitsAtLoc takes integer count, integer unitId, player whichPlayer, location loc, real face returns group
call GroupClear(bj_lastCreatedGroup)
loop
set count = count - 1
exitwhen count < 0
call CreateUnitAtLocSaveLast(whichPlayer, unitId, loc, face)
call GroupAddUnit(bj_lastCreatedGroup, bj_lastCreatedUnit)
endloop
return bj_lastCreatedGroup
endfunction

rsfghd:
как правильно написать, чтобы в указанной точке появился юнит?
На примере с позицией юнита
local unit u = GetTriggerUnit()
local real x = GetUnitX(u)
local real y = GetUnitY(u)
set bj_lastCreatedUnit = CreateUnit(GetOwningPlayer(u),'u000',x,y,GetUnitFacing(u))
Создаст какого-то там юнита в позиции юнита триггера
А для чего икс и игрик, если я могу просто указать точку, а потом ее обнулить, какой смысл мне в них?
`
ОЖИДАНИЕ РЕКЛАМЫ...

Показан только небольшой набор комментариев вокруг указанного. Перейти к актуальным.
28
создает юнита через группу, потом ее не до конца удаляет
Функция создаёт только юнитов.
21
rsfghd:
CreateUnit
как правильно написать, чтобы в указанной точке появился юнит?
28
Если тебе под зарез нужно через точку создать юнита, то используй
native CreateUnitAtLoc takes player id, integer unitid, location whichLocation, real face returns unit
но пора бы и на координаты перейти)
21
Зачем мне группа? Мне нужен просто один юнит а не паровоз из создания группы из одного юнита?
28
как правильно написать, чтобы в указанной точке появился юнит?
На примере с позицией юнита
local unit u = GetTriggerUnit()
local real x = GetUnitX(u)
local real y = GetUnitY(u)
set bj_lastCreatedUnit = CreateUnit(GetOwningPlayer(u),'u000',x,y,GetUnitFacing(u))
Создаст какого-то там юнита в позиции юнита триггера
21
rsfghd:
как правильно написать, чтобы в указанной точке появился юнит?
На примере с позицией юнита
local unit u = GetTriggerUnit()
local real x = GetUnitX(u)
local real y = GetUnitY(u)
set bj_lastCreatedUnit = CreateUnit(GetOwningPlayer(u),'u000',x,y,GetUnitFacing(u))
Создаст какого-то там юнита в позиции юнита триггера
А для чего икс и игрик, если я могу просто указать точку, а потом ее обнулить, какой смысл мне в них?
Принятый ответ
18
SсRealm, CreateUnitAtLoc(), вместо х,у задаешь точку

Просто сама точка - это и есть х,у. Одной переменной и действием обнуления больше
21
А почему трггер сам запускается без спроса и даже если выключен?
local unit u = GetTriggerUnit()
local real x = GetUnitX(u)
local real y = GetUnitY(u)
set bj_lastCreatedUnit = CreateUnit(GetOwningPlayer(u),'u000',x,y,GetUnitFacing(u))

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