When I kill the NPC in studio, the console always prints "nil" when I try to get a creator tag. I am using my cursor to click a player/NPC and do damage. What do I have to do so that the server can see who killed another player? If I can get the tag then I should be able to give the cash but nothing I've tried has worked so far.
local Humanoid = script.Parent.Humanoid function Dead() local tag = Humanoid:FindFirstChild("creator") print(tag) if tag ~= nil then if tag.Value ~= nil then local leaderstats = tag.Value:FindFirstChild("leaderstats") if leaderstats ~= nil then leaderstats.Cash.Value += 10 wait() end end end end Humanoid.Died:Connect(Dead)
this is the script inside of the NPC. When I kill it, the console prints "nil" instead of the tag.
local function onPlayerAdded(player) local playerKey = "Player_" .. player.UserId wait() print("User ".. player.UserId.. " Joined") local leaderstats = Instance.new("Folder") leaderstats.Name = "leaderstats" leaderstats.Parent = player local Cash = Instance.new("IntValue") Cash.Name = "Cash" Cash.Parent = leaderstats local myCash local success, err = pcall(function() myCash = CashStore:GetAsync(playerKey) or STARTING_CASH end) if success then Cash.Value = myCash print("loading "..myCash) else print("failed to retrieve data") warn(err) end player.CharacterAdded:Connect(function(character) character:WaitForChild("Humanoid").Died:Connect(function(killed) local tag = character.Humanoid:FindFirstChild("creator") if tag and tag.Value then local stats = tag.Value:WaitForChild("leaderstats") wait() stats["Cash"].Value = stats["Cash"].Value + 15 print(Cash.Value) end end) end) end game.Players.PlayerAdded:Connect(onPlayerAdded)
This is the main script. In this one, you can see I have tried a different approach to printing and changing the cash value but nothing is working. Why is the creator tag not working for me?