-- Immortality Server Script -- Pegar en ServerScriptService local Players = game:GetService("Players") local VOID_Y = -50 -- si cae por debajo de esto lo teletransporta local function protectCharacter(character) if not character then return end local humanoid = character:FindFirstChildOfClass("Humanoid") local primary = character.PrimaryPart or character:FindFirstChild("HumanoidRootPart") if humanoid then -- Aumentar salud máxima a un número muy grande y mantenerla humanoid.MaxHealth = 1e9 humanoid.Health = humanoid.MaxHealth -- Intentar desactivar el estado "Dead" (evita algunas animaciones/estados) pcall(function() humanoid:SetStateEnabled(Enum.HumanoidStateType.Dead, false) end) -- Si la salud cambia a un valor bajo, la restauramos inmediatamente humanoid.HealthChanged:Connect(function(h) if h < 1 then -- restaurar inmediatamente if humanoid and humanoid.Parent then humanoid.Health = humanoid.MaxHealth end end end) -- Si por alguna razón se dispara Died, lo revivimos humanoid.Died:Connect(function() -- pequeña espera para que termine el evento y lo restauramos wait(0.05) if humanoid and humanoid.Parent then humanoid.Health = humanoid.MaxHealth end end) end -- Protección contra caer al vacío: teletransporta a spawn si baja demasiado if primary then spawn(function() while character.Parent do if primary.Position.Y < VOID_Y then -- Busca un SpawnLocation en workspace; si no, va a un punto seguro local spawnPart = workspace:FindFirstChildWhichIsA("SpawnLocation") or workspace:FindFirstChild("SpawnLocation") if spawnPart and character.PrimaryPart then character:SetPrimaryPartCFrame(spawnPart.CFrame + Vector3.new(0,5,0)) elseif character.PrimaryPart then character:SetPrimaryPartCFrame(CFrame.new(0, 10, 0)) end end wait(1) end end) end end Players.PlayerAdded:Connect(function(player) player.CharacterAdded:Connect(function(character) protectCharacter(character) end) -- si ya tenía character al añadir el script (rare), lo protegemos if player.Character then protectCharacter(player.Character) end end) --