The player's level is suppose to increase by 1 when a certain amount of XP is hit. However this does not happen with Filtering Enabled. XP will raise but the player never levels, and the XP does not reset its value either.
First script is a normal script in starter pack
second script is a normal script in server script service.
s = script.Parent
p = s.Parent
c = p.Character
p.Levelss.XP.Changed:connect(function()
if p.Levelss.XP.Value >= p.Levelss.Level.Value * 20 then
game.ReplicatedStorage:WaitForChild("RemoteEvents"):WaitForChild("Level"):FireServer()
end
end)
c.Humanoid.MaxHealth = p.Levelss.Defense.Value * 10 + 100
c.Humanoid.Health = p.Levelss.Defense.Value * 10 + 100
local Event = game.ReplicatedStorage:WaitForChild("RemoteEvents"):WaitForChild("Level")
local function Level(player)
player.Levelss.XP.Value = 0
player.Levelss.Level.Value = player.Levelss.Level.Value + 1
player.Levelss.Defense.Value = player.Levelss.Defense.Value + 1
player.Levelss.CombatDamage.Value = player.Levelss.CombatDamage.Value + 2
player.Levelss.SkillDamage.Value = player.Levelss.SkillDamage.Value + 2
player.Levelss.MaxStamina.Value = player.Levelss.MaxStamina.Value + 1
player.Levelss.MaxEnergy.Value = player.Levelss.MaxEnergy.Value + 1
end
Event.OnServerEvent:Connect(Level)

2 comments
It could just be cut off, but with RemoteEvents/RemoteFunctions, you need to either have FireServer() or FireClient()
It is a cutoff, I have FireServer()