I have a level up system but when I stop moving the WalkSpeed immediately resets back to 16 and idk why
heres the module script that makes the Level Up system I have
local Data = {}
local Players = game:GetService("Players")
local player = Players.LocalPlayer
Data.Player_Data = {
["Speed"] = 16,
["Level"] = 1,
["Exp"] = 0,
["ExpNeeded"] = 100,
["Health"] = 100,
["MaxHealth"] = 100
}
function Data.CheckForLevelUp(Player_Data, HitPlayer)
local Character = player.Character
local Humanoid = Character:WaitForChild("Humanoid")
if not Character or not Humanoid then return end
print("Checking for level up...")
print("Current Level: " .. Data.Player_Data["Level"])
if Data.Player_Data["Exp"] ~= Data.Player_Data["ExpNeeded"] then
print("Exp Needed: " .. Data.Player_Data["ExpNeeded"])
end
if Data.Player_Data["Exp"] >= Data.Player_Data["ExpNeeded"] then
print("Level Up!")
Data.Player_Data["Level"] += 1
Data.Player_Data["Exp"] = 0
Data.Player_Data["ExpNeeded"] += 100
print("New Level: " .. Data.Player_Data["Level"])
print("New Exp: " .. Data.Player_Data["Exp"])
print("New Exp Needed: " .. Data.Player_Data["ExpNeeded"])
Humanoid.WalkSpeed = Data.Player_Data["Speed"] + 1
print("New Speed: " .. Humanoid.WalkSpeed)
end
return Player_Data
end
function Data.gainExp(Player_Data, Amount)
print("Exp Gained!")
Data.Player_Data.Exp += 100
Data.CheckForLevelUp(player, Player_Data)
return Player_Data
end
return Data