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?