
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.