Scripting Helpers is winding down operations and is now read-only. More info→
Ad
Log in to vote
0

How do i setup a Permanent death event?

Asked by 2 years ago

How do i create a Permanent death event script, like when i type like an command for example PD on or something it activates and when a Player dies they get banned for a certain time 10 hours for example and i can also turn it off with PD off?

Help would be appreciated

0
Hey sorry if my code didn't work you should test it again, I just added respawn system so players can get back into the game strangejmaster43 139 — 2y

1 answer

Log in to vote
0
Answered by 2 years ago
Edited 2 years ago

I would say use attributes. First, you can do

local HOURS_DEAD = 10 --Set this to how many hours the player should die for before being able to join
local Players = game:GetService("Players") 
Player.PlayerAdded:Connect(function(plr)
    local dTime = 0
    if plr:GetAttribute("DeathTime") == nil then
        plr:SetAttribute("DeathTime", 0)
    end
    if plr:GetAttribute("Died") == true then
        if plr:GetAttribute("DeathTime") ~= nil then
            dTime = plr:GetAttriubte("DeatTime")
        end
        if os.time() - dTime <  3600*HOURS_DEAD then 
            plr:SetAttribute("Died", true)
            local date = os.time() - dTime
            plr:Kick("You will respawn in "..date/14400 .. " hours!")
        elseif os.time() - dTime > 3600*HOURS_DEAD then
            plr:SetAttribute("Died", false)
        end
    elseif plr:GetAttribute("Died") == nil then
        plr:SetAttriubte("Died", false)
    end
end)

This code should be able to be put in a Script in ServerScriptService, it basically checks if the player is dead and if they are it kicks them

Finally, you need a code to kill the player. This should work in a script, I just programmed it as if the parent of the script is a kill brick

local Players = game:GetService("Players")
local function killPlayer(plr)
    local name = plr:FindFirstAncestorWhichIsA("Model").Name
    local player = Players:FindFirstChild(name)
    player:SetAttribute("Died", true)
    player:SetAttribute("DeathTime", os.time())
    player:Kick("You will respawn in 10 Hours!!")
end

script.Parent.Touched:Connect(killPlayer)

I spent a long time on this script I really hope it helped! The only thing you need to actually kill the player/ban them is this

player:SetAttribute("Died", true)
player:SetAttribute("DeathTime", os.time())
player:Kick("You will respawn in 10 Hours!!")

Where player contains the person's Player object from game:GetService("Players")

Ad

Answer this question