forked from Simnation/Main
fix
This commit is contained in:
parent
8fd0da7d21
commit
d620dd2499
2 changed files with 24 additions and 33 deletions
|
@ -1,20 +1,27 @@
|
||||||
local hasUsedRelog = false
|
|
||||||
|
|
||||||
RegisterCommand("relog", function()
|
RegisterCommand("relog", function()
|
||||||
local coords = GetEntityCoords(PlayerPedId())
|
local coords = GetEntityCoords(PlayerPedId())
|
||||||
TriggerServerEvent("relog:saveCoords", coords)
|
local heading = GetEntityHeading(PlayerPedId())
|
||||||
hasUsedRelog = true
|
|
||||||
|
|
||||||
|
TriggerServerEvent("duckrelog:saveCoords", {
|
||||||
|
x = coords.x,
|
||||||
|
y = coords.y,
|
||||||
|
z = coords.z,
|
||||||
|
w = heading
|
||||||
|
})
|
||||||
|
|
||||||
|
|
||||||
ShutdownLoadingScreenNui()
|
ShutdownLoadingScreenNui()
|
||||||
TriggerEvent("um-multichar:client:chooseChar")
|
TriggerEvent("um-multichar:client:chooseChar")
|
||||||
end, false)
|
end, false)
|
||||||
|
|
||||||
|
-- Wenn Spieler geladen wurde, Position vom Server anfordern
|
||||||
RegisterNetEvent('QBCore:Client:OnPlayerLoaded', function()
|
RegisterNetEvent('QBCore:Client:OnPlayerLoaded', function()
|
||||||
TriggerServerEvent("relog:checkLastPosition")
|
TriggerServerEvent("duckrelog:requestCoords")
|
||||||
end)
|
end)
|
||||||
|
|
||||||
RegisterNetEvent("relog:teleportPlayer", function(pos)
|
-- Spieler teleportieren
|
||||||
|
RegisterNetEvent("duckrelog:setCoords", function(pos)
|
||||||
if pos then
|
if pos then
|
||||||
local ped = PlayerPedId()
|
local ped = PlayerPedId()
|
||||||
RequestCollisionAtCoord(pos.x, pos.y, pos.z)
|
RequestCollisionAtCoord(pos.x, pos.y, pos.z)
|
||||||
|
|
|
@ -1,38 +1,22 @@
|
||||||
local QBCore = exports['qb-core']:GetCoreObject()
|
local QBCore = exports['qb-core']:GetCoreObject()
|
||||||
|
local LastPositions = {}
|
||||||
|
|
||||||
RegisterServerEvent("relog:saveCoords", function(coords)
|
RegisterServerEvent("duckrelog:saveCoords", function(pos)
|
||||||
local src = source
|
local src = source
|
||||||
local Player = QBCore.Functions.GetPlayer(src)
|
LastPositions[src] = pos
|
||||||
if not Player then return end
|
|
||||||
|
|
||||||
local data = {
|
-- Spieler korrekt abmelden
|
||||||
x = coords.x,
|
|
||||||
y = coords.y,
|
|
||||||
z = coords.z,
|
|
||||||
w = GetEntityHeading(GetPlayerPed(src))
|
|
||||||
}
|
|
||||||
|
|
||||||
MySQL.update('UPDATE players SET last_position = ? WHERE citizenid = ?', {
|
|
||||||
json.encode(data),
|
|
||||||
Player.PlayerData.citizenid
|
|
||||||
})
|
|
||||||
|
|
||||||
|
|
||||||
QBCore.Player.Logout(src)
|
QBCore.Player.Logout(src)
|
||||||
|
|
||||||
|
-- RoutingBucket auf 0 setzen
|
||||||
SetPlayerRoutingBucket(src, 0)
|
SetPlayerRoutingBucket(src, 0)
|
||||||
end)
|
end)
|
||||||
|
|
||||||
RegisterServerEvent("relog:checkLastPosition", function()
|
RegisterServerEvent("duckrelog:requestCoords", function()
|
||||||
local src = source
|
local src = source
|
||||||
local Player = QBCore.Functions.GetPlayer(src)
|
local pos = LastPositions[src]
|
||||||
if not Player then return end
|
if pos then
|
||||||
|
TriggerClientEvent("duckrelog:setCoords", src, pos)
|
||||||
local result = MySQL.single.await('SELECT last_position FROM players WHERE citizenid = ?', {
|
LastPositions[src] = nil -- nach der Verwendung löschen
|
||||||
Player.PlayerData.citizenid
|
|
||||||
})
|
|
||||||
|
|
||||||
if result and result.last_position then
|
|
||||||
local pos = json.decode(result.last_position)
|
|
||||||
TriggerClientEvent("relog:teleportPlayer", src, pos)
|
|
||||||
end
|
end
|
||||||
end)
|
end)
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue