Есть ли такая функция, которая поворачивает здание на необходимый угол?

а еще можно глянуть
UpdateStaticUnitVisually
функцию, если есть
function UpdateStaticUnitVisually takes unit u returns nothing
	local integer a=ConvertHandle(u)
	local integer h
	if a==0 then
		return
	endif
	set h=RMem(RMem(a)+0x148)
	call CallThisCallWith4Args(h,a,1,1,1)
	call CallThisCallWith2Args(GameDLL+0x283BC0,a,1)
	call CallThisCallWith1Args(GameDLL+0x28E170,a)
endfunction
`
ОЖИДАНИЕ РЕКЛАМЫ...

Показан только небольшой набор комментариев вокруг указанного. Перейти к актуальным.
16
если у юнита нет Amov , для него отключается перерисовка, попробуй добавить SetUnitPosition после поворота, если не поможет - то хз даже, надо копать, а я занят
21
DracoL1ch, работает, но только с задержкой и только после многократного повторения кода:
call SetUnitFacing( GetAttacker( ), AngleBetweenPoints( GetUnitLoc( GetAttacker( ) ), GetUnitLoc( GetTriggerUnit( ) ) ) )
call SetUnitPosition( GetAttacker( ), GetUnitX( GetAttacker( ) ), GetUnitY( GetAttacker( ) ) )
Также юнит перестает атаковать вообще.
16
в смысле перестает атаковать? здания не поворачиваются для атаки же оО или ты про то ,что SetPos отдает приказ стопа? не пойму
27
DracoL1ch, а у древ поворачиваются, правда в ту сторону, где находится противник. и это повернуть нельзя приказом. за это отвечает абила "пустить корни"
21
DracoL1ch, да, про то, что SetUnitPos( ) стопит юнита, но это можно исправить повторным приказом через триггер. А то, что юнит не поварачивается сразу же, портит всю картину.
21
Мне кажется,просто юниту дать внешность здания, а потом дать команду повернкться лицом куда то там(
26
ScopteRectuS, если здание с атакой, то почему бы не использовать вариант Steal nerves:
DracoL1ch, а у древ поворачиваются, правда в ту сторону, где находится противник. и это повернуть нельзя приказом. за это отвечает абила "пустить корни"
16
function SetUnitPositionNoStop takes unit u, real x, real y returns nothing
	set LastConvertedHandle=ConvertHandle(u)
	if LastConvertedHandle!=0 then
		call WRMem(pReservedWritableMemory,x)
		call WRMem(pReservedWritableMemory2,y)
		call CallThisCallWith11Args(RMem(RMem(LastConvertedHandle)+0x180),LastConvertedHandle,pReservedWritableMemory,pReservedWritableMemory2,1,1,-1,0,0,0,-1,0)
	endif
endfunction
18
Через CreateUnit(...) поворачивается
если не надо динамически поворачивать здание - то думаю сойдет)
Показан только небольшой набор комментариев вокруг указанного. Перейти к актуальным.
Чтобы оставить комментарий, пожалуйста, войдите на сайт.