diff --git a/resources/[qb]/Duck_relogextra/server.lua b/resources/[qb]/Duck_relogextra/server.lua index 87b3d7450..ecb79e5dd 100644 --- a/resources/[qb]/Duck_relogextra/server.lua +++ b/resources/[qb]/Duck_relogextra/server.lua @@ -1,7 +1,7 @@ local savedLocations = {} local QBCore = exports['qb-core']:GetCoreObject() - +-- Speichert die Position des Spielers beim Relog RegisterNetEvent("qb-relogsave:server:saveLocation", function(cid, coords, heading) if not cid or not coords then return end @@ -13,7 +13,7 @@ RegisterNetEvent("qb-relogsave:server:saveLocation", function(cid, coords, headi print("[Relog] Position für " .. cid .. " gespeichert") end) - +-- Lädt die Position beim Login RegisterNetEvent('QBCore:Server:OnPlayerLoaded', function() local src = source local Player = QBCore.Functions.GetPlayer(src) @@ -33,7 +33,7 @@ RegisterNetEvent('QBCore:Server:OnPlayerLoaded', function() end end) - +-- Alternative Event für um-multicharacter RegisterNetEvent('um-multicharacter:server:CharacterLoaded', function() local src = source local Player = QBCore.Functions.GetPlayer(src) @@ -47,3 +47,20 @@ RegisterNetEvent('um-multicharacter:server:CharacterLoaded', function() savedLocations[cid] = nil end end) + +-- Server-seitige Weiterleitung zum Multicharacter +RegisterNetEvent("qb-relogsave:server:redirectToMultichar", function() + local src = source + + -- Versuche verschiedene Server-Events für um-multicharacter + TriggerClientEvent("um-multicharacter:client:chooseChar", src) + + -- Fallback: Spieler trennen, aber sanft + Citizen.SetTimeout(500, function() + if GetPlayerPing(src) > 0 then + -- Spieler ist noch verbunden, versuche sanften Disconnect + TriggerEvent("um-multicharacter:server:disconnect", src) + TriggerEvent("um-multicharacter:server:loadUserData", src) + end + end) +end)