The monsterExp function only gets called once. I assume it is because the monster variable gets emptied when to gameObject gets destroyed. Is there any way to work around it. Also, another question, can you make labels update "live" and not after character reset?
monster1 = game.Lighting.Zombies
monster1.Parent = game.Workspace
exp = 0
level = 1
expreq = level*25 + 100
gold = 100
game.StarterGui.StatsGui.Level.Text ="Level: "..level
game.StarterGui.StatsGui.Exp.Text = "Exp: "..exp.."/"..expreq
game.StarterGui.StatsGui.Gold.Text = "Gold: "..gold
monster = workspace.Zombies.Zombie.Zombie
function monsterExp()
print('hej')
if monster.Health <= 0 then
exp = exp + 25
print(exp)
game.StarterGui.StatsGui.Exp.Text = "Exp: "..exp.."/"..expreq
print(game.StarterGui.StatsGui.Exp.Text)
end
end
monster.HealthChanged:connect(monsterExp)

4 comments
Are you making it so when the monster dies, it rewards exp?
Yes
use humanoid.died if the monster has humanoid if not you can add one
is this a script or localscript? and where is the script located?