Como Fazer Pontos de Stats igual do Blox Fruits
Local Script
local ReplicatedStorage = game:GetService("ReplicatedStorage")
local UpdateStats = ReplicatedStorage.UpdateStats
local ScreenStats = script.Parent.ScreenStats
local ScreenBtns = script.Parent.ScreenGuiBtns
local FrameStats = ScreenStats.FrameContain
local BtnStats = ScreenBtns.Frame.BtnStats
local CloseStats = FrameStats.CloseStats
local FrameStatsPoints= FrameStats.FrameStatsPoints
local StatsValue = FrameStatsPoints.StatsValue
local FrameList = FrameStats.FrameList
local FrameVelocity = FrameList.FrameGridVelocidade
local VelocityValue = FrameVelocity.VelocityValue
local BtnPlusVelocity = FrameVelocity.BtnPlusVelocity
local FrameGridJump = FrameList.FrameGridJump
local BtnPlusJump = FrameGridJump.BtnPlusJump
local JumpValue = FrameGridJump.JumpValue
local dataPlayer={}
BtnStats.MouseButton1Up:Connect(function()
FrameStats.Visible=true
end)
CloseStats.MouseButton1Up:Connect(function()
FrameStats.Visible=false
end)
BtnPlusVelocity.MouseButton1Up:Connect(function()
UpdateStats:FireServer({stats="velocity", value=1})
end)
BtnPlusJump.MouseButton1Up:Connect(function()
UpdateStats:FireServer({stats="jump", value=1})
end)
UpdateStats.OnClientEvent:Connect(function(data)
print("Recebi no client")
print(data)
dataPlayer = data
StatsValue.Text = data.points
VelocityValue.Text=data.velocity
JumpValue.Text=data.jump
end)
ServerScript
local Players = game:GetService("Players")
local PlayerData={}
local ReplicatedStorage = game:GetService("ReplicatedStorage")
local UpdateStats = ReplicatedStorage.UpdateStats
local function changeUpdateStats(player,data)
local itemSkill= data.stats
if PlayerData[player.UserId].points>=data.value then
PlayerData[player.UserId].points -= data.value
PlayerData[player.UserId][data.stats] += data.value
UpdateStats:FireClient(player, PlayerData[player.UserId])
end
end
UpdateStats.OnServerEvent:Connect(function(player, data)
print(data)
changeUpdateStats(player,data)
local character = player.Character
local humanoid = character:FindFirstChild("Humanoid")
if humanoid then
humanoid.WalkSpeed = PlayerData[player.UserId].velocity
humanoid.JumpPower= PlayerData[player.UserId].jump
end
end)
Players.PlayerAdded:Connect(function(player)
PlayerData[player.UserId]={
points = 100,
velocity = 16,
power = 10,
jump = 50,
health = 100
}
print(PlayerData)
UpdateStats:FireClient(player,PlayerData[player.UserId])
end)
Curso de Roblox
Olá, bem-vindo de volta!