Arkadaş referans sistemi mevcut oyuncuların deneyiminize yeni oyuncular getirmesini teşvik eder, oyuncu retention ve genel etkileşimartırır. Oyuncular oyuncu daveti ekranları veya varsayılan deneyim daveti menüsünden doğrudan erişebilir ve paylaşabilir.
Bir geliştirici olarak, bu paylaşılabilir referans bağlantılarını kullanarak:
- Başarıyla başka oyuncuları deneyiminize davet eden oyuncuları takip edin.
- Başka bir oyuncunun referans bağlantısı davetini kullanarak deneyiminize katılan oyuncuları takip edin.
- Hem davetçilere hem de davet edilenlere ödüller oluşturun ve dağıtın.
Bir oyuncureferans sistemi uygulamak için, bir referans etkinliği oluştur ve referans ödüllerini oluştur . ReferredByPlayerId özelliğinin 2> Class.Player:Get
function onPlayerAdded(player)
local referredByPlayerId = player:GetJoinData().ReferredByPlayerId
local referrerEvent: RemoteEvent = ReplicatedStorage:FindFirstChild("ReferralReceivedEvent")
referrerEvent:FireClient(player, referredByPlayerId)
end
Players.PlayerAdded:Connect(onPlayerAdded)
Bir İtibar Etkinliği Oluştur
Bir referans etkinliği ayarlamak için:
- Bir referans alındığında müşteriyle iletişim kurmak için uzaktan bir etkinliği oluşturmak için RemoteEvent içine bir ReplicatedStorage kurun.
- Davetçinin kullanıcı kimliğini ReferredByPlayerId kullanarak takip etmek için oyuncu katılımını izleyin ve Players.PlayerAdded etkinliğinde sunucu tarafı kodlama işlemini işleyin.
local Players = game:GetService("Players")
local ReplicatedStorage = game:GetService("ReplicatedStorage")
-- Geri bildirimleri işlemek için RemoteEvent oluşturun veya alın
local referrerEvent: RemoteEvent = ReplicatedStorage:FindFirstChild("ReferralReceivedEvent")
-- Bir oyuncu katıldığında tetiklenen işlev
function onPlayerAdded(player)
local joinData = player:GetJoinData()
local referredByPlayerId = joinData.ReferredByPlayerId
-- Oyuncunun bir referans aracılığıyla davet edildiğini kontrol edin
if referredByPlayerId then
-- Davet etme etkinliğini klijeye başlatır, davet ediciğin ID'sini geçer
referrerEvent:FireClient(player, referredByPlayerId)
-- Davetçi ve davet eden için ekstra mantık buraya eklenebilir
-- Örneğin, ödülReferrer(referredByPlayerId)
-- Örneğin, ödül davet edici(oyuncu)
end
end
-- KullanıcıEklendi olayına işlevi bağla
Players.PlayerAdded:Connect(onPlayerAdded)
Referans Ödülleri Ver
Katılımı teşvik etmek için, davetçilere ve davet edilenlere ödüller verin. Örneğin, davetçilere deneyime katılmak için bir rozet veya deneyim içi para birimi verebilirsiniz, ve davet edilenleri deneyime katılmak için bir hoşgeldiniz ödülü verebilirsiniz.
local Players = game:GetService("Players")
local ReplicatedStorage = game:GetService("ReplicatedStorage")
-- Geri bildirimleri işlemek için RemoteEvent oluşturun veya alın
local referrerEvent: RemoteEvent = ReplicatedStorage:FindFirstChild("ReferralReceivedEvent")
-- Bir oyuncu katıldığında tetiklenen işlev
function onPlayerAdded(player)
local joinData = player:GetJoinData()
local referredByPlayerId = joinData.ReferredByPlayerId
-- Oyuncunun bir referans aracılığıyla davet edildiğini kontrol edin
if referredByPlayerId then
-- Davet etme etkinliğini klijeye başlatır, davet ediciğin ID'sini geçer
referrerEvent:FireClient(player, referredByPlayerId)
-- Davetçiyi ödüllendir
function rewardReferrer(referrerId)
local referrerPlayer = Players:GetPlayerByUserId(referrerId)
if referrerPlayer then
-- İştiriciye ödülünü ver
-- Örnek: referrerPlayer.leaderstats.Coins.Value + 100
end
end
-- Davetliyi ödüllendir
function rewardInvitee(player)
-- İstediğin kişinin ödülünü ver
-- Örnek: oyuncu.leaderstats.WelcomeBonus.Value + 50
end
end
end
-- KullanıcıEklendi olayına işlevi bağla
Players.PlayerAdded:Connect(onPlayerAdded)
Abus Giderme'yi Yönet
Oyuncuların arkadaş referans sistemini kötüye kullanmasını önlemek için koruyucuları uygulayabilirsiniz.
- Yeni katılımcıları takip etmek için tek seferlik ödüller sunun ve aynı ödülü sadece bir kez verin.
- Bir başkasına bir referans göndermesini gönderen bir bekleme süresi tanıtın.
- Anomali aktivitesini izleyin ve kullanıcıları yasaklama veya ödülleri iptal etme gibi düzeltici önlemlere uygulayın.
-- Zaten gönderilen oyuncuları takip etmek için masa
local referredPlayers = {}
function onPlayerAdded(player)
local joinData = player:GetJoinData()
local referredByPlayerId = joinData.ReferredByPlayerId
-- Oyuncunun davet edildiğini ve zaten bir referans kullanmadığını kontrol edin
if referredByPlayerId and not referredPlayers[player.UserId] then
-- Oyuncuyu işaret et
referredPlayers[player.UserId] = true
-- Ödül davet edici ve davet edilen
rewardReferrer(referredByPlayerId)
rewardInvitee(player)
end
end