im trying to make a gui that saves a players data
it only saves my data though
it doesnt save any other players data though
local script
local btn = script.Parent
local plr = game.Players.LocalPlayer
script.Parent.MouseButton1Click:Connect(function()
game.ReplicatedStorage.Reset:FireServer(script.Parent.Parent.Text)
print("Fired")
end)
server script
local ReplicatedStorage = game:GetService("ReplicatedStorage")
local Players = game:GetService("Players")
local ServerScriptService = game:GetService("ServerScriptService")
local DataStore = require(script.MainModule)
local function UpdateLevel(itemName, plr)
DataStore("Level",plr):Set(itemName)
print("Saved")
end
local function UpdateMagic(itemName, plr)
-- This is essentially just getting the data from the player to use for later
DataStore("Magic",plr):Set(itemName)
print("Saved")
end
game.Players.PlayerAdded:Connect(function(plr)
local LvSt = DataStore("Level", plr)
local MSt = DataStore("Magic", plr)
local folder = Instance.new("Folder", plr)
folder.Name = "leaderstats"
local coinval = Instance.new("NumberValue", folder)
coinval.Name = "Level"
coinval.Value = LvSt:Get()
local mg = Instance.new("StringValue", folder)
mg.Name = "Magic"
mg.Value = "None"
if MSt:Get() ~= nil then mg.Value = MSt:Get() end
end)
game.ReplicatedStorage.Reset.OnServerEvent:Connect(function(e,plr)
local LvSt = DataStore("Level", e)
local MSt = DataStore("Magic", e)
local Lv = e.leaderstats.Level
local M = e.leaderstats.Magic
Lv.Value = 0
M.Value = "None"
UpdateLevel(Lv.Value, e)
UpdateMagic(M.Value, e)
end)
game.ReplicatedStorage.LvSave.OnServerEvent:Connect(function(e,plr, val)
local LvSt = DataStore("Level", e)
local Lv = e.leaderstats.Level
Lv.Value = val
UpdateLevel(Lv.Value, e)
end)
game.ReplicatedStorage.MSave.OnServerEvent:Connect(function(plr,e, val)
local MSt = DataStore("Magic", e)
local Lv = e.leaderstats.Magic
Lv.Value = val
UpdateMagic(Lv.Value, e)
end)
this is what i have, what do i do to fix this?