Como Criar uma Loja no Roblox Studio (SHOP) – Venda Itens e Personalize Seu Jogo
Se você quer levar o seu jogo no Roblox para o próximo nível, adicionar uma loja (SHOP) dentro do seu jogo pode ser uma excelente ideia! Nesse tutorial, vamos ensinar como criar uma loja no Roblox Studio, onde os jogadores podem comprar itens, upgrades e personalizações usando Robux ou moeda do jogo. Vamos abordar desde a criação da interface da loja até a programação de sua funcionalidade. Ao final, você terá uma loja totalmente funcional que vai aumentar a interação e a imersão do jogador no seu jogo. E não se esqueça de conferir nossos cursos de programação de Roblox para aprender a criar jogos incríveis, como este!.
🎬 Veja o Passo a Passo em Vídeo de como fazer uma Loja no Roblox Studio
No vídeo de hoje, você vai aprender como criar uma loja (SHOP) dentro do seu jogo no Roblox Studio. Vou te guiar passo a passo para adicionar uma interface de loja, onde os jogadores podem comprar itens, skins, armas ou qualquer item especial, utilizando Robux ou moeda do jogo. Acompanhe o vídeo, siga o passo a passo e descubra como personalizar ainda mais sua loja no Roblox Studio. E para ir além, temos cursos e apostilas que ensinam como programar seus próprios jogos no Roblox! Confira abaixo..
📜 Scripts da Loja no Roblox Prontos para Usar
Aqui estão os scripts utilizados no vídeo. Mas lembre-se: não basta copiar! Acompanhe o vídeo para entender como tudo funciona direitinho..
Script Server Script Server
local ReplicatedStorage = game:GetService("ReplicatedStorage")
local RemoteEvent = ReplicatedStorage.RemoteEvent
local Players = game:GetService("Players")
local ServerStorage = game:GetService("ServerStorage")
local MarketPlaceService = game:GetService("MarketplaceService")
local productId = 2676251236
local playerdata={
}
local function createPlayerData(player)
local data ={
playerName = player.Name,
coins = 100,
itens={}
}
return data
end
Players.PlayerAdded:Connect(function(player)
playerdata[player.UserId] = createPlayerData(player)
print(playerdata)
RemoteEvent:FireClient(player, playerdata[player.UserId]["coins"])
end)
local function buyItem(player, data)
print(playerdata[player.UserId])
print(data)
local dataPlayer = playerdata[player.UserId]
if data[2] <= dataPlayer["coins"] then
print("tem dinheiro")
dataPlayer["coins"] = dataPlayer["coins"] - data[2]
RemoteEvent:FireClient(player, playerdata[player.UserId]["coins"])
local produtoComprado = ServerStorage:FindFirstChild(data[1]):Clone()
print(produtoComprado)
produtoComprado.Parent= player:FindFirstChild("Backpack")
else
print("não tem dinheiro")
MarketPlaceService:PromptProductPurchase(player, productId)
end
end
RemoteEvent.OnServerEvent:Connect(function(player,data)
--print(player,data)
buyItem(player,data)
end)
MarketPlaceService.ProcessReceipt = function(receiptInfo)
print("Comprou")
print(receiptInfo)
local player = Players:GetPlayerByUserId(receiptInfo.PlayerId)
if player then
playerdata[player.UserId]["coins"]=
playerdata[player.UserId]["coins"] + 200
RemoteEvent:FireClient(player, playerdata[player.UserId]["coins"])
return Enum.ProductPurchaseDecision.PurchaseGranted
end
return Enum.ProductPurchaseDecision.NotProcessedYet
end
Script LocalScript
local ReplicatedStorage = game:GetService("ReplicatedStorage")
local RemoteEvent = ReplicatedStorage.RemoteEvent
local ScreenGui = script.Parent
local FrameProducts = ScreenGui.FrameProducts:GetChildren()
local FrameMoedas = ScreenGui.FrameMoedas
local MoedasTxt = FrameMoedas.TextLabel
local CloseBtn = ScreenGui.CloseBtn
local BtnShop = ScreenGui.FrameBtn.TextButton
local FrameProductsGui = ScreenGui.FrameProducts
for i,frame in pairs (FrameProducts) do
--print(frame)
if frame:IsA("Frame")then
local FrameButton = frame:GetChildren()
local button:ImageButton = FrameButton[1]
local text:TextLabel= FrameButton[2]
text.Text= button:GetAttribute("price")
button.MouseButton1Click:Connect(function()
print(button.Name, button:GetAttribute("price"))
RemoteEvent:FireServer({button.Name, button:GetAttribute("price")})
end)
end
end
RemoteEvent.OnClientEvent:Connect(function(data)
print("recebi as moedas")
print(data)
MoedasTxt.Text = data
end)
CloseBtn.MouseButton1Click:Connect(function()
FrameProductsGui.Visible= false
CloseBtn.Visible = false
end)
BtnShop.MouseButton1Click:Connect(function()
FrameProductsGui.Visible = true
CloseBtn.Visible = true
end)
🚀 Quer Aprender a Criar Seus Próprios Jogos no Roblox?
Nos nossos cursos de programação para crianças e adolescentes, você aprende de forma divertida, com apostilas, quizzes, certificados e aulas passo a passo usando o Roblox Studio.
👉 Acesse agora: https://programacaoforkids.com.br/cursos/
🎥 Conheça Nosso Canal no YouTube!
Aprenda a programar no Roblox de forma simples e divertida com nossos vídeos passo a passo.
Inscreva-se no canal e acompanhe novas aulas toda semana!
👉 Acesse: https://www.youtube.com/@programacaoforkids
🧠 Aprenda Mais com Nossas Aulas
Se você curtiu essa aula, com certeza vai gostar desses outros tutoriais:
Como Fazer um Jogo em Primeira Pessoa no Roblox Studio
Aprenda a configurar a câmera e os controles para criar uma experiência imersiva em primeira pessoa no seu jogo.🥊 Como Criar Socos Múltiplos no Roblox Studio
Descubra como programar ataques com animações de soco, colisão com inimigos e efeitos visuais..Como Fazer uma BillboardGui no Roblox Studio
Veja como mostrar texto flutuante com nomes, moedas ou informações acima do jogador usando BillboardGui.