Donation Board | Downloads

Model: DonationBoardModel.rbxm (8.9 KB)

Server Script:

local DataStoreService = game:GetService("DataStoreService")
local TotalDonatedStore = DataStoreService:GetDataStore("Donated")
local DonatedEvent = game.ReplicatedStorage.PlayerDonated
local MarketPlaceService = game:GetService("MarketplaceService")

local DonateBoard = game.Workspace.DonateBoard

local function Setup()
	TotalDonatedStore:SetAsync("Donated", 0)
end


local function DisplayDonated()
	local TotalDonated = TotalDonatedStore:GetAsync("Donated")
	if TotalDonated == nil then
		Setup()
	else
		DonateBoard.SurfaceGui.Frame.Donated.Text = "DONATED R$: " ..TotalDonated
	end
end

local function Donated(Value)
	local TOtalDonated = TotalDonatedStore:GetAsync("Donated")
	TotalDonatedStore:SetAsync("Donated", TOtalDonated + Value)
	DisplayDonated()
end

DonatedEvent.OnServerEvent:Connect(function(player, Value)
	Donated(Value)
end)

DisplayDonated()

Local Script:

local MarketPlaceService = game:GetService("MarketplaceService")
local Player = game.Players.LocalPlayer
local DonatedEvent = game.ReplicatedStorage.PlayerDonated
local DonateBoard = game.Workspace.DonateBoard

local DeveloperProduct = EDITME
local DeveloperProductPrice = EDITME
DonateBoard.SurfaceGui.Frame.Donate.Text = "R$" ..DeveloperProductPrice

DonateBoard.SurfaceGui.Frame.Donate.MouseButton1Click:Connect(function()
	MarketPlaceService:PromptProductPurchase(Player, DeveloperProduct)
end)

MarketPlaceService.PromptProductPurchaseFinished:Connect(function(PlayerUserId, PurchasedProductId, Purchased)
	if Purchased == true and PurchasedProductId == DeveloperProduct then
		DonatedEvent:FireServer(DeveloperProductPrice)
	end
end)

This topic was automatically closed 1 minute after the last reply. New replies are no longer allowed.