How i can make a donation notification system?

I want to make it so that when someone donates 1000 Robux to my game, it will notify everyone in the chat. Do you know how I can do it? I appreciate any help you can provide.

7 Likes

можешь заделать какой та придем сваей игре которые что то дать.

какиет плюшки

2 Likes

After a player purchases the 1000 Robux product/gamepass, use the ProcessReceipt callback to determine if the transaction did go through correctly and add in a remote event that fires to all clients.

Then on the Local Script that will receive the remote event’s call, create your own notification system (TextLabel, chat message, etc.)

4 Likes

for the chat local script when you’ve fired the remote, you can do something like in this video:

2 Likes

Just search a bit, there are some post on google that tells you how to do this

2 Likes

I’ve been looking for this for days but haven’t found anything.

2 Likes

Edited
Tried the tutorial and it is too old to work

3 Likes

I have a script that verifies a purchase using a process receipt. about the event, instead of the chat saying the nickname of the person who donated, the chat says the nicknames of all players and then “donated 1000 Robux”
but not the nickname of the player who donated.

3 Likes
local MPS = game:GetService ("Marketplaceservice")
MPS.ProcessReceipt = function(receiptinfo)
	if receiptinfo.productId == ProductIdHere then
		local player = game. Players: GetPlayerByUserId(receiptinfo.Playerid) --You can get the player with the receiptinfo

    end
end
4 Likes

here my scripts

local MPS = game:GetService("MarketplaceService")
local TweenService = game:GetService("TweenService")
local InfoTween = TweenInfo.new(0.3)
local Players = game:GetService("Players")

local PlaySound = game.SoundService.SoundGroup:WaitForChild("Money")

local DonoEvent = game.ReplicatedStorage:WaitForChild("DonoMessage")

local SoundList = {
	
	game.SoundService.SoundGroup:WaitForChild("OMG OMG AHHHHHHHHHHHHHHH"),
	game.SoundService.SoundGroup:WaitForChild("AIRHORN!!!"),
	game.SoundService.SoundGroup:WaitForChild("Exploding Toilet Meme"),
	game.SoundService.SoundGroup:WaitForChild("snoring meme ###### (128 kbps)"),
	game.SoundService.SoundGroup:WaitForChild("the_rock_meme_"),
	
}

local SoundList2 = {

	game.Workspace.Songs:WaitForChild("Chillin at Home (alternate without fx)"),
	game.Workspace.Songs:WaitForChild("I'll Show Ya"),
	game.Workspace.Songs:WaitForChild("Light Dreamer"),
	game.Workspace.Songs:WaitForChild("Moving Round The Block"),
	game.Workspace.Songs:WaitForChild("No Smoking"),
	game.Workspace.Songs:WaitForChild("On The Verge"),
	game.Workspace.Songs:WaitForChild("Real Lo Fi Rap"),
	game.Workspace.Songs:WaitForChild("Sunday In Bed"),
	game.Workspace.Songs:WaitForChild("Sunset Chill (Bed Version)"),
	game.Workspace.Songs:WaitForChild("Time Goes By")
	
}

local ProductFunc = {
	
	[1631365225] = function(player)
		
		player.DonationFolder.DonationValue.Value += 1000
		
		SoundList[1]:Play()
		DonoEvent:FireAllClients()
		
		for _, song in pairs(SoundList2) do

			TweenService:Create(song, InfoTween, {Volume = 0.2}):Play()

			SoundList[1].Ended:Connect(function()

				TweenService:Create(song, InfoTween, {Volume = 0.5}):Play()

			end)

		end
		
	end,
	
	[1631363322] = function(player)
		
		player.DonationFolder.DonationValue.Value += 100
		
		SoundList[2]:Play()
		
		for _, song in pairs(SoundList2) do

			TweenService:Create(song, InfoTween, {Volume = 0.2}):Play()

			SoundList[2].Ended:Connect(function()

				TweenService:Create(song, InfoTween, {Volume = 0.5}):Play()

			end)

		end
		
	end,
	
	[1631362725] = function(player)
		
		player.DonationFolder.DonationValue.Value += 50
		
		SoundList[3]:Play()
		
		for _, song in pairs(SoundList2) do

			TweenService:Create(song, InfoTween, {Volume = 0.2}):Play()

			SoundList[3].Ended:Connect(function()

				TweenService:Create(song, InfoTween, {Volume = 0.5}):Play()

			end)

		end
		
	end,
	
	[1631360256] = function(player)
		
		player.DonationFolder.DonationValue.Value += 25
		
		SoundList[4]:Play()
		
		for _, song in pairs(SoundList2) do

			TweenService:Create(song, InfoTween, {Volume = 0.2}):Play()

			SoundList[4].Ended:Connect(function()

				TweenService:Create(song, InfoTween, {Volume = 0.5}):Play()

			end)

		end
		
	end,
	
	[1631318719] = function(player)
		
		player.DonationFolder.DonationValue.Value += 10
		
		SoundList[5]:Play()
		
		for _, song in pairs(SoundList2) do

			TweenService:Create(song, InfoTween, {Volume = 0.2}):Play()

			SoundList[5].Ended:Connect(function()

				TweenService:Create(song, InfoTween, {Volume = 0.5}):Play()

			end)

		end
		
	end,
	
}

local function purshaceFinished(receiptInfo)
	
	local player = Players:GetPlayerByUserId(receiptInfo.PlayerId)
	
	if not player then
		
		warn("Error: Player not be found.")
		
		return Enum.ProductPurchaseDecision.NotProcessedYet
		
	end
	
	local success = pcall(ProductFunc[receiptInfo.ProductId], player)
	
	if not success then
		
		warn("Function stopped.")
		
		return Enum.ProductPurchaseDecision.NotProcessedYet
		
	end
	
	PlaySound:Play()
	
	return Enum.ProductPurchaseDecision.PurchaseGranted
	
end

MPS.ProcessReceipt = purshaceFinished

this script from ServerScriptService

local StarterGUI = game:GetService("StarterGui")
local DonoMessage = game.ReplicatedStorage:WaitForChild("DonoMessage")
local Player = game.Players.LocalPlayer


DonoMessage.OnClientEvent:Connect(function()

	StarterGUI:SetCore("ChatMakeSystemMessage",{

		Text = Player.Name.." Donated 1000 robux!";
		Color = Color3.fromRGB(255, 255, 0);
		Fontt = Enum.Font.SourceSansBold;
		FontSize = Enum.FontSize.Size32;

	})

end)

this script from StarterGUI

3 Likes

On the Server script, when you fire all clients, add the donator’s name as argument then use it on the local script

2 Likes

This will be something like the following: (i added the argument)

local StarterGUI = game:GetService("StarterGui")
local DonoMessage = game.ReplicatedStorage:WaitForChild("DonoMessage")
local Player = game.Players.LocalPlayer


DonoMessage.OnClientEvent:Connect(function(ArgumentHere)

	StarterGUI:SetCore("ChatMakeSystemMessage",{

		Text = ArgumentHere.." Donated 1000 robux!";
		Color = Color3.fromRGB(255, 255, 0);
		Fontt = Enum.Font.SourceSansBold;
		FontSize = Enum.FontSize.Size32;

	})

end)
3 Likes

and on server side:
https://gyazo.com/f46c8524ac318987e0ce5c896a7aa4bb

DonoEvent:FireAllClients(player.Name)
3 Likes

yes, everything is working. Thank you🙂

3 Likes

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