Dayz Explorer 1.28.160049
Loading...
Searching...
No Matches
actionanimatecarselection.c
Go to the documentation of this file.
2{
3 string m_AnimSource = "";
4
6 {
7 m_CommandUID = DayZPlayerConstants.CMD_ACTIONMOD_OPENDOORFW;
8 m_StanceMask = DayZPlayerConstants.STANCEMASK_ALL;
9 m_Text = "#manipulate";
10 }
11
12 override void CreateConditionComponents()
13 {
16 }
17
18 override bool ActionCondition(PlayerBase player, ActionTarget target, ItemBase item)
19 {
20 if (!target)
21 {
22 return false;
23 }
24
25 if (!IsInReach(player, target, UAMaxDistances.DEFAULT))
26 {
27 return false;
28 }
29
30 Object targetObject = target.GetObject();
31 Entity targetEnt = Entity.Cast(targetObject);
32
33 array<string> selections = new array<string>();
34 targetObject.GetActionComponentNameList(target.GetComponentIndex(), selections);
35
36 CarScript car;
37 if (Class.CastTo(car, targetEnt))
38 {
39 for (int i = 0; i < selections.Count(); i++)
40 {
41 m_AnimSource = car.GetAnimSourceFromSelection(selections[i]);
42 if (m_AnimSource != "")
43 {
44 return true;
45 }
46 }
47 }
48
49 return false;
50 }
51
52 override void OnStartServer(ActionData action_data)
53 {
54 super.OnStartServer(action_data);
55
56 Entity targetEnt;
57 if (Class.CastTo(targetEnt, action_data.m_Target.GetObject()))
58 {
59 if (targetEnt.GetAnimationPhase(m_AnimSource) > 0.5)
60 {
61 targetEnt.SetAnimationPhase(m_AnimSource, 0.0);
62 }
63
64 if (targetEnt.GetAnimationPhase(m_AnimSource) <= 0.5)
65 {
66 targetEnt.SetAnimationPhase(m_AnimSource, 1.0);
67 }
68 }
69
70 CarScript car;
71 if (Class.CastTo(car, action_data.m_Target.GetObject()))
72 {
73 car.ForceUpdateLightsStart();
74 }
75 }
76
77 override void OnEndServer( ActionData action_data )
78 {
79 super.OnEndServer(action_data);
80
81 CarScript car;
82 if (Class.CastTo(car, action_data.m_Target.GetObject()))
83 {
84 car.ForceUpdateLightsEnd();
85 }
86 }
87};
int m_StanceMask
Definition actionbase.c:62
bool IsInReach(PlayerBase player, ActionTarget target, float maxDistance=1.0)
string m_Text
Definition actionbase.c:58
ref CCIBase m_ConditionItem
Definition actionbase.c:64
ref CCTBase m_ConditionTarget
Definition actionbase.c:65
override string GetAnimSourceFromSelection(string selection)
Super root of all classes in Enforce script.
Definition enscript.c:11
Definition camera.c:2
Result for an object found in CGame.IsBoxCollidingGeometryProxy.
DayZPlayerConstants
defined in C++
Definition dayzplayer.c:602