I'm trying to make it so when you click a button, it resets your stage and resets your datastore. I'm a beginner to remote events, so this is probably an easy fix.
Here is my code:
--code in the localscript
local data = game:GetService("DataStoreService"):GetDataStore("Stage")
local ReplicatedStorage = game:GetService("ReplicatedStorage")
local resetDataEvent = ReplicatedStorage:WaitForChild("ResetDataEvent")
script.Parent.MouseButton1Up:connect(function()
game.ReplicatedStorage.ResetDataEvent:FireServer()
end)
--code in script
local function resetData(plr)
print("hi")
plr.leaderstats.Stage.Value = 0
local key = "user_" .. game.Players.Localplayer.userId
data:SetAsync(key, game.Players.Localplayer.leaderstats.Stage.Value)
end
game.ReplicatedStorage.ResetDataEvent.OnServerEvent:connect(resetData)
This code is basically ripped off the wiki. Please help!

1 comment
You're using LocalPlayer in a server (regular) script. LocalPlayer won't work in server scripts, only local scripts.