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

◆ TeleportAtCursor()

static void DeveloperTeleport::TeleportAtCursor ( )
inlinestaticprotected

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

6 {
7 if ( !DeveloperFreeCamera.IsFreeCameraEnabled() )
8 {
9 PlayerBase player = PlayerBase.Cast( GetGame().GetPlayer() );
10 vector pos_player = player.GetPosition();
11
12 Object ignore;
13 if (!Class.CastTo(ignore, player.GetParent()))
14 {
15 ignore = player;
16 }
17
18 vector rayStart = GetGame().GetCurrentCameraPosition();
19 vector rayEnd = rayStart + GetGame().GetCurrentCameraDirection() * 1000;
20 vector hitPos;
21 vector hitNormal;
22 int hitComponentIndex;
23 DayZPhysics.RaycastRV(rayStart, rayEnd, hitPos, hitNormal, hitComponentIndex, NULL, NULL, ignore);
24
25 float distance = vector.Distance( pos_player, hitPos );
26
27 if ( distance < TELEPORT_DISTANCE_MAX )
28 {
29 bool breakSync = false;
30
31 #ifdef DIAG_DEVELOPER
32 breakSync = DiagMenu.GetBool(DiagMenuIDs.MISC_TELEPORT_BREAKS_SYNC);
33 #endif
34
35 SetPlayerPosition(player, hitPos, breakSync);
36 }
37 else
38 {
39 Debug.LogWarning("Distance for teleportation is too far!");
40 }
41 }
42 }
DiagMenuIDs
Определения EDiagMenuIDs.c:2
PlayerBase GetPlayer()
Определения ModifierBase.c:51
void Debug()
Определения UniversalTemperatureSource.c:349
proto native vector GetCurrentCameraPosition()
proto native vector GetCurrentCameraDirection()
static const float TELEPORT_DISTANCE_MAX
Определения DeveloperTeleport.c:3
static void SetPlayerPosition(PlayerBase player, vector position, bool breakSync=false)
Определения DeveloperTeleport.c:115
static proto native float Distance(vector v1, vector v2)
Returns the distance between tips of two 3D vectors.
class LOD Object
proto native CGame GetGame()

Перекрестные ссылки Class::CastTo(), vector::Distance(), DiagMenu::GetBool(), CGame::GetCurrentCameraDirection(), CGame::GetCurrentCameraPosition(), GetGame(), GetPlayer(), DeveloperFreeCamera::IsFreeCameraEnabled(), Debug::LogWarning(), DayZPhysics::RaycastRV(), SetPlayerPosition() и TELEPORT_DISTANCE_MAX.