Kill and Assist wont count, but death counts on leaderboard. Help?
KO is not registering as kill. Assist is not registering to leader board too. But death counts and works. Is there something I am missing?
001 | local PlayerManager = { } |
004 | local Players = game.Players |
005 | local PointsService = game:GetService( "PointsService" ) |
008 | local Configurations = require(game.ServerStorage.Configurations) |
009 | local Events = game.ReplicatedStorage.Events |
010 | local ResetMouseIcon = Events.ResetMouseIcon |
011 | local TeamManager = require(script.Parent.TeamManager) |
012 | local DisplayManager = require(script.Parent.DisplayManager) |
015 | local PlayersCanSpawn = false |
016 | local GameRunning = false |
018 | local ScoreArray = { } |
021 | local function OnPlayerAdded(player) |
023 | local leaderstats = Instance.new( "Model" , player) |
024 | leaderstats.Name = "leaderstats" |
026 | local KWA = Instance.new( "StringValue" , leaderstats) |
027 | if Configurations.GRANT_ASSISTS then |
028 | KWA.Name = "KO - WO - A" |
029 | KWA.Value = "0 - 0 - 0" |
035 | ScoreArray [ player ] = { 0 , 0 , 0 } |
037 | TeamManager:AssignPlayerToTeam(player) |
039 | player.CharacterAdded:connect( function (character) |
040 | character:WaitForChild( "Humanoid" ).Died:connect( function () |
041 | PlayerManager:PlayerDied(player) |
042 | wait(Configurations.RESPAWN_TIME) |
044 | player:LoadCharacter() |
049 | if PlayersCanSpawn then |
050 | player:LoadCharacter() |
052 | DisplayManager:StartIntermission(player) |
056 | local function OnPlayerRemoving(player) |
057 | TeamManager:RemovePlayer(player) |
060 | local function UpdatePlayerScore(player) |
061 | local KOString = tostring (ScoreArray [ player ] [ 1 ] ) |
062 | local WOString = tostring (ScoreArray [ player ] [ 2 ] ) |
063 | local AssistString = tostring (ScoreArray [ player ] [ 3 ] ) |
065 | if not Configurations.GRANT_ASSISTS then |
066 | if KOString:len() < WOString:len() then |
067 | while KOString:len() < WOString:len() do |
068 | KOString = " " .. KOString |
071 | while WOString:len() < WOString:len() do |
072 | WOString = WOString .. " " |
075 | player.leaderstats [ "KO - WO" ] .Value = KOString .. " - " .. WOString |
077 | player.leaderstats [ "KO - WO - A" ] .Value = KOString .. " - " .. WOString .. " - " .. AssistString |
082 | function PlayerManager:SetGameRunning(running) |
083 | GameRunning = running |
086 | function PlayerManager:AllowPlayerSpawn(allow) |
087 | PlayersCanSpawn = allow |
090 | function PlayerManager:ClearPlayerScores() |
091 | for _, player in ipairs (Players:GetPlayers()) do |
092 | local leaderstats = player:FindFirstChild( "leaderstats" ) |
095 | if Configurations.GRANT_ASSISTS then |
096 | KWA = leaderstats:FindFirstChild( "KO - WO - A" ) |
098 | KWA.Value = "0 - 0 - 0" |
101 | KWA = leaderstats:FindFirstChild( "KO - WO" ) |
110 | function PlayerManager:LoadPlayers() |
111 | for _, player in pairs (Players:GetPlayers()) do |
112 | player:LoadCharacter() |
116 | function PlayerManager:DestroyPlayers() |
117 | for _, player in pairs (Players:GetPlayers()) do |
118 | player.Character:Destroy() |
119 | for _, item in pairs (player.Backpack:GetChildren()) do |
123 | ResetMouseIcon:FireAllClients() |
126 | function PlayerManager:PlayerHit(hitPlayer, hittingPlayer) |
127 | if hitPlayer = = hittingPlayer then |
131 | if not HitArray [ hitPlayer ] then |
132 | HitArray [ hitPlayer ] = { } |
135 | for i = 1 , #HitArray [ hitPlayer ] do |
136 | if HitArray [ hitPlayer ] [ i ] = = hittingPlayer then |
140 | table.insert(HitArray [ hitPlayer ] , hittingPlayer) |
143 | function PlayerManager:PlayerDied(player) |
144 | if HitArray [ player ] then |
145 | for i = #HitArray [ player ] , 1 , - 1 do |
146 | local hittingPlayer = HitArray [ player ] [ i ] |
147 | if hittingPlayer ~ = player then |
148 | if i = = #HitArray [ player ] then |
149 | ScoreArray [ hittingPlayer ] [ 1 ] = ScoreArray [ hittingPlayer ] [ 1 ] + 1 |
150 | TeamManager:AddTeamScore(hittingPlayer.TeamColor, 1 ) |
151 | spawn( function () pcall ( function () PointsService:AwardPoints(hittingPlayer.userId, Configurations.PLAYER_POINTS_PER_KO) end ) end ) |
153 | ScoreArray [ hittingPlayer ] [ 3 ] = ScoreArray [ hittingPlayer ] [ 3 ] + 1 |
154 | spawn( function () pcall ( function () PointsService:AwardPoints(hittingPlayer.userId, Configurations.PLAYER_POINTS_PER_ASSIST) end ) end ) |
156 | UpdatePlayerScore(hittingPlayer) |
161 | ScoreArray [ player ] [ 2 ] = ScoreArray [ player ] [ 2 ] + 1 |
162 | HitArray [ player ] = nil |
163 | UpdatePlayerScore(player) |
167 | Players.PlayerAdded:connect(OnPlayerAdded) |
168 | Players.PlayerRemoving:connect(OnPlayerRemoving) |