it happend in Roblox Studio Testing when this code run at this point instead of increase Agility.Value by 1 it increase base on player in the server
Ex if there are 3 player the Agility.Value is increase by 3 instead of 1
----------------------------Server Script--------------------------------------
local DataStoreService = game:GetService("DataStoreService") local MyDataStore = DataStoreService:GetDataStore("MyDataStore")
game.Players.PlayerAdded:Connect(function(player)
local PlayerStat = Instance.new("Folder")
PlayerStat.Name = "PlayerStat"
PlayerStat.Parent = player
local Agility = Instance.new("IntValue")
Agility.Name = "Agility"
Agility.Parent = PlayerStat
Agility.Value =0
local Strength = Instance.new("IntValue")
Strength.Name = "Strength"
Strength.Parent = PlayerStat
Strength.Value =0
local playerUserId ="Player_"..player.UserId
local data
local success, errormessage = pcall(function()
data = MyDataStore:GetAsync(playerUserId)
end)
if success then
if data ~= nil then
Strength.Value = data.Strength
Agility.Value = data.Agility
else
Strength.Value = 0
Agility.Value = 0
end
print("Load success")
else
print("Saved is F")
print(warn)
end
game.ReplicatedStorage.Agilityplus.OnServerEvent:Connect(function(Player)
Player.PlayerStat.Agility.Value += 1
end)
game.ReplicatedStorage.Strengthplus.OnServerEvent:Connect(function(Player)
Player.PlayerStat.Strength.Value += 1
end)
end)
game.Players.PlayerRemoving:Connect(function(player) local playerUserId ="Player_"..player.UserId print(playerUserId)
local data = {
Agility = player.PlayerStat.Agility.Value;
Strength = player.PlayerStat.Strength.Value;
}
print(data)
local success, errormessage = pcall(function()
MyDataStore:SetAsync(playerUserId,data)
end)
if success then
print("Saved")
else
print("data is screw")
print(warn)
end
end) ----------------------------Client Script-------------------------------------- local player = game.Players.LocalPlayer local Agility = player:WaitForChild("PlayerStat").Agility local TextLable = script.Parent local buttonplus = script.Parent.Parent.Plus
buttonplus.MouseButton1Click:Connect(function() game.ReplicatedStorage.Agilityplus:FireServer(player) end)
TextLable.Text ="AGI: "..Agility.Value..""
Agility.Changed:Connect(function() TextLable.Text ="AGI: "..Agility.Value.."" end)

1 comment
Move your OnServerEvents outside of your PlayerAdded.