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.
можешь заделать какой та придем сваей игре которые что то дать.
какиет плюшки
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.)
Just search a bit, there are some post on google that tells you how to do this
I’ve been looking for this for days but haven’t found anything.
Edited
Tried the tutorial and it is too old to work
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.
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
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
On the Server script, when you fire all clients, add the donator’s name as argument then use it on the local script
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)
and on server side:
https://gyazo.com/f46c8524ac318987e0ce5c896a7aa4bb
DonoEvent:FireAllClients(player.Name)
yes, everything is working. Thank you🙂
This topic was automatically closed 14 days after the last reply. New replies are no longer allowed.