You can write your topic however you want, but you need to answer these questions:
-
What do you want to achieve? Keep it simple and clear!
I want to make a system where when you get 100 kills, you get a new sword. -
What solutions have you tried so far? Did you look for solutions on the Developer Hub?
Yes, I did. I tried to use"local function SwordGiver(player)if kills == 100 then game.ServerStorage.BlueSword.Parent = player.Backpack "(There’s a leaderboard script on top of that)
I am new to scripting as well as the dev forum so if I did anything wrong, please let me know!
I just need help in checking if the player has the amount of kills required, all in all.
function onHumanoidDied(humanoid, player)
local stats = player:findFirstChild(“leaderstats”)
if stats ~= nil then
local deaths = stats:findFirstChild(“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:findFirstChild(“leaderstats”)
if stats ~= nil then
local kills = stats:findFirstChild(“KOs”)
if killer ~= player then
kills.Value = kills.Value + 1
else
kills.Value = kills.Value - 1
end
end
end
end
local function SwordGiver(player)
if kills == 100 then
game.ServerStorage.BlueSword.Parent = player.Backpack
end
end
Second edit: I just realized I never called the function