diff --git a/Server/Components/CAPI/Impl/Objects/APIs.cpp b/Server/Components/CAPI/Impl/Objects/APIs.cpp index c869f7c29..b6778f621 100644 --- a/Server/Components/CAPI/Impl/Objects/APIs.cpp +++ b/Server/Components/CAPI/Impl/Objects/APIs.cpp @@ -490,7 +490,7 @@ OMP_CAPI(PlayerObject_AttachToPlayer, bool(objectPtr player, objectPtr object, o return true; } -OMP_CAPI(PlayerObject_AttachToObject, bool(objectPtr player, objectPtr object, objectPtr attachedTo, float offsetX, float offsetY, float offsetZ, float rotationX, float rotationY, float rotationZ)) +OMP_CAPI(PlayerObject_AttachToObject, bool(objectPtr player, objectPtr object, objectPtr attachedTo, float offsetX, float offsetY, float offsetZ, float rotationX, float rotationY, float rotationZ, bool syncRotation)) { POOL_ENTITY_RET(players, IPlayer, player, player_, false); PLAYER_POOL_ENTITY_RET(player_, IPlayerObjectData, IPlayerObject, object, object_, false); @@ -498,7 +498,7 @@ OMP_CAPI(PlayerObject_AttachToObject, bool(objectPtr player, objectPtr object, o if (attachedTo) { PLAYER_POOL_ENTITY_RET(player_, IPlayerObjectData, IPlayerObject, attachedTo, attachedTo_, false); - object_->attachToObject(*attachedTo_, { offsetX, offsetY, offsetZ }, { rotationX, rotationY, rotationZ }); + object_->attachToObject(*attachedTo_, { offsetX, offsetY, offsetZ }, { rotationX, rotationY, rotationZ }, syncRotation); } else { diff --git a/Server/Components/Objects/object.hpp b/Server/Components/Objects/object.hpp index 862db8255..5f189afc8 100644 --- a/Server/Components/Objects/object.hpp +++ b/Server/Components/Objects/object.hpp @@ -495,9 +495,9 @@ class PlayerObject final : public BaseObject restream(); } - void attachToObject(IPlayerObject& object, Vector3 offset, Vector3 rotation) override + void attachToObject(IPlayerObject& object, Vector3 offset, Vector3 rotation, bool syncRotation) override { - setAttachmentData(ObjectAttachmentData::Type::Object, object.getID(), offset, rotation, true); + setAttachmentData(ObjectAttachmentData::Type::Object, object.getID(), offset, rotation, syncRotation); restream(); } diff --git a/Server/Components/Pawn/Scripting/Object/PlayerNatives.cpp b/Server/Components/Pawn/Scripting/Object/PlayerNatives.cpp index 296a07b3a..ea66c57d3 100644 --- a/Server/Components/Pawn/Scripting/Object/PlayerNatives.cpp +++ b/Server/Components/Pawn/Scripting/Object/PlayerNatives.cpp @@ -53,11 +53,11 @@ SCRIPT_API(AttachPlayerObjectToPlayer, bool(IPlayer& player, IPlayerObject& obje return true; } -SCRIPT_API(AttachPlayerObjectToObject, bool(IPlayer& player, IPlayerObject& object, IPlayerObject* attachedTo, Vector3 offset, Vector3 rotation)) +SCRIPT_API(AttachPlayerObjectToObject, bool(IPlayer& player, IPlayerObject& object, IPlayerObject* attachedTo, Vector3 offset, Vector3 rotation, bool syncRotation)) { if (attachedTo) { - object.attachToObject(*attachedTo, offset, rotation); + object.attachToObject(*attachedTo, offset, rotation, syncRotation); } else {