DayZ 1.27
DayZ Explorer by KGB
 
Загрузка...
Поиск...
Не найдено
ActionActivateTrap.c
См. документацию.
2{
3 override void CreateActionComponent()
4 {
6 }
7
8 override void InitActionComponent()
9 {
10 super.InitActionComponent();
11
12 RegisterAnimationEvent("CraftingAction", UA_IN_CRAFTING);
13 }
14}
15
17{
19 {
20 m_CallbackClass = ActionActivateTrapCB;
21 m_CommandUID = DayZPlayerConstants.CMD_ACTIONFB_CRAFTING;
22 m_FullBody = true;
23 m_StanceMask = DayZPlayerConstants.STANCEMASK_CROUCH;
24 m_Sound = "craft_universal_0";
25 m_SpecialtyWeight = UASoftSkillsWeight.PRECISE_LOW;
26
27 m_Text = "#activate";
28 }
29
31 {
32 m_ConditionTarget = new CCTNonRuined( UAMaxDistances.DEFAULT );
33 m_ConditionItem = new CCINotPresent;
34 }
35
36 override typename GetInputType()
37 {
39 }
40
41 override bool HasProgress()
42 {
43 return true;
44 }
45
46 override bool ActionCondition( PlayerBase player, ActionTarget target, ItemBase item )
47 {
48 ItemBase targetItem = ItemBase.Cast(target.GetObject());
49 if (targetItem && targetItem.IsBeingPlaced())
50 return false;
51
52 if (player.PhysicsGetLinkedEntity() != null)
53 return false;
54
55 Object targetObject = target.GetObject();
56 if (targetObject != null)
57 {
58 if (targetObject.IsInherited(TrapBase))
59 {
60 TrapBase trap = TrapBase.Cast(targetObject);
61 if (trap.IsActivable() && trap.IsPlaceableAtPosition(trap.GetPosition()))
62 return true;
63 }
64 else if (targetObject.IsInherited(TrapSpawnBase))
65 {
66 TrapSpawnBase spawnTrap = TrapSpawnBase.Cast(targetObject);
67
68 if (spawnTrap && !spawnTrap.IsActive())
69 return spawnTrap.IsPlaceableAtPosition(spawnTrap.GetPosition());
70 }
71 }
72
73 return false;
74 }
75
76 override void OnStartAnimationLoop( ActionData action_data )
77 {
78 super.OnStartAnimationLoop( action_data );
79
80 if ( !GetGame().IsMultiplayer() || GetGame().IsServer() )
81 {
82 TrapBase trap = TrapBase.Cast( action_data.m_Target.GetObject() );
83 if ( trap )
84 {
85 Param1<bool> play = new Param1<bool>( true );
86 GetGame().RPCSingleParam( trap, SoundTypeTrap.ACTIVATING, play, true );
87 }
88 }
89 }
90
91 override void OnEnd( ActionData action_data )
92 {
93 if ( !GetGame().IsMultiplayer() || GetGame().IsServer() )
94 {
95 TrapBase trap = TrapBase.Cast( action_data.m_Target.GetObject());
96 if ( trap )
97 {
98 Param1<bool> play = new Param1<bool>( false );
99 GetGame().RPCSingleParam( trap, SoundTypeTrap.ACTIVATING, play, true );
100 }
101 }
102 }
103
104 override void OnEndAnimationLoop(ActionData action_data)
105 {
106 super.OnEndAnimationLoop(action_data);
107
108 if (!GetGame().IsMultiplayer() || GetGame().IsServer())
109 {
110 TrapBase trap = TrapBase.Cast( action_data.m_Target.GetObject());
111 Param1<bool> play = new Param1<bool>(false);
112 GetGame().RPCSingleParam(trap, SoundTypeTrap.ACTIVATING, play, true);
113 }
114 }
115
116 override void OnFinishProgressServer(ActionData action_data)
117 {
118 Object targetObject = action_data.m_Target.GetObject();
119 if (targetObject != null)
120 {
121 vector orientation = action_data.m_Player.GetOrientation();
122 vector position = targetObject.GetPosition();
123
124 if (targetObject.IsInherited(TrapBase))
125 {
126 TrapBase trap = TrapBase.Cast(targetObject);
127 trap.OnPlacementComplete(action_data.m_Player, position, orientation);
128 trap.StartActivate(action_data.m_Player);
129 }
130 else if (targetObject.IsInherited(TrapSpawnBase))
131 {
132 TrapSpawnBase spawnTrap = TrapSpawnBase.Cast( targetObject );
133 spawnTrap.OnPlacementComplete(action_data.m_Player, position, orientation);
134 }
135 }
136 }
137}
ActionActivateTrapCB ActionContinuousBaseCB ActionActivateTrap()
Определения ActionActivateTrap.c:18
int m_CommandUID
Определения ActionBase.c:31
int m_StanceMask
Определения ActionBase.c:33
ActionBase ActionData
Определения ActionBase.c:30
class ActionTargets ActionTarget
class DayZCreatureAnimInterface RegisterAnimationEvent(string event_name, string function_name)
EffectSound m_Sound
Определения HungerSoundHandler.c:18
SoundTypeTrap
Определения TrapBase.c:2
override void InitActionComponent()
Определения ActionActivateTrap.c:8
override void CreateActionComponent()
Определения ActionActivateTrap.c:3
bool HasProgress()
For UI: hiding of progress bar.
Определения ActionBase.c:250
void CreateConditionComponents()
Определения ActionBase.c:230
ActionData m_ActionData
Определения AnimatedActionBase.c:3
override GetInputType()
Определения ActionContinuousBase.c:179
void OnEndAnimationLoop(ActionData action_data)
Определения ActionContinuousBase.c:226
void OnStartAnimationLoop(ActionData action_data)
Определения ActionContinuousBase.c:208
void OnFinishProgressServer(ActionData action_data)
Определения ActionContinuousBase.c:283
override bool ActionCondition(PlayerBase player, ActionTarget target, ItemBase item)
Определения AnimatedActionBase.c:240
Определения CCINotPresent.c:2
Определения CCTNonRuined.c:2
proto native void RPCSingleParam(Object target, int rpc_type, Param param, bool guaranteed, PlayerIdentity recipient=null)
see CGame.RPC
Определения InventoryItem.c:731
Определения ObjectTyped.c:2
Определения PlayerBaseClient.c:2
override void OnPlacementComplete(Man player, vector position="0 0 0", vector orientation="0 0 0")
Определения Trap_Bear.c:228
Определения Trap_Bear.c:2
override void OnPlacementComplete(Man player, vector position="0 0 0", vector orientation="0 0 0")
Определения Trap_RabbitSnare.c:75
override bool IsPlaceableAtPosition(vector position)
Определения Trap_FishNet.c:37
Определения Trap_FishNet.c:2
const float DEFAULT
Определения ActionConstants.c:112
const float DEFAULT_DEPLOY
Определения ActionConstants.c:38
Определения ActionConstants.c:28
Определения EnConvert.c:106
DayZPlayerConstants
defined in C++
Определения dayzplayer.c:602
proto native CGame GetGame()
void OnEnd()
Определения Sound.c:226
const int UA_IN_CRAFTING
Определения constants.c:481