como ganhar robux grátis

Como criar uma Gamepass de Velocidade no Roblox Studio e Ganhar Robux

Já pensou em monetizar seu jogo no Roblox ,oferecer vantagens exclusivas para os jogadores e ainda ganhar Robux nos seus jogos ? Uma Gamepass de Velocidade é uma ótima forma de deixar o jogo mais dinâmico e ainda ganhar muitos Robux!

Neste post, vou te mostrar passo a passo como criar uma Gamepass que aumenta a velocidade do personagem, configurar o sistema de compras dentro do jogo ,salvar os dados no DataStore,  para que os jogadores mantenham o benefício mesmo após sair do jogo e ainda ganhar muitos Robux!

Se você quer transformar seu jogo em algo ainda mais profissional e lucrativo, vem comigo que eu te ensino tudo! 🎮🔥

GamePass no Roblox - Como ganhar Robux!

Local Script

				
					local Players = game:GetService("Players")
local player = Players.LocalPlayer
local ReplicatedStorage = game:GetService("ReplicatedStorage")
local UpdatePlayData = ReplicatedStorage.UpdatePlayData
local UpEvent = ReplicatedStorage.UpEvent
local ScreenGui = script.Parent
local BtnPlusVelocity = ScreenGui.Frame.BtnPlusVelocity
local BtnPlusCoins = ScreenGui.Frame.BtnPlusCoins

local velocidadeTxt= ScreenGui.Frame.velocidadeTxt
local moedasTxt = ScreenGui.Frame.moedasTxt

local function updateGui(data)
	print(data)
	velocidadeTxt.Text = data.velocidade
	moedasTxt.Text = data.inventory.coins
end

UpdatePlayData.OnClientEvent:Connect(function(data)
	updateGui(data)
end)

BtnPlusCoins.MouseButton1Click:Connect(function()
	UpEvent:FireServer("coins")
end)

BtnPlusVelocity.MouseButton1Click:Connect(function()
	UpEvent:FireServer("velocity")
end)
				
			

Script Service

				
					local DataStoreService = game:GetService("DataStoreService")
local Players = game:GetService("Players")
local playerDataStore = DataStoreService:GetDataStore("PlayerDataStore")
local ReplicatedStorage = game:GetService("ReplicatedStorage")
local UpdatePlayData = ReplicatedStorage.UpdatePlayData
local UpEvent = ReplicatedStorage.UpEvent
local MarketPlaceService = game:GetService("MarketplaceService")

local gamePassId = 2711932819

local defaultPlayerData ={
	player = nil,
	inventory ={coins = 0},
	velocidade = 16
}

local playerData={}


local function addPlayerData(player:Player)
	local playerId = player.UserId
	if not playerData[player.UserId]then
		playerData[playerId]={
			player = playerId,
			inventory = {coins= 0},
			velocidade = 16
		}
		local dataStore = playerDataStore:GetAsync(playerId)
		
		print(dataStore)
		if dataStore then 
			print("Ja tem os dados")
			playerData[playerId] = dataStore
		end
	end
	print(playerData)
	UpdatePlayData:FireClient(player, playerData[player.UserId])
	player.CharacterAdded:Connect(function(character)
		local humanoid = character:WaitForChild("Humanoid")
		if humanoid then
			humanoid.WalkSpeed = playerData[player.UserId].velocidade 
		end
	end)
end

UpEvent.OnServerEvent:Connect(function(player,data)
	if data =="coins" then
		-- gamepass
		--print("aqui no coins")
		MarketPlaceService:PromptProductPurchase(player,gamePassId)
	end
	if data=="velocity" then
		if playerData[player.UserId].inventory.coins >=10 then
			local character = player.Character
			if character then
				local humanoid = character:WaitForChild("Humanoid")
				if humanoid then
					playerData[player.UserId].inventory.coins -= 10
					playerData[player.UserId].velocidade +=10
					humanoid.WalkSpeed= playerData[player.UserId].velocidade
				end
			end
		else
			print("nao tem mais dinheiro")
			-- chamar o servico de compra game passe marketpLace
			MarketPlaceService:PromptProductPurchase(player,gamePassId)
		end
	end
	UpdatePlayData:FireClient(player, playerData[player.UserId])
end)

local function processReceipt(receipt)
	print(receipt)
	
	local player = game.Players:GetPlayerByUserId(receipt.PlayerId)
	if not player then
		return Enum.ProductPurchaseDecision.NotProcessedYet
	end
	
	if receipt.ProductId==gamePassId then
		playerData[receipt.PlayerId].inventory.coins +=100
		
		local dataToSend= {
			inventory = playerData[player.UserId].inventory,
			velocidade = playerData[player.UserId].velocidade
		}
		UpdatePlayData:FireClient(player, dataToSend)
		return Enum.ProductPurchaseDecision.PurchaseGranted
	end
end

MarketPlaceService.ProcessReceipt =processReceipt

Players.PlayerAdded:Connect(function(player)
	
	addPlayerData(player)
end)



Players.PlayerRemoving:Connect(function(player)
	print("Saiu do game")
	--playerDataStore:RemoveAsync(player.UserId)
	--playerData[player.UserId].velocidade = 16
	--playerData[player.UserId].inventory.coins = 30
	playerDataStore:SetAsync(player.UserId, playerData[player.UserId])
end)
				
			

Cursos de Programação no Roblox

E se você quer aprender muito mais sobre programação no Roblox, venha conhecer os cursos da Programação for Kids! 🧑‍💻🚀 Nossos cursos ensinam crianças e adolescentes a criar seus próprios jogos, de forma divertida e didática, preparando os futuros programadores de maneira acessível.

Leave a Reply

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