Hey! I am making an emote shop system and have ran into a trouble I can’t seem to find a fix for online. I need to check the emotes status (as in if it’s owned or not my the player) and need to run a function every time the player spawns problem is, I can’t seem to get a CharacterAdded function to work, nor any other substitutes I’ve tried (like workspace.ChildAdded). I would really really appreciate some help with this, thanks.
local price = 100 local player = game.Players.LocalPlayer local char = player.Character local inv = player:WaitForChild("EmoteInventory") local equipInv = player:WaitForChild("EquippedEmote") local button = script.Parent local ls = player:WaitForChild("leaderstats") local goins = ls:WaitForChild("Goins") local emote = game.ReplicatedStorage.Emotes.TestEmote.Emote status = "nil" local function recheck() if emote.Parent == inv then button.Text = "EQUIP" status = "owned" end if emote.Parent == equipInv then button.Text = "UNEQUIP" status = "equipped" end if emote.Parent == game.ReplicatedStorage.Emotes.TestEmote then button.Text = "PURCHASE" status = "unowned" end end player.CharacterAdded:Connect(function() recheck() end) button.Activated:Connect(function() if status == "unowned" then print("DOne") if goins.Value >= 100 then goins.Value = goins.Value - 100 emote.Parent = inv status = "owned" recheck() end end end)