Dayz
Build 1.29.163047, Scripts Rev. 123548
Dayz Code Explorer by Zeroy
Toggle main menu visibility
Loading...
Searching...
No Matches
plugincharplacement.c
Go to the documentation of this file.
1
class
PluginCharPlacement
extends
PluginBase
2
{
3
PluginDeveloper
m_ModuleDeveloper
;
4
PlayerBase
m_Character
;
5
ref
Timer
m_Timer
;
6
bool
m_Initialized
;
7
vector
m_cam_pos
;
8
vector
m_character_pos
;
9
vector
m_camera_dir
;
10
vector
m_cameraTrans
[4];
11
vector
m_demoPos
;
12
vector
m_demoRot
;
13
vector
m_camera_orientation
;
14
15
const
float
FOV
= 0.5236;
16
17
void
CheckInit
()
18
{
19
if
(
m_Initialized
)
20
{
21
Print
(
"logging..."
);
22
Log
(
FOV
.ToString(),
"FOV"
);
23
Log
(
m_camera_dir
.ToString(),
"camera dir"
);
24
Log
(
m_cam_pos
.ToString(),
"camera pos"
);
25
Log
(
m_demoPos
.ToString(),
"character pos"
);
26
27
return
;
28
}
29
30
if
( FreeDebugCamera.GetInstance().IsActive() )
31
Init
();
32
}
33
34
void
Init
()
35
{
36
if
(
m_Character
)
37
m_Character
.Delete();
38
39
m_Initialized
=
true
;
40
m_Character
=
PlayerBase
.Cast(
g_Game
.CreateObject(
"SurvivorF_Judy"
, FreeDebugCamera.GetInstance().GetPosition(),
false
,
false
/*ai*/
) );
41
42
FreeDebugCamera.GetInstance().SetFOV(
FOV
);
//default scene FOV
43
m_demoRot
=
"0 0 0"
;
44
}
45
46
override
void
OnUpdate
(
float
delta_time)
47
{
48
if
(!
m_Initialized
)
return
;
49
if
(!FreeDebugCamera.GetInstance().IsActive())
return
;
50
if
(!
m_Character
)
return
;
51
m_camera_orientation
= FreeDebugCamera.GetInstance().GetOrientation();
52
m_camera_orientation
[1] = 1;
53
FreeDebugCamera.GetInstance().SetOrientation(
m_camera_orientation
);
//remove to unlock vertical axis
54
m_cam_pos
= FreeDebugCamera.GetInstance().GetPosition();
55
m_character_pos
=
m_Character
.GetPosition();
56
m_camera_dir
= FreeDebugCamera.GetInstance().GetDirection();
57
58
m_camera_dir
.Normalize();
59
m_Character
.SetPosition(
CalculatePos
());
//(FreeDebugCamera.GetInstance().GetPosition() + ( m_camera_dir * 2) );
60
m_demoRot
[0] =
Math
.
Atan2
(-
m_camera_dir
[0], -
m_camera_dir
[2]) *
Math
.
RAD2DEG
;
61
m_Character
.SetOrientation(
m_demoRot
);
//(FreeDebugCamera.GetInstance().GetPosition() - m_demoPos);
62
}
63
64
override
void
OnDestroy
()
65
{
66
FreeDebugCamera.GetInstance().SetFOV(
g_Game
.GetUserFOV());
67
}
68
69
vector
CalculatePos
()
70
{
71
vector
cam_pos = FreeDebugCamera.GetInstance().GetPosition();
72
Math3D
.
MatrixIdentity4
(
m_cameraTrans
);
73
Math3D
.
DirectionAndUpMatrix
(
m_camera_dir
/* - SnapToGround(cam_pos)*/
,
"0 1 0"
,
m_cameraTrans
);
74
m_cameraTrans
[3] = cam_pos;
75
m_demoPos
=
Vector
(
/*0.685547, -0.988281,*/
0,0, 3.68823).
Multiply4
(
m_cameraTrans
);
76
m_demoPos
[1] =
g_Game
.SurfaceY(
m_demoPos
[0],
m_demoPos
[2]);
77
78
return
m_demoPos
;
79
}
80
}
Math3D
Definition
enmath3d.c:28
Math
Definition
enmath.c:7
PlayerBase
Definition
playerbaseclient.c:2
PluginBase
Class PluginMessageManager provides some basic Message Distribution mechanics, if you get instance of...
Definition
pluginbase.c:2
PluginBase::CalculatePos
vector CalculatePos()
Definition
plugincharplacement.c:69
PluginBase::Init
void Init()
Definition
plugincharplacement.c:34
PluginBase::m_character_pos
vector m_character_pos
Definition
plugincharplacement.c:8
PluginBase::CheckInit
void CheckInit()
Definition
plugincharplacement.c:17
PluginBase::m_cameraTrans
vector m_cameraTrans[4]
Definition
plugincharplacement.c:10
PluginBase::m_demoPos
vector m_demoPos
Definition
plugincharplacement.c:11
PluginBase::Log
void Log(string msg, string label)
Definition
pluginbase.c:10
PluginBase::m_Initialized
bool m_Initialized
Definition
plugincharplacement.c:6
PluginBase::m_ModuleDeveloper
PluginDeveloper m_ModuleDeveloper
Definition
plugincharplacement.c:3
PluginBase::m_camera_orientation
vector m_camera_orientation
Definition
plugincharplacement.c:13
PluginBase::FOV
const float FOV
Definition
plugincharplacement.c:15
PluginBase::m_Character
PlayerBase m_Character
Definition
plugincharplacement.c:4
PluginBase::m_demoRot
vector m_demoRot
Definition
plugincharplacement.c:12
PluginBase::PluginDeveloper
void PluginDeveloper()
Definition
plugindeveloper.c:49
PluginBase::m_camera_dir
vector m_camera_dir
Definition
plugincharplacement.c:9
PluginBase::OnDestroy
override void OnDestroy()
Definition
plugincharplacement.c:64
PluginBase::m_cam_pos
vector m_cam_pos
Definition
plugincharplacement.c:7
PluginBase::OnUpdate
override void OnUpdate(float delta_time)
Definition
plugincharplacement.c:46
PluginBase::m_Timer
ref Timer m_Timer
Definition
pluginadminlog.c:26
Timer
Definition
dayzplayerimplement.c:39
vector
Definition
enconvert.c:119
vector::Multiply4
proto vector Multiply4(vector mat[4])
Transforms position.
g_Game
DayZGame g_Game
Definition
dayzgame.c:3942
Print
proto void Print(void var)
Prints content of variable to console/log.
Vector
proto native vector Vector(float x, float y, float z)
Vector constructor from components.
Math3D::DirectionAndUpMatrix
static proto void DirectionAndUpMatrix(vector dir, vector up, out vector mat[4])
Creates rotation matrix from direction and up vector.
Math3D::MatrixIdentity4
static void MatrixIdentity4(out vector mat[4])
Creates identity matrix.
Definition
enmath3d.c:256
Math::Atan2
static proto float Atan2(float y, float x)
Returns angle in radians from tangent.
Math::RAD2DEG
static const float RAD2DEG
Definition
enmath.c:16
Games
Dayz
scripts
4_world
plugins
pluginbase
plugindeveloper
plugincharplacement.c
Generated by
1.17.0