친구 추천 시스템은 기존 플레이어가 새로운 플레이어를 경험에 참여하도록 장려하고, 플레이어 유지 및 전반적인 참여를 증가시킵니다. 플레이어는 플레이어 초대 프롬프트 또는 기본 경험 초대 메뉴에서 직접 참조 링크에 액세스하고 공유할 수 있습니다.
개발자로서 이 공유 가능한 참조 링크를 사용하여 다음을 수행할 수 있습니다.
- 다른 플레이어를 성공적으로 경험에 초대한 플레이어를 추적합니다.
- 다른 플레이어가 추천 링크 초대를 사용하여 어떤 플레이어가 경험에 참여했는지 추적하십시오.
- 모든 초대자와 초대자에게 보상을 제공합니다.
친구 추천 시스템을 구현하려면 추천 이벤트를 설정하십시오 및 추천 보상을 생성하십시오. ReferredByPlayerId 속성의 2>Class.Player:GetJoinData()|
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 를 설정합니다.
- ReferredByPlayerId를 사용하여 플레이어가 합류하고 서버 사이드 스크립트의 참조 논리를 처리하기 위해 Players.PlayerAdded 이벤트 동안 서버 사이드 스크립트의 사용자 ID를 검색하십시오.
local Players = game:GetService("Players")
local ReplicatedStorage = game:GetService("ReplicatedStorage")
-- 참조를 처리하는 원격 이벤트 생성 또는 가져오기
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)
-- 초대자 및 초대자를 보상하는 추가 로직을 여기에 추가할 수 있습니다.
-- 예: rewardReferrer(referredByPlayerId)
-- 예: rewardInvitee(플레이어)
end
end
-- PlayerAdded 이벤트에 함수 연결
Players.PlayerAdded:Connect(onPlayerAdded)
권한 참조 보상
참여를 장려하려면 초대자와 초대인 모두에게 보상을 제공하십시오. 예를 들어, 친구가 경험에 참여할 때 초대자에게 배지 또는 경험 통화를 제공하고, 참여자를 경험에 참여하도록 추천 연결통해 환영 보상을 제공할 수 있습니다.
local Players = game:GetService("Players")
local ReplicatedStorage = game:GetService("ReplicatedStorage")
-- 참조를 처리하는 원격 이벤트 생성 또는 가져오기
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
-- 초대자에게 보상을 지급하세요
-- 예: referrerPlayer.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