|
| 31 Jan 2012 08:06 PM |
| Basically, I have noticed that the leaderboard that ROBLOX provides greatly slows down my game; however, a GUI works perfectly for me. I have tried to remake the provided script to fit my needs but it won't work. Can someone tell me what is wrong and why it won't create a change when I dies or kill somebody. |
|
|
| Report Abuse |
|
|
|
| 31 Jan 2012 08:07 PM |
function onHumanoidDied(humanoid, player) local stats = player.PlayerGui.Leaderboard if stats ~= nil then local deaths = stats.Wipeouts.Wipeouts deaths.Value = deaths.Value + 1
-- do short dance to try and find the killer
local killer = getKillerOfHumanoidIfStillInGame(humanoid)
handleKillCount(humanoid, player) end end
function onPlayerRespawn(property, player) -- need to connect to new humanoid 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) -- returns the player object that killed this humanoid -- returns nil if the killer is no longer in the game
-- check for kill tag on humanoid - may be more than one - todo: deal with this local tag = humanoid:findFirstChild("creator")
-- find player with name on tag if tag ~= nil then local killer = tag.Value if killer.Parent ~= nil then -- killer still in game return killer end end
return nil end
function handleKillCount(humanoid, player) local killer = getKillerOfHumanoidIfStillInGame(humanoid) if killer ~= nil then local stats = killer.PlayerGui.Leaderboard if stats ~= nil then local kills = stats.KOs.KOs if killer ~= player then kills.Value = kills.Value + 1 else kills.Value = kills.Value - 1 end end end end
humanoid.Died:connect(function() onHumanoidDied(humanoid, newPlayer) end ) newPlayer.Changed:connect(function(property) onPlayerRespawn(property, newPlayer) end )
|
|
|
| Report Abuse |
|
|
| |
|
| |
|