Sistem Undang Teman Hadiah

*Konten ini diterjemahkan menggunakan AI (Beta) dan mungkin mengandung kesalahan. Untuk melihat halaman ini dalam bahasa Inggris, klik di sini.


Sistem referensi teman mengundang pemain yang sudah ada untuk membawa pemain baru ke pengalaman Anda, meningkatkan retensi pemain dan keseluruhan interaksi. Pemain dapat mengakses dan berbagi tautan referensi dari undangan pemain prom示 atau langsung dari menu undangan default di dalam pengalaman.

Sebagai pengembang, Anda dapat menggunakan tautan referensi yang dapat dibagikan ini untuk:

  • Ikuti petaruh yang telah berhasil mengundang pemain lain ke pengalaman Anda.
  • Ikuti pemain mana yang telah bergabung dengan pengalaman Anda menggunakan undangan tautan referensi dari pemain lain.
  • Buat dan distribusikan hadiah kepada para undangan dan pengundang.
Pop-up Undang Teman dan Hadiah Undang Teman banner akan tersedia di awal 2025.

Untuk menerapkan sistem referensi teman, atur acara referensi dan buat hadiah referensi. Propriété ReferredByPlayerId dari 1> Class.Player:GetJoinData()|GetJoinData()1> secara otomatis pop


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

Mengatur Acara Referensi

Untuk mengatur acara referensi:

  1. Set up a RemoteEvent in ReplicatedStorage to create a remote event to communicate with the client when a referral is received.
  2. Ambil ID pengguna pengundang menggunakan ReferredByPlayerId untuk melacak pemain bergabung dan menangani logika referensi di server-side script Anda selama acara Players.PlayerAdded .

local Players = game:GetService("Players")
local ReplicatedStorage = game:GetService("ReplicatedStorage")
-- Buat atau dapatkan RemoteEvent untuk menangani referensi
local referrerEvent: RemoteEvent = ReplicatedStorage:FindFirstChild("ReferralReceivedEvent")
-- Fungsi yang diaktifkan saat seorang pemain bergabung
function onPlayerAdded(player)
local joinData = player:GetJoinData()
local referredByPlayerId = joinData.ReferredByPlayerId
-- Periksa apakah pemain diundang melalui referensi
if referredByPlayerId then
-- Fire the referral event to the client, menyebutkan ID pengundang
referrerEvent:FireClient(player, referredByPlayerId)
-- Logika tambahan untuk mengirim undangan dan mengundang dapat ditambahkan di sini
-- Contoh, rewardReferrer(direferensikan oleh PlayerId)
-- Contoh, rewardInvitee(pemain)
end
end
-- Hubungkan fungsi ke acara PlayerAdded
Players.PlayerAdded:Connect(onPlayerAdded)

Berikan Hadiah Referensi

Untuk meningkatkan partisipasi, berikan hadiah kepada kedua pengundang dan pengundang. Misalnya, Anda dapat memberikan badge atau mata uang pengalaman kepada teman mereka saat mereka bergabung dengan pengalaman, dan memberikan hadiah pengundangan untuk bergabung dengan pengalaman melalui tautan referensi.


local Players = game:GetService("Players")
local ReplicatedStorage = game:GetService("ReplicatedStorage")
-- Buat atau dapatkan RemoteEvent untuk menangani referensi
local referrerEvent: RemoteEvent = ReplicatedStorage:FindFirstChild("ReferralReceivedEvent")
-- Fungsi yang diaktifkan saat seorang pemain bergabung
function onPlayerAdded(player)
local joinData = player:GetJoinData()
local referredByPlayerId = joinData.ReferredByPlayerId
-- Periksa apakah pemain diundang melalui referensi
if referredByPlayerId then
-- Fire the referral event to the client, menyebutkan ID pengundang
referrerEvent:FireClient(player, referredByPlayerId)
-- Hadiah pengundang
function rewardReferrer(referrerId)
local referrerPlayer = Players:GetPlayerByUserId(referrerId)
if referrerPlayer then
-- Berikan hadiah pengundang
-- Contoh: referrerPlayer.leaderstats.Coins.Value (+100)
end
end
-- Hadiah pengundang
function rewardInvitee(player)
-- Berikan tamu undangan hadiah mereka
-- Contoh: pemain.leaderstats.WelcomeBonus.Value (+50)
end
end
end
-- Hubungkan fungsi ke acara PlayerAdded
Players.PlayerAdded:Connect(onPlayerAdded)

Mengelola Pencegahan Penyalahgunaan

Anda dapat menerapkan langkah-langkah keamanan untuk mencegah pemain mengambil keuntungan dari sistem referensi teman.

  • Tawarkan hadiah satu kali untuk melacak tamu undangan dan pastikan mereka hanya diberi hadiah sekali.
  • Masukkan periode cooldown sebelum seorang pengundang dapat mengirimkan referensi lain.
  • Pantau aktivitas yang tidak biasa dan implementasikan tindakan corrective seperti menghapus pengguna atau menyetel ulang hadiah.

-- Tabel untuk melacak pemain yang sudah diperkenalkan
local referredPlayers = {}
function onPlayerAdded(player)
local joinData = player:GetJoinData()
local referredByPlayerId = joinData.ReferredByPlayerId
-- Periksa apakah pemain diundang dan belum menggunakan referensi
if referredByPlayerId and not referredPlayers[player.UserId] then
-- Tanda petaruh sebagai referensi
referredPlayers[player.UserId] = true
-- Pengundang hadiah dan pengundang
rewardReferrer(referredByPlayerId)
rewardInvitee(player)
end
end