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

Leaderboard is too long! Can someone help?

Asked by 8 years ago
function onPlayerEntered(newPlayer)

    local stats = Instance.new("IntValue")
    stats.Name = "leaderstats"
    stats.Parent = newPlayer

    local kills = Instance.new("IntValue")
    kills.Name = "Tags"
    kills.Value = 0
    kills.Parent = stats

    local Deaths = Instance.new("IntValue")
    Deaths.Name = "Deaths"
    Deaths.Value = 0
    Deaths.Parent = stats   

    local Wins = Instance.new("IntValue")
    Wins.Name = "Wins"
    Wins.Value = 0
    Wins.Parent = stats

    local WeaponNumber = Instance.new("IntValue")
    WeaponNumber.Name = "WeaponNumber"
    WeaponNumber.Value = 1
    WeaponNumber.Parent = newPlayer 

    local PlayingBool = Instance.new("BoolValue")
    PlayingBool.Name = "PlayingBool"
    PlayingBool.Value = false
    PlayingBool.Parent = newPlayer

    local SpawnedBool = Instance.new("BoolValue")
    SpawnedBool.Name = "SpawnedBool"
    SpawnedBool.Value = false
    SpawnedBool.Parent = newPlayer

    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 )

end
function Send_DB_Event_Died(victim, killer)
    local killername = "no one"
    if killer ~= nil then killername = killer.Name end

    if shared["deaths"] ~= nil then 
        shared["deaths"](victim, killer)
    end
end
function Send_DB_Event_Kill(killer, victim)
    if shared["kills"] ~= nil then 
        shared["kills"](killer, victim)
    end
end
function onHumanoidDied(humanoid, player)
    local stats = player:findFirstChild("leaderstats")
    if stats ~= nil then
        local deaths = stats:findFirstChild("Deaths")
        deaths.Value = deaths.Value + 1
        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("Tags")
            if killer ~= player then
                kills.Value = kills.Value + 1

            else
                kills.Value = kills.Value + 0

            end
            Send_DB_Event_Kill(killer, player)
        end
    end
end
game.Players.ChildAdded:connect(onPlayerEntered)

Like 100 lines, bit much, can someone shorten it down

0
That sounds like a request to me. ChemicalHex 979 — 8y
0
I recommend you delete this before someone downvote you or a mod removes it. Acheo 230 — 8y

Answer this question