DayZ 1.27
DayZ Explorer by KGB
 
Загрузка...
Поиск...
Не найдено
ActionRefuelTorch.c
См. документацию.
2{
4 {
5 m_CommandUID = DayZPlayerConstants.CMD_ACTIONMOD_ATTACHITEM;
6 m_StanceMask = DayZPlayerConstants.STANCEMASK_ERECT | DayZPlayerConstants.STANCEMASK_CROUCH;
7 m_Text = "#STR_RefuelTorch0";
8 }
9
11 {
14 }
15
16 override bool ActionCondition(PlayerBase player, ActionTarget target, ItemBase item)
17 {
18 Torch torch;
19 Rag rag;
20 Rag torchRag;
21
22 if ((Class.CastTo(torch,target.GetObject()) && Class.CastTo(rag,item)) || (Class.CastTo(rag,target.GetObject()) && Class.CastTo(torch,item)))
23 {
24 if (Class.CastTo(torchRag,torch.GetRag()))
25 {
26 int slotId = InventorySlots.INVALID;
28 torchRag.GetInventory().GetCurrentInventoryLocation(lcn);
29 slotId = lcn.GetSlot();
30
31 return torch.GetInventory().GetSlotLock(slotId) && torch.GetRagQuantity() < torchRag.GetQuantityMax() && torch.IsRagDryEnough(rag);
32 }
33 }
34
35 return false;
36 }
37
38 override void OnExecuteServer(ActionData action_data)
39 {
40 Torch torch;
41 Rag rag;
42 Rag torchRag;
43
44 if ((Class.CastTo(torch,action_data.m_Target.GetObject()) && Class.CastTo(rag,action_data.m_MainItem)) || (Class.CastTo(rag,action_data.m_Target.GetObject()) && Class.CastTo(torch,action_data.m_MainItem)))
45 {
46 Class.CastTo(torchRag,torch.GetRag());
47
48 int qtyTransfer = torchRag.GetQuantityMax() - torch.GetRagQuantity(); //torch rag capacity
49 qtyTransfer = (int)Math.Clamp(rag.GetQuantity(),0,qtyTransfer);
50 torchRag.AddQuantity(qtyTransfer);
51 rag.AddQuantity(-qtyTransfer);
52 }
53 }
54};
Param3 int
ActionBase ActionData
Определения ActionBase.c:30
class ActionTargets ActionTarget
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
override bool ActionCondition(PlayerBase player, ActionTarget target, ItemBase item)
Определения ActionRefuelTorch.c:16
override void CreateConditionComponents()
Определения ActionRefuelTorch.c:10
void ActionRefuelTorch()
Определения ActionRefuelTorch.c:3
override void OnExecuteServer(ActionData action_data)
Определения ActionRefuelTorch.c:38
void ActionSingleUseBase()
Определения ActionSingleUseBase.c:31
int m_CommandUID
Определения AnimatedActionBase.c:143
Определения CCINonRuined.c:2
Определения CCTNonRuined.c:2
Super root of all classes in Enforce script.
Определения EnScript.c:11
proto native int GetSlot()
returns slot id if current type is Attachment
InventoryLocation.
Определения InventoryLocation.c:29
const int INVALID
Invalid slot (-1)
Определения InventorySlots.c:17
provides access to slot configuration
Определения InventorySlots.c:6
Определения InventoryItem.c:731
Определения EnMath.c:7
Определения PlayerBaseClient.c:2
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.
static proto float Clamp(float value, float min, float max)
Clamps 'value' to 'min' if it is lower than 'min', or to 'max' if it is higher than 'max'.