DayZ 1.30
DayZ Explorer by KGB
 
Загрузка...
Поиск...
Не найдено
ActionOpenDoors.c
См. документацию.
2{
4
6 {
7 m_CommandUID = DayZPlayerConstants.CMD_ACTIONMOD_OPENDOORFW;
8 m_StanceMask = DayZPlayerConstants.STANCEMASK_CROUCH | DayZPlayerConstants.STANCEMASK_ERECT;
9 m_Text = "#open";
10 }
11
13 {
16 }
17
18 protected bool CheckIfDoorIsLocked()
19 {
20 return true;
21 }
22
23 protected bool CreatesNoise()
24 {
25 return true;
26 }
27
28 override bool ActionCondition(PlayerBase player, ActionTarget target, ItemBase item)
29 {
30 if (!target)
31 return false;
32
33 if (!IsBuilding(target))
34 return false;
35
36 BuildingBase building;
37 if (Class.CastTo(building, target.GetObject()))
38 {
40 doorParams.m_DoorIndex = building.GetDoorIndex(target.GetComponentIndex());
41 if (doorParams.m_DoorIndex != -1)
42 {
43 if (!IsInReach(player, target, UAMaxDistances.DEFAULT))
44 return false;
45
46 if (!building.DoorsDirectionalCheck(player,target.GetComponentIndex()))
47 return false;
48
50 doorParams.m_Caller = player;
51
52 return building.CanDoorBeOpened(doorParams);
53 }
54 }
55
56 return false;
57 }
58
59 override void OnStartServer(ActionData action_data)
60 {
61 super.OnStartServer(action_data);
62
63 BuildingBase building;
64 if (Class.CastTo(building, action_data.m_Target.GetObject()))
65 {
67 doorParams.m_DoorIndex = building.GetDoorIndex(action_data.m_Target.GetComponentIndex());
68 if (doorParams.m_DoorIndex != -1)
69 {
71 doorParams.m_Caller = action_data.m_Player;
72 if (building.CanDoorBeOpened(doorParams))
73 building.OpenDoor(doorParams.m_DoorIndex);
74 }
75 }
76 }
77
78 override void OnEndServer(ActionData action_data)
79 {
80 super.OnEndServer(action_data);
81
82 m_NoisePar = new NoiseParams();
83 m_NoisePar.LoadFromPath("CfgVehicles SurvivorBase NoiseActionDefault");
84 NoiseSystem noise = g_Game.GetNoiseSystem();
85 if (noise && CreatesNoise())
86 {
87 if (action_data.m_Player)
88 {
89 Object targetObj = action_data.m_Target.GetObject();
90 noise.AddNoisePos(action_data.m_Player, action_data.m_Player.GetPosition(), m_NoisePar);
91 }
92 }
93 }
94
95 override bool IsLockTargetOnUse()
96 {
97 return false;
98 }
99}
100
101class ActionLockedDoors : ActionOpenDoors
102{
103 override bool CheckIfDoorIsLocked()
105 return false;
107
108 override protected bool CreatesNoise()
109 {
110 return false;
111 }
112}
void BuildingBase()
string m_Text
Определения ActionBase.c:57
bool IsInReach(PlayerBase player, ActionTarget target, float maxDistance=1.0)
Определения ActionBase.c:1290
bool IsBuilding(ActionTarget target)
Определения ActionBase.c:1280
ref CCIBase m_ConditionItem
Определения ActionBase.c:63
ref CCTBase m_ConditionTarget
Определения ActionBase.c:64
int m_StanceMask
Определения ActionBase.c:61
void ActionTarget(Object object, Object parent, int componentIndex, vector cursorHitPos, float utility, string surfaceName="")
Определения ActionTargets.c:125
DayZGame g_Game
Определения DayZGame.c:4074
class NoiseSystem NoiseParams()
Определения Noise.c:18
PlayerBase m_Player
Определения ActionBase.c:40
ref ActionTarget m_Target
Определения ActionBase.c:39
Определения ActionBase.c:22
void ActionInteractBase()
Определения ActionInteractBase.c:43
override void OnEndServer(ActionData action_data)
Определения ActionOpenDoors.c:78
bool CreatesNoise()
Определения ActionOpenDoors.c:23
ref NoiseParams m_NoisePar
Определения ActionOpenDoors.c:3
override bool IsLockTargetOnUse()
Определения ActionOpenDoors.c:95
override void CreateConditionComponents()
Определения ActionOpenDoors.c:12
override bool ActionCondition(PlayerBase player, ActionTarget target, ItemBase item)
Определения ActionOpenDoors.c:28
void ActionOpenDoors()
Определения ActionOpenDoors.c:5
override void OnStartServer(ActionData action_data)
Определения ActionOpenDoors.c:59
bool CheckIfDoorIsLocked()
Определения ActionOpenDoors.c:18
Определения ActionOpenDoors.c:2
int m_CommandUID
Определения AnimatedActionBase.c:147
Определения CCINone.c:2
Определения CCTCursor.c:2
Super root of all classes in Enforce script.
Определения EnScript.c:11
proto void AddNoisePos(EntityAI source_entity, vector pos, NoiseParams noise_params, float external_strenght_multiplier=1.0)
Определения Noise.c:2
Определения ObjectTyped.c:2
Определения PlayerBaseClient.c:2
const float DEFAULT
Определения ActionConstants.c:114
DayZPlayerConstants
defined in C++
Определения dayzplayer.c:602
static proto bool CastTo(out Class to, Class from)
Try to safely down-cast base class to child class.