como fazer uma loja no roblox studio

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:

Leave a Reply

O seu endereço de e-mail não será publicado. Campos obrigatórios são marcados com *