local level = game:GetService("DataStoreService"):GetDataStore("Levels")
local xp = game:GetService("DataStoreService"):GetDataStore("XP")
local axp = game:GetService("DataStoreService"):GetDataStore("AXP") -- amount of XP Needed
function savedata(dataname, playerid, value)
game:GetService("DataStoreService"):GetDataStore(dataname):SetAsync(playerid, value)
end
game.Players.PlayerAdded:connect(function(player)
local leader = Instance.new("Folder")
leader.Name = "leaderstats"
leader.Parent = player
local levelz = Instance.new("IntValue")
levelz.Value = level:GetAsync(tostring(player.userId)) or 1
levelz.Name = "Level"
levelz.Parent = player:WaitForChild("leaderstats")
local xpz = Instance.new("NumberValue")
xpz.Value = xp:GetAsync(tostring(player.userId))
xpz.Name = "XP"
xpz.Parent = player
local xpn = Instance.new("IntValue")
xpn.Value = axp:GetAsync(tostring(player.userId)) or 700
xpn.Name = "XpNeeded"
xpn.Parent = player
xpz.Changed:connect(function()
if player:WaitForChild("XP").Value >= player:WaitForChild("XpNeeded").Value then
levelz.Value = levelz.Value+1
xpn.Value = xpn.Value+700
savedata("Levels",player.userId,levelz.Value)
savedata("XP",player.userId,xpz.Value)
savedata("AXP",player.userId,xpn.Value)
else
savedata("Levels",player.userId,levelz.Value)
savedata("XP",player.userId,xpz.Value)
savedata("AXP",player.userId,xpn.Value)
end
end)
end)
game.Players.PlayerRemoving:connect(function(player)
savedata("Levels",player.userId,player.leaderstats.Level.Value)
savedata("EXP",player.userId.player.EXP.Value)
savedata("AXP",player.userId.player.XpNeeded.Value)
end)
COMMUNITY QUESTION
How do I make this work with filtering enabled?
0 answers
No public answers were preserved for this question.
This discussion is preserved as it was. New answers, comments, and votes are closed.

3 comments
If this is a server script, Filtering should not affect it.
But it does.
How exactly do you think FE affects this script? What happens differently?