You can write your topic however you want, but you need to answer these questions:
-
What do you want to achieve?
A script that fires a remote event when a text button is pressed, and the remote event to add 100 dollars to my leaderboard then data save. -
What is the issue?
Everything is perfect, but the data save isn’t working. -
What solutions have you tried so far?
Using data save was my original solution to local scripts not using data save, but I have tried to google it.
Local script or text button script.
local Players = game:GetService("Players")
local playerGui = Players.LocalPlayer.PlayerGui
local button = playerGui:WaitForChild("ScreenGui").TextButton
local player = game.Players.LocalPlayer
button.MouseButton1Click:Connect(function()
game.ReplicatedStorage.MoneyEvent:FireServer()
end)
Server Script or data saving script.
local ReplicatedStorage = game:GetService("ReplicatedStorage")
local Players = game:GetService("Players")
local player = game.Players.LocalPlayer
local datastore = game:GetService("DataStoreService"):GetDataStore("SaveData")
local createEvent = Instance.new("RemoteEvent")
createEvent.Name = "MoneyEvent"
createEvent.Parent = ReplicatedStorage
local function onMoneyEventFired()
player.leaderstats.Money.Value = player.leaderstats.Money.Value + 100
datastore:GetAsync("id_"..player.UserId, {player.leaderstats.Money.Value, player.leaderstats.Rebirths.Value})
end
createEvent.OnServerEvent:Connect(onMoneyEventFired)
Everything in the script works fine but the data save. If you see something wrong like “money”, “MoneyEvent”, or “createEvent” named to something else thats because I changed it to make my script more universal for the dev forum.