Ghi chú phát hành
Học
Lớp công cụ
SocialService
Không Thể Tạo
Dịch Vụ
Không Sao Chép

*Nội dung này được dịch bằng AI (Beta) và có thể có lỗi. Để xem trang này bằng tiếng Anh, hãy nhấp vào đây.


Tóm Tắt
Gọi Lại
OnCallInviteInvoked(tag: string,callParticipantIds: {any}):Instance
Thành viên kế thừa

Tài Liệu Tham Khảo API
Phương Pháp
CanSendCallInviteAsync
Sinh Lợi
Các khả năng: Social
SocialService:CanSendCallInviteAsync(player:Instance):boolean
Tham Số
player:Instance
Lợi Nhuận
Mẫu mã
Dịch vụ xã hội: Nhắc nhở danh bạ điện thoại()
local Players = game:GetService("Players")
local SocialService = game:GetService("SocialService")
local player = Players.LocalPlayer
local button = script.Parent
button.Visible = false
-- Hàm để kiểm tra xem người chơi có thể gửi lời mời gọi hay không
local function canSendCallingInvite(sendingPlayer)
local success, canSend = pcall(function()
return SocialService:CanSendCallInviteAsync(sendingPlayer)
end)
return success and canSend
end
local canCall = canSendCallingInvite(player)
if canCall then
button.Visible = true
button.Activated:Connect(function()
SocialService:PromptPhoneBook(player, "")
end)
end

