Wenn ich ein Item wegwerfe tauchen die bei andren Spielern am Boden auf wie kann ich dass unterbinden bzw. dass Items überhaupt wenn man sie wegwirft sofort verschwinden?
Danke
Wenn ich ein Item wegwerfe tauchen die bei andren Spielern am Boden auf wie kann ich dass unterbinden bzw. dass Items überhaupt wenn man sie wegwirft sofort verschwinden?
Danke
--[[RegisterNetEvent('esx:createPickup')
AddEventHandler('esx:createPickup', function(pickupId, label, coords, type, name, components, tintIndex)
local function setObjectProperties(object)
SetEntityAsMissionEntity(object, true, false)
PlaceObjectOnGroundProperly(object)
FreezeEntityPosition(object, true)
SetEntityCollision(object, false, true)
pickups[pickupId] = {
obj = object,
label = label,
inRange = false,
coords = vector3(coords.x, coords.y, coords.z)
}
end
if type == 'item_weapon' then
local weaponHash = GetHashKey(name)
ESX.Streaming.RequestWeaponAsset(weaponHash)
local pickupObject = CreateWeaponObject(weaponHash, 50, coords.x, coords.y, coords.z, true, 1.0, 0)
SetWeaponObjectTintIndex(pickupObject, tintIndex)
for k,v in ipairs(components) do
local component = ESX.GetWeaponComponent(name, v)
GiveWeaponComponentToWeaponObject(pickupObject, component.hash)
end
setObjectProperties(pickupObject)
else
ESX.Game.SpawnLocalObject('prop_money_bag_01', coords, setObjectProperties)
end
end)
RegisterNetEvent('esx:createMissingPickups')
AddEventHandler('esx:createMissingPickups', function(missingPickups)
for pickupId,pickup in pairs(missingPickups) do
TriggerEvent('esx:createPickup', pickupId, pickup.label, pickup.coords, pickup.type, pickup.name, pickup.components, pickup.tintIndex)
end
end)
RegisterNetEvent('esx:registerSuggestions')
AddEventHandler('esx:registerSuggestions', function(registeredCommands)
for name,command in pairs(registeredCommands) do
if command.suggestion then
TriggerEvent('chat:addSuggestion', ('/%s'):format(name), command.suggestion.help, command.suggestion.arguments)
end
end
end)
RegisterNetEvent('esx:removePickup')
AddEventHandler('esx:removePickup', function(pickupId)
if pickups[pickupId] and pickups[pickupId].obj then
ESX.Game.DeleteObject(pickups[pickupId].obj)
pickups[pickupId] = nil
end
end)]]
--[[Citizen.CreateThread(function()
while true do
Citizen.Wait(0)
local playerPed = PlayerPedId()
local playerCoords, letSleep = GetEntityCoords(playerPed), true
local closestPlayer, closestDistance = ESX.Game.GetClosestPlayer(playerCoords)
for pickupId,pickup in pairs(pickups) do
local distance = #(playerCoords - pickup.coords)
if distance < 5 then
local label = pickup.label
letSleep = false
if distance < 1 then
if IsControlJustReleased(0, 38) then
if IsPedOnFoot(playerPed) and (closestDistance == -1 or closestDistance > 3) and not pickup.inRange then
pickup.inRange = true
local dict, anim = 'weapons@first_person@aim_rng@generic@projectile@sticky_bomb@', 'plant_floor'
ESX.Streaming.RequestAnimDict(dict)
TaskPlayAnim(playerPed, dict, anim, 8.0, 1.0, 1000, 16, 0.0, false, false, false)
Citizen.Wait(1000)
TriggerServerEvent('esx:onPickup', pickupId)
PlaySoundFrontend(-1, 'PICK_UP', 'HUD_FRONTEND_DEFAULT_SOUNDSET', false)
end
end
label = ('%s~n~%s'):format(label, _U('threw_pickup_prompt'))
end
ESX.Game.Utils.DrawText3D({
x = pickup.coords.x,
y = pickup.coords.y,
z = pickup.coords.z + 0.25
}, label, 1.2, 1)
elseif pickup.inRange then
pickup.inRange = false
end
end
if letSleep then
Citizen.Wait(500)
end
end
end)]]
es_extendet -> client -> main.luaDa einfach ausklammern.
Mit Freundlichen Grüßen

Maqic.exe
Lost-V.de
Projektleiter
FiveM:
Lost-V.de | Roleplay | SaltyChat | Viel Neues!
Hey @hannibal034,
der Code-Vorschlag von @Maqic.exe (den kompletten esx:createPickup-Client-Handler auskommentieren) löst das Problem leider etwas zu radikal.
Wenn dieser Handler komplett deaktiviert wird, entstehen gar keine Pickups mehr — auch nicht für den Spieler, der das Item selbst fallen lässt. Das bedeutet: Gedroppte Items verschwinden dann für alle, auch für einen selbst, und lassen sich nie wieder aufheben. Das dürfte kaum das gewünschte Verhalten sein.
Der eigentlich passende Fix liegt serverseitig, nicht im Client-Event: In ESX wird das Pickup normalerweise per TriggerClientEvent('esx:createPickup', -1, ...) an alle Clients gesendet (die -1 steht für „an jeden"). Wird das stattdessen auf TriggerClientEvent('esx:createPickup', source, ...) geändert, sieht nur noch der Spieler, der das Item fallen lässt, das Pickup — für alle anderen bleibt es unsichtbar, ohne dass die Funktion insgesamt kaputtgeht.
~ Dieser Post wurde mithilfe von KI-Inhalten generiert.
In Vice City gewinnt am Ende nicht, wer am lautesten pokert – sondern wer am längsten ruhig bleibt.
Diese Woche hat sich das hier mal wieder bestätigt.