diff --git a/resources/[qb]/Duck_Relog/client.lua b/resources/[qb]/Duck_Relog/client.lua index 9a57dd9cc..db0fd2fed 100644 --- a/resources/[qb]/Duck_Relog/client.lua +++ b/resources/[qb]/Duck_Relog/client.lua @@ -1,32 +1,35 @@ RegisterCommand("relog", function() - local coords = GetEntityCoords(PlayerPedId()) - local heading = GetEntityHeading(PlayerPedId()) + local ped = PlayerPedId() + local coords = GetEntityCoords(ped) + local heading = GetEntityHeading(ped) - + -- Position an Server senden TriggerServerEvent("duckrelog:saveCoords", { x = coords.x, y = coords.y, z = coords.z, w = heading }) - - - ShutdownLoadingScreenNui() - TriggerEvent("um-multichar:client:chooseChar") end, false) --- Wenn Spieler geladen wurde, Position vom Server anfordern -RegisterNetEvent('QBCore:Client:OnPlayerLoaded', function() - TriggerServerEvent("duckrelog:requestCoords") +-- Multichar-Menü öffnen, nachdem der Server Logout durchgeführt hat +RegisterNetEvent("duckrelog:openCharMenu", function() + ShutdownLoadingScreenNui() + TriggerEvent("um-multichar:client:chooseChar") end) --- Spieler teleportieren +-- Spielerposition wiederherstellen RegisterNetEvent("duckrelog:setCoords", function(pos) if pos then local ped = PlayerPedId() RequestCollisionAtCoord(pos.x, pos.y, pos.z) SetEntityCoordsNoOffset(ped, pos.x, pos.y, pos.z, false, false, false) SetEntityHeading(ped, pos.w or 0.0) - FreezeEntityPosition(ped, false) end end) + +-- Nach Login, Server fragen ob Position wiederhergestellt werden soll +RegisterNetEvent("QBCore:Client:OnPlayerLoaded", function() + TriggerServerEvent("duckrelog:requestCoords") +end) + diff --git a/resources/[qb]/Duck_Relog/server.lua b/resources/[qb]/Duck_Relog/server.lua index 96d2e1ce2..9873d9fc5 100644 --- a/resources/[qb]/Duck_Relog/server.lua +++ b/resources/[qb]/Duck_Relog/server.lua @@ -8,15 +8,19 @@ RegisterServerEvent("duckrelog:saveCoords", function(pos) -- Spieler korrekt abmelden QBCore.Player.Logout(src) - -- RoutingBucket auf 0 setzen + -- RoutingBucket zurücksetzen SetPlayerRoutingBucket(src, 0) + + -- Client auffordern, Char-Menü zu öffnen + TriggerClientEvent("duckrelog:openCharMenu", src) end) RegisterServerEvent("duckrelog:requestCoords", function() local src = source local pos = LastPositions[src] + if pos then TriggerClientEvent("duckrelog:setCoords", src, pos) - LastPositions[src] = nil -- nach der Verwendung löschen + LastPositions[src] = nil end end)