Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- print("Leaderboard script version 3.00 loaded")
- function onPlayerEntered(newPlayer)
- local stats = Instance.new("IntValue")
- stats.Name = "leaderstats"
- local kills = Instance.new("IntValue")
- kills.Name = "Exp."
- kills.Value = 0
- local kills2 = Instance.new("IntValue")
- kills2.Name = "Cash"
- kills2.Value = 0
- kills.Parent = stats
- kills2.Parent = stats
- while true do
- if newPlayer.Character ~= nil then break end
- wait(5)
- end
- local humanoid = newPlayer.Character.Humanoid
- humanoid.Died:connect(function() onHumanoidDied(humanoid, newPlayer) end )
- newPlayer.Changed:connect(function(property) onPlayerRespawn(property, newPlayer) end )
- stats.Parent = newPlayer
- end
- function Send_DB_Event_Died(victim, killer)
- local killername = "no one"
- if killer ~= nil then killername = killer.Name end
- print("DIED EVENT: ", victim.Name, " KILLED by ", killername)
- if shared["deaths"] ~= nil then
- shared["deaths"](victim, killer)
- print("SENT DB DEATH EVENT")
- end
- end
- function Send_DB_Event_Kill(killer, victim)
- print("KILL EVENT. ", killer.Name, " BLOXXED ", victim.Name)
- if shared["kills"] ~= nil then
- shared["kills"](killer, victim)
- print("SENT DB KILL EVENT")
- end
- end
- function onHumanoidDied(humanoid, player)
- local stats = player:findFirstChild("leaderstats")
- if stats ~= nil then
- local deaths = stats:findFirstChild("Cash")
- deaths.Value = deaths.Value + 0
- local killer = getKillerOfHumanoidIfStillInGame(humanoid)
- Send_DB_Event_Died(player, killer)
- handleKillCount(humanoid, player)
- end
- end
- function onPlayerRespawn(property, player)
- if property == "Character" and player.Character ~= nil then
- local humanoid = player.Character.Humanoid
- local p = player
- local h = humanoid
- humanoid.Died:connect(function() onHumanoidDied(h, p) end )
- end
- end
- function getKillerOfHumanoidIfStillInGame(humanoid)
- local tag = humanoid:findFirstChild("creator")
- if tag ~= nil then
- local killer = tag.Value
- if killer.Parent ~= nil then
- return killer
- end
- end
- return nil
- end
- function handleKillCount(humanoid, player)
- local killer = getKillerOfHumanoidIfStillInGame(humanoid)
- if killer ~= nil then
- local stats = killer:findFirstChild("leaderstats")
- if stats ~= nil then
- local kills = stats:findFirstChild("Exp.")
- local kills2 = stats:findFirstChild("Cash")
- if killer ~= player then
- kills.Value = kills.Value + 5
- kills2.Value = kills2.Value + 10
- else
- kills.Value = kills.Value - 0
- kills2.Value = kills2.Value - 0
- end
- Send_DB_Event_Kill(killer, player)
- end
- end
- end
- game.Players.ChildAdded:connect(onPlayerEntered)
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement