parent
235ebe75c1
commit
cb2c889e6e
@ -0,0 +1,35 @@ |
|||||||
|
-- __ _ _______ _ __ |
||||||
|
-- / / /\ | | |__ __| | | \ \ |
||||||
|
-- / / / \ | |_ __ ___ | | ___ ___| |__ \ \ |
||||||
|
-- < < / /\ \ | | '_ ` _ \| |/ _ \/ __| '_ \ > > |
||||||
|
-- \ \ / ____ \| | | | | | | | __/ (__| | | | / / |
||||||
|
-- \_\ /_/ \_\_|_| |_| |_|_|\___|\___|_| |_| /_/ |
||||||
|
|
||||||
|
hook.Add( "PlayerSpawn", "Quantum_Player_Respawn", function( pl ) |
||||||
|
if( pl.isloaded && pl.deathpos ) then |
||||||
|
local spawnposdist = {} |
||||||
|
for id, pos in pairs( Quantum.Server.Settings.SpawnLocations[ game.GetMap() ] ) do |
||||||
|
print( id, pos ) |
||||||
|
spawnposdist[id] = { dist = pos:Distance( pl.deathpos ), spawnpos = pos } |
||||||
|
end |
||||||
|
|
||||||
|
|
||||||
|
local maxdist |
||||||
|
local spawnpos |
||||||
|
for i, spawnpos in ipairs( spawnposdist ) do -- Loop through everything and pick the nearest spawnpoint |
||||||
|
if( maxdist ~= nil ) then |
||||||
|
if( maxdist <= spawnpos.dist ) then |
||||||
|
maxdist = spawnpos.dist |
||||||
|
spawnpos = spawnpos.pos |
||||||
|
end |
||||||
|
else |
||||||
|
maxdist = spawnpos.dist |
||||||
|
spawnpos = spawnpos.pos |
||||||
|
end |
||||||
|
end |
||||||
|
|
||||||
|
Quantum.Debug( "Respawning player at nearest spawnpoint... ( " .. tostring( spawnpos ) .. " )" ) |
||||||
|
pl:SetPos( spawnpos ) |
||||||
|
|
||||||
|
end |
||||||
|
end) |
Loading…
Reference in new issue