DayZ 1.27
DayZ Explorer by KGB
 
Загрузка...
Поиск...
Не найдено

◆ EOnFrame()

override void DayZSpectator::EOnFrame ( IEntity other,
float timeSlice )
inlineprivate

См. определение в файле DayZSpectator.c строка 12

13 {
14 if (GetUApi().GetInputByID(UACarShiftGearUp).LocalPress())
16 if (GetUApi().GetInputByID(UACarShiftGearDown).LocalPress())
18
19 float speed = 5.0 * m_SpeedMultiplier;
20 if (GetUApi().GetInputByID(UATurbo).LocalValue())
21 speed *= 2;
22
23 float forward = GetUApi().GetInputByID(UAMoveForward).LocalValue() - GetUApi().GetInputByID(UAMoveBack).LocalValue();
24 float strafe = GetUApi().GetInputByID(UAMoveRight).LocalValue() - GetUApi().GetInputByID(UAMoveLeft).LocalValue();
25
26 vector direction = GetDirection();
27 vector directionAside = vector.Up * direction;
28
29 vector oldPos = GetPosition();
30 vector forwardChange = forward * timeSlice * direction * speed;
31 vector strafeChange = strafe * timeSlice * directionAside * speed;
32 vector newPos = oldPos + forwardChange + strafeChange;
33 float yMin = GetGame().SurfaceRoadY(newPos[0], newPos[2]);
34 if (newPos[1] < yMin)
35 newPos[1] = yMin;
36
37 SetPosition(newPos);
38
39 float yawDiff = GetUApi().GetInputByID(UAAimLeft).LocalValue() - GetUApi().GetInputByID(UAAimRight).LocalValue();
40 float pitchDiff = GetUApi().GetInputByID(UAAimDown).LocalValue() - GetUApi().GetInputByID(UAAimUp).LocalValue();
41 vector oldOrient = GetOrientation();
42 vector newOrient = oldOrient;
43 newOrient[0] = newOrient[0] - Math.RAD2DEG * yawDiff * timeSlice;
44 newOrient[1] = newOrient[1] - Math.RAD2DEG * pitchDiff * timeSlice;
45 if (newOrient[1] < -89)
46 newOrient[1] = -89;
47 if (newOrient[1] > 89)
48 newOrient[1] = 89;
49
50 SetOrientation(newOrient);
51
52 if (m_SendUpdateAcc > 0.5)
53 {
56 }
57
58 m_SendUpdateAcc = m_SendUpdateAcc + timeSlice;
59 }
vector GetOrientation()
Определения AreaDamageManager.c:306
proto native UAInputAPI GetUApi()
proto native float SurfaceRoadY(float x, float z, RoadSurfaceDetection rsd=RoadSurfaceDetection.LEGACY)
proto native void UpdateSpectatorPosition(vector position)
Updates spectator position on server = position of network bubble.
float m_SendUpdateAcc
Определения DayZSpectator.c:5
float m_SpeedMultiplier
Определения DayZSpectator.c:3
proto native UAInput GetInputByID(int iID)
returns list of all bindable (i.e. visible) inputs from the active group ('core' by default)
proto native float LocalValue()
proto native CGame GetGame()
proto native void SetPosition(vector position)
Set the world position of the Effect.
Определения Effect.c:438
class JsonUndergroundAreaTriggerData GetPosition
Определения UndergroundAreaLoader.c:9

Перекрестные ссылки GetGame(), UAInputAPI::GetInputByID(), GetOrientation(), GetPosition, GetUApi(), UAInput::LocalValue(), m_SendUpdateAcc, m_SpeedMultiplier, Math::RAD2DEG, SetPosition(), CGame::SurfaceRoadY(), vector::Up и CGame::UpdateSpectatorPosition().