Arma Reforger Explorer
1.7.0.54
Arma Reforger Code Explorer by Zeroy - Thanks to MisterOutofTime
Toggle main menu visibility
Loading...
Searching...
No Matches
SCR_VehicleDebug.c
Go to the documentation of this file.
1
[
EntityEditorProps
(
category
:
"GameCode/Vehicles"
, description:
"Debug tool that places a player character in a specified vehicle on game start in WE."
, color:
"0 255 255 255"
)]
2
class
SCR_VehicleDebugClass
: GenericEntityClass
3
{
4
}
5
6
class
SCR_VehicleDebug :
GenericEntity
7
{
8
[
Attribute
(
desc
:
"Name of vehicle entity a player starts in"
)]
9
string
m_VehicleName;
10
[
Attribute
(
"0"
,
UIWidgets
.ComboBox,
"Compartment type to be used (if available)"
,
""
, ParamEnumArray.FromEnum(
ECompartmentType
))]
11
ECompartmentType
m_CompartmentType;
12
[
Attribute
(
"0"
,
UIWidgets
.CheckBox,
"Engine will be started (if possible)"
)]
13
bool
m_StartEngine;
14
[
Attribute
(
""
,
UIWidgets
.ResourceNamePicker,
"Overrides surface material of wheel/track casts"
,
params
:
"gamemat"
)]
15
ResourceName
m_SurfaceMaterialOverride;
16
17
void
SCR_VehicleDebug(
IEntitySource
src,
IEntity
parent)
18
{
19
GetGame
().GetCallqueue().CallLater(
DelayedInit
, 1);
20
}
21
22
void
DelayedInit
()
23
{
24
SCR_BaseGameMode
gameMode =
SCR_BaseGameMode
.Cast(
GetGame
().
GetGameMode
());
25
if
(!gameMode)
26
return
;
27
28
gameMode.
GetOnPlayerSpawned
().Insert(
OnPlayerSpawned
);
29
}
30
31
void
OnPlayerSpawned
(
int
playerId,
IEntity
playerEntity)
32
{
33
IEntity
vehicleEntity =
GetGame
().
GetWorld
().FindEntityByName(m_VehicleName);
34
if
(!vehicleEntity)
35
return
;
36
37
if
(!m_SurfaceMaterialOverride.IsEmpty())
38
{
39
VehicleBaseSimulation
sim =
VehicleBaseSimulation
.Cast(vehicleEntity.
FindComponent
(
VehicleBaseSimulation
));
40
sim.SetSurfaceOverride(m_SurfaceMaterialOverride);
41
}
42
43
GetInVehicle
(playerEntity, vehicleEntity);
44
}
45
46
void
GetInVehicle
(
IEntity
player,
IEntity
vehicle)
47
{
48
if
(!vehicle)
49
return
;
50
51
SCR_BaseCompartmentManagerComponent compartmentManager = SCR_BaseCompartmentManagerComponent.Cast(vehicle.
FindComponent
(SCR_BaseCompartmentManagerComponent));
52
if
(!compartmentManager)
53
return
;
54
55
array<BaseCompartmentSlot> slots = {};
56
compartmentManager.GetFreeCompartmentsOfType(slots, m_CompartmentType);
57
if
(slots.IsEmpty())
58
return
;
59
60
BaseCompartmentSlot
slot = slots[0];
61
CompartmentAccessComponent compartmentAccess = CompartmentAccessComponent.Cast(player.
FindComponent
(CompartmentAccessComponent));
62
if
(!compartmentAccess)
63
return
;
64
65
compartmentAccess.GetInVehicle(vehicle, slot,
true
, -1,
ECloseDoorAfterActions
.INVALID,
true
);
66
67
if
(!m_StartEngine)
68
return
;
69
70
BaseVehicleControllerComponent
controller =
BaseVehicleControllerComponent
.Cast(vehicle.
FindComponent
(
BaseVehicleControllerComponent
));
71
if
(!controller)
72
return
;
73
74
controller.ForceStartEngine();
75
}
76
}
ECompartmentType
ECompartmentType
Definition
ECompartmentType.c:8
GetGame
ArmaReforgerScripted GetGame()
Definition
game.c:1398
GetGameMode
SCR_BaseGameMode GetGameMode()
Definition
SCR_BaseGameModeComponent.c:15
DelayedInit
override void DelayedInit(IEntity owner)
Definition
SCR_BaseItemSupportStationComponent.c:17
DelayedInit
override void DelayedInit()
Definition
SCR_CharacterIdentityBioGroupConfig.c:270
EntityEditorProps
enum SCR_ECompassType EntityEditorProps(category:"GameScripted/Gadgets", description:"Compass", color:"0 0 255 255")
Prefab data class for compass component.
Definition
SCR_CompassComponent.c:10
desc
UI Textures DeployMenu Briefing conflict_HintBanner_1_UI desc
Definition
SCR_RespawnBriefingComponent.c:17
params
category params
Definition
SCR_SpherePointGeneratorPreviewComponent.c:21
category
params category
Definition
SCR_VehicleDamageManagerComponent.c:302
BaseCompartmentSlot
Definition
BaseCompartmentSlot.c:2
BaseVehicleControllerComponent
Definition
BaseVehicleControllerComponent.c:13
GenericEntity
Definition
GenericEntity.c:16
IEntity
Definition
IEntity.c:13
IEntity::FindComponent
proto external Managed FindComponent(typename typeName)
IEntity::GetWorld
proto external BaseWorld GetWorld()
IEntitySource
Definition
IEntitySource.c:13
ResourceName
Definition
ResourceName.c:13
SCR_BaseGameMode
Definition
SCR_BaseGameMode.c:139
SCR_BaseGameMode::GetOnPlayerSpawned
ScriptInvokerBase< SCR_BaseGameMode_PlayerIdAndEntity > GetOnPlayerSpawned()
Definition
SCR_BaseGameMode.c:629
SCR_VehicleDebugClass
Definition
SCR_VehicleDebug.c:3
UIWidgets
Definition
attributes.c:40
VehicleBaseSimulation
Definition
VehicleBaseSimulation.c:13
GetInVehicle
proto external bool GetInVehicle(IEntity vehicle, BaseCompartmentSlot compartment, bool forceTeleport, int doorInfoIndex, ECloseDoorAfterActions closeDoor, bool performWhenPaused)
If force teleport, doorInfoIndex is ignored. closeDoor is still respected.
Attribute
SCR_FieldOfViewSettings Attribute
Definition
SendGoalMessage.c:170
OnPlayerSpawned
void OnPlayerSpawned(int playerId, IEntity controlledEntity)
Definition
SCR_VehicleDebug.c:31
ECloseDoorAfterActions
ECloseDoorAfterActions
Definition
ECloseDoorAfterActions.c:13
scripts
Game
Vehicle
SCR_VehicleDebug.c
Generated by
1.17.0