DayZ 1.27
DayZ Explorer by KGB
 
Загрузка...
Поиск...
Не найдено
ActionFillOil.c
См. документацию.
2{
3 private const float TIME_TO_REPEAT = 0.05;
4
9};
10
12{
14 {
16 m_CommandUID = DayZPlayerConstants.CMD_ACTIONFB_EMPTY_VESSEL;
17 m_StanceMask = DayZPlayerConstants.STANCEMASK_ERECT | DayZPlayerConstants.STANCEMASK_CROUCH;
18 m_FullBody = true;
19 m_SpecialtyWeight = UASoftSkillsWeight.PRECISE_LOW;
20 m_LockTargetOnUse = false;
21 m_Text = "#refill_car";
22 }
23
29
30 override bool ActionCondition( PlayerBase player, ActionTarget target, ItemBase item )
31 {
32 if( !target || !IsTransport(target) )
33 return false;
34
35 if( item.GetQuantity() <= 0 )
36 return false;
37
38 Car car = Car.Cast( target.GetObject() );
39 if( !car )
40 return false;
41
42 if( car.GetFluidFraction( CarFluid.OIL ) >= 0.98 )
43 return false;
44
45 array<string> selections = new array<string>;
46 target.GetObject().GetActionComponentNameList(target.GetComponentIndex(), selections);
47
48 CarScript carS = CarScript.Cast(car);
49 if( carS )
50 {
51 for (int s = 0; s < selections.Count(); s++)
52 {
53 if ( selections[s] == carS.GetActionCompNameOil() )
54 {
55 float dist = vector.Distance( carS.GetRefillPointPosWS(), player.GetPosition() );
56
57 if ( dist < carS.GetActionDistanceOil() )
58 return true;
59 }
60 }
61 }
62
63 return false;
64 }
65
66 override void OnEndAnimationLoopServer( ActionData action_data )
67 {
68 if ( action_data.m_MainItem && action_data.m_MainItem.GetQuantity() <= 0.01 )
69 {
70 action_data.m_MainItem.SetQuantity(0);
71 }
72 }
73};
ActionBase ActionData
Определения ActionBase.c:30
class ActionTargets ActionTarget
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
override bool ActionCondition(PlayerBase player, ActionTarget target, ItemBase item)
Определения ActionFillOil.c:30
override void CreateConditionComponents()
Определения ActionFillOil.c:24
void ActionFillOil()
Определения ActionFillOil.c:13
override void OnEndAnimationLoopServer(ActionData action_data)
Определения ActionFillOil.c:66
const float TIME_TO_REPEAT
Определения ActionFillOil.c:3
override void CreateActionComponent()
Определения ActionFillOil.c:5
Определения ActionFillOil.c:2
int m_CommandUID
Определения AnimatedActionBase.c:143
Определения CCINonRuined.c:2
Определения CCTNone.c:2
Определения CivilianSedan.c:2
Определения InventoryItem.c:731
Определения PlayerBaseClient.c:2
const float POUR_LIQUID
Определения ActionConstants.c:12
Result for an object found in CGame.IsBoxCollidingGeometryProxy.
static proto native float Distance(vector v1, vector v2)
Returns the distance between tips of two 3D vectors.
Определения EnConvert.c:106
DayZPlayerConstants
defined in C++
Определения dayzplayer.c:602