I'm making a sword that once you kill someone with it you receive points. For some reason it only works with linked swords and not my custom sword. Please help, thank you!
Sword code, Located in the blade of the sword: Local script
wait(0.01) local CanDamage = true local plr = game.Players.LocalPlayer local function tagHumanoid(humanoid, player) local creator_tag = Instance.new("ObjectValue") creator_tag.Value = player creator_tag.Name = "creator" creator_tag.Parent = humanoid end local function untagHumanoid(humanoid) if humanoid ~= nil then local tag = humanoid:FindFirstChild("creator") if tag ~= nil then tag.Parent = nil end end end while true do wait(0.01) script.Parent.Touched:connect(function(hum) if hum and hum.Parent:FindFirstChild("Humanoid") then if CanDamage == true then tagHumanoid(hum, plr) CanDamage = false hum.Parent.Humanoid:TakeDamage(10) plr.swordlvl.Value = plr.swordlvl.Value + 2 wait(0.8) untagHumanoid(hum) CanDamage = true end end end) end
Point giver script, Located in workspace: Script:
game.Players.PlayerAdded:connect(function(p) p.CharacterAdded:connect(function(c) c.Humanoid.Died:connect(function() local cv = c.Humanoid:findFirstChild("creator") if cv then local k = cv.Value if k and k ~= p then k.leaderstats.Bounty.Value = k.leaderstats.Bounty.Value+150 end end end) end) end)
Leaderboard script, Located in ServerScriptService (just in case this is needed): Script:
function playerAdded(plr) local stats = Instance.new("IntValue", plr) stats.Name = "leaderstats" local bounty = Instance.new("IntValue", stats) bounty.Name = "Bounty" bounty.Value = 0 local level = Instance.new("IntValue", stats) level.Name = "Level" level.Value = 1 local exp = Instance.new("IntValue", plr) exp.Name = "exp" exp.Value = 0 local money = Instance.new("IntValue", stats) money.Name = "Gold" money.Value = 0 local max = Instance.new("IntValue", plr) max.Name = "maxexp" max.Value = 5 local swordlvl = Instance.new("IntValue", plr) swordlvl.Name = "swordlvl" swordlvl.Value = 0 local swordlvlmain = Instance.new("IntValue", plr) swordlvlmain.Name = "swordlvlmain" swordlvlmain.Value = 0 local swordlvlmax = Instance.new("IntValue", plr) swordlvlmax.Name = "swordlvlmax" swordlvlmax.Value = 5 end game.Players.PlayerAdded:connect(playerAdded)
Soooo sorry for the long post :(