ระบบอ้างอิงเพื่อนสนิทจะส่งเสริมผู้เล่นที่มีอยู่ให้เข้าร่วมประสบการณ์ของคุณ, เพิ่มการเก็บรักษาผู้เล่นและการมีส่วนร่วมทั้งหมด ผู้เล่นสามารถเข้าถึงและแบ่งปันลิงค์อ้างอิงจาก ก
ในฐานะผู้พัฒนา คุณสามารถใช้ลิงค์การแนะนำที่แชร์ได้เหล่านี้เพื่อ:
- ติดตามผู้เล่นที่เชิญผู้เล่นอื่น ๆ เข้าสู่ประสบการณ์ของคุณได้สำเร็จ
- ติดตามผู้เล่นที่เข้าร่วมประสบการณ์ของคุณโดยใช้การเชิญให้เข้าร่วมจากผู้เล่นอื่น
- สร้างและจัดหารางวัลให้แก่ผู้เชิญและผู้เชิญ
เพื่อให้เป็นไปตามระบบอ้างอิงเพื่อนเป็นระบบเพื่อนเชิญเพื่อนเพื่อให้เป็นไปตามระบบอ้างอิงเพ
function onPlayerAdded(player)
local referredByPlayerId = player:GetJoinData().ReferredByPlayerId
local referrerEvent: RemoteEvent = ReplicatedStorage:FindFirstChild("ReferralReceivedEvent")
referrerEvent:FireClient(player, referredByPlayerId)
end
Players.PlayerAdded:Connect(onPlayerAdded)
จัดงานอีเวนต์ที่ชวนเชิญ
เพื่อจัดตั้งกิจกรรมอ้างอิง:
- ติดตั้ง RemoteEvent ใน ReplicatedStorage เพื่อสร้างเหตุการณ์รีโมทที่สื่อสารกับลูกค้าเมื่อได้รับการแนะนำ
- ดึง ID ผู้ใช้ของผู้เชิญโดยใช้ ReferredByPlayerId เพื่อติดตามผู้เล่นเข้าร่วมและจัดการระบบจริยะในสคริปต์ด้านเซิร์ฟเวอร์ของคุณในช่วงกิจกรรม Players.PlayerAdded
local Players = game:GetService("Players")
local ReplicatedStorage = game:GetService("ReplicatedStorage")
-- สร้างหรือรับ RemoteEvent เพื่อจัดการการแนะนำ
local referrerEvent: RemoteEvent = ReplicatedStorage:FindFirstChild("ReferralReceivedEvent")
-- ฟังก์ชันที่เรียกใช้เมื่อผู้เล่นเข้าร่วม
function onPlayerAdded(player)
local joinData = player:GetJoinData()
local referredByPlayerId = joinData.ReferredByPlayerId
-- ตรวจสอบว่าผู้เล่นถูกเชิญผ่านการแนะนำหรือไม่
if referredByPlayerId then
-- เรียกเหตุการณ์อ้างอิงไปยังลูกค้าโดยส่ง ID ของผู้เชิญ
referrerEvent:FireClient(player, referredByPlayerId)
-- สามารถเพิ่มโลกิกเพิ่มเติมสำหรับการรางวัลผู้เชิญและผู้เชิญได้ที่นี่
-- เช่นรางวัลReferrer(รางวัลโดยผู้เล่น)
-- เช่นเดียวกับรางวัลInvitee(ผู้เล่น)
end
end
-- เชื่อมต่อฟังก์ชันไปยังเหตุการณ์ PlayerAdded
Players.PlayerAdded:Connect(onPlayerAdded)
ให้รางวัลอ้างอิง
เชื่อมโยงให้รางวัลผู้เชิญและผู้เข้าร่วมทั้งสอง ตัวอย่างเช่น คุณสามารถให้ผู้เชิญรางวัลหรือเงินสกุลในประสบการณ์เมื่อเพื่อนของพวกเขาเข้าร่วมประสบการณ์ผ่า
local Players = game:GetService("Players")
local ReplicatedStorage = game:GetService("ReplicatedStorage")
-- สร้างหรือรับ RemoteEvent เพื่อจัดการการแนะนำ
local referrerEvent: RemoteEvent = ReplicatedStorage:FindFirstChild("ReferralReceivedEvent")
-- ฟังก์ชันที่เรียกใช้เมื่อผู้เล่นเข้าร่วม
function onPlayerAdded(player)
local joinData = player:GetJoinData()
local referredByPlayerId = joinData.ReferredByPlayerId
-- ตรวจสอบว่าผู้เล่นถูกเชิญผ่านการแนะนำหรือไม่
if referredByPlayerId then
-- เรียกเหตุการณ์อ้างอิงไปยังลูกค้าโดยส่ง ID ของผู้เชิญ
referrerEvent:FireClient(player, referredByPlayerId)
-- รางวัลผู้เชิญ
function rewardReferrer(referrerId)
local referrerPlayer = Players:GetPlayerByUserId(referrerId)
if referrerPlayer then
-- ให้รางวัลผู้เชิญ
-- ตัวอย่าง: ผู้เล่นผู้แนะนำ Player.leaderstats.Coins.Value เพิ่มขึ้น 100
end
end
-- รางวัลผู้เชิญ
function rewardInvitee(player)
-- ให้รางวัลแก่ผู้เชิญ
-- ตัวอย่าง: ผู้เล่น.leaderstats.WelcomeBonus.Value เพิ่มขึ้น 50
end
end
end
-- เชื่อมต่อฟังก์ชันไปยังเหตุการณ์ PlayerAdded
Players.PlayerAdded:Connect(onPlayerAdded)
จัดการป้องกันการละเมิด
คุณสามารถใช้มาตรการป้องกันเพื่อป้องกันผู้เล่นจากการโจมตีระบบการแนะนำเพื่อน
- นำรางวัลให้ครั้งเดียวเพื่อติดตามผู้เข้าร่วมและให้แน่ใจว่าพวกเขาจะได้รับการรางวัลเท่านั้น
- แนะนำระยะเวลาในการรอก่อนที่ผู้ส่งจะส่งคำเชิญอื่น
- ตรวจสอบพฤติกรรมที่ผิดปกติและใช้มาตรการแก้ไขที่ถูกต้องเช่นการแบนผู้ใช้หรือการยกเลิกรางวัล
-- ตารางเพื่อติดตามผู้เล่นที่ได้รับการแนะนำแล้ว
local referredPlayers = {}
function onPlayerAdded(player)
local joinData = player:GetJoinData()
local referredByPlayerId = joinData.ReferredByPlayerId
-- ตรวจสอบว่าผู้เล่นถูกเชิญและยังไม่ได้ใช้การแนะนำ
if referredByPlayerId and not referredPlayers[player.UserId] then
-- กำกับผู้เล่นตามที่อ้างอิง
referredPlayers[player.UserId] = true
-- ผู้เชิญรางวัลและผู้เชิญ
rewardReferrer(referredByPlayerId)
rewardInvitee(player)
end
end