DayZ Scripts
v1.21.156300 ยท Jun 20, 2023
 
Loading...
Searching...
No Matches
ActionInstallSparkplug.c
Go to the documentation of this file.
1/*
2 This is a generic user action for attaching sparkplug on any EntityAI object. The receiver must have a "sparkplug" selection in its View Geometry that the action_data.m_Player can look at.
3*/
4
5
7{
9 {
10 }
11
13 {
16 m_Text = "#attach";
17 }
18
19 override bool ActionCondition( PlayerBase player, ActionTarget target, ItemBase item )
20 {
21 EntityAI target_EAI = EntityAI.Cast( target.GetObject() );
22 string selection = target_EAI.GetActionComponentName(target.GetComponentIndex());
23
24 if ( selection == "sparkplug" && target_EAI.GetInventory().CanAddAttachment(item) )
25 {
26 return true;
27 }
28
29 return false;
30 }
31
32 override void OnExecuteServer( ActionData action_data )
33 {
34 EntityAI target_EAI = EntityAI.Cast( action_data.m_Target.GetObject() ); // cast to ItemBase
35 target_EAI.LocalTakeEntityAsAttachment (action_data.m_MainItem);
36 }
37 override void OnExecuteClient( ActionData action_data )
38 {
39 EntityAI target_EAI = EntityAI.Cast( action_data.m_Target.GetObject() ); // cast to ItemBase
40 target_EAI.LocalTakeEntityAsAttachment (action_data.m_MainItem);
41 }
42};
ref CCIBase m_ConditionItem
Definition ActionBase.c:55
ref CCTBase m_ConditionTarget
Definition ActionBase.c:56
protected string m_Text
Definition ActionBase.c:49
class ActionTargets ActionTarget
ItemBase m_MainItem
Definition ActionBase.c:28
ref ActionTarget m_Target
Definition ActionBase.c:32
override void OnExecuteServer(ActionData action_data)
override void CreateConditionComponents()
override void OnExecuteClient(ActionData action_data)
override bool ActionCondition(PlayerBase player, ActionTarget target, ItemBase item)
override bool LocalTakeEntityAsAttachment(notnull EntityAI item)
Definition Man.c:413
const float DEFAULT