mirror of
https://github.com/VCMP-SqMod/SqMod.git
synced 2025-03-04 03:07:29 +01:00
Work around server defect.
This commit is contained in:
parent
1f2b75ed26
commit
9017236b13
@ -514,11 +514,11 @@ struct VehicleInst
|
|||||||
SQInteger mTrackRotation{0}; // The number of times to track rotation changes.
|
SQInteger mTrackRotation{0}; // The number of times to track rotation changes.
|
||||||
|
|
||||||
// ----------------------------------------------------------------------------------------
|
// ----------------------------------------------------------------------------------------
|
||||||
int32_t mLastPrimaryColor{-1}; // Last known secondary-color of the player entity.
|
int32_t mLastPrimaryColor{-1}; // Last known secondary-color of the vehicle entity.
|
||||||
int32_t mLastSecondaryColor{-1}; // Last known primary-color of the player entity.
|
int32_t mLastSecondaryColor{-1}; // Last known primary-color of the vehicle entity.
|
||||||
float mLastHealth{0}; // Last known health of the player entity.
|
float mLastHealth{0}; // Last known health of the vehicle entity.
|
||||||
Vector3 mLastPosition{}; // Last known position of the player entity.
|
Vector3 mLastPosition{}; // Last known position of the vehicle entity.
|
||||||
Quaternion mLastRotation{}; // Last known rotation of the player entity.
|
Quaternion mLastRotation{}; // Last known rotation of the vehicle entity.
|
||||||
|
|
||||||
// ----------------------------------------------------------------------------------------
|
// ----------------------------------------------------------------------------------------
|
||||||
LightObj mEvents{}; // Table containing the emitted entity events.
|
LightObj mEvents{}; // Table containing the emitted entity events.
|
||||||
|
@ -1810,6 +1810,16 @@ void Core::EmitVehicleUpdate(int32_t vehicle_id, vcmpVehicleUpdate update_type)
|
|||||||
} break;
|
} break;
|
||||||
default:
|
default:
|
||||||
{
|
{
|
||||||
|
// Obtain the current health of this instance
|
||||||
|
float health = _Func->GetVehicleHealth(vehicle_id);
|
||||||
|
// Server is actually dumb and never triggers vcmpVehicleUpdateHealth
|
||||||
|
if (!EpsEq(health, inst.mLastHealth))
|
||||||
|
{
|
||||||
|
// Trigger the event specific to this change
|
||||||
|
EmitVehicleHealth(vehicle_id, inst.mLastHealth, health);
|
||||||
|
// Update the tracked value
|
||||||
|
inst.mLastHealth = health;
|
||||||
|
}
|
||||||
// Finally, forward the call to the update callback
|
// Finally, forward the call to the update callback
|
||||||
(*inst.mOnUpdate.first)(static_cast< int32_t >(update_type));
|
(*inst.mOnUpdate.first)(static_cast< int32_t >(update_type));
|
||||||
(*mOnVehicleUpdate.first)(inst.mObj, static_cast< int32_t >(update_type));
|
(*mOnVehicleUpdate.first)(inst.mObj, static_cast< int32_t >(update_type));
|
||||||
|
Loading…
x
Reference in New Issue
Block a user