DayZ 1.27
DayZ Explorer by KGB
 
Загрузка...
Поиск...
Не найдено
ActionFillFuel.c
См. документацию.
2{
3 private const float TIME_TO_REPEAT = 0.5;
4
5 override void CreateActionComponent()
6 {
8 }
9};
10
12{
13 const string FUEL_SELECTION_NAME = "refill";
14
16 {
18 m_CommandUID = DayZPlayerConstants.CMD_ACTIONFB_EMPTY_VESSEL;
19 m_StanceMask = DayZPlayerConstants.STANCEMASK_ERECT | DayZPlayerConstants.STANCEMASK_CROUCH;
20 m_FullBody = true;
21 m_SpecialtyWeight = UASoftSkillsWeight.PRECISE_LOW;
22 m_LockTargetOnUse = false;
23 m_Text = "#refuel";
24 }
25
27 {
28 m_ConditionItem = new CCINonRuined;//CCINotRuinedAndEmpty?
30 }
31
32 override bool ActionCondition( PlayerBase player, ActionTarget target, ItemBase item )
33 {
34 if ( !target || !IsTransport(target) )
35 return false;
36
37 if ( item.GetQuantity() <= 0 )
38 return false;
39
40 if ( item.GetLiquidType() != LIQUID_GASOLINE )
41 return false;
42
43 if (target.GetObject().IsDamageDestroyed())
44 return false;
45
46 Car car = Car.Cast(target.GetObject());
47 Boat boat = Boat.Cast(target.GetObject());
48 if (car)
49 {
50 if (car.GetFluidFraction( CarFluid.FUEL ) >= 0.98)
51 return false;
52 }
53 else if (boat)
54 {
55 if ( boat.GetFluidFraction( BoatFluid.FUEL ) >= 0.98 )
56 return false;
57 }
58 else
59 return false;
60
61 array<string> selections = new array<string>;
62 target.GetObject().GetActionComponentNameList(target.GetComponentIndex(), selections);
63
64 Transport vehicle = Transport.Cast(target.GetObject());
65
66 if ( vehicle )
67 {
68 for (int s = 0; s < selections.Count(); s++)
69 {
70 if ( selections[s] == vehicle.GetActionCompNameFuel() )
71 {
72 float dist = vector.DistanceSq( vehicle.GetRefillPointPosWS(), player.GetPosition() );
73
74 if ( dist < vehicle.GetActionDistanceFuel() * vehicle.GetActionDistanceFuel() )
75 return true;
76 }
77 }
78 }
79
80 return false;
81 }
82};
class ActionTargets ActionTarget
BoatFluid
Type of vehicle's fluid. (native, do not change or extend)
Определения Boat.c:14
CarFluid
Type of vehicle's fluid. (native, do not change or extend)
Определения Car.c:19
float m_SpecialtyWeight
Определения ActionBase.c:77
int m_StanceMask
Определения ActionBase.c:62
bool IsTransport(ActionTarget target)
Определения ActionBase.c:1153
string m_Text
Определения ActionBase.c:58
ref CCIBase m_ConditionItem
Определения ActionBase.c:64
bool m_LockTargetOnUse
Определения ActionBase.c:60
bool m_FullBody
Определения ActionBase.c:61
ref CCTBase m_ConditionTarget
Определения ActionBase.c:65
ActionData m_ActionData
Определения AnimatedActionBase.c:3
void ActionContinuousBase()
Определения ActionContinuousBase.c:124
void ActionFillFuel()
Определения ActionFillFuel.c:15
override bool ActionCondition(PlayerBase player, ActionTarget target, ItemBase item)
Определения ActionFillFuel.c:32
const string FUEL_SELECTION_NAME
Определения ActionFillFuel.c:13
override void CreateConditionComponents()
Определения ActionFillFuel.c:26
override void CreateActionComponent()
Определения ActionFillFuel.c:5
const float TIME_TO_REPEAT
Определения ActionFillFuel.c:3
Определения ActionFillFuel.c:2
int m_CommandUID
Определения AnimatedActionBase.c:143
Определения CCINonRuined.c:2
Определения CCTNone.c:2
Определения InventoryItem.c:731
Определения PlayerBaseClient.c:2
Base native class for all motorized wheeled vehicles.
Определения Boat.c:28
const float FUEL
Определения ActionConstants.c:17
Result for an object found in CGame.IsBoxCollidingGeometryProxy.
static proto native float DistanceSq(vector v1, vector v2)
Returns the square distance between tips of two 3D vectors.
Определения EnConvert.c:106
DayZPlayerConstants
defined in C++
Определения dayzplayer.c:602
const int LIQUID_GASOLINE
Определения constants.c:543