Суть вопроса такова:
Имеется скрипт на левитацию,он рабочий,но вот незадача при посадке в 70% случаев,ГГ убивается словно упал с высоты,каким образом повесить кнопку "приземление" и дать команду нормалльно(безопасно) приземлятся и не умирать.Скрипт эффектный.Кто знает как это сделать?
scn aaaforcelevitationscript
float angleZ
float X
float Y
float Z
float DX
float DY
float DZ
float oldX
float oldY
float oldZ
float oldDX
float oldDY
float oldDZ
float maxDXY
float t1
float t2
float t5
float t6
float sina
float turbo
begin ScriptEffectStart
set oldX to getPos x
set oldY to getPos y
set oldZ to getPos z
end
begin ScriptEffectUpdate
set X to getPos x
set Y to getPos y
set Z to getPos z
set DZ to Z - oldZ
; Levitation
set DX to x - oldX
set DY to y - oldY
if (DX*DX)>(DY*DY)
set maxDXY to DX
else
set maxDXY to DY
endif
if maxDXY < 0
set maxDXY to -maxDXY
endif
set Z to oldZ
if isSneaking == 0
set turbo to 10
else
set turbo to 2
endif
if (DX*DX+DY*DY>8)
set X to oldX + turbo*DX/maxDXY
set Y to oldY + turbo*DY/maxDXY
; endif
setPos x , X
setPos y , Y
set angleZ to GetAngle x
;Message angleZ+1
;set Z to Z - (angleZ/180)
if angleZ < -180
set angleZ to angleZ + 360
elseif angleZ > 180
set angleZ to angleZ - 360
endif
set t1 to angleZ / 57.29577951 ; precalculate powers of "angle"
set t2 to t1*t1
set t5 to t2*t2*t1
set t6 to t5*t1
set sina to t1 - t1*t2/6 + t5/120 - t5*t2/5040 + t6*t2*t1/362880
set Z to Z - turbo*(sina)
endif
setPos z , Z
set oldX to X
set oldY to Y
set oldZ to Z
set oldDZ to DZ
resetFallDamageTimer
end
СКРИПТ РАБОТАЕТ! НО...
Когда персонаж летит, он проигрывает анимацию ходьбы и даже ТОПАЕТ!