
Como fazer uma Barra de XP no Roblox Studio
Aula de Roblox : Aprenda a Fazer Barra de XP
Se você quer deixar seu jogo mais viciante e divertido, adicionar uma barra de XP é essencial! 📈✨ Neste post, você vai aprender como criar uma barra de experiência do zero no Roblox Studio, com um sistema que aumenta a dificuldade a cada nível! Além disso, vou te mostrar os scripts completos para que a barra cresça de forma animada e acompanhe o progresso do jogador. 🚀
💡 O que você vai aprender:
✅ Como calcular o XP necessário para subir de nível
✅ Como fazer a barra de XP crescer de forma suave e animada
✅ Como configurar um sistema de progressão inteligente
E o melhor: vou deixar tudo pronto para você copiar e usar no seu jogo! 🎯🔥
Assista à vídeo-aula abaixo e confira os scripts completos! ⬇️
Assista a Aula de Roblox : Barra de XP e level em 5 passos
Vamos deixar seu jogo mais divertido e desafiador? Então você precisa de uma barra de XP animada!
Nesta aula, você vai aprender passo a passo como criar um sistema de XP no Roblox Studio, onde a barra cresce conforme o jogador ganha experiência e reseta ao subir de nível. Além disso, vamos programar uma lógica que aumenta a dificuldade a cada nível!
Assista à videoaula abaixo e aprenda na prática! Além do vídeo, também disponibilizamos os scripts para você copiar e usar no seu jogo. Bora codar?
Script Server : Barra de XP
local Players = game:GetService("Players")
local ReplicatedStorage = game:GetService("ReplicatedStorage")
local RemoteEvent = ReplicatedStorage.RemoteEvent
local Zombies = game.Workspace.ZombiesFolder:GetChildren()
local PlayerData={}
local function calcularXPParaProximoLevel(level)
local xpBase = 100
local xpNecessario= xpBase * (2 ^( level -1))
return xpNecessario
end
local function adicionarPontosXP (id, pontos)
PlayerData[id].xp += pontos
print(PlayerData)
while PlayerData[id].xp >= calcularXPParaProximoLevel(PlayerData[id].level) do
local xpNecessario = calcularXPParaProximoLevel(PlayerData[id].level)
PlayerData[id].level = PlayerData[id].level + 1
PlayerData[id].xp -= xpNecessario
print("------ removeu o xp e passou de level")
print(PlayerData)
end
local data = {
xp = PlayerData[id].xp,
level = PlayerData[id].level,
maxXP = calcularXPParaProximoLevel(PlayerData[id].level)
}
local player = Players:GetPlayerByUserId(id)
RemoteEvent:FireClient(player, data)
end
for _, zombie in ipairs(Zombies) do
local Humanoid:Humanoid = zombie.Humanoid
Humanoid.HealthChanged:Connect(function()
print("mudou vida")
local lastAttacker = Humanoid:FindFirstChild("creator")
if lastAttacker then
print(lastAttacker.Value)
local player = lastAttacker.Value
adicionarPontosXP(player.UserId, 20)
end
end)
end
Players.PlayerAdded:Connect(function(player)
PlayerData[player.UserId]={
xp=0,
level=1
}
end)
Local Script Barra de XP
local ReplicatedStorage = game:GetService("ReplicatedStorage")
local RemoteEvent = ReplicatedStorage.RemoteEvent
local Player = game.Players.LocalPlayer
local TweenService = game:GetService("TweenService")
local ScreenGui = script.Parent
local Frame = ScreenGui.Frame
local level = Frame.Level
local XP = Frame.XP
local XPBar = Frame.OutBar.XPBar
local function updateXPBar(xp, maxXP)
local size = xp/maxXP
local targetSize = UDim2.new(size, 0 ,1,0)
local tweenIfo = TweenInfo.new(
0.5,
Enum.EasingStyle.Quad,
Enum.EasingDirection.Out
)
local tween = TweenService:Create(XPBar, tweenIfo, {Size = targetSize})
tween:Play()
end
RemoteEvent.OnClientEvent:Connect(function(data)
print(data)
local xp = data.xp
local MaxXP= data.maxXP
level.Text = "Level :" .. data.level
XP.Text = xp .. "/"..MaxXP
updateXPBar(xp, MaxXP)
end)
Conheça nossos Cursos de Programação em Jogos
🚀 Aproveite e leve suas habilidades para o próximo nível!
Se você curtiu essa aula e quer aprender muito mais sobre programação no Roblox, conheça nossos cursos de programação para crianças e adolescentes! No Programação for Kids, você aprende a criar seus próprios jogos do zero, usando Lua e Roblox Studio, de forma prática e divertida.