Le système de parrainage des amis encourage les joueurs existants à amener de nouveaux joueurs dans votre expérience, augmentant la rétention des joueurs et l'participationgénéral. Les joueurs peuvent accéder et partager les liens de parrainage à partir de invitations de joueurs prompts ou directement à partir du menu invitations d'expérience par défaut.
En tant que développeur, vous pouvez utiliser ces liens de référence partagés pour :
- Suivez les joueurs qui ont invité avec succès d'autres joueurs dans votre expérience.
- Suivez les joueurs qui se sont joints à votre expérience en utilisant une invitation de lien de parrainage d'un autre joueur.
- Créez et distribuez des récompenses à la fois aux invités et aux invités.
Pour implémenter un système de parrainage d'ami, organisez un événement de parrainage et créez des récompenses de parrainage. La propriété ReferredByPlayerId de 1> Class.Player:GetJoinData()|GetJoinData()</
function onPlayerAdded(player)
local referredByPlayerId = player:GetJoinData().ReferredByPlayerId
local referrerEvent: RemoteEvent = ReplicatedStorage:FindFirstChild("ReferralReceivedEvent")
referrerEvent:FireClient(player, referredByPlayerId)
end
Players.PlayerAdded:Connect(onPlayerAdded)
Configurer un événement de référence
Pour configurer un événement de référence :
- Configurez un RemoteEvent dans ReplicatedStorage pour créer un événement distant pour communiquer avec le client lorsqu'une référence est reçue.
- Récupérez l'ID d'utilisateur de l'invité en utilisant ReferredByPlayerId pour suivre la participation du joueur et gérer la logique de référence dans votre script côté serveur pendant l'événement Players.PlayerAdded.
local Players = game:GetService("Players")
local ReplicatedStorage = game:GetService("ReplicatedStorage")
-- Créer ou obtenir l'événement distant pour gérer les références
local referrerEvent: RemoteEvent = ReplicatedStorage:FindFirstChild("ReferralReceivedEvent")
-- Fonction qui se déclenche lorsqu'un joueur rejoint
function onPlayerAdded(player)
local joinData = player:GetJoinData()
local referredByPlayerId = joinData.ReferredByPlayerId
-- Vérifiez si le joueur a été invité via une référence
if referredByPlayerId then
-- Lancez l'événement de référence au client, en passant l'ID de l'inviteur
referrerEvent:FireClient(player, referredByPlayerId)
-- Une logique supplémentaire pour récompenser l'invité et l'invité peut être ajoutée ici
-- par exemple, rewardReferrer (recommandé par PlayerId)
-- par exemple, rewardInvitee(joueur)
end
end
-- Connectez la fonction au événement PlayerAdded
Players.PlayerAdded:Connect(onPlayerAdded)
Récompenses de référencement de grant
Pour encourager la participation, accordez des récompenses à tous les invités et aux invités. Par exemple, vous pouvez donner des invités un badge ou de l'argent dans l'expérience lorsque leur ami rejoint l'expérience, et donner des invités une récompense d'accueil lors de l'expérience via un lierde parrainage.
local Players = game:GetService("Players")
local ReplicatedStorage = game:GetService("ReplicatedStorage")
-- Créer ou obtenir l'événement distant pour gérer les références
local referrerEvent: RemoteEvent = ReplicatedStorage:FindFirstChild("ReferralReceivedEvent")
-- Fonction qui se déclenche lorsqu'un joueur rejoint
function onPlayerAdded(player)
local joinData = player:GetJoinData()
local referredByPlayerId = joinData.ReferredByPlayerId
-- Vérifiez si le joueur a été invité via une référence
if referredByPlayerId then
-- Lancez l'événement de référence au client, en passant l'ID de l'inviteur
referrerEvent:FireClient(player, referredByPlayerId)
-- Récompensez l'inviteur
function rewardReferrer(referrerId)
local referrerPlayer = Players:GetPlayerByUserId(referrerId)
if referrerPlayer then
-- Accorder la récompense à l'invité
-- Exemple : referrerPlayer.leaderstats.Coins.Value (+100)
end
end
-- Récompensez l'invité
function rewardInvitee(player)
-- Accorder à l'invité sa récompense
-- Exemple : joueur.leaderstats.WelcomeBonus.Value (+50)
end
end
end
-- Connectez la fonction au événement PlayerAdded
Players.PlayerAdded:Connect(onPlayerAdded)
Gérer la prévention de l'abus
Vous pouvez implémenter des mesures de sécurité pour empêcher les joueurs d'exploiter le système de parrainage des amis.
- Offrez des récompenses à un temps pour suivre les invités et vous assurer qu'ils ne sont récompensés qu'une seule fois.
- Présentez une période de récupération avant qu'un inviter puisse soumettre un autre référencement.
- Surveillez des activités suspectes et mettez en œuvre des mesures correctives comme la suppression des utilisateurs ou l'annulation des récompenses.
-- Tableau pour suivre les joueurs déjà référencés
local referredPlayers = {}
function onPlayerAdded(player)
local joinData = player:GetJoinData()
local referredByPlayerId = joinData.ReferredByPlayerId
-- Vérifiez si le joueur a été invité et n'a pas déjà utilisé une référence
if referredByPlayerId and not referredPlayers[player.UserId] then
-- Marquez le joueur comme référencé
referredPlayers[player.UserId] = true
-- Inviteur de récompenses et invité
rewardReferrer(referredByPlayerId)
rewardInvitee(player)
end
end