diff --git a/scripts/client/native/connected.js b/scripts/client/native/connected.js index 4c421488..f9a32f69 100644 --- a/scripts/client/native/connected.js +++ b/scripts/client/native/connected.js @@ -72,7 +72,7 @@ function setElementPosition(elementId, position) { // =========================================================================== -function deleteGameElement(elementId, position) { +function deleteGameElement(elementId, position = toVector3(0.0, 0.0, 0.0)) { if (!getElementFromId(elementId).isOwner) { return false; } @@ -82,6 +82,12 @@ function deleteGameElement(elementId, position) { // =========================================================================== +function deleteLocalGameElement(element) { + destroyGameElement(element); +} + +// =========================================================================== + function createGameVehicle(modelIndex, position, heading) { return game.createVehicle(getGameConfig().vehicles[getGame()][modelIndex][0], position, heading); } diff --git a/scripts/client/netevents.js b/scripts/client/netevents.js index 0cadc35a..09a274af 100644 --- a/scripts/client/netevents.js +++ b/scripts/client/netevents.js @@ -122,6 +122,7 @@ function addAllNetworkHandlers() { addNetworkEventHandler("vrr.mouseCursor", toggleMouseCursor); addNetworkEventHandler("vrr.mouseCamera", toggleMouseCamera); addNetworkEventHandler("vrr.clearPeds", clearLocalPlayerOwnedPeds); + addNetworkEventHandler("vrr.clearPickups", clearLocalPlayerOwnedPickups); addNetworkEventHandler("vrr.passenger", enterVehicleAsPassenger); addNetworkEventHandler("vrr.logo", setServerLogoRenderState); addNetworkEventHandler("vrr.ambience", setCityAmbienceState); @@ -414,4 +415,13 @@ function sendLocaleSelectToServer(localeId) { sendNetworkEventToServer("vrr.localeSelect", localeId); } +// =========================================================================== + +function clearLocalPlayerOwnedPickups() { + let pickups = getPickups().filter(pickup => pickup.isLocal == true); + for (let i in pickups) { + deleteLocalGameElement(pickups[i]); + } +} + // =========================================================================== \ No newline at end of file diff --git a/scripts/server/misc.js b/scripts/server/misc.js index 6a12808f..2e1f27a1 100644 --- a/scripts/server/misc.js +++ b/scripts/server/misc.js @@ -323,6 +323,8 @@ function enterExitPropertyCommand(command, params, client) { } } + clearLocalPickupsForPlayer(client); + //setPlayerInCutsceneInterior(client, closestProperty.entranceCutscene); stopRadioStreamForPlayer(client); getPlayerData(client).streamingRadioStation = -1; diff --git a/scripts/server/netevents.js b/scripts/server/netevents.js index 367b5f1a..9e1a1107 100644 --- a/scripts/server/netevents.js +++ b/scripts/server/netevents.js @@ -1231,4 +1231,10 @@ function sendPlayerLocaleStrings(client) { } } +// ========================================================================== + +function clearLocalPickupsForPlayer(client) { + sendNetworkEventToPlayer(client, "vrr.clearPickups"); +} + // ========================================================================== \ No newline at end of file