5 float m_JumpingOutThreshold;
6 bool m_WasJumpingOut =
false;
7 bool m_WasJumpingOutAnim=
false;
18class GetOutTransportActionReciveData : ActionReciveData
26 const int DMG_FACTOR = 60;
27 const int SHOCK_FACTOR = 15;
30 const int LOW_SPEED_VALUE = 20;
31 const int HIGH_SPEED_VALUE = 30;
70 HumanCommandVehicle vehCommand = player.GetCommand_Vehicle();
73 Transport trans = vehCommand.GetTransport();
76 int crewIndex = trans.CrewMemberIndex(player);
77 return crewIndex >= 0 && trans.CrewCanGetThrough(crewIndex) && trans.
IsAreaAtDoorFree(crewIndex);
86 if (super.SetupAction(player, target, item, action_data, extra_data))
88 HumanCommandVehicle vehCommand = action_data.m_Player.GetCommand_Vehicle();
91 Transport trans = vehCommand.GetTransport();
105 super.WriteToContext(ctx, action_data);
109 ctx.Write(gotActionData.m_WasJumpingOutAnim);
114 if (!action_recive_data)
115 action_recive_data =
new GetOutTransportActionReciveData;
117 super.ReadFromContext(ctx, action_recive_data);
118 GetOutTransportActionReciveData action_data_got = GetOutTransportActionReciveData.Cast(action_recive_data);
120 if (!ctx.Read(action_data_got.m_WasJumpingOutAnim))
126 override void HandleReciveData(ActionReciveData action_recive_data, ActionData action_data)
128 super.HandleReciveData(action_recive_data, action_data);
130 GetOutTransportActionReciveData recive_data_got = GetOutTransportActionReciveData.Cast(action_recive_data);
133 action_data_got.m_WasJumpingOutAnim = recive_data_got.m_WasJumpingOutAnim;
142 speed =
Car.Cast(veh).GetSpeedometerAbsolute();
144 else if (Boat.Cast(veh))
147 vector playerPosition = got_action_data.m_Player.PhysicsGetPositionWS();
150 speed = velocity.Normalize();
153 got_action_data.m_Speed = speed;
154 got_action_data.m_Vehicle = veh;
156 got_action_data.m_WasJumpingOut = got_action_data.m_Speed > got_action_data.m_JumpingOutThreshold;
157 if (got_action_data.m_Player.IsOwner())
158 got_action_data.m_WasJumpingOutAnim = got_action_data.m_WasJumpingOut;
163 super.OnStart(action_data);
165 HumanCommandVehicle vehCommand = action_data.m_Player.GetCommand_Vehicle();
168 Transport trans = vehCommand.GetTransport();
174 if (!gotActionData.m_WasJumpingOutAnim)
175 vehCommand.GetOutVehicle();
177 vehCommand.JumpOutVehicle();
182 if (action_data.m_Player.GetInventory())
183 action_data.m_Player.GetInventory().LockInventory(LOCK_FROM_SCRIPT);
190 super.OnStartServer(action_data);
192 HumanCommandVehicle vehCommand = action_data.m_Player.GetCommand_Vehicle();
196 if (
Class.CastTo(car, vehCommand.GetTransport()))
198 car.ForceUpdateLightsStart();
205 if (action_data.m_State ==
UA_START)
207 if (!action_data.m_Player.GetCommand_Vehicle())
232 override void OnEnd(ActionData action_data)
234 if (action_data.m_Player.GetInventory())
235 action_data.m_Player.GetInventory().UnlockInventory(LOCK_FROM_SCRIPT);
240 super.OnEndServer(action_data);
245 if (gotActionData.m_WasJumpingOut || gotActionData.m_WasJumpingOutAnim)
247 gotActionData.m_Player.OnJumpOutVehicleFinish(gotActionData.m_Speed);
254 car.ForceUpdateLightsEnd();
263 if (
Class.CastTo(car, gotActionData.m_Vehicle))
264 car.OnVehicleJumpOutServer(gotActionData);
267 if (
Class.CastTo(boat, gotActionData.m_Vehicle))
GetOutTransportActionData m_WasJumpingOutAnim
ref CCIBase m_ConditionItem
ref CCTBase m_ConditionTarget
override void HandleReciveData(ActionReciveData action_recive_data, ActionData action_data)
void ProcessGetOutActionData(Car car, GetOutTransportActionData got_action_data)
void ApplyJumpOutDmg(ActionData action_data)
override bool ActionCondition(PlayerBase player, ActionTarget target, ItemBase item)
override ActionData CreateActionData()
override void OnStartServer(ActionData action_data)
const float BOAT_JUMPOUT_THRESHOLD
override bool CanBeUsedInVehicle()
void Unhide(PlayerBase player)
override void OnUpdate(ActionData action_data)
void ProcessGetOutTransportActionData(Transport veh, GetOutTransportActionData got_action_data)
const float CAR_JUMPOUT_THRESHOLD
override bool ReadFromContext(ParamsReadContext ctx, out ActionReciveData action_recive_data)
override bool CanBeUsedInRestrain()
override void OnStart(ActionData action_data)
const int HEALTH_HIGH_SPEED_VALUE
override bool HasTarget()
override void CreateConditionComponents()
override bool HasProgress()
override void OnEndServer(ActionData action_data)
override bool SetupAction(PlayerBase player, ActionTarget target, ItemBase item, out ActionData action_data, Param extra_data=NULL)
override void WriteToContext(ParamsWriteContext ctx, ActionData action_data)
override void OnEnd(ActionData action_data)
void ActionGetOutTransport()
override int GetActionCategory()
const int HEALTH_LOW_SPEED_VALUE
void OnVehicleJumpOutServer(GetOutTransportActionData data)
Super root of all classes in Enforce script.
Base Param Class with no parameters. Used as general purpose parameter overloaded with Param1 to Para...
Serialization general interface. Serializer API works with:
Native class for boats - handles physics simulation.
override bool IsAreaAtDoorFree(int currentSeat, float maxAllowedObjHeight=0.5, float horizontalExtents=0.5, float playerHeight=1.7)
DayZPlayerConstants
defined in C++
void End()
called on surrender end request end
void Obsolete(string msg="")
proto native vector dBodyGetVelocityAt(notnull IEntity body, vector globalpos)