Im trying to make a kill streak script, but the script doesn’t work and it doesn’t error eathier.
Does anyone know how im supposed to fix this?
local Players = game.Players
local countDownScript = script:WaitForChild("countDownScript")
Players.PlayerAdded:Connect(function(player)
for i, v in pairs(game.Workspace:GetChildren()) do
if v.Name == player.Name then
local character = v
local h = character:FindFirstChildOfClass("Humanoid")
local creator = Instance.new("StringValue", h)
creator.Name = "creator"
local KillStreak = Instance.new("IntValue", player)
KillStreak.Name = "killStreak"
h.Died:Connect(function()
local playerResponsible = h:WaitForChild("creator").Value
for i, v in pairs(Players:GetChildren()) do
if v.Name == playerResponsible then
local PlayersKillStreak = v:WaitForChild("killStreak")
PlayersKillStreak.Value = PlayersKillStreak.Value + 1
local clonedScript = countDownScript:Clone()
clonedScript.Parent = v
end
end
end)
end
end
end)
local timE = 9
local BadgeService = game:GetService("BadgeService")
if script.Parent:WaitForChild("killStreak") then
local killStreak = script.Parent:WaitForChild("killStreak")
local Audio -- put "Audio ="" and then put in a Sound Id
task.wait(timE)
if killStreak == 1 then
BadgeService:AwardBadge(script.Parent.UserId, 2127194048)
-- You can put Audio:Play() here after you put in a valid sound id
game:GetService("StarterGui"):SetCore("ChatMakeSystemMessgae",{
Text = script.Parent.Name.."Has a 3 Kill Streak in under 9 Seconds!",
Font = Enum.Font.SourceSansBold,
TextSize = 24,
Color = Color3.new(1, 0.172549, 0.172549),
})
else
script.Parent:Destroy()
end
end
Your script doesn’t find the character because it only looks when the player first joins the game, and doesnt have a character. To fix it you should use player.CharacterAdded
local Players = game.Players
local countDownScript = script:WaitForChild("countDownScript")
Players.CharacterAdded:Connect(function(player)
for i, v in pairs(game.Workspace:GetChildren()) do
if v.Name == player.Name then
local character = v
local h = character:FindFirstChildOfClass("Humanoid")
local creator = Instance.new("StringValue", h)
creator.Name = "creator"
local KillStreak = Instance.new("IntValue", player)
KillStreak.Name = "killStreak"
h.Died:Connect(function()
local playerResponsible = h:WaitForChild("creator").Value
for i, v in pairs(Players:GetChildren()) do
if v.Name == playerResponsible then
local PlayersKillStreak = v:WaitForChild("killStreak")
PlayersKillStreak.Value = PlayersKillStreak.Value + 1
local clonedScript = countDownScript:Clone()
clonedScript.Parent = v
end
end
end)
end
end
end)
local Players = game.Players
local countDownScript = script:WaitForChild("countDownScript")
Players.PlayerAdded:Connect(function(player)
Players.CharacterAdded:Connect(function(char)
local character = char
local h = character:FindFirstChildOfClass("Humanoid")
local creator = Instance.new("StringValue", h)
creator.Name = "creator"
local KillStreak = Instance.new("IntValue", player)
KillStreak.Name = "killStreak"
h.Died:Connect(function()
local playerResponsible = h:WaitForChild("creator").Value
for i, v in pairs(Players:GetChildren()) do
if v.Name == playerResponsible then
local PlayersKillStreak = v:WaitForChild("killStreak")
PlayersKillStreak.Value = PlayersKillStreak.Value + 1
local clonedScript = countDownScript:Clone()
clonedScript.Parent = v
end
end
end)
end)
end)