Freund-Einladung-Belohnung-System

*Dieser Inhalt wurde mit KI (Beta) übersetzt und kann Fehler enthalten. Um diese Seite auf Englisch zu sehen, klicke hier.

Das Freundesystem ermutigt bestehende Spieler, neue Spieler in deine Erlebniszu bringen, wodurch die Engagementund die Gesamtwohlung erhöht werden. Spieler können auf und teilen Empfehlungs-Links von Spieler-Einladung-Anfragen oder direkt vom Standard-Einladungsmenü aus zugriffen und teilen.

Als Entwickler können Sie diese teilbaren Verweisungen verwenden, um:

  • Verfolgen Sie, welche Spieler andere Spieler erfolgreich in Ihr Erlebnis eingeladen haben.
  • Verfolgen Sie, welche Spieler Ihrem Erlebnis mit einer Empfehlungslink-Einladung eines anderen Spieler:inbeigetreten sind.
  • Erstellen und verteilen Sie Belohnungen an both Inviter und Käufer.
Das Einladen von Freunden -Pop-up und Freund-Referenz-Belohnungen -Banner wird Anfang 2025 verfügbar sein.

Um ein Freundesempfehlungssystem zu implementieren, erstellen Sie ein Empfehlungsevent und erstellen Sie Empfehlungsbelohnungen. Die ReferredByPlayerId -Eigenschaft von 2> Class.Player:GetJoinData()|GetJoinData() 2> wird


function onPlayerAdded(player)
local referredByPlayerId = player:GetJoinData().ReferredByPlayerId
local referrerEvent: RemoteEvent = ReplicatedStorage:FindFirstChild("ReferralReceivedEvent")
referrerEvent:FireClient(player, referredByPlayerId)
end
Players.PlayerAdded:Connect(onPlayerAdded)

Ein Verweiserevent erstellen

Um ein Referenzereignis einzurichten:

  1. Set up a RemoteEvent in ReplicatedStorage to create a remote event to communicate with the client when a referral is received.
  2. Erhalte die Benutzer-ID des Inviters mit ReferredByPlayerId, um zu verfolgen, wenn der Spieler beitritt, und die Verweisungslogik in deinem Server-Skript während des Ereignisses Players.PlayerAdded zu behandeln.

local Players = game:GetService("Players")
local ReplicatedStorage = game:GetService("ReplicatedStorage")
-- Erstellen oder erhalten Sie das RemoteEvent für die Bearbeitung von Empfehlungen
local referrerEvent: RemoteEvent = ReplicatedStorage:FindFirstChild("ReferralReceivedEvent")
-- Funktion, die ausgelöst wird, wenn ein Spieler beitritt
function onPlayerAdded(player)
local joinData = player:GetJoinData()
local referredByPlayerId = joinData.ReferredByPlayerId
-- Überprüfen, ob der Spieler über einen Referral eingeladen wurde
if referredByPlayerId then
-- Feuere das Referenzereignis auf den Client aus, indem du die ID des Einladenden überträgst
referrerEvent:FireClient(player, referredByPlayerId)
-- Hier kann zusätzliche Logik für die Belohnung von Einladenden und Einladenden hinzugefügt werden
-- z. B., rewardReferrer (referredByPlayerId)
-- z. B., rewardInvitee(Spieler:in)
end
end
-- Verbinden Sie die Funktion mit dem Ereignis PlayerAdded
Players.PlayerAdded:Connect(onPlayerAdded)

Gewähren Sie Verweis-Belohnungen

Um die Teilnahme zu fördern, kannst du den Teilnehmern Belohnungen gewähren, sowohl denjenigen, die einladend sind, als auch denjenigen, die ein Erlebnis erleben. Zum Beispiel kannst du Teilnehmern ein Abzeichen oder In-Experience-Währung geben, wenn ihr Freund dem Erlebnis beitritt, und Teilnehmern eine Begrüßungsbelohnung geben, wenn sie sich dem Erlebnis über einen verlinkenanschließen.


local Players = game:GetService("Players")
local ReplicatedStorage = game:GetService("ReplicatedStorage")
-- Erstellen oder erhalten Sie das RemoteEvent für die Bearbeitung von Empfehlungen
local referrerEvent: RemoteEvent = ReplicatedStorage:FindFirstChild("ReferralReceivedEvent")
-- Funktion, die ausgelöst wird, wenn ein Spieler beitritt
function onPlayerAdded(player)
local joinData = player:GetJoinData()
local referredByPlayerId = joinData.ReferredByPlayerId
-- Überprüfen, ob der Spieler über einen Referral eingeladen wurde
if referredByPlayerId then
-- Feuere das Referenzereignis auf den Client aus, indem du die ID des Einladenden überträgst
referrerEvent:FireClient(player, referredByPlayerId)
-- Belohnen Sie den Einlader
function rewardReferrer(referrerId)
local referrerPlayer = Players:GetPlayerByUserId(referrerId)
if referrerPlayer then
-- Gewähre dem Einladenden seine Belohnung
-- Beispiel: referrerPlayer.leaderstats.Coins.Value (+100)
end
end
-- Belohnen Sie den Besucher
function rewardInvitee(player)
-- Gewähre dem Einladenden seine Belohnung
-- Beispiel: Spieler:in.leaderstats.WelcomeBonus.Value (+50)
end
end
end
-- Verbinden Sie die Funktion mit dem Ereignis PlayerAdded
Players.PlayerAdded:Connect(onPlayerAdded)

Konfigurieren von Missbrauchsschutz

Du kannst Sicherheitsmechanismen implementieren, um zu verhindern, dass Spieler das Freundesystem ausnutzen.

  • Bieten Sie einmalige Belohnungen an, um Gäste einzuladen, und stellen Sie sicher, dass sie nur einmal belohnt werden.
  • Führe eine Abklingzeit ein, bevor ein Einladender einen weiteren Referral einreichen kann.
  • Überwachen Sie ungewöhnliche Aktivität und implementieren Sie korrektive Maßnahmen wie das Verbieten von Benutzern oder das Abbrechen von Belohnungen.

-- Tabelle, um Spieler zu verfolgen, die bereits gemeldet wurden
local referredPlayers = {}
function onPlayerAdded(player)
local joinData = player:GetJoinData()
local referredByPlayerId = joinData.ReferredByPlayerId
-- Überprüfen, ob der Spieler eingeladen wurde und noch keinen Verweis verwendet hat
if referredByPlayerId and not referredPlayers[player.UserId] then
-- Markiere den Spieler als bezieht
referredPlayers[player.UserId] = true
-- Belohnungs-Inviter und -Einladender
rewardReferrer(referredByPlayerId)
rewardInvitee(player)
end
end