Вот кусок кода из Control System by MF я добавил коментарии
l это переменная типа точка(глобальная)
Z1 и Z2 переменные типа реальная(локальные)
Angle1 реальная переменная(локальная)
udg_Geroi переменная типа юнит с твоим героем(глобальная)
offset Реальная переменная (локальная)
перемещаем точку l на место юнита
call MoveLocation(l,GetUnitX(udg_Geroi),GetUnitY(udg_Geroi)) Устанавливаем переменную Z1 высотой точки l
set Z1 = GetLocationZ(l) Перемещаем точку l на 200 за спину юнита
call MoveLocation(l,GetUnitX(udg_Geroi)-200*Cos(GetUnitFacing(udg_Geroi)*bj_DEGTORAD),GetUnitY(udg_Geroi)-400*Sin(GetUnitFacing(udg_Geroi)*bj_DEGTORAD)) Устанавливаем переменную Z2 высотой точки l
set Z2 = GetLocationZ(l) если высота точки под юнитом+100 больше или равно высоте точки за спиной юнита
if(Z1+100>=Z2)then устанавливаем оффсет равный высоте камеры+ высота полета героя+130+ высота точки под героем- позиция глаза камеры (хз что это)
set offset=GetCameraField(CAMERA_FIELD_ZOFFSET)+GetUnitFlyHeight(udg_Geroi)+130+Z1-GetCameraEyePositionZ()
Устанавливаем перменную Angle1 = -10
set Angle1 = -10
else далее аналогично только другие значения
set offset=R2I(GetCameraField(CAMERA_FIELD_ZOFFSET))+100+GetUnitFlyHeight(udg_Geroi)+Z2-R2I(GetCameraEyePositionZ())
set Angle1 = -30
endif устанавливаем высоту камеры равной переменной оффсет
call SetCameraField(CAMERA_FIELD_ZOFFSET,offset,0.20) устанавливаем угол атаки равный переменной Angle1
call SetCameraField(CAMERA_FIELD_ANGLE_OF_ATTACK,Angle1,0.60)
» RРG Engine / RРG Engine
» RРG Engine / RРG Engine
» Satia / Обновление #4
» Gnoll's Tale / Gnoll's Tale
» Восхождение Короля-Лича / Модель Архитектор (Инженер)
» WarCraft 3 / Пак аттачей
» WarCraft 3 / Кустик конопли
» WarCraft 3 / Z цели Камеры
l это переменная типа точка(глобальная)
Z1 и Z2 переменные типа реальная(локальные)
Angle1 реальная переменная(локальная)
udg_Geroi переменная типа юнит с твоим героем(глобальная)
offset Реальная переменная (локальная)
call MoveLocation(l,GetUnitX(udg_Geroi),GetUnitY(udg_Geroi))
Устанавливаем переменную Z1 высотой точки l
set Z1 = GetLocationZ(l)
Перемещаем точку l на 200 за спину юнита
call MoveLocation(l,GetUnitX(udg_Geroi)-200*Cos(GetUnitFacing(udg_Geroi)*bj_DEGTORAD),GetUnitY(udg_Geroi)-400*Sin(GetUnitFacing(udg_Geroi)*bj_DEGTORAD))
Устанавливаем переменную Z2 высотой точки l
set Z2 = GetLocationZ(l)
если высота точки под юнитом+100 больше или равно высоте точки за спиной юнита
if(Z1+100>=Z2)then
устанавливаем оффсет равный высоте камеры+ высота полета героя+130+ высота точки под героем- позиция глаза камеры (хз что это)
set offset=GetCameraField(CAMERA_FIELD_ZOFFSET)+GetUnitFlyHeight(udg_Geroi)+130+Z1-GetCameraEyePositionZ()
Устанавливаем перменную Angle1 = -10
set Angle1 = -10
else
далее аналогично только другие значения
set offset=R2I(GetCameraField(CAMERA_FIELD_ZOFFSET))+100+GetUnitFlyHeight(udg_Geroi)+Z2-R2I(GetCameraEyePositionZ())
set Angle1 = -30
endif
устанавливаем высоту камеры равной переменной оффсет
call SetCameraField(CAMERA_FIELD_ZOFFSET,offset,0.20)
устанавливаем угол атаки равный переменной Angle1
call SetCameraField(CAMERA_FIELD_ANGLE_OF_ATTACK,Angle1,0.60)
» WarCraft 3 / Кустик конопли
» WarCraft 3 / Кустик конопли
» WarCraft 3 / BoneGolem (WoW)
» WarCraft 3 / BX-TRS II Demo 1.24+
» WarCraft 3 / Floating text v1.0
» Подземные Хроники 2: Воля Королей / Подземные Хроники 2: Воля Королей
» WarCraft 3 / Шлемы из WoW (часть 1) Crusaders
» WarCraft 3 / Как делать красивый рельеф
сайт автору зачет