Dayz
Build 1.29.163047, Scripts Rev. 123548
Dayz Code Explorer by Zeroy
Toggle main menu visibility
Loading...
Searching...
No Matches
undergroundarealoader.c
Go to the documentation of this file.
1
class
JsonUndergroundTriggers
2
{
3
ref
array<ref JsonUndergroundAreaTriggerData>
Triggers
;
4
5
static
void
SpawnParentedTriggers
(
EntityAI
parent)
6
{
7
int
networkIdLow, networkIdHigh;
8
parent.GetNetworkID(networkIdLow, networkIdHigh);
9
10
JsonUndergroundTriggers
jsonData =
UndergroundAreaLoader
.
GetData
();
11
if
(jsonData && jsonData.
Triggers
)
12
{
13
foreach
(
int
index,
auto
data : jsonData.
Triggers
)
14
{
15
if
(data.CustomSpawn)
16
{
17
if
(data.ParentNetworkId.Count() == 2 && data.ParentNetworkId[0] == networkIdLow && data.ParentNetworkId[1] == networkIdHigh)
18
SpawnTriggerCarrier
(parent, index, data);
19
}
20
}
21
}
22
}
23
24
static
void
SpawnTriggerCarrier
(
EntityAI
parent,
int
index,
JsonUndergroundAreaTriggerData
data)
25
{
26
UndergroundTriggerCarrierBase
carrier =
UndergroundTriggerCarrierBase
.Cast(
g_Game
.CreateObjectEx(
"UndergroundTriggerCarrier"
, data.
GetPosition
(),
ECE_NONE
));
27
if
(carrier)
28
{
29
carrier.
SetParent
(parent);
30
carrier.
SetIndex
(index);
31
carrier.SetOrientation(data.
GetOrientation
());
32
}
33
}
34
}
35
36
class
JsonUndergroundAreaBreadcrumb
37
{
38
vector
GetPosition
()
39
{
40
return
Vector
(
Position
[0],
Position
[1],
Position
[2]);
41
}
42
43
ref
array<float>
Position
;
44
float
EyeAccommodation
;
45
bool
UseRaycast
;
46
float
Radius
;
47
bool
LightLerp
;
// only used in LinePointFade
48
49
ref
BreadcrumbExternalValueController
ExternalValueController
;
50
}
51
52
class
BreadcrumbExternalValueController
53
{
54
string
Type
;
55
ref
TStringArray
Params
;
56
}
57
58
class
BreadcrumbDoorStateController
59
{
60
string
SelectionName
;
61
62
void
BreadcrumbDoorStateController
(
TStringArray
params)
63
{
64
SelectionName
= params[0];
65
}
66
}
67
68
class
JsonUndergroundAreaTriggerData
69
{
70
vector
GetPosition
()
71
{
72
return
Vector
(
Position
[0],
Position
[1],
Position
[2]);
73
}
74
75
vector
GetOrientation
()
76
{
77
return
Vector
(
Orientation
[0],
Orientation
[1],
Orientation
[2]);
78
}
79
vector
GetSize
()
80
{
81
return
Vector
(
Size
[0],
Size
[1],
Size
[2]);
82
}
83
84
bool
CustomSpawn
;
85
string
Tag
;
86
ref
TIntArray
ParentNetworkId
;
87
88
ref
array<float>
Position
;
89
ref
array<float>
Orientation
;
90
ref
array<float>
Size
;
91
float
EyeAccommodation
;
92
float
InterpolationSpeed
;
93
bool
UseLinePointFade
;
// simple fade between points which are defined using existing breadcrumbs array
94
string
AmbientSoundType
;
// type of ambient sound which will be played by sound controller
95
string
AmbientSoundSet
;
// manual playback of ambient sound
96
97
ref
array<ref JsonUndergroundAreaBreadcrumb>
Breadcrumbs
;
98
99
};
100
101
102
class
UndergroundAreaLoader
103
{
104
private
static
string
m_Path
=
"$mission:cfgundergroundtriggers.json"
;
105
106
static
ref
JsonUndergroundTriggers
m_JsonData
;
107
108
static
JsonUndergroundTriggers
GetData
()
109
{
110
if
(!
FileExist
(
m_Path
))
111
{
112
// We fallback to check in data and notify user file was not found in mission
113
PrintToRPT
(
"[WARNING] :: [UndergroundAreaLoader GetData()] :: file not found in MISSION folder, your path is "
+
m_Path
+
" Attempting DATA folder"
);
114
115
string
worldName;
116
g_Game
.GetWorldName(worldName);
117
m_Path
=
string
.Format(
"dz/worlds/%1/ce/cfgundergroundtriggers.json"
, worldName);
118
119
if
(!
FileExist
(
m_Path
))
120
{
121
PrintToRPT
(
"[WARNING] :: [UndergroundAreaLoader GetData()] ::file not found in DATA folder, your path is "
+
m_Path
);
122
return
null;
// Nothing could be read, just end here
123
}
124
}
125
126
string
errorMessage;
127
JsonUndergroundTriggers
data;
128
if
(!JsonFileLoader<JsonUndergroundTriggers>.LoadFile(
m_Path
, data, errorMessage))
129
ErrorEx
(errorMessage);
130
131
return
data;
132
}
133
134
static
void
SpawnAllTriggerCarriers
()
135
{
136
if
(!
m_JsonData
)
137
{
138
m_JsonData
=
GetData
();
139
}
140
141
if
(!
m_JsonData
|| !
m_JsonData
.Triggers)
142
{
143
return
;
144
}
145
146
foreach
(
int
i,
auto
data:
m_JsonData
.Triggers)
147
{
148
if
(data.CustomSpawn)
149
continue
;
150
151
SpawnTriggerCarrierEx
(i, data);
152
}
153
}
154
155
static
UndergroundTriggerCarrierBase
SpawnTriggerCarrierEx
(
int
index,
JsonUndergroundAreaTriggerData
data)
156
{
157
UndergroundTriggerCarrierBase
carrier =
UndergroundTriggerCarrierBase
.Cast(
g_Game
.CreateObjectEx(
"UndergroundTriggerCarrier"
, data.
GetPosition
(),
ECE_NONE
));
158
if
(carrier)
159
{
160
carrier.
SetIndex
(index);
161
carrier.SetOrientation(data.
GetOrientation
());
162
}
163
164
return
carrier;
165
}
166
167
static
void
SpawnTriggerCarrier
(
int
index,
JsonUndergroundAreaTriggerData
data)
168
{
169
SpawnTriggerCarrierEx
(index, data);
170
}
171
172
//---------------------------------------------------------------------------------------
173
static
void
SyncDataSend
(
PlayerIdentity
identity)
174
{
175
g_Game
.RPCSingleParam(null,
ERPCs
.RPC_UNDERGROUND_SYNC,
new
Param1<JsonUndergroundTriggers>(
m_JsonData
),
true
, identity);
176
}
177
178
//---------------------------------------------------------------------------------------
179
180
static
void
OnRPC
(
ParamsReadContext
ctx)
181
{
182
Param1<JsonUndergroundTriggers> data =
new
Param1< JsonUndergroundTriggers>(null);
183
184
if
( ctx.
Read
(data) )
185
{
186
m_JsonData
= data.param1;
187
}
188
else
189
{
190
ErrorEx
(
"UndergroundAreaLoader datasynced - failed to read"
);
191
}
192
}
193
194
}
ECE_NONE
const int ECE_NONE
Definition
centraleconomy.c:7
BreadcrumbExternalValueController
Definition
undergroundarealoader.c:53
BreadcrumbExternalValueController::Type
string Type
Definition
undergroundarealoader.c:54
BreadcrumbExternalValueController::Params
ref TStringArray Params
Definition
undergroundarealoader.c:55
EntityAI
Definition
inventoryitem.c:2
JsonUndergroundAreaTriggerData
Definition
undergroundarealoader.c:69
JsonUndergroundAreaTriggerData::EyeAccommodation
float EyeAccommodation
Definition
undergroundarealoader.c:91
JsonUndergroundAreaTriggerData::Tag
string Tag
Definition
undergroundarealoader.c:85
JsonUndergroundAreaTriggerData::Breadcrumbs
ref array< ref JsonUndergroundAreaBreadcrumb > Breadcrumbs
Definition
undergroundarealoader.c:97
JsonUndergroundAreaTriggerData::ParentNetworkId
ref TIntArray ParentNetworkId
used for ObjectSpawner/Manual(custom) spawn
Definition
undergroundarealoader.c:86
JsonUndergroundAreaTriggerData::UseLinePointFade
bool UseLinePointFade
Definition
undergroundarealoader.c:93
JsonUndergroundAreaTriggerData::GetOrientation
vector GetOrientation()
Definition
undergroundarealoader.c:75
JsonUndergroundAreaTriggerData::AmbientSoundType
string AmbientSoundType
Definition
undergroundarealoader.c:94
JsonUndergroundAreaTriggerData::Orientation
ref array< float > Orientation
Definition
undergroundarealoader.c:89
JsonUndergroundAreaTriggerData::GetPosition
vector GetPosition()
Definition
undergroundarealoader.c:70
JsonUndergroundAreaTriggerData::InterpolationSpeed
float InterpolationSpeed
Definition
undergroundarealoader.c:92
JsonUndergroundAreaTriggerData::CustomSpawn
bool CustomSpawn
Definition
undergroundarealoader.c:84
JsonUndergroundAreaTriggerData::Size
ref array< float > Size
Definition
undergroundarealoader.c:90
JsonUndergroundAreaTriggerData::AmbientSoundSet
string AmbientSoundSet
Definition
undergroundarealoader.c:95
JsonUndergroundAreaTriggerData::Position
ref array< float > Position
used on map placed objects
Definition
undergroundarealoader.c:88
JsonUndergroundAreaTriggerData::GetSize
vector GetSize()
Definition
undergroundarealoader.c:79
JsonUndergroundTriggers
Definition
undergroundarealoader.c:2
JsonUndergroundTriggers::SpawnParentedTriggers
static void SpawnParentedTriggers(EntityAI parent)
Definition
undergroundarealoader.c:5
JsonUndergroundTriggers::SpawnTriggerCarrier
static void SpawnTriggerCarrier(EntityAI parent, int index, JsonUndergroundAreaTriggerData data)
Definition
undergroundarealoader.c:24
JsonUndergroundTriggers::Triggers
ref array< ref JsonUndergroundAreaTriggerData > Triggers
Definition
undergroundarealoader.c:3
PlayerIdentity
The class that will be instanced (moddable).
Definition
gameplay.c:389
Serializer::Read
proto bool Read(void value_in)
UndergroundAreaLoader
Definition
undergroundarealoader.c:103
UndergroundAreaLoader::SpawnAllTriggerCarriers
static void SpawnAllTriggerCarriers()
Definition
undergroundarealoader.c:134
UndergroundAreaLoader::SpawnTriggerCarrier
static void SpawnTriggerCarrier(int index, JsonUndergroundAreaTriggerData data)
Definition
undergroundarealoader.c:167
UndergroundAreaLoader::m_Path
static string m_Path
Definition
undergroundarealoader.c:104
UndergroundAreaLoader::SpawnTriggerCarrierEx
static UndergroundTriggerCarrierBase SpawnTriggerCarrierEx(int index, JsonUndergroundAreaTriggerData data)
Definition
undergroundarealoader.c:155
UndergroundAreaLoader::m_JsonData
static ref JsonUndergroundTriggers m_JsonData
Definition
undergroundarealoader.c:106
UndergroundAreaLoader::SyncDataSend
static void SyncDataSend(PlayerIdentity identity)
Definition
undergroundarealoader.c:173
UndergroundAreaLoader::GetData
static JsonUndergroundTriggers GetData()
Definition
undergroundarealoader.c:108
UndergroundAreaLoader::OnRPC
static void OnRPC(ParamsReadContext ctx)
Definition
undergroundarealoader.c:180
UndergroundTriggerCarrierBase
Definition
triggercarrierbase.c:2
UndergroundTriggerCarrierBase::SetParent
void SetParent(Object parent)
Definition
triggercarrierbase.c:16
UndergroundTriggerCarrierBase::SetIndex
void SetIndex(int index)
Definition
triggercarrierbase.c:10
array
Result for an object found in CGame.IsBoxCollidingGeometryProxy.
Definition
isboxcollidinggeometryproxyclasses.c:28
vector
Definition
enconvert.c:119
g_Game
DayZGame g_Game
Definition
dayzgame.c:3942
ERPCs
ERPCs
Definition
erpcs.c:2
ParamsReadContext
Serializer ParamsReadContext
Definition
gameplay.c:15
PrintToRPT
proto void PrintToRPT(void var)
Prints content of variable to RPT file (performance warning - each write means fflush!...
ErrorEx
enum ShapeType ErrorEx
TStringArray
array< string > TStringArray
Definition
enscript.c:712
TIntArray
array< int > TIntArray
Definition
enscript.c:714
FileExist
proto bool FileExist(string name)
Check existence of file.
Vector
proto native vector Vector(float x, float y, float z)
Vector constructor from components.
GetPosition
vector GetPosition()
Get the world position of the Effect.
Definition
effect.c:473
EyeAccommodation
float EyeAccommodation
Definition
undergroundarealoader.c:44
Radius
float Radius
Definition
undergroundarealoader.c:46
ExternalValueController
ref BreadcrumbExternalValueController ExternalValueController
Definition
undergroundarealoader.c:49
LightLerp
bool LightLerp
Definition
undergroundarealoader.c:47
UseRaycast
bool UseRaycast
Definition
undergroundarealoader.c:45
BreadcrumbDoorStateController
void BreadcrumbDoorStateController(TStringArray params)
Definition
undergroundarealoader.c:62
SelectionName
class BreadcrumbExternalValueController SelectionName
Position
ref array< float > Position
Definition
undergroundarealoader.c:43
Games
Dayz
scripts
3_game
undergroundarealoader.c
Generated by
1.17.0