Arkadaş davet ödül sistemi

*Bu içerik, yapay zekâ (beta) kullanılarak çevrildi ve hatalar içerebilir. Sayfayı İngilizce görüntülemek için buraya tıkla.


Arkadaş referans sistemi mevcut oyuncuların deneyiminize yeni oyuncular getirmesini teşvik eder, oyuncu tutma oranını ve genel olarak etkileşimi artırır.Oyuncular, oyuncu davet istemlerinden veya varsayılan deneyim içi davet menüsünden doğrudan referans bağlantılarına erişebilir ve paylaşabilir.

Geliştirici olarak, bu paylaşılabilir referans bağlantılarını kullanabilirsiniz:

  • Diğer oyuncuları deneyiminize başarıyla davet eden oyuncuları izleyin.
  • Diğer bir oyuncunun referans bağlantı daveti kullanarak deneyiminize katılan oyuncuları takip edin.
  • Her iki davetçiye ve davetlere ödüller oluşturun ve dağıtın.
Arkadaşları Davet Et penceresi ve Arkadaş Tavsiye Ödülleri bannerı 2025'in başında kullanıma sunulacak.

Bir arkadaş referans sistemini uygulamak için, bir referans etkinliği kurun ve referans ödülleri oluşturun. özelliğinin özelliği tüm tür davetler için otomatik olarak doldurur ve referans oyuncunun kullanıcı kimliğine erişmenizi sağlar.Ardından, bu verilere Players.PlayerAdded etkinliğinde erişerek davet edeni tanımlayabilir ve davet edene ve davet edene ödüller verebilirsiniz.


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

Bir referans etkinliği kurun

Bir referans etkinliği kurmak için:

  1. Bir referans alındığında müşteriyle iletişim kurmak için uzaktan bir olay oluşturmak için RemoteEvent``ReplicatedStorage kullanın
  2. Oyuncu katılımlarını izlemek ve sunucu tarafındaki referans mantığını ele almak için ReferredByPlayerId kullanarak davet edenin kullanıcı kimliğini geri alın ve Players.PlayerAdded etkinliği sırasında sunucu tarafındaki referans mantığını ele alın.

local Players = game:GetService("Players")
local ReplicatedStorage = game:GetService("ReplicatedStorage")
-- Referansları işlemek için Uzak Etkinliği oluştur veya al
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 et
if referredByPlayerId and referredByPlayerId ~= 0 then
-- Referans olayını istemciye ateşleyerek, davet edenin ID'sini geçerek
referrerEvent:FireClient(player, referredByPlayerId)
-- Davetçi ve davetlilere ödül vermek için ek bir mantık buraya eklenebilir
-- Örneğin, ödülReferrer(referredByPlayerId)
-- Örneğin, rewardInvitee(oyuncu)
end
end
-- İşlevi OyuncuEklendi etkinliğine bağla
Players.PlayerAdded:Connect(onPlayerAdded)

Referans ödülleri verme

Katılımı teşvik etmek için, her iki davetçiye ve davetlere ödül verin.Örneğin, arkadaşı deneye katıldığında davet edenlere bir rozet veya deneyim içi para verebilir ve deneyime bir referans bağlantısı aracılığıyla katılan davetlilere deneyime katılma ödülü verebilirsiniz.


local Players = game:GetService("Players")
local ReplicatedStorage = game:GetService("ReplicatedStorage")
-- Referansları işlemek için Uzak Etkinliği oluştur veya al
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 et
if referredByPlayerId and referredByPlayerId ~= 0 then
-- Referans olayını istemciye ateşleyerek, davet edenin ID'sini geçerek
referrerEvent:FireClient(player, referredByPlayerId)
-- Davetçiye ödül ver
function rewardReferrer(referrerId)
local referrerPlayer = Players:GetPlayerByUserId(referrerId)
if referrerPlayer then
-- Davetçiye ödülünü ver
-- Örnek: referrerPlayer.leaderstats.Coins.Value += 100
end
end
-- Davet edene ödül ver
function rewardInvitee(player)
-- Davet edene ödülünü ver
-- Örnek: oyuncu.leaderstats.WelcomeBonus.Value +=50
end
end
end
-- İşlevi OyuncuEklendi etkinliğine bağla
Players.PlayerAdded:Connect(onPlayerAdded)

Saldırı engellemesini yönetme

Oyuncuların arkadaş referans sistemini kötüye kullanmasını engellemek için koruyucular uygulayabilirsiniz.

  • Davet edilenleri izlemek ve sadece bir kez ödüllendirildiklerinden emin olmak için tek seferlik ödüller sunun.
  • Bir davetçinin başka bir referans gönderebilmesinden önce bir bekleme süresi tanıtın.
  • Sıradışı aktiviteleri izleyin ve kullanıcıları yasaklama veya ödülleri iptal etme gibi düzeltici önlemler uygulayın.

-- Zaten referans edilmiş oyuncuları izleyen tablo
local referredPlayers = {}
function onPlayerAdded(player)
local joinData = player:GetJoinData()
local referredByPlayerId = joinData.ReferredByPlayerId
-- Oyuncunun davet edildiğini ve henüz bir referans kullanmadığını kontrol edin
if referredByPlayerId and referredByPlayerId ~= 0 and not referredPlayers[player.UserId] then
-- Oyuncuyu referans olarak işaretle
referredPlayers[player.UserId] = true
-- Ödül davet edicisi ve davet edilen
rewardReferrer(referredByPlayerId)
rewardInvitee(player)
end
end