Untitled
unknown
lua
6 months ago
52 kB
2
Indexable
task.wait(5) local ReplicatedStorage = game:GetService("ReplicatedStorage") local ServerScriptService = game:GetService("ServerScriptService") local MarketplaceService = game:GetService("MarketplaceService") local TweenService = game:GetService("TweenService") local SoundService = game:GetService("SoundService") local Players = game:GetService("Players") local BadgeService = game:GetService("BadgeService") local Lighting = game:GetService("Lighting") local RunService = game:GetService("RunService") local CoreGui = game:GetService("StarterGui") local Remotes = require(ReplicatedStorage:WaitForChild("Remotes")) local Templates = ReplicatedStorage:WaitForChild("Templates") local GameSettings = require(ReplicatedStorage:WaitForChild("GameSettings")) local NumbersHelper = require(ReplicatedStorage:WaitForChild("Common"):WaitForChild("NumberHelpers")) local ConfettiParticles = require(script.ConfettiParticles) local Client = game.Players.LocalPlayer local PlayerGui = Client.PlayerGui local ScreenGui = PlayerGui.ScreenGui local SPAWN_PART = game:GetService("Workspace").Map.SpawnPart local ClaimedEvent = Remotes.Event("ClaimedEvent") local UnclaimEvent = Remotes.Event("UnclaimedEvent") local RefreshEvent = Remotes.Event("RefreshEvent") local ChangeTextEvent = Remotes.Event("ChangeTextEvent") local ChangeSignTextEvent = ReplicatedStorage:WaitForChild("Events"):WaitForChild("ChangeSignText") local NotificationEvent = Remotes.Event("NotificationEvent") local DonatedChanged = Remotes.Event("DonatedChanged") local GetDonated = Remotes.Function("GetDonated") local GetSpecialIds = Remotes.Function("GetSpecialIds") local GetBooths = Remotes.Function("GetBooths") local ChatDonationAlert = Remotes.Event("ChatDonationAlert") local ChangeTheme = Remotes.Function("ChangeTheme") local CreateVFXEvent = ReplicatedStorage:WaitForChild("CreateVFXEvent") local CreateSFXFirework = Remotes.Event("CreateSFXFirework") local GetGiftBoothStuff = Remotes.Function("GetGiftBoothStuff") local GetUnclaimedGifts = Remotes.Function("GetUnclaimedGifts") local ClaimGifts = Remotes.Function("ClaimGifts") local CreateVfxCoin = ReplicatedStorage:WaitForChild("Events"):WaitForChild("CreateVfxCoin") local ChangeSignModel = ReplicatedStorage:WaitForChild("Events"):WaitForChild("ChangeSignModel") local VFXLevels = ReplicatedStorage:WaitForChild("VFXLevels") local OsClock = os.clock() local donatedAmount = 0 donatedAmount = GetDonated:InvokeServer() local CheckerImage = ScreenGui:WaitForChild("CheckerImage") local CheckerDebounce = true local Frames = { "EditBooth", "GiftPlayer", "Settings", "EditSign", "Gamepasses", "JoinGame", "AdsManager" } function NaturalTime(date) local dateTime = DateTime.now().UnixTimestamp - date.UnixTimestamp if dateTime < 10 then return "Just now" end if dateTime < 60 then return string.format("%i seconds ago", dateTime) end if dateTime < 120 then return "a minute ago" end if dateTime < 3600 then return string.format("%i minutes ago", dateTime / 60) end if dateTime < 7200 then return "an hour ago" end if dateTime < 86400 then return string.format("%i hours ago", dateTime / 3600) end return date:FormatLocalTime("LLL", Client.LocaleId) end function Tween(Object, Time, Data) TweenService:Create(Object, TweenInfo.new(Time, Enum.EasingStyle.Quint), Data):Play() end function popUp(text, typePopUp) if typePopUp == "error" then --PopupTemplate.TextColor3 = Color3.fromRGB(248, 38, 72) SoundService.Error:Play() elseif typePopUp == "normal" then --PopupTemplate.TextColor3 = Color3.fromRGB(255, 255, 255) SoundService.Notification:Play() elseif typePopUp == "nice" then --PopupTemplate.TextColor3 = Color3.fromRGB(0, 189, 102) SoundService.Notification:Play() elseif typePopUp == "omg" then --PopupTemplate.TextColor3 = Color3.fromRGB(255, 255, 0) SoundService.Donation:Play() end CoreGui:SetCore("SendNotification", { Title = "New Notification!"; Text = text; Duration = 2; }) end function getRandomPositionInPart(Part) local x = Part.Position.X + math.random(-Part.Size.X/2,Part.Size.X/2) local y = Part.Position.Y + math.random(-Part.Size.Y/2,Part.Size.Y/2) local z = Part.Position.Z + math.random(-Part.Size.Z/2,Part.Size.Z/2) return Vector3.new(x,y,z) end function TweenChecker(dt) if CheckerDebounce == false then return end if game.Players.LocalPlayer:GetAttribute("Performance") == true then return end CheckerDebounce = false local TweenCheckerImage = TweenService:Create(CheckerImage, TweenInfo.new(25, Enum.EasingStyle.Linear), {Position = UDim2.new(0, 0, -1)}) CheckerImage.Position = UDim2.new(-1) TweenCheckerImage:Play() TweenCheckerImage.Completed:Wait() CheckerDebounce = true end function ToggleCameraEffect(boolean) local _Size = 0 local _FOV = 70 if boolean then _Size = 25 _FOV = 60 TweenService:Create(CheckerImage, TweenInfo.new(0.1, Enum.EasingStyle.Linear), {ImageTransparency = 0.95}):Play() else TweenService:Create(CheckerImage, TweenInfo.new(0.1, Enum.EasingStyle.Linear), {ImageTransparency = 1}):Play() end TweenService:Create( game:GetService("Lighting").Blur, TweenInfo.new(0.25, Enum.EasingStyle.Quad, Enum.EasingDirection.Out, 0, false, 0), {Size = _Size} ):Play() TweenService:Create( game:GetService("Workspace").CurrentCamera, TweenInfo.new(0.25, Enum.EasingStyle.Quad, Enum.EasingDirection.Out, 0, false, 0), {FieldOfView = _FOV} ):Play() end function ChangeCameraMode(Scriptable : boolean) if Scriptable then repeat wait() game:GetService("Workspace").CurrentCamera.CameraType = Enum.CameraType.Scriptable until game:GetService("Workspace").CurrentCamera.CameraType == Enum.CameraType.Scriptable else repeat wait() game:GetService("Workspace").CurrentCamera.CameraType = Enum.CameraType.Custom until game:GetService("Workspace").CurrentCamera.CameraType == Enum.CameraType.Custom end end function ToggleFrame(FrameName) for _, Frame in pairs(ScreenGui:GetChildren()) do if Frame:IsA("Frame") and table.find(Frames, Frame.Name) and table.find(Frames, FrameName) then Frame.Visible = false end end --ScreenGui[FrameName].Position = UDim2.fromScale(0.55,0.55) --ScreenGui[FrameName].Size = UDim2.fromScale(0.35, 0.35) --ScreenGui[FrameName].Rotation = -5 ScreenGui[FrameName].Visible = true --TweenService:Create(ScreenGui[FrameName],TweenInfo.new(0.1,Enum.EasingStyle.Linear, Enum.EasingDirection.InOut),{Position = UDim2.new(0.34, 0,0.3, 0)}):Play() --TweenService:Create(ScreenGui[FrameName],TweenInfo.new(0.1,Enum.EasingStyle.Linear, Enum.EasingDirection.InOut),{Size = UDim2.fromScale(0.4,0.4)}):Play() --TweenService:Create(ScreenGui[FrameName],TweenInfo.new(0.1,Enum.EasingStyle.Linear, Enum.EasingDirection.InOut),{Rotation = 0}):Play() end --//START OF EDIT BOOTH GUI local EditBoothFrame = ScreenGui.EditBooth local EditBoothFrameThemes = EditBoothFrame.BoothThemes.Themes local EditBoothTextBox = EditBoothFrame.BoothText.TextBox local EditBoothPreviewPre = EditBoothFrame.Colors.ColorPicker.preview.pre local EditBoothButton = ScreenGui.MenuButtons.EditBoothBG.EditBooth local EditBoothStatisticsList = EditBoothFrame.Statistics.ScrollingFrame local EditBoothStatisticsListTemplate = EditBoothStatisticsList.PlayerTemplate local Debounce = false local PlacedButtons = { "Template", "DefaultBooth", "100Donated", "1KDonated", "10KDonated", "100KDonated", "Developer", "Influencer", "FDCBooth", "VIPBooth" } local Connections = { } local function EditBoothFrameApplied() local filteredText = tostring(EditBoothTextBox.Text) if string.len(filteredText) < 250 then ChangeTextEvent:FireServer(filteredText, EditBoothPreviewPre.BackgroundColor3) EditBoothFrame.Visible = false ToggleCameraEffect(false) spawn(function() popUp("changed", "normal") end) else spawn(function() popUp("max 250 char", "error") end) end end local function EditBoothFrameUnclaimed() EditBoothButton.Parent.Visible = false EditBoothFrame.Visible = false ToggleCameraEffect(false) UnclaimEvent:FireServer() script.YourBooth.Enabled = false script.YourBooth.Adornee = nil spawn(function() popUp("unclaimed", "error") end) end local function EditBoothButtonOpened() ToggleFrame("EditBooth") ToggleCameraEffect(true) end local function EditBoothFrameClosed() EditBoothFrame.Visible = false ToggleCameraEffect(false) spawn(function() popUp("canceled", "error") end) end local function LoadStatistics() --local TopDonatedStatistic = Remotes.Function("GetTopDonatedStatistic"):InvokeServer() --local succes, err = pcall(function() -- for i, position in pairs(TopDonatedStatistic) do -- local userID = tonumber(TopDonatedStatistic[i]["userId"]) -- local robux = tostring(TopDonatedStatistic[i]["robux"]) -- local TemplateFind = ScreenGui.BoothStatistics.LeaderboardDonated:FindFirstChild(TopDonatedStatistic[i]["userId"]) -- if not TemplateFind then -- local Template = ScreenGui.BoothStatistics.LeaderboardDonated.PlayerTemplate:Clone() -- Template.Info.Username.Text = "@"..Players:GetNameFromUserIdAsync(userID) -- Template.Info.Avatar.Image = string.format("rbxthumb://type=AvatarHeadShot&id=%s&w=420&h=420", userID) -- Template.Stats.Robux.Text = NumbersHelper.formatCommas(robux) .. "\u{E002}" -- Template.Info.Rank.Text = "#"..i -- if i == 1 then -- Template.Info.Rank.TextColor3 = Color3.fromRGB(255, 213, 1) -- elseif i == 2 then -- Template.Info.Rank.TextColor3 = Color3.fromRGB(217, 217, 217) -- elseif i == 3 then -- Template.Info.Rank.TextColor3 = Color3.fromRGB(216, 137, 110) -- end -- Template.Visible = true -- Template.Name = tostring(userID) -- Template.Parent = ScreenGui.BoothStatistics.LeaderboardDonated -- else -- TemplateFind.Info.Username.Text = "@"..Players:GetNameFromUserIdAsync(userID) -- TemplateFind.Info.Avatar.Image = string.format("rbxthumb://type=AvatarHeadShot&id=%s&w=420&h=420", userID) -- TemplateFind.Stats.Robux.Text = NumbersHelper.formatCommas(robux) .. "\u{E002}" -- TemplateFind.Info.Rank.Text = "#"..i -- if i == 1 then -- TemplateFind.Info.Rank.TextColor3 = Color3.fromRGB(255, 213, 1) -- elseif i == 2 then -- TemplateFind.Info.Rank.TextColor3 = Color3.fromRGB(217, 217, 217) -- elseif i == 3 then -- TemplateFind.Info.Rank.TextColor3 = Color3.fromRGB(216, 137, 110) -- end -- TemplateFind.Visible = true -- end -- end --end) local TopReceivedStatistic = Remotes.Function("GetTopReceivedStatistic"):InvokeServer() local succes, err = pcall(function() for i, position in pairs(TopReceivedStatistic) do local userID = tonumber(TopReceivedStatistic[i]["userId"]) local robux = tostring(TopReceivedStatistic[i]["robux"]) local TemplateFind = EditBoothStatisticsList:FindFirstChild(TopReceivedStatistic[i]["userId"]) if not TemplateFind then local Template = EditBoothStatisticsListTemplate:Clone() Template.Username.Text = "@"..Players:GetNameFromUserIdAsync(userID) --Template.Avatar.Image = string.format("rbxthumb://type=AvatarHeadShot&id=%s&w=420&h=420", userID) Template.Robux.Text = NumbersHelper.formatCommas(robux) .. "\u{E002}" Template.Rank.Text = "#"..i if i == 1 then Template.Rank.TextColor3 = Color3.fromRGB(255, 213, 1) elseif i == 2 then Template.Rank.TextColor3 = Color3.fromRGB(217, 217, 217) elseif i == 3 then Template.Rank.TextColor3 = Color3.fromRGB(216, 137, 110) end Template.Visible = true Template.Name = tostring(userID) Template.Parent = EditBoothStatisticsList else TemplateFind.Username.Text = "@"..Players:GetNameFromUserIdAsync(userID) --TemplateFind.Avatar.Image = string.format("rbxthumb://type=AvatarHeadShot&id=%s&w=420&h=420", userID) TemplateFind.Robux.Text = NumbersHelper.formatCommas(robux) .. "\u{E002}" TemplateFind.Rank.Text = "#"..i if i == 1 then TemplateFind.Rank.TextColor3 = Color3.fromRGB(255, 213, 1) elseif i == 2 then TemplateFind.Rank.TextColor3 = Color3.fromRGB(217, 217, 217) elseif i == 3 then TemplateFind.Rank.TextColor3 = Color3.fromRGB(216, 137, 110) end TemplateFind.Visible = true end end end) if err then warn(err) end end local function BoothButtonSetup(buttonName) if Debounce == true then return end Debounce = true donatedAmount = GetDonated:InvokeServer() if buttonName == "DefaultBooth" then local newBooth = ChangeTheme:InvokeServer("DefaultBooth") script.YourBooth.Adornee = newBooth.Interaction elseif buttonName == "100Donated" then if donatedAmount < 100 then popUp("u need 100\u{E002} donated", "error") else local newBooth = ChangeTheme:InvokeServer("GoldenBooth") script.YourBooth.Adornee = newBooth.Interaction end elseif buttonName == "1KDonated" then if donatedAmount < 1000 then popUp("u need 1K\u{E002} donated", "error") else local newBooth = ChangeTheme:InvokeServer("DiamondBooth") script.YourBooth.Adornee = newBooth.Interaction end elseif buttonName == "10KDonated" then if donatedAmount < 10000 then popUp("u need 10K\u{E002} donated", "error") else local newBooth = ChangeTheme:InvokeServer("EmeraldBooth") script.YourBooth.Adornee = newBooth.Interaction end elseif buttonName == "100KDonated" then if donatedAmount < 100000 then popUp("u need 100K\u{E002} donated", "error") else local newBooth = ChangeTheme:InvokeServer("RubyBooth") script.YourBooth.Adornee = newBooth.Interaction end elseif buttonName == "Influencer" then if GameSettings:GetRankInGroup(Client) == 25 or GameSettings:GetRankInGroup(Client) >= 253 then local newBooth = ChangeTheme:InvokeServer("InfluencerBooth") script.YourBooth.Adornee = newBooth.Interaction else popUp("ur not special...", "error") end elseif buttonName == "Developer" then if GameSettings:GetRankInGroup(Client) == 200 or GameSettings:GetRankInGroup(Client) >= 253 or GameSettings:GetRankInGroup(Client) >= 80 then local newBooth = ChangeTheme:InvokeServer("DeveloperBooth") script.YourBooth.Adornee = newBooth.Interaction else popUp("did you program any of this?", "error") end elseif buttonName == "FDCBooth" then if BadgeService:UserHasBadgeAsync(Client.UserId, 2141459311) then local newBooth = ChangeTheme:InvokeServer("FDCBooth") script.YourBooth.Adornee = newBooth.Interaction else popUp("achieve 'Skilled' in [🏆Fabi's Difficulty Chart]!", "error") end elseif buttonName == "VIPBooth" then if MarketplaceService:UserOwnsGamePassAsync(Client.UserId, GameSettings:GetGamepasses().VIP) then local newBooth = ChangeTheme:InvokeServer("VIPBooth") script.YourBooth.Adornee = newBooth.Interaction else popUp("you don't own the VIP Gamepass!", "error") end end task.wait(1) Debounce = false end local function SettingUpBoothButtons() for _, BoothButton in pairs(EditBoothFrameThemes:GetChildren()) do if BoothButton:IsA("TextButton") or BoothButton:IsA("ImageButton") and BoothButton.Name ~= "Template" then local buttonName = BoothButton.Name BoothButton.Activated:Connect(function() BoothButtonSetup(buttonName) end) end end end SettingUpBoothButtons() local function Refresh() print("Starting Refresh function...") local rank = GameSettings:GetRankInGroup(Client) print("Client rank:", rank) EditBoothFrameThemes.Influencer.Visible = (rank == 25 or rank >= 253) print("Influencer visibility set to", EditBoothFrameThemes.Influencer.Visible) EditBoothFrameThemes.Developer.Visible = (rank == 200 or rank >= 253 or rank >= 80) print("Developer visibility set to", EditBoothFrameThemes.Developer.Visible) local hasBadge = BadgeService:UserHasBadgeAsync(Client.UserId, 2141459311) EditBoothFrameThemes.FDCBooth.Visible = hasBadge print("FDCBooth visibility set to", EditBoothFrameThemes.FDCBooth.Visible) print("PlacedButtons:", PlacedButtons) print("Type of PlacedButtons:", typeof(PlacedButtons)) for _, Button in pairs(EditBoothFrameThemes:GetChildren()) do if Button:IsA("TextButton") then print("Checking Button:", Button.Name) if typeof(PlacedButtons) == "table" then if not table.find(PlacedButtons, Button.Name) then print("Destroying button:", Button.Name) Button:Destroy() end else print("Error: PlacedButtons is not a table") end end end print("Disconnecting existing connections...") for _, Connection in pairs(Connections) do if Connection then Connection:Disconnect() print("Disconnected connection.") end end print("Fetching Booth IDs from server...") local BoothIds = GetBooths:InvokeServer() print("Booth IDs fetched:", BoothIds) print("BoothIds:", BoothIds) print("Type of BoothIds:", typeof(BoothIds)) print("Processing booths...") local booths = require(ReplicatedStorage:WaitForChild("Booths")).Booths if not booths then print("Error: No booths found.") return end for i, Booth in pairs(booths) do print("Processing Booth:", Booth.Id) print("Booth Text:", Booth.Text) print("Booth Image:", Booth.Image) print("Booth TextColor:", Booth.TextColor) print("Booth BackgroundColor:", Booth.BackgroundColor) if typeof(BoothIds) == "table" and table.find(BoothIds, Booth.Id) then print("Booth ID found in BoothIds:", Booth.Id) local Template = EditBoothFrameThemes.Template:Clone() Template.Name = Booth.Id Template.TextLabel.Text = Booth.Text Template.TextLabel.TextColor3 = Booth.TextColor Template.BackgroundColor3 = Booth.BackgroundColor Template.Parent = EditBoothFrameThemes Template.Visible = true Template.LayoutOrder = 9 Template.Image = Booth.Image print("Template created with Name:", Template.Name) Connections[i] = Template.Activated:Connect(function() local newBooth = ChangeTheme:InvokeServer(Booth.Id) --print("New Booth Interaction:", newBooth.Interaction) script.YourBooth.Adornee = newBooth.Interaction end) else print("Booth ID not found in BoothIds:", Booth.Id) end end print("Booth processing completed.") end local function EditBoothFrameRefreshed() EditBoothFrame.Visible = false ToggleCameraEffect(false) RefreshEvent:FireServer(Client) spawn(function() popUp("refreshing...", "normal") end) Refresh() popUp("refreshed!", "normal") EditBoothFrame.Visible = true end --//END OF EDIT BOOTH GUI --//START OF SETTINGS GUI local SettingsFrame = ScreenGui.Settings local SettingsFrameScrollingFrame = SettingsFrame.ScrollingFrame local ChangeRemote = script.Parent.Anonymous.ChangeValueBoolean local function Performance(ON) if ON then Client:SetAttribute("Performance", true) Lighting.ShadowSoftness = 0 Lighting.GlobalShadows = false Lighting.Sky.StarCount = 0 Lighting.Bloom.Size = 0 Lighting.Bloom.Intensity = 0 else Client:SetAttribute("Performance", false) Lighting.ShadowSoftness = 0.32 Lighting.GlobalShadows = true Lighting.Sky.StarCount = 3000 Lighting.Bloom.Size = 40 Lighting.Bloom.Intensity = 1 end end local function SettingsFrameOpened() ToggleFrame("Settings") ToggleCameraEffect(true) end local function SettingsFrameClosed() ToggleCameraEffect(false) SettingsFrame.Visible = false spawn(function() popUp("canceled", "error") end) end local function SettingsFrameApplied() SettingsFrame.Visible = false TweenService:Create( SoundService.MainGameSound, TweenInfo.new(0.5), {Volume = (SettingsFrameScrollingFrame.Music:GetAttribute("Value")/100)*2}):Play() TweenService:Create( SoundService.DonationSFX, TweenInfo.new(0.5), {Volume = (SettingsFrameScrollingFrame.DonationSFX:GetAttribute("Value")/100)*2}):Play() TweenService:Create( SoundService.OverallSFX, TweenInfo.new(0.5), {Volume = (SettingsFrameScrollingFrame.OverallSFX:GetAttribute("Value")/100)*2}):Play() TweenService:Create( game:GetService("Lighting"), TweenInfo.new(1, Enum.EasingStyle.Quad, Enum.EasingDirection.Out, 0, false, 0), {ClockTime = (SettingsFrameScrollingFrame.DayTime:GetAttribute("Value")/100)*24} ):Play() if SettingsFrameScrollingFrame.Performance:GetAttribute("Triggered") == true then Performance(true) else Performance(false) end ChangeRemote:FireServer(SettingsFrameScrollingFrame.Anonymous:GetAttribute("Triggered")) Remotes.Event("SetSettings"):FireServer({ ["MusicValue"] = SettingsFrameScrollingFrame.Music:GetAttribute("Value"), ["DonationSFX"] = SettingsFrameScrollingFrame.DonationSFX:GetAttribute("Value"), ["OverallSFX"] = SettingsFrameScrollingFrame.OverallSFX:GetAttribute("Value"), ["DonationVFX"] = SettingsFrameScrollingFrame.DonationVFX:GetAttribute("Triggered"), ["DayTime"] = SettingsFrameScrollingFrame.DayTime:GetAttribute("Value"), ["Performance"] = SettingsFrameScrollingFrame.Performance:GetAttribute("Triggered"), ["Anonymous"] = SettingsFrameScrollingFrame.Anonymous:GetAttribute("Triggered") }) ToggleCameraEffect(false) spawn(function() popUp("applied!", "nice") end) end local function SettingUpSettings() local SettingsData = Remotes.Function("GetSettings"):InvokeServer() SettingsFrameScrollingFrame.Music:SetAttribute("Value", SettingsData.MusicValue) SettingsFrameScrollingFrame.DonationSFX:SetAttribute("Value", SettingsData.DonationSFX) SettingsFrameScrollingFrame.OverallSFX:SetAttribute("Value", SettingsData.OverallSFX) SettingsFrameScrollingFrame.DonationVFX:SetAttribute("Triggered",SettingsData.DonationVFX) SettingsFrameScrollingFrame.DayTime:SetAttribute("Value",SettingsData.DayTime) SettingsFrameScrollingFrame.Performance:SetAttribute("Triggered",SettingsData.Performance) SettingsFrameScrollingFrame.Anonymous:SetAttribute("Triggered",SettingsData.Anonymous) TweenService:Create( SoundService.MainGameSound, TweenInfo.new(0.5), {Volume = (SettingsFrameScrollingFrame.Music:GetAttribute("Value")/100)*2} ):Play() TweenService:Create( SoundService.DonationSFX, TweenInfo.new(0.5), {Volume = (SettingsFrameScrollingFrame.DonationSFX:GetAttribute("Value")/100)*2} ):Play() TweenService:Create( SoundService.OverallSFX, TweenInfo.new(0.5), {Volume = (SettingsFrameScrollingFrame.OverallSFX:GetAttribute("Value")/100)*2} ):Play() TweenService:Create( game:GetService("Lighting"), TweenInfo.new(1, Enum.EasingStyle.Quad, Enum.EasingDirection.Out, 0, false, 0), {ClockTime = (SettingsFrameScrollingFrame.DayTime:GetAttribute("Value")/100)*24} ):Play() SettingsFrameScrollingFrame.Music.Slider.TextButton.Position = UDim2.new(SettingsFrameScrollingFrame.Music:GetAttribute("Value")/100,0,SettingsFrameScrollingFrame.Music.Slider.TextButton.Position.Y.Scale,0) SettingsFrameScrollingFrame.Music.AmountText.Text = (SettingsFrameScrollingFrame.Music:GetAttribute("Value")/100)*2 SettingsFrameScrollingFrame.DayTime.Slider.TextButton.Position = UDim2.new(SettingsFrameScrollingFrame.DayTime:GetAttribute("Value")/100,0,SettingsFrameScrollingFrame.DayTime.Slider.TextButton.Position.Y.Scale,0) SettingsFrameScrollingFrame.DayTime.AmountText.Text = math.floor(((SettingsFrameScrollingFrame.DayTime:GetAttribute("Value")/100)*24))..":00" SettingsFrameScrollingFrame.DonationSFX.Slider.TextButton.Position = UDim2.new(SettingsFrameScrollingFrame.DonationSFX:GetAttribute("Value")/100,0,SettingsFrameScrollingFrame.DonationSFX.Slider.TextButton.Position.Y.Scale,0) SettingsFrameScrollingFrame.DonationSFX.AmountText.Text = (SettingsFrameScrollingFrame.DonationSFX:GetAttribute("Value")/100)*2 SettingsFrameScrollingFrame.OverallSFX.Slider.TextButton.Position = UDim2.new(SettingsFrameScrollingFrame.OverallSFX:GetAttribute("Value")/100,0,SettingsFrameScrollingFrame.OverallSFX.Slider.TextButton.Position.Y.Scale,0) SettingsFrameScrollingFrame.OverallSFX.AmountText.Text = (SettingsFrameScrollingFrame.OverallSFX:GetAttribute("Value")/100)*2 Client:SetAttribute("Performance", SettingsFrameScrollingFrame.Performance:GetAttribute("Triggered")) if SettingsFrameScrollingFrame.Performance:GetAttribute("Triggered") == true then Performance(true) TweenService:Create( game:GetService("Lighting"), TweenInfo.new(1, Enum.EasingStyle.Quad, Enum.EasingDirection.Out, 0, false, 0), {ClockTime = 0} ):Play() TweenService:Create( SettingsFrameScrollingFrame.Performance.Frame.ToggleFrame, TweenInfo.new(0.25, Enum.EasingStyle.Quad, Enum.EasingDirection.Out, 0, false, 0), {BackgroundColor3 = Color3.new(0.4, 1, 0)} ):Play() TweenService:Create( SettingsFrameScrollingFrame.Performance.Frame.ToggleFrame.Circle, TweenInfo.new(0.25, Enum.EasingStyle.Quad, Enum.EasingDirection.Out, 0, false, 0), {Position = UDim2.fromScale(0.8,0.5)} ):Play() end if SettingsFrameScrollingFrame.DonationVFX:GetAttribute("Triggered") == false then TweenService:Create( SettingsFrameScrollingFrame.DonationVFX.Frame.ToggleFrame, TweenInfo.new(0.25, Enum.EasingStyle.Quad, Enum.EasingDirection.Out, 0, false, 0), {BackgroundColor3 = Color3.new(0.972549, 0.14902, 0.282353)} ):Play() TweenService:Create( SettingsFrameScrollingFrame.DonationVFX.Frame.ToggleFrame.Circle, TweenInfo.new(0.25, Enum.EasingStyle.Quad, Enum.EasingDirection.Out, 0, false, 0), {Position = UDim2.fromScale(0.2,0.5)} ):Play() end if SettingsFrameScrollingFrame.Anonymous:GetAttribute("Triggered") == true then TweenService:Create( SettingsFrameScrollingFrame.Anonymous.Frame.ToggleFrame, TweenInfo.new(0.25, Enum.EasingStyle.Quad, Enum.EasingDirection.Out, 0, false, 0), {BackgroundColor3 = Color3.new(0.4, 1, 0)} ):Play() TweenService:Create( SettingsFrameScrollingFrame.Anonymous.Frame.ToggleFrame.Circle, TweenInfo.new(0.25, Enum.EasingStyle.Quad, Enum.EasingDirection.Out, 0, false, 0), {Position = UDim2.fromScale(0.8,0.5)} ):Play() end ChangeRemote:FireServer(SettingsFrameScrollingFrame.Anonymous:GetAttribute("Triggered")) for _, Setting in pairs(SettingsFrameScrollingFrame:GetChildren()) do if Setting:IsA("TextButton") and (Setting:GetAttribute("Triggered") == false or Setting:GetAttribute("Triggered") == true) then Setting.Activated:Connect(function() if Setting:GetAttribute("Triggered") == false then Setting:SetAttribute("Triggered", true) TweenService:Create( Setting.Frame.ToggleFrame, TweenInfo.new(0.25, Enum.EasingStyle.Quad, Enum.EasingDirection.Out, 0, false, 0), {BackgroundColor3 = Color3.new(0, 0.741176, 0.4)} ):Play() TweenService:Create( Setting.Frame.ToggleFrame.Circle, TweenInfo.new(0.25, Enum.EasingStyle.Quad, Enum.EasingDirection.Out, 0, false, 0), {Position = UDim2.fromScale(0.8,0.5)} ):Play() else Setting:SetAttribute("Triggered", false) TweenService:Create( Setting.Frame.ToggleFrame, TweenInfo.new(0.25, Enum.EasingStyle.Quad, Enum.EasingDirection.Out, 0, false, 0), {BackgroundColor3 = Color3.new(0.972549, 0.14902, 0.282353)} ):Play() TweenService:Create( Setting.Frame.ToggleFrame.Circle, TweenInfo.new(0.25, Enum.EasingStyle.Quad, Enum.EasingDirection.Out, 0, false, 0), {Position = UDim2.fromScale(0.2,0.5)} ):Play() end end) end end end SettingUpSettings() --//END OF SETTINGS GUI --//START OF GIFT GUI local CurrentGiftModel local function ApplyDescription(UserId, Rig) local Description = game:GetService("Players"):GetHumanoidDescriptionFromUserId(UserId) Description.DepthScale = Description.DepthScale * 1 Description.HeadScale = Description.HeadScale * 1 Description.HeightScale = Description.HeightScale * 1 Description.WidthScale = Description.WidthScale * 1 Rig.Humanoid:ApplyDescription(Description) end local function ChangeThemeGift(OldBooth, Booth, GiftModel) local newBooth = OldBooth:Clone() newBooth.Parent = GiftModel Booth.Info.Details.Parent = newBooth.Info Booth.Items.Items.Parent = newBooth.Items Booth.Text.Sign.Parent = newBooth.Text local newCFrame = Booth.PrimaryPart.CFrame Booth:SetPrimaryPartCFrame(game:GetService("Workspace").ORIGIN_PART.CFrame) newBooth:SetPrimaryPartCFrame(newCFrame) Booth:Destroy() return newBooth end local function LoadGiftBooth(PlayerId, PlayerName, Message) local GiftModel = ReplicatedStorage:WaitForChild("Templates"):WaitForChild("GiftModel"):Clone() local HeadTag = GiftModel.PlayerTemplate.Head.HeadTag HeadTag.Display.Text = PlayerName if table.find(GetSpecialIds:InvokeServer(), tonumber(PlayerId)) then HeadTag.Display.TextColor3 = Color3.new(1, 0.835294, 0.00392157) end local Booth, PlayercurrentBooth = GetGiftBoothStuff:InvokeServer(tonumber(PlayerId), tostring(PlayerName)) GiftModel.DefaultBooth.Info.Details.Frame.OwnerLabel.Text = Booth.Info.Details.Frame.OwnerLabel.Text GiftModel.DefaultBooth.Text.Sign.Frame.SignLabel.Text = Booth.Text.Sign.Frame.SignLabel.Text GiftModel.DefaultBooth.Info.Details.Frame.MoneyRaised.Text = Booth.Info.Details.Frame.MoneyRaised.Text for _, Child in pairs(Booth.Items.Items.ScrollingFrame:GetChildren()) do Child:Clone().Parent = GiftModel.DefaultBooth.Items.Items.ScrollingFrame end ChangeThemeGift(ReplicatedStorage.BoothModels[PlayercurrentBooth], GiftModel.DefaultBooth, GiftModel) GiftModel.Parent = game:GetService("Workspace"):WaitForChild("Map") ApplyDescription(PlayerId, GiftModel.PlayerTemplate) ChangeCameraMode(true) ToggleCameraEffect(false) game:GetService("Workspace").CurrentCamera.CFrame = CFrame.lookAt(GiftModel.CameraPosition.Position, GiftModel.PlayerTemplate.Head.Position) ScreenGui.GiftPlayer.Visible = false ScreenGui.MenuButtons.Visible = false ScreenGui.CancelGifting.Visible = true CurrentGiftModel = GiftModel end local function CancelGiftingActivated() ScreenGui.MenuButtons.Visible = true ScreenGui.CancelGifting.Visible = false ChangeCameraMode(false) popUp("stopped gifting!", "nice") CurrentGiftModel:Destroy() CurrentGiftModel = nil local CurrentGiftModelChecker = game:GetService("Workspace"):WaitForChild("Map"):FindFirstChild("GiftModel") if CurrentGiftModelChecker then CurrentGiftModelChecker:Destroy() end end local function GiftPlayerApplied() local PlayerName = tostring(ScreenGui.GiftPlayer.GiftFrame.Username.Text) local PlayerId local success, response = pcall(function() PlayerId = Players:GetUserIdFromNameAsync(PlayerName) end) if PlayerId and success then popUp("loading...", "nice") LoadGiftBooth(PlayerId, PlayerName) else popUp("player '"..PlayerName.."' not found", "error") end end local function OpenGiftFrame() ToggleFrame("GiftPlayer") ToggleCameraEffect(true) end local function CloseGiftFrame() ScreenGui.GiftPlayer.Visible = false ToggleCameraEffect(false) popUp("canceled", "error") end local function CloseGiftsFrame() ToggleFrame("GiftPlayer") end local function TriggerGifts() ScreenGui.GiftPlayer.GiftFrame.Visible = not ScreenGui.GiftPlayer.GiftFrame.Visible ScreenGui.GiftPlayer.ScrollingFrame.Visible = not ScreenGui.GiftPlayer.ScrollingFrame.Visible end local Gifts, GiftCount = GetUnclaimedGifts:InvokeServer() local function SettingUpGifts() if GiftCount > 0 then ScreenGui.MenuButtons.Buttons.Gift.Notification.Visible = true for _, Gift in pairs(Gifts) do local Template =ScreenGui.GiftPlayer.ScrollingFrame.Template:Clone() Template.Name = tostring(Gift.whenDonated) Template.Date.Text = NaturalTime(Gift.whenDonated) Template.Amount.Text = NumbersHelper.format(Gift.donatedRobux).."\u{E002}" Template.Avatar.Image = string.format("rbxthumb://type=AvatarHeadShot&id=%s&w=420&h=420", Gift.donator.Id) --Template.Message.Text = Gift.message Template.Username.Text = Gift.donator.DisplayName Template.Parent = ScreenGui.GiftPlayer.ScrollingFrame Template.Visible = true end end end SettingUpGifts() print(GiftCount) local function ClaimAllGifts() ScreenGui.MenuButtons.Buttons.Gift.Notification.Visible = false if GiftCount > 0 then GiftCount = 0 Gifts = {} ClaimGifts:InvokeServer() for _, Gift in pairs(ScreenGui.GiftPlayer.ScrollingFrame:GetChildren()) do if Gift:IsA("Frame") and Gift.Name ~= "UIListLayout" and Gift.Name ~= "UIPadding" and Gift.Name ~= "Template" and Gift.Name ~= "Title" then Gift:Destroy() end end popUp("claimed gifts!", "nice") end end --//END OF GIFT GUI --//START OF EDIT SIGN GUI local EditSignFrame = ScreenGui.EditSign local function EditSignActivated() ToggleCameraEffect(true) ToggleFrame("EditSign") end local function EditFrameClose() ToggleCameraEffect(false) ScreenGui.EditSign.Visible = false end local function EditSignApplied() ToggleCameraEffect(false) ScreenGui.EditSign.Visible = false local filteredText = tostring(EditSignFrame.SignText.TextBox.Text) if string.len(filteredText) < 250 then ChangeSignTextEvent:FireServer(filteredText, EditSignFrame.Colors.ColorPicker.preview.pre.BackgroundColor3) ToggleCameraEffect(false) spawn(function() popUp("changed sign text!", "normal") end) else spawn(function() popUp("max 250 char", "error") end) end end local function SettingUpSignButtons(buttonName) donatedAmount = GetDonated:InvokeServer() if buttonName == "DefaultSign" then ChangeSignModel:FireServer("Sign0") elseif buttonName == "5KDonated" then if donatedAmount < 5000 then popUp("u need 5K\u{E002} donated", "error") else ChangeSignModel:FireServer("Sign5k") end elseif buttonName == "10KDonated" then if donatedAmount < 10000 then popUp("u need 10K\u{E002} donated", "error") else ChangeSignModel:FireServer("Sign10k") end elseif buttonName == "50KDonated" then if donatedAmount < 50000 then popUp("u need 50K\u{E002} donated", "error") else ChangeSignModel:FireServer("Sign50k") end elseif buttonName == "100KDonated" then if donatedAmount < 100000 then popUp("u need 100K\u{E002} donated", "error") else ChangeSignModel:FireServer("Sign100k") end end end local function LoadSignButtons() for _, SignButton in pairs(ScreenGui.EditSign.SignThemes.Themes:GetChildren()) do if SignButton:IsA("TextButton") or SignButton:IsA("ImageButton") and SignButton.Name ~= "Template" then local buttonName = SignButton.Name SignButton.Activated:Connect(function() SettingUpSignButtons(buttonName) end) end end end LoadSignButtons() --//END OF EDIT SIGN GUI --//START OF GAMEPASS GUI local GamepassesFrame = ScreenGui.Gamepasses local function GamepassesFrameOpen() ToggleCameraEffect(true) ToggleFrame("Gamepasses") end local function GamepassesFrameClose() ToggleCameraEffect(false) ScreenGui.Gamepasses.Visible = false end local GamepassesFrameGamepassesList = GamepassesFrame.ScrollingFrame GamepassesFrameGamepassesList.Sign.Image.Image = "rbxthumb://type=GamePass&id="..GameSettings:GetGamepasses().Sign.."&w=150&h=150" GamepassesFrameGamepassesList.Sign.Buy.PriceText.Text = MarketplaceService:GetProductInfo(GameSettings:GetGamepasses().Sign, Enum.InfoType.GamePass).PriceInRobux.."\u{E002}" GamepassesFrameGamepassesList.Sign.Buy.Activated:Connect(function() MarketplaceService:PromptGamePassPurchase(Client, GameSettings:GetGamepasses().Sign) end) GamepassesFrame.PVS.Image.Image = "rbxthumb://type=GamePass&id="..GameSettings:GetGamepasses().PrivateServerPlus.."&w=150&h=150" GamepassesFrame.PVS.Purchase.Text = MarketplaceService:GetProductInfo(GameSettings:GetGamepasses().PrivateServerPlus, Enum.InfoType.GamePass).PriceInRobux.."\u{E002}" GamepassesFrame.PVS.Purchase.Activated:Connect(function() MarketplaceService:PromptGamePassPurchase(Client, GameSettings:GetGamepasses().PrivateServerPlus) end) GamepassesFrameGamepassesList.AnonymousDevice.Image.Image = "rbxthumb://type=GamePass&id="..GameSettings:GetGamepasses().AnonymousDevice.."&w=150&h=150" GamepassesFrameGamepassesList.AnonymousDevice.Buy.PriceText.Text = MarketplaceService:GetProductInfo(GameSettings:GetGamepasses().AnonymousDevice, Enum.InfoType.GamePass).PriceInRobux.."\u{E002}" GamepassesFrameGamepassesList.AnonymousDevice.Buy.Activated:Connect(function() MarketplaceService:PromptGamePassPurchase(Client, GameSettings:GetGamepasses().AnonymousDevice) end) GamepassesFrameGamepassesList.InvisibleDevice.Image.Image = "rbxthumb://type=GamePass&id="..GameSettings:GetGamepasses().InvisibleDevice.."&w=150&h=150" GamepassesFrameGamepassesList.InvisibleDevice.Buy.PriceText.Text = MarketplaceService:GetProductInfo(GameSettings:GetGamepasses().InvisibleDevice, Enum.InfoType.GamePass).PriceInRobux.."\u{E002}" GamepassesFrameGamepassesList.InvisibleDevice.Buy.Activated:Connect(function() MarketplaceService:PromptGamePassPurchase(Client, GameSettings:GetGamepasses().InvisibleDevice) end) GamepassesFrameGamepassesList.Vip.Image.Image = "rbxthumb://type=GamePass&id="..GameSettings:GetGamepasses().VIP.."&w=150&h=150" GamepassesFrameGamepassesList.Vip.Buy.PriceText.Text = MarketplaceService:GetProductInfo(GameSettings:GetGamepasses().VIP, Enum.InfoType.GamePass).PriceInRobux.."\u{E002}" GamepassesFrameGamepassesList.Vip.Buy.Activated:Connect(function() MarketplaceService:PromptGamePassPurchase(Client, GameSettings:GetGamepasses().VIP) end) GamepassesFrameGamepassesList.Kart.Image.Image = "rbxthumb://type=GamePass&id="..GameSettings:GetGamepasses().Kart.."&w=150&h=150" GamepassesFrameGamepassesList.Kart.Buy.PriceText.Text = MarketplaceService:GetProductInfo(GameSettings:GetGamepasses().Kart, Enum.InfoType.GamePass).PriceInRobux.."\u{E002}" GamepassesFrameGamepassesList.Kart.Buy.Activated:Connect(function() MarketplaceService:PromptGamePassPurchase(Client, GameSettings:GetGamepasses().Kart) end) --//END OF GAMEPASS GUI --//START OF JOIN GAME local function JoinGameClose() ScreenGui.JoinGame.Visible = false ToggleCameraEffect(false) spawn(function() popUp("canceled", "error") end) end local Connection local function PromptGameEvent(gameName, gameId) if Connection then Connection:Disconnect() end ScreenGui.JoinGame.TextBox.Text = "You're about to join ["..gameName.."]. Are you sure?" ToggleFrame("JoinGame") ToggleCameraEffect(true) Connection = ScreenGui.JoinGame.Apply.Activated:Connect(function() spawn(function() popUp("teleporting...", "nice") end) pcall(function() game:GetService("TeleportService"):Teleport(tonumber(gameId)) end) end) end --//END OF JOIN GAME local function YourBooth() if script.YourBooth.Adornee then Client.Character:MoveTo((script.YourBooth.Adornee.CFrame * CFrame.new(0, 0, 4)).Position) end end local function CreateVFXEventFunction(Level, Part) if game.Players.LocalPlayer:GetAttribute("Performance") == true then return end spawn(function() local VFXs = { } for _, VFX in pairs(VFXLevels["Level"..Level]:GetChildren()) do if VFX.Name ~= "PingStar" and VFX.Name ~= "PingCircle" then local newVFX = VFX:Clone() newVFX.Parent = Part table.insert(VFXs,newVFX) end end if Level == 5 then local PingCircle = VFXLevels["Level"..Level].PingCircle:Clone() local PingStar = VFXLevels["Level"..Level].PingStar:Clone() PingCircle.Parent = Part PingStar.Parent = Part PingStar:Emit(1) PingCircle:Emit(1) SoundService.Ping:Play() SoundService.Fade:Play() spawn(function() task.wait(2) PingStar:Destroy() PingCircle:Destroy() end) task.wait(1.5) end for _, VFX in pairs(VFXs) do if VFX:IsA("ParticleEmitter") then if VFX:GetAttribute("EmitCount") then VFX:Emit(VFX:GetAttribute("EmitCount")) else VFX.Enabled = true end end if VFX:IsA("PointLight") then TweenService:Create(VFX, TweenInfo.new(GameSettings:GetLevelEmit(Level) + 15),{Brightness = 0}):Play() end end task.wait(GameSettings:GetLevelEmit(Level)) for _, VFX in pairs(VFXs) do if VFX:IsA("ParticleEmitter") then VFX.Enabled = false end end task.wait(15) for _, VFX in pairs(VFXs) do VFX:Destroy() end end) end local function ChatAlert(gotDonateName, donatorName, amount, TYPEOF, color, err_) local Text if TYPEOF == "customError" then Text = err_ elseif TYPEOF == "global" then Text = '[GLOBAL] <font color="#AAFF00">'.. gotDonateName ..'</font> donated <font color="%s">'..NumbersHelper.formatCommas(amount)..'\u{E002}</font> to <font color="#AAFF00">'..donatorName..'</font>' else Text = '[DONATION] <font color="#AAFF00">'.. gotDonateName ..'</font> gave <font color="%s">'..NumbersHelper.formatCommas(amount)..'\u{E002}</font> to <font color="#AAFF00">'..donatorName..'</font>' end game.StarterGui:SetCore("ChatMakeSystemMessage", { Text = Text:format('#'..color:ToHex()); Font = Enum.Font.GothamBold; Color = Color3.new(1, 1, 1); FontSize = Enum.FontSize.Size12; }) end local function Notification(text, typePopUp, confetti) spawn(function() popUp(text, typePopUp) end) if confetti == true then ConfettiParticles.fire() end end local function CreateFireworks(Count) if game.Players.LocalPlayer:GetAttribute("Performance") == true then return end if workspace:GetRealPhysicsFPS() < 30 then return end GameSettings:CreateFireworks(Count, false) end local function CreateCoins(BoothBasePos, RaiserCharacter, RobuxAmount) if game.Players.LocalPlayer:GetAttribute("Performance") == true then return end local robuxCount, waitTime = GameSettings:GetCurrencyValues(RobuxAmount) local Color = GameSettings:GetLevelColors(GameSettings:GetLevel(RobuxAmount)) local playbackSpeed = 0.5 local coinBatchSize = math.floor(robuxCount * 0.11) for i = 1, coinBatchSize do local Attachment = Instance.new("Attachment") Attachment.Name = "RobuxPosition" local success, error = pcall(function() Attachment.Parent = RaiserCharacter.HumanoidRootPart end) if not success then warn("Unable to find Humanoid (" .. error .. ")") end local RobuxCoin = Templates.RobuxCoin:Clone() RobuxCoin.Trail.Color = ColorSequence.new(Color3.new(1, 1, 1), Color) RobuxCoin.Center.Ring.Color = ColorSequence.new(Color3.new(1, 1, 1), Color) RobuxCoin.Center.Sparkles.Color = ColorSequence.new(Color, Color3.new(1, 1, 1), Color) RobuxCoin.Center.Glow.Color = Color RobuxCoin.Color = Color RobuxCoin.Position = BoothBasePos RobuxCoin.AlignPosition.Position = RobuxCoin.Position + Vector3.new(math.random(-15, 15), math.random(15, 25), math.random(-15, 15)) RobuxCoin.Spin.AngularVelocity = Vector3.new(0, math.random(150, 250) / 10, 0) RobuxCoin.Size = Vector3.new(0, 0, 0) RobuxCoin.Parent = game:GetService("Workspace") TweenService:Create(RobuxCoin, TweenInfo.new(0.5, Enum.EasingStyle.Exponential, Enum.EasingDirection.Out), {Size = Vector3.new(2.758, 0.375, 3)}):Play() TweenService:Create(RobuxCoin.Center.Glow, TweenInfo.new(0.5, Enum.EasingStyle.Exponential, Enum.EasingDirection.Out), {Brightness = 0.5}):Play() local effectOn = false local function CoinEffect() if effectOn then return end effectOn = true RobuxCoin.Trail.Enabled = false RobuxCoin.AlignPosition.MaxVelocity = 0 RobuxCoin.AlignPosition.Responsiveness = 200 RobuxCoin.AlignPosition.Mode = Enum.PositionAlignmentMode.OneAttachment RobuxCoin.AlignPosition.Attachment0 = RobuxCoin.Center RobuxCoin.AlignPosition.Position = RobuxCoin.Position TweenService:Create(RobuxCoin.Center.Glow, TweenInfo.new(0.5, Enum.EasingStyle.Exponential, Enum.EasingDirection.InOut), {Brightness = 0, Range = 5}):Play() TweenService:Create(RobuxCoin, TweenInfo.new(0.5, Enum.EasingStyle.Exponential, Enum.EasingDirection.Out), {Size = Vector3.new(0, 0, 0)}):Play() task.wait(1) RobuxCoin:Destroy() Attachment:Destroy() end local function TriggerCoinEffect() if not Attachment:IsDescendantOf(game) then CoinEffect() elseif (RobuxCoin.Center.WorldPosition - Attachment.WorldPosition).Magnitude < 2.5 then CoinEffect() end end spawn(function() task.wait(1) local connection = game:GetService("RunService").Heartbeat:Connect(TriggerCoinEffect) RobuxCoin.Trail.Enabled = true RobuxCoin.AlignPosition.MaxVelocity = 1 RobuxCoin.AlignPosition.Responsiveness = 100 RobuxCoin.AlignPosition.Mode = Enum.PositionAlignmentMode.TwoAttachment RobuxCoin.AlignPosition.Attachment1 = Attachment TweenService:Create(RobuxCoin.AlignPosition, TweenInfo.new(math.random(350, 450) / 100, Enum.EasingStyle.Linear, Enum.EasingDirection.In), {MaxVelocity = 150}):Play() task.wait(10) if not effectOn then Attachment:Destroy() end connection:Disconnect() end) task.wait(waitTime / 5) -- Adjust wait time for performance end end local function ClaimedEventFunction(Interaction) Refresh() spawn(function() SoundService.ClaimBooth:Play() popUp("claimed", "nice") end) ScreenGui.MenuButtons.EditBoothBG.Visible = true if Interaction then script.YourBooth.Adornee = Interaction script.YourBooth.Enabled = true end end local function RefreshEventFunction(refreshType) if refreshType == "boothButtons" then Refresh() end end --//EVENTS --//ADS MANAGER --if Client.UserId == GameSettings:GetFabiUserIds() then -- local Connections = { } -- local AdsList = ScreenGui.AdsManager.AdsList -- local Template = AdsList.AdTemplate -- local function RefreshAdList() -- task.wait(2) -- for _, Connection in pairs(Connections) do -- if Connection then -- Connection:Disconnect() -- end -- end -- for _, Frame in pairs(AdsList:GetChildren()) do -- if Frame:IsA("Frame") and Frame.Name ~= "AdTemplate" then -- Frame:Destroy() -- end -- end -- local Ads = Remotes.Function("GetAds"):InvokeServer() -- if #Ads == 0 then return end -- for i, Ad in pairs(Ads) do -- local AdTemplate = Template:Clone() -- AdTemplate.IconFrame.Cover.Image = "rbxassetid://"..MarketplaceService:GetProductInfo(Ad.GameId).IconImageAssetId -- AdTemplate.Info.GameId.Text = Ad.GameId -- AdTemplate.Info.GameName.Text = Ad.GameName -- AdTemplate.Info.GameTextOnAd.Text = Ad.GameText -- local DateInfo = os.date("!*t", Ad.Expires) -- AdTemplate.Stats.Time.Text = DateInfo["day"].."/"..DateInfo["month"].."/"..DateInfo["year"].." \n"..DateInfo["hour"]..":"..DateInfo["min"] -- Connections[i] = AdTemplate.Stats.RemoveButton.Activated:Connect(function() -- Remotes.Function("RemoveAd"):InvokeServer(Ad.GameId) -- popUp("removed ad!", "nice") -- RefreshAdList() -- end) -- AdTemplate.Name = Ad.GameName -- AdTemplate.Parent = AdsList -- AdTemplate.Visible = true -- end -- end -- ScreenGui.Buttons.AdsManager.Visible = true -- ScreenGui.Buttons.AdsManager.Activated:Connect(function() -- ToggleFrame("AdsManager") -- ToggleCameraEffect(true) -- end) -- ScreenGui.AdsManager.Buttons.Close.Activated:Connect(function() -- ScreenGui.AdsManager.Visible = false -- ToggleCameraEffect(false) -- spawn(function() -- popUp("canceled", "error") -- end) -- end) -- ScreenGui.AdsManager.Apply.Activated:Connect(function() -- local Data = { -- ["GameId"] = ScreenGui.AdsManager.GameIdBox.Text, -- ["GameName"] = ScreenGui.AdsManager.GameNameBox.Text, -- ["GameText"] = ScreenGui.AdsManager.GameTextBox.Text, -- ["Expires"] = ScreenGui.AdsManager.GameExpireBox.Text -- } -- Remotes.Function("AddAd"):InvokeServer(Data) -- RefreshAdList() -- popUp("added ad!", "nice") -- end) -- ScreenGui.AdsManager.Buttons.Refresh.Activated:Connect(function() -- RefreshAdList() -- end) -- RefreshAdList() --end local function LoadAllButtonsSounds() for _, Button in pairs(ScreenGui:GetDescendants()) do if Button:IsA("TextButton") or Button:IsA("ImageButton") then Button.MouseEnter:Connect(function() SoundService.Hover1:Play() end) Button.MouseLeave:Connect(function() SoundService.Hover2:Play() end) Button.Activated:Connect(function() SoundService.Click:Play() end) end end end LoadAllButtonsSounds() --// CONNECTIONS --// IF MOBILE THEN TOUCH OTHERWISE MOUSEBUTTON1 RunService.Heartbeat:Connect(TweenChecker) EditBoothFrame.Apply.Activated:Connect(EditBoothFrameApplied) EditBoothFrame.Unclaim.Activated:Connect(EditBoothFrameUnclaimed) ScreenGui.MenuButtons.EditBoothBG.EditBooth.Activated:Connect(EditBoothButtonOpened) EditBoothFrame.Buttons.Close.Activated:Connect(EditBoothFrameClosed) EditBoothFrame.Statistics.LoadButton.Activated:Connect(LoadStatistics) EditBoothFrame.Buttons.Refresh.Activated:Connect(EditBoothFrameRefreshed) ScreenGui.MenuButtons.Buttons.Settings.Activated:Connect(SettingsFrameOpened) SettingsFrame.Buttons.Close.Activated:Connect(SettingsFrameClosed) SettingsFrame.Apply.Activated:Connect(SettingsFrameApplied) ScreenGui.CancelGifting.Activated:Connect(CancelGiftingActivated) ScreenGui.GiftPlayer.GiftFrame.Apply.Activated:Connect(GiftPlayerApplied) ScreenGui.MenuButtons.Buttons.Gift.Activated:Connect(OpenGiftFrame) ScreenGui.GiftPlayer.Buttons.Close.Activated:Connect(CloseGiftFrame) ScreenGui.GiftPlayer.Gifts.Button.Activated:Connect(TriggerGifts) ScreenGui.GiftPlayer.Aknowledge.Activated:Connect(ClaimAllGifts) ScreenGui.MenuButtons.EditSignBG.EditSign.Activated:Connect(EditSignActivated) ScreenGui.EditSign.Buttons.Close.Activated:Connect(EditFrameClose) ScreenGui.EditSign.Apply.Activated:Connect(EditSignApplied) ScreenGui.MenuButtons.Buttons.Gamepasses.Activated:Connect(GamepassesFrameOpen) GamepassesFrame.Buttons.Close.Activated:Connect(GamepassesFrameClose) ScreenGui.JoinGame.Buttons.Close.Activated:Connect(JoinGameClose) script.YourBooth.TextLabel.Button.Activated:Connect(YourBooth) ReplicatedStorage:WaitForChild("Events"):WaitForChild("PromptGame").OnClientEvent:Connect(function(gameName, gameId) PromptGameEvent(gameName, gameId) end) CreateVFXEvent.OnClientEvent:Connect(function(Level, Part) CreateVFXEventFunction(Level, Part) end) ChatDonationAlert.OnClientEvent:Connect(function(gotDonateName, donatorName, amount, TYPEOF, color, err_) ChatAlert(gotDonateName, donatorName, amount, TYPEOF, color, err_) end) NotificationEvent.OnClientEvent:Connect(function(text, typePopUp, confetti) Notification(text, typePopUp, confetti) end) CreateSFXFirework.OnClientEvent:Connect(function(Count) CreateFireworks(Count) end) CreateVfxCoin.OnClientEvent:Connect(function(BoothBasePos, RaiserCharacter, RobuxAmount) CreateCoins(BoothBasePos, RaiserCharacter, RobuxAmount) end) ClaimedEvent.OnClientEvent:Connect(function(Interaction) ClaimedEventFunction(Interaction) end) RefreshEvent.OnClientEvent:Connect(function(refreshType) RefreshEventFunction(refreshType) end) print(string.format("Client MAIN LOCAL SCRIPT loaded in %i ms", (os.clock() - OsClock) * 1000))
Editor is loading...
Leave a Comment