CanSendGameInviteAsync
Sinh Lợi
Các khả năng: Social
SocialService:CanSendGameInviteAsync(
player:Instance, recipientId:User
Tham Số
player:Instance
recipientId:User
Giá Trị Mặc Định: "U1.AQAAAAAAAAAAAAAAAAAAAAA"
Lợi Nhuận
Mẫu mã
Gửi lời mời
local SocialService = game:GetService("SocialService")
local Players = game:GetService("Players")
local player = Players.LocalPlayer
-- Hàm để kiểm tra xem người chơi có thể gửi lời mời không
local function canSendGameInvite(sendingPlayer)
local success, canSend = pcall(function()
return SocialService:CanSendGameInviteAsync(sendingPlayer)
end)
return success and canSend
end
local canInvite = canSendGameInvite(player)
if canInvite then
SocialService:PromptGameInvite(player)
end

GetEventRsvpStatusAsync
Sinh Lợi
Các khả năng: Social
SocialService:GetEventRsvpStatusAsync(eventId:string):Enum.RsvpStatus
Tham Số
eventId:string
Lợi Nhuận
Mẫu mã
SocialService:PromptRsvpToEventAsync()
local SocialService = game:GetService("SocialService")
local EVENT_ID = "YOUR_EVENT_ID"
local followPrompt: ProximityPrompt = script.Parent.FollowProximityPrompt
local unFollowPrompt: ProximityPrompt = script.Parent.UnfollowProximityPrompt
local function updatePrompt(rsvpStatus: Enum.RsvpStatus)
if rsvpStatus == Enum.RsvpStatus.Going then
unFollowPrompt.Enabled = true
followPrompt.Enabled = false
else
unFollowPrompt.Enabled = false
followPrompt.Enabled = true
end
end
local success, currentRsvpStatus = pcall(function()
return SocialService:GetEventRsvpStatusAsync(EVENT_ID)
end)
if not success then
-- Không thể lấy trạng thái xác nhận tham gia; không bật bất kỳ thông báo nào
warn("Không thể lấy trạng thái xác nhận tham gia:", currentRsvpStatus)
return
end
print("Trạng thái xác nhận tham gia hiện tại:", currentRsvpStatus)
updatePrompt(currentRsvpStatus)
unFollowPrompt.Triggered:Connect(function(player)
local rsvpStatus = SocialService:PromptRsvpToEventAsync(EVENT_ID)
updatePrompt(rsvpStatus)
end)
followPrompt.Triggered:Connect(function(player)
local rsvpStatus = SocialService:PromptRsvpToEventAsync(EVENT_ID)
updatePrompt(rsvpStatus)
end)

GetExperienceEventAsync
Sinh Lợi
Các khả năng: Social
SocialService:GetExperienceEventAsync(eventId:string):ExperienceEvent?
Tham Số
eventId:string
Lợi Nhuận
ExperienceEvent?
Mẫu mã
SocialService:GetUpcomingExperienceEventsAsync()
local SocialService = game:GetService("SocialService")
-- Khám phá sự kiện sắp tới/đang diễn ra và yêu cầu người chơi xác nhận tham gia
local function promptNextUpcomingEvent()
local success, eventsOrError = pcall(function()
return SocialService:GetUpcomingExperienceEventsAsync()
end)
if not success then
warn("Không thể tải sự kiện sắp tới:", eventsOrError)
return
end
local upcomingEvents = eventsOrError
local selectedEvent
for _, event in ipairs(upcomingEvents) do
if not event.HasStarted and not event.HasEnded then
selectedEvent = event
break
end
end
if selectedEvent then
local success, result = pcall(function()
return SocialService:PromptRsvpToEventAsync(selectedEvent.Id)
end)
if not success then
warn("Yêu cầu xác nhận tham gia thất bại:", result)
end
else
warn("Không có sự kiện tương lai nào để yêu cầu.")
return
end
end
promptNextUpcomingEvent()

GetPartyAsync
Sinh Lợi
Các khả năng: Social
SocialService:GetPartyAsync(partyId:string):{any}
Tham Số
partyId:string
Lợi Nhuận
Mẫu mã
SocialService:GetPartyAsync()
local SocialService = game:GetService("SocialService")
local Players = game:GetService("Players")
Players.PlayerAdded:Connect(function(player)
local partyId = player.PartyId
if partyId == "" then
warn("Người chơi không có trong buổi tiệc")
return
end
local success, partyData = pcall(function()
return SocialService:GetPartyAsync(partyId)
end)
if success and partyData then
for _, partyMemberData in partyData do
print(
partyMemberData.UserId,
partyMemberData.PlaceId,
partyMemberData.JobId,
partyMemberData.PrivateServerId,
partyMemberData.ReservedServerAccessCode
)
end
else
warn("Gặp lỗi khi lấy dữ liệu buổi tiệc")
end
end)

GetPlayersByPartyId
Các khả năng: Social
SocialService:GetPlayersByPartyId(partyId:string):{Player}
Tham Số
partyId:string
Lợi Nhuận
Mẫu mã
SocialService:GetPlayersByPartyId()
local SocialService = game:GetService("SocialService")
local Players = game:GetService("Players")
Players.PlayerAdded:Connect(function(player)
local partyId = player.PartyId
if partyId ~= "" then
local partyPlayers: { Player } = SocialService:GetPlayersByPartyId(partyId)
for _, partyMember in partyPlayers do
print("Thành viên nhóm: " .. partyMember.Name)
end
else
warn("Người chơi không ở trong một nhóm")
end
end)
Nhóm Cân Bằng với Tính Năng Tạo Nhóm
local Teams = game:GetService("Teams")
local Players = game:GetService("Players")
local SocialService = game:GetService("SocialService")
local redTeam = Instance.new("Team")
redTeam.Name = "Đội Đỏ"
redTeam.TeamColor = BrickColor.Red()
redTeam.AutoAssignable = false
redTeam.Parent = Teams
local blueTeam = Instance.new("Team")
blueTeam.Name = "Đội Xanh"
blueTeam.TeamColor = BrickColor.Blue()
blueTeam.AutoAssignable = false
blueTeam.Parent = Teams
local function assignPlayerToTeam(player)
local partyId = player.PartyId
if partyId == "" then
assignBalancedTeam(player)
return
end
local teams = { redTeam, blueTeam }
local matchingTeam = nil
local partyPlayers = SocialService:GetPlayersByPartyId(partyId)
for _, partyPlayer in partyPlayers do
if partyPlayer ~= player and table.find(teams, partyPlayer.Team) then
matchingTeam = partyPlayer.Team
break
end
end
if matchingTeam then
player.Team = matchingTeam
player.TeamColor = matchingTeam.TeamColor
else
assignBalancedTeam(player)
end
end
function assignBalancedTeam(player)
local redCount = #redTeam:GetPlayers()
local blueCount = #blueTeam:GetPlayers()
local chosenTeam = redCount <= blueCount and redTeam or blueTeam
player.Team = chosenTeam
player.TeamColor = chosenTeam.TeamColor
end
local function groupPlayersByParty()
local seenPartyIds = {}
local groupedPlayers = {}
for _, player in Players:GetPlayers() do
if player.PartyId == "" then
table.insert(groupedPlayers, { player })
elseif not table.find(seenPartyIds, player.PartyId) then
table.insert(seenPartyIds, player.PartyId)
local partyPlayers = SocialService:GetPlayersByPartyId(player.PartyId)
table.insert(groupedPlayers, partyPlayers)
end
end
return groupedPlayers
end
-- Gọi hàm này để cân bằng lại đội
local function rebalanceTeams()
local groups = groupPlayersByParty()
table.sort(groups, function(a, b)
return #a > #b
end)
for _, player in Players:GetPlayers() do
player.Team = nil
end
for _, group in groups do
local redCount = #redTeam:GetPlayers()
local blueCount = #blueTeam:GetPlayers()
local bestTeam
if redCount <= blueCount then
bestTeam = redTeam
else
bestTeam = blueTeam
end
for _, player in group do
player.Team = bestTeam
player.TeamColor = bestTeam.TeamColor
end
end
for _, player in Players:GetPlayers() do
player:LoadCharacterAsync()
end
end
Players.PlayerAdded:Connect(function(player)
assignPlayerToTeam(player)
player:LoadCharacterAsync()
player:GetPropertyChangedSignal("PartyId"):Connect(function()
if player.PartyId ~= "" then
assignPlayerToTeam(player)
end
end)
end)

GetUpcomingExperienceEventsAsync
Sinh Lợi
Các khả năng: Social
SocialService:GetUpcomingExperienceEventsAsync():{ExperienceEvent}
Lợi Nhuận
{ExperienceEvent}
Mẫu mã
SocialService:GetUpcomingExperienceEventsAsync()
local SocialService = game:GetService("SocialService")
-- Khám phá sự kiện sắp tới/đang diễn ra và yêu cầu người chơi xác nhận tham gia
local function promptNextUpcomingEvent()
local success, eventsOrError = pcall(function()
return SocialService:GetUpcomingExperienceEventsAsync()
end)
if not success then
warn("Không thể tải sự kiện sắp tới:", eventsOrError)
return
end
local upcomingEvents = eventsOrError
local selectedEvent
for _, event in ipairs(upcomingEvents) do
if not event.HasStarted and not event.HasEnded then
selectedEvent = event
break
end
end
if selectedEvent then
local success, result = pcall(function()
return SocialService:PromptRsvpToEventAsync(selectedEvent.Id)
end)
if not success then
warn("Yêu cầu xác nhận tham gia thất bại:", result)
end
else
warn("Không có sự kiện tương lai nào để yêu cầu.")
return
end
end
promptNextUpcomingEvent()

HideSelfView
Các khả năng: Social
SocialService:HideSelfView():()
Lợi Nhuận
()

PromptFeedbackSubmissionAsync
Sinh Lợi
Các khả năng: Social
SocialService:PromptFeedbackSubmissionAsync(options:Dictionary?):()
Tham Số
options:Dictionary?
Lợi Nhuận
()
Mẫu mã
SocialService:PromptFeedbackSubmissionAsync()
local SocialService = game:GetService("SocialService")
-- Hàm để yêu cầu phản hồi
local function promptForFeedback()
local success, errorMessage = pcall(function()
SocialService:PromptFeedbackSubmissionAsync()
end)
if success then
print("Đã hoàn thành yêu cầu phản hồi")
else
warn("Không thể yêu cầu phản hồi:", errorMessage)
end
end
-- Yêu cầu phản hồi khi người chơi đạt cột mốc
local function onMilestoneReached()
promptForFeedback()
end
-- Ví dụ sử dụng: Kết nối với một sự kiện trong trò chơi
game.ReplicatedStorage.MilestoneReached.OnClientEvent:Connect(onMilestoneReached)
SocialService:PromptFeedbackSubmissionAsync() — Hỗ Trợ Người Chơi
local SocialService = game:GetService("SocialService")
local function promptPlayerSupport()
local success, errorMessage = pcall(function()
SocialService:PromptFeedbackSubmissionAsync({
FeedbackType = Enum.FeedbackType.PlayerSupport,
})
end)
if success then
print("Yêu cầu hỗ trợ người chơi đã hoàn tất")
else
warn("Không thể yêu cầu hỗ trợ cho người chơi:", errorMessage)
end
end
-- Ví dụ sử dụng: Kết nối với một nút trợ giúp trong một ScreenGui
local helpButton = script.Parent:WaitForChild("HelpButton")
helpButton.Activated:Connect(function()
task.spawn(promptPlayerSupport)
end)

PromptGameInvite
Các khả năng: Social
SocialService:PromptGameInvite(
player:Instance, experienceInviteOptions:Instance
):()
Tham Số
player:Instance
experienceInviteOptions:Instance
Giá Trị Mặc Định: "nil"
Lợi Nhuận
()
Mẫu mã
Gửi lời mời
local SocialService = game:GetService("SocialService")
local Players = game:GetService("Players")
local player = Players.LocalPlayer
-- Hàm để kiểm tra xem người chơi có thể gửi lời mời không
local function canSendGameInvite(sendingPlayer)
local success, canSend = pcall(function()
return SocialService:CanSendGameInviteAsync(sendingPlayer)
end)
return success and canSend
end
local canInvite = canSendGameInvite(player)
if canInvite then
SocialService:PromptGameInvite(player)
end

PromptLinkSharing
Đã Lỗi Thời

PromptLinkSharingAsync
Sinh Lợi
Các khả năng: Social
SocialService:PromptLinkSharingAsync(
player:Player, options:Dictionary
Tham Số
player:Player
options:Dictionary
Giá Trị Mặc Định: "nil"
Lợi Nhuận

PromptPhoneBook
Các khả năng: Social
SocialService:PromptPhoneBook(
player:Instance, tag:string
):()
Tham Số
player:Instance
tag:string
Lợi Nhuận
()
Mẫu mã
Dịch vụ xã hội: Nhắc nhở danh bạ điện thoại()
local Players = game:GetService("Players")
local SocialService = game:GetService("SocialService")
local player = Players.LocalPlayer
local button = script.Parent
button.Visible = false
-- Hàm để kiểm tra xem người chơi có thể gửi lời mời gọi hay không
local function canSendCallingInvite(sendingPlayer)
local success, canSend = pcall(function()
return SocialService:CanSendCallInviteAsync(sendingPlayer)
end)
return success and canSend
end
local canCall = canSendCallingInvite(player)
if canCall then
button.Visible = true
button.Activated:Connect(function()
SocialService:PromptPhoneBook(player, "")
end)
end

PromptRsvpToEventAsync
Sinh Lợi
Các khả năng: Social
SocialService:PromptRsvpToEventAsync(eventId:string):Enum.RsvpStatus
Tham Số
eventId:string
Lợi Nhuận
Mẫu mã
SocialService:PromptRsvpToEventAsync()
local SocialService = game:GetService("SocialService")
local EVENT_ID = "YOUR_EVENT_ID"
local followPrompt: ProximityPrompt = script.Parent.FollowProximityPrompt
local unFollowPrompt: ProximityPrompt = script.Parent.UnfollowProximityPrompt
local function updatePrompt(rsvpStatus: Enum.RsvpStatus)
if rsvpStatus == Enum.RsvpStatus.Going then
unFollowPrompt.Enabled = true
followPrompt.Enabled = false
else
unFollowPrompt.Enabled = false
followPrompt.Enabled = true
end
end
local success, currentRsvpStatus = pcall(function()
return SocialService:GetEventRsvpStatusAsync(EVENT_ID)
end)
if not success then
-- Không thể lấy trạng thái xác nhận tham gia; không bật bất kỳ thông báo nào
warn("Không thể lấy trạng thái xác nhận tham gia:", currentRsvpStatus)
return
end
print("Trạng thái xác nhận tham gia hiện tại:", currentRsvpStatus)
updatePrompt(currentRsvpStatus)
unFollowPrompt.Triggered:Connect(function(player)
local rsvpStatus = SocialService:PromptRsvpToEventAsync(EVENT_ID)
updatePrompt(rsvpStatus)
end)
followPrompt.Triggered:Connect(function(player)
local rsvpStatus = SocialService:PromptRsvpToEventAsync(EVENT_ID)
updatePrompt(rsvpStatus)
end)

ShowSelfView
Các khả năng: Social
SocialService:ShowSelfView(selfViewPosition:Enum.SelfViewPosition):()
Tham Số
selfViewPosition:Enum.SelfViewPosition
Giá Trị Mặc Định: "LastPosition"
Lợi Nhuận
()

Sự Kiện
CallInviteStateChanged
Các khả năng: Social
SocialService.CallInviteStateChanged(
player:Instance, inviteState:Enum.InviteState
Tham Số
player:Instance
inviteState:Enum.InviteState
Mẫu mã
Trạng thái thay đổi lời mời của SocialService
local SocialService = game:GetService("SocialService")
local button = script.Parent
local isPhonebookOpen = false
SocialService.CallInviteStateChanged:Connect(function(_, inviteState)
local isCalling = inviteState == Enum.InviteState.Placed
if isCalling or isPhonebookOpen then
button.Visible = false
else
button.Visible = true
end
end)

GameInvitePromptClosed
Các khả năng: Social
SocialService.GameInvitePromptClosed(
player:Instance, recipientIds:{any}
Tham Số
player:Instance
recipientIds:{any}

PhoneBookPromptClosed
Các khả năng: Social
SocialService.PhoneBookPromptClosed(player:Instance):RBXScriptSignal
Tham Số
player:Instance

ShareSheetClosed
Các khả năng: Social
SocialService.ShareSheetClosed(player:Player):RBXScriptSignal
Tham Số
player:Player

Gọi Lại
OnCallInviteInvoked
Các khả năng: Social
SocialService.OnCallInviteInvoked(
tag:string, callParticipantIds:{any}
Tham Số
tag:string
callParticipantIds:{any}
Lợi Nhuận
Mẫu mã
SocialService.OnCallInviteInvoked
local SocialService = game:GetService("SocialService")
local TeleportService = game:GetService("TeleportService")
SocialService.OnCallInviteInvoked = function()
local placeId = 0123456789 -- Đây là ID của địa điểm mà bạn muốn đưa người tham gia cuộc gọi vào
local accessCode = TeleportService:ReserveServerAsync(placeId)
return { ReservedServerAccessCode = accessCode, PlaceId = placeId }
end

©2026 Roblox Corporation. Roblox, logo Roblox và Powering Imagination là các nhãn hiệu đã đăng ký và chưa đăng ký của chúng tôi tại Hoa Kỳ và các quốc gia khác.