DayZ 1.27
DayZ Explorer by KGB
 
Загрузка...
Поиск...
Не найдено
ActionOpenFence.c
См. документацию.
2{
4 const string SELECTION_INTERACT = "gate_interact";
5
7 {
8 m_CommandUID = DayZPlayerConstants.CMD_ACTIONMOD_OPENDOORFW;
9 m_StanceMask = DayZPlayerConstants.STANCEMASK_CROUCH | DayZPlayerConstants.STANCEMASK_ERECT;
10 m_Text = "#open";
11 }
12
14 {
17 }
18
19 override bool ActionCondition( PlayerBase player, ActionTarget target, ItemBase item )
20 {
21 Object targetObject = target.GetObject();
22 if ( targetObject && targetObject.CanUseConstruction() )
23 {
24 Fence fence = Fence.Cast( targetObject );
25
26 if ( fence && fence.CanOpenFence() )
27 {
28 array<string> selections = new array<string>;
29 targetObject.GetActionComponentNameList(target.GetComponentIndex(), selections);
30
31 for ( int i = 0; i < selections.Count(); i++ )
32 {
33 if ( selections[i] == SELECTION_INTERACT )
34 return true;
35 }
36 }
37 }
38
39 return false;
40 }
41
42 override void OnStartServer( ActionData action_data )
43 {
44 super.OnStartServer(action_data);
45
46 Fence fence = Fence.Cast( action_data.m_Target.GetObject() );
47 fence.OpenFence();
48 }
49
50 override void OnEndServer( ActionData action_data )
51 {
52 super.OnEndServer(action_data);
53
54 m_NoisePar = new NoiseParams();
55 m_NoisePar.LoadFromPath("CfgVehicles SurvivorBase NoiseActionDefault");
57 if ( noise )
58 {
59 if ( action_data.m_Player )
60 noise.AddNoisePos(action_data.m_Player, action_data.m_Target.GetObject().GetPosition(), m_NoisePar, NoiseAIEvaluate.GetNoiseReduction(GetGame().GetWeather()));
61 }
62 }
63}
ActionBase ActionData
Определения ActionBase.c:30
class ActionTargets ActionTarget
class NoiseSystem NoiseParams()
Определения Noise.c:15
int m_StanceMask
Определения ActionBase.c:62
string m_Text
Определения ActionBase.c:58
ref CCIBase m_ConditionItem
Определения ActionBase.c:64
ref CCTBase m_ConditionTarget
Определения ActionBase.c:65
void ActionInteractBase()
Определения ActionInteractBase.c:43
ref NoiseParams m_NoisePar
Определения ActionOpenFence.c:3
override bool ActionCondition(PlayerBase player, ActionTarget target, ItemBase item)
Определения ActionOpenFence.c:19
override void CreateConditionComponents()
Определения ActionOpenFence.c:13
void ActionOpenFence()
Определения ActionOpenFence.c:6
override void OnEndServer(ActionData action_data)
Определения ActionOpenFence.c:50
override void OnStartServer(ActionData action_data)
Определения ActionOpenFence.c:42
const string SELECTION_INTERACT
Определения ActionOpenFence.c:4
int m_CommandUID
Определения AnimatedActionBase.c:143
Определения CCINone.c:2
Определения CCTCursor.c:2
proto native NoiseSystem GetNoiseSystem()
Определения InventoryItem.c:731
static float GetNoiseReduction(Weather weather)
Определения SensesAIEvaluate.c:18
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
Result for an object found in CGame.IsBoxCollidingGeometryProxy.
DayZPlayerConstants
defined in C++
Определения dayzplayer.c:602
proto native CGame GetGame()