🧠 Como Criar um Menu GUI de Troca de Personagens no Roblox Studio com StarterPlayer (Passo a Passo)
🎮 Está criando um jogo no Roblox e quer permitir que os jogadores escolham o próprio personagem ou skin? Neste post, você vai aprender como desenvolver um menu de seleção de personagens utilizando StarterPlayer, botões GUI e scripts em Lua!
Essa funcionalidade é ideal para deixar seu jogo mais atrativo e interativo — e o melhor: é fácil de fazer mesmo que você esteja começando agora!
📺 Assista ao vídeo completo:
🎥 Aprenda a criar o MELHOR Menu de Troca de Personagens no Roblox Studio usando StarterPlayer e GUI!
📘 O que você vai aprender:
Criar um menu visual com botões que permite ao jogador trocar de skin.
Adicionar personagens personalizados no
StarterPlayer
.Usar scripts no ServerScriptService e LocalScript para gerenciar a troca de personagens.
Garantir que tudo funcione sem bugs, com uma interface limpa e funcional.
🧩 Códigos utilizados:
🔐 Script do lado do servidor (ServerScriptService) — Gerenciando as trocas de personagem
local ReplicatedStorage = game:GetService("ReplicatedStorage")
local RemoteEvent = ReplicatedStorage:WaitForChild("RemoteEvent")
local StarterPlayer = game:GetService("StarterPlayer")
local Players= game:GetService("Players")
local function changeCharacter(player, characterName)
print(player)
print(characterName)
local characterModel = ReplicatedStorage:FindFirstChild(characterName)
if characterModel then
local existingCharacter = StarterPlayer:FindFirstChild("StarterCharacter")
if existingCharacter then
existingCharacter:Destroy()
end
local newCharacter = characterModel:Clone()
newCharacter.Name = "StarterCharacter"
newCharacter.Parent = StarterPlayer
player:LoadCharacter()
end
end
RemoteEvent.OnServerEvent:Connect(changeCharacter)
🖥️ LocalScript (StarterGui) — Criando os botões do menu e enviando comandos
local ReplicatedStorage = game:GetService("ReplicatedStorage")
local RemoteEvent = ReplicatedStorage:WaitForChild("RemoteEvent")
local ScreenGui = script.Parent
local Frame = ScreenGui.Frame
local FrameOpenGui = ScreenGui.FrameOpenGui
FrameOpenGui.Visible= false
local btnClose = Frame.BtnClose
local btnOpen = FrameOpenGui.BtnOpen
local BtnAstronauta = Frame.BtnAstronauta
local BtnShrek = Frame.BtnShrek
local BtnSpiderMan = Frame.BtnSpiderMan
local BtnGigante = Frame.BtnGigante
btnClose.MouseButton1Click:Connect(function()
Frame.Visible = false
FrameOpenGui.Visible= true
end)
btnOpen.MouseButton1Click:Connect(function()
Frame.Visible = true
FrameOpenGui.Visible = false
end)
BtnShrek.MouseButton1Click:Connect(function()
RemoteEvent:FireServer("Shrek")
end)
BtnGigante.MouseButton1Click:Connect(function()
RemoteEvent:FireServer("Gigante")
end)
BtnSpiderMan.MouseButton1Click:Connect(function()
RemoteEvent:FireServer("SpiderMan")
end)
BtnAstronauta.MouseButton1Click:Connect(function()
RemoteEvent:FireServer("Astronauta")
end)
🚀 Por que isso é importante?
Criar um menu de seleção de personagens dá um ar profissional ao seu jogo e oferece uma experiência personalizada ao jogador. Além disso, é uma ótima forma de aplicar conceitos de programação real com Lua no Roblox Studio!
📚 Quer aprender mais?
👉 Explore nosso curso completo de Roblox com Lua:
🔗 Acesse agora
Nossos cursos são pensados para crianças e adolescentes, com vídeos passo a passo, apostilas, certificados e muito mais!