Ad
Still have questions? Join our Discord server and get real time help.
Log in to vote
0

How can I make my player's 'time alive' leaderstat reset when they die?

Asked by 6 months ago

I've seen things like this before but they've all been no use. Here is my code, can someone help me reset the 'Time alive' counter when the player dies? if you need a better understanding of why I'll need this, here's the link to my game:

https://web.roblox.com/games/4959857494/Dash-BETA

Here is my script:

game.Players.PlayerAdded:connect(function(player)
 local Stats = Instance.new("Model", player)
 Stats.Name = "leaderstats"
 local Timer = Instance.new("IntValue", Stats)
 Timer.Name = "Time Alive"
 Timer.Value = 0
 while true do
  wait(1)
  Timer.Value = Timer.Value +1
 end

end)

4 answers

Log in to vote
-1
Answered by 6 months ago
Edited 6 months ago

Make it sense if the health is 0, using if player.Character.Humanoid.Health == 0 then, like this:

game.Players.PlayerAdded:connect(function(player)
 local Stats = Instance.new("Model", player)
 Stats.Name = "leaderstats"
 local Timer = Instance.new("IntValue", Stats)
 Timer.Name = "Time Alive"
 Timer.Value = 0
 while true do
  wait(1)
  if player.Character.Humanoid.Health == 0 then
    Timer.Value = 0
    print("Player died")
  end
  Timer.Value = Timer.Value +1
 end

end)
0
why a down vote ? R_LabradorRetriever 65 — 6mo
0
There is no use in constantly checking if the player's health is at 0, you can simply use the Died() event. lunatic5 409 — 6mo
0
thats what i thought earlier, but a hooked function may not work correctly under an infinite loop R_LabradorRetriever 65 — 6mo
Ad
Log in to vote
1
Answered by
XDvvvDX 186
5 months ago
Edited 5 months ago

Here's it:

game.Players.PlayerAdded:connect(function(player)
 local Stats = Instance.new("Model", player)
 Stats.Name = "leaderstats"
 local Timer = Instance.new("IntValue", Stats)
 Timer.Name = "Time Alive"
 Timer.Value = 0
local Rank = Instance.new("StringValue")
Rank.Parent = Stats
local ID = 1331531 --Switch this ID with your group's ID.
Rank.Value = player:GetRoleInGroup(ID)
Rank.Name = "Rank"
 while true do
  wait(1)
  Timer.Value = Timer.Value +1
 end

end)
0
how do i use it amaruking64 0 — 27d
Log in to vote
0
Answered by
lunatic5 409 Moderation Voter
6 months ago

Here's the script you can use to accomplish this:

game.Players.PlayerAdded:Connect(function(player)

    local Stats = Instance.new("Model", player)
    Stats.Name = "leaderstats"

    local Timer = Instance.new("IntValue", Stats)
    Timer.Name = "Time Alive"

    while true do
        wait(1)
        Timer.Value = Timer.Value +1
    end

    player.CharacterAdded:Connect(function(character)
        character.Humanoid.Died:Connect(function()
            Timer.Value = 0
        end)
    end)

end)

I added some indentation to help with readability so it's easier for you and others to understand. Also, I removed the line where you set "Timer's" value to 0 because it already defaults at 0. All that's happening is that it detects when the player's character loads in, then checks for when the character's Humanoid dies. When the Humanoid dies, it resets the value to 0.

Hope this helps.

Log in to vote
0
Answered by 27 days ago

so i dont know how to use that script it dont work

Answer this question