Skip to content

Instantly share code, notes, and snippets.

Show Gist options
  • Select an option

  • Save RuizuKun-Dev/e54cfdbac4d9a2fc33c7d892237dae15 to your computer and use it in GitHub Desktop.

Select an option

Save RuizuKun-Dev/e54cfdbac4d9a2fc33c7d892237dae15 to your computer and use it in GitHub Desktop.
local CollectionService = game:GetService("CollectionService")
local SocialService = game:GetService("SocialService")
local function PromptFeedbackSubmissionAsync()
SocialService:PromptFeedbackSubmissionAsync()
end
local function doForPromptFeedbackSubmissionAsyncProximityPrompt(proximityprompt: ProximityPrompt)
if not proximityprompt:IsA("ProximityPrompt") then
warn(`{proximityprompt:GetFullName()}, is not a ProximityPrompt`)
return
end
proximityprompt.Triggered:Connect(PromptFeedbackSubmissionAsync)
end
CollectionService:GetInstanceAddedSignal("PromptFeedbackSubmissionAsync/ProximityPrompt")
:Connect(doForPromptFeedbackSubmissionAsyncProximityPrompt)
for _, proximityprompt: ProximityPrompt in CollectionService:GetTagged("PromptFeedbackSubmissionAsync/ProximityPrompt") do
doForPromptFeedbackSubmissionAsyncProximityPrompt(proximityprompt)
end
local Players = game:GetService("Players")
local CollectionService = game:GetService("CollectionService")
local SocialService = game:GetService("SocialService")
-- local ExperienceInviteOptions: ExperienceInviteOptions = Instance.new("ExperienceInviteOptions")
-- ExperienceInviteOptions.LaunchData = "LaunchData"
-- ExperienceInviteOptions.PromptMessage = "PromptMessage"
-- ExperienceInviteOptions.InviteMessageId = "InviteMessageId"
local function PromptGameInvite()
SocialService:PromptGameInvite(Players.LocalPlayer) -- ExperienceInviteOptions
end
local function doForPromptGameInviteProximityPrompt(proximityprompt: ProximityPrompt)
if not proximityprompt:IsA("ProximityPrompt") then
warn(`{proximityprompt:GetFullName()}, is not a ProximityPrompt`)
return
end
if not SocialService:CanSendGameInviteAsync(Players.LocalPlayer) then
return
end
proximityprompt.Triggered:Connect(PromptGameInvite)
end
CollectionService:GetInstanceAddedSignal("PromptGameInvite/ProximityPrompt")
:Connect(doForPromptGameInviteProximityPrompt)
for _, proximityprompt: ProximityPrompt in CollectionService:GetTagged("PromptGameInvite/ProximityPrompt") do
doForPromptGameInviteProximityPrompt(proximityprompt)
end
local CollectionService = game:GetService("CollectionService")
local GroupService = game:GetService("GroupService")
local GROUP_ID = 3132914 --game.CreatorId
local function PromptJoinAsync(): Enum.GroupMembershipStatus
local _, GroupMembershipStatus: Enum.GroupMembershipStatus = pcall(function()
return GroupService:PromptJoinAsync(GROUP_ID)
end)
return GroupMembershipStatus or Enum.GroupMembershipStatus.None
end
local function doForPromptJoinAsyncProximityPrompt(proximityprompt: ProximityPrompt)
if not proximityprompt:IsA("ProximityPrompt") then
warn(`{proximityprompt:GetFullName()}, is not a ProximityPrompt`)
return
end
proximityprompt.Triggered:Connect(function(player: Player)
local GroupMembershipStatus: Enum.GroupMembershipStatus = PromptJoinAsync()
player:SetAttribute("GroupMembershipStatus", GroupMembershipStatus)
end)
end
CollectionService:GetInstanceAddedSignal("PromptJoinAsync/ProximityPrompt"):Connect(doForPromptJoinAsyncProximityPrompt)
for _, proximityprompt: ProximityPrompt in CollectionService:GetTagged("PromptJoinAsync/ProximityPrompt") do
doForPromptJoinAsyncProximityPrompt(proximityprompt)
end
local CollectionService = game:GetService("CollectionService")
local HttpService = game:GetService("HttpService")
local SocialService = game:GetService("SocialService")
local LinkSharingOptions = {
ExpirationSeconds = 86_400,
PreviewTitle = "PreviewTitle",
PreviewDescription = "PreviewDescription",
LaunchData = HttpService:JSONEncode({
promoCode = "j7du67",
}),
}
local function PromptLinkSharingAsync(player: Player): Enum.PromptLinkSharingResult
return SocialService:PromptLinkSharingAsync(player, LinkSharingOptions)
end
local function doForPromptLinkSharingAsyncProximityPrompt(proximityprompt: ProximityPrompt)
if not proximityprompt:IsA("ProximityPrompt") then
warn(`{proximityprompt:GetFullName()}, is not a ProximityPrompt`)
return
end
proximityprompt.Triggered:Connect(function(player: Player)
local PromptLinkSharingResult: Enum.PromptLinkSharingResult = PromptLinkSharingAsync(player)
player:SetAttribute("PromptLinkSharingResult", PromptLinkSharingResult)
end)
end
CollectionService:GetInstanceAddedSignal("PromptLinkSharingAsync/ProximityPrompt")
:Connect(doForPromptLinkSharingAsyncProximityPrompt)
for _, proximityprompt: ProximityPrompt in CollectionService:GetTagged("PromptLinkSharingAsync/ProximityPrompt") do
doForPromptLinkSharingAsyncProximityPrompt(proximityprompt)
end
local CollectionService = game:GetService("CollectionService")
local ExperienceNotificationService = game:GetService("ExperienceNotificationService")
local function PromptOptIn()
ExperienceNotificationService:PromptOptIn()
end
local function doForPromptOptInProximityPrompt(proximityprompt: ProximityPrompt)
if not proximityprompt:IsA("ProximityPrompt") then
warn(`{proximityprompt:GetFullName()}, is not a ProximityPrompt`)
return
end
if not ExperienceNotificationService:CanPromptOptInAsync() then
return
end
proximityprompt.Triggered:Connect(PromptOptIn)
end
CollectionService:GetInstanceAddedSignal("PromptOptIn/ProximityPrompt"):Connect(doForPromptOptInProximityPrompt)
for _, proximityprompt: ProximityPrompt in CollectionService:GetTagged("PromptOptIn/ProximityPrompt") do
doForPromptOptInProximityPrompt(proximityprompt)
end
local CollectionService = game:GetService("CollectionService")
local AvatarEditorService = game:GetService("AvatarEditorService")
local function PromptSetFavorite(player: Player)
AvatarEditorService:PromptSetFavorite(game.PlaceId, Enum.AvatarItemType.Asset, true)
AvatarEditorService.PromptSetFavoriteCompleted:Once(function(avatarPromptResult: Enum.AvatarPromptResult)
player:SetAttribute("SetFavoriteResult", avatarPromptResult)
end)
end
local function doForPromptSetFavoriteProximityPrompt(proximityprompt: ProximityPrompt)
if not proximityprompt:IsA("ProximityPrompt") then
warn(`{proximityprompt:GetFullName()}, is not a ProximityPrompt`)
return
end
proximityprompt.Triggered:Connect(PromptSetFavorite)
end
CollectionService:GetInstanceAddedSignal("PromptSetFavorite/ProximityPrompt")
:Connect(doForPromptSetFavoriteProximityPrompt)
for _, proximityprompt: ProximityPrompt in CollectionService:GetTagged("PromptSetFavorite/ProximityPrompt") do
doForPromptSetFavoriteProximityPrompt(proximityprompt)
end
local Players = game:GetService("Players")
local function checkUserHasRobloxPremium(player: Player)
if player.MembershipType == Enum.MembershipType.Premium then
player:SetAttribute("hasRobloxPremium", true)
player:AddTag("User/Has/Roblox/Premium")
end
end
Players.PlayerAdded:Connect(checkUserHasRobloxPremium)
Players.PlayerMembershipChanged:Connect(checkUserHasRobloxPremium)
local Players = game:GetService("Players")
local GROUPID: number = 3132914 --game.CreatorId
local function IsInGroupAsync(player: Player)
local _, isInGroup: boolean = pcall(function()
return player:IsInGroupAsync(GROUPID)
end)
return isInGroup
end
Players.PlayerAdded:Connect(function(player: Player)
local isInGroup = IsInGroupAsync(player)
if isInGroup then
player:SetAttribute("isInGroup", isInGroup)
player:AddTag("User/Is/In/Group")
end
end)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment