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

How to make a creator tag on kill?

Asked by 3 years ago

I am trying to track the kills in my game to reward players with money but I can't get the creator tag to print an actual tag, it's always nil. I made my own weapon with a copied tag and untag method from a roblox sword. I put it in the dealdamage server script. What am I doing wrong?

function TagHumanoid(humanoid, player)
    local Creator_Tag = Instance.new("ObjectValue")
    Creator_Tag.Name = "creator"
    Creator_Tag.Value = player
    game:GetService("Debris"):AddItem(Creator_Tag, 2)
    Creator_Tag.Parent = humanoid
end

function UntagHumanoid(humanoid)
    for i, v in pairs(humanoid:GetChildren()) do
        if v:IsA("ObjectValue") and v.Name == "creator" then
            v:Destroy()
        end
    end
end

script.Parent.DealDamage.OnServerEvent:Connect(function(player, Target, Damage)
    UntagHumanoid(Target)
    TagHumanoid(Target, player)
    Target.Humanoid:TakeDamage(Damage)
end)

game.Players.PlayerAdded:Connect(TagHumanoid)
game.Players.PlayerAdded:Connect(UntagHumanoid)

this is the damage script above.

local char = script.Parent
local hum = char:WaitForChild("Humanoid")

hum.Died:Connect(function()
    local tag = hum:FindFirstChild("creator")
    print(tag)
    if tag then 
        local player = tag.Value
        local Cash = player.leaderstats.Cash
        Cash.Value = Cash.Value + 10
    end
end)

this is the server script inside the NPC I am testing with.

Again, the console always prints the tag as nil. Any help would be massively appreciated!

Answer this question