Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- -- Randomized and Obfuscated Moon Phase Tracker Script
- -- Randomized URLs (Webhooks and Avatar Image)
- local QuantumGiraffeLink = "https://th.bing.com/th/id/R.c8eea53cea7132df531f07d27d541f09?rik=4FwTPQTN8obs5A&riu=http%3a%2f%2fgetwallpapers.com%2fwallpaper%2ffull%2f9%2f9%2fb%2f673317.jpg&ehk=21fsGX060wduMQtI2bnDy2tN6s%2fgXHzNlPZmstcHSqc%3d&risl=&pid=ImgRaw&r=0"
- local FullBlenderHook = "https://discord.com/api/webhooks/1310662332531081247/UGoQYX7J812bpahYyeKtclEi_ZDG0-ZYdY9gFQicQsIE9W2zDNJcO17fJjxzTCCDjUdn"
- local PickleCactusHook = "https://discord.com/api/webhooks/1291821412188819516/d5kzcxW1RI9dSiXBmlwEiduyJalAjSFREm8lu0viDOospXitP5QQyTIAu8g3m0jWaAkk"
- -- Services and Game Variables
- local TelekineticJump = game:GetService("TeleportService") -- Handles server teleporting
- local SugarHTTP = game:GetService("HttpService") -- Handles HTTP requests
- local CheeseFriends = game:GetService("Players") -- Player service
- local CloudyLight = game:GetService("Lighting") -- Access to Sky for moon phase
- local FerretRecords = "BananaServers.txt" -- File to save visited servers
- local LastButterPhase = nil -- Tracks the last moon phase sent
- local MelonHubID = game.PlaceId -- Current game's Place ID
- local MaxSnailLogs = 50 -- Max servers to store in visited logs
- local PineappleCheckType = 2 -- Determines moon phase check type
- -- Moon Phases (Mapped Random Names)
- local RubberMoons = {
- ["1"] = {Icon = "🌔", TextureId = "http://www.roblox.com/asset/?id=9709149680"},
- ["2"] = {Icon = "🌓", TextureId = "http://www.roblox.com/asset/?id=9709150086"},
- ["3"] = {Icon = "🌒", TextureId = "http://www.roblox.com/asset/?id=9709139597"},
- ["4"] = {Icon = "🌑", TextureId = "http://www.roblox.com/asset/?id=9709135895"},
- ["5"] = {Icon = "🌘", TextureId = "http://www.roblox.com/asset/?id=9709150401"},
- ["6"] = {Icon = "🌗", TextureId = "http://www.roblox.com/asset/?id=9709143733"},
- ["7"] = {Icon = "🌖", TextureId = "http://www.roblox.com/asset/?id=9709149052"},
- ["8"] = {Icon = "🌕", TextureId = "http://www.roblox.com/asset/?id=9709149431"} -- Full Moon
- }
- -- Reads visited servers from a file
- local function JuggleLemons()
- local MangoLog = {}
- if isfile(FerretRecords) then
- for ID in string.gmatch(readfile(FerretRecords), "[^\n]+") do
- MangoLog[ID] = true
- end
- else
- writefile(FerretRecords, "")
- end
- return MangoLog
- end
- -- Saves a new server ID to the file
- local function CactusDance(ServerID)
- local MangoLog = JuggleLemons()
- MangoLog[ServerID] = true
- local SlimyList = {}
- for ID in pairs(MangoLog) do
- table.insert(SlimyList, ID)
- end
- if #SlimyList > MaxSnailLogs then
- table.remove(SlimyList, 1) -- Prevent file bloating
- end
- writefile(FerretRecords, table.concat(SlimyList, "\n"))
- end
- -- Detects the current moon phase
- local function PineconeWatcher()
- local SkyObject = CloudyLight:FindFirstChild("Sky")
- if SkyObject then
- for Phase, Data in pairs(RubberMoons) do
- if SkyObject.MoonTextureId == Data.TextureId then
- return tonumber(Phase), Data.Icon
- end
- end
- end
- return nil
- end
- -- Sends a webhook with moon phase info
- local function JellyfishSignal(Phase, PlayerCount, ServerLink, IsFullMoon)
- local MoonInfo = RubberMoons[tostring(Phase)] or { Icon = "💡" }
- local SpatulaURL = IsFullMoon and FullBlenderHook or PickleCactusHook
- local BubbleMessage = {
- username = "Quantum Moon Tracker",
- avatar_url = QuantumGiraffeLink,
- embeds = {{
- title = "Celestial Phase Update",
- description = string.format("**Current Phase:** %s\n**Players Here:** %d", MoonInfo.Icon, PlayerCount),
- color = IsFullMoon and 16711680 or 65280,
- fields = {{
- name = "Teleport Link",
- value = string.format("[Join Server Here](%s)", ServerLink)
- }}
- }}
- }
- pcall(function()
- local ScrambledRequest = syn and syn.request or request
- if ScrambledRequest then
- ScrambledRequest({
- Url = SpatulaURL,
- Method = "POST",
- Headers = { ["Content-Type"] = "application/json" },
- Body = SugarHTTP:JSONEncode(BubbleMessage)
- })
- end
- end)
- end
- -- Generates a server link
- local function CrocodileLink(JobID)
- return string.format("https://www.roblox.com/games/%d?serverId=%s", MelonHubID, JobID)
- end
- -- Finds and hops to another server
- local function SpaghettiHop()
- local VisitedLettuce = JuggleLemons()
- local FoundNewServer = false
- local Success, LettuceServers = pcall(function()
- return SugarHTTP:JSONDecode(game:HttpGet("https://games.roblox.com/v1/games/" .. MelonHubID .. "/servers/Public?sortOrder=Asc&limit=100"))
- end)
- if Success and LettuceServers and LettuceServers.data then
- for _, server in ipairs(LettuceServers.data) do
- if not VisitedLettuce[server.id] and server.playing < server.maxPlayers then
- FoundNewServer = true
- CactusDance(server.id)
- local Phase, Icon = PineconeWatcher()
- if (PineappleCheckType == 1 and Phase == 8) or (PineappleCheckType == 2 and (Phase == 7 or Phase == 8)) then
- local Deeplink = CrocodileLink(server.id)
- JellyfishSignal(Phase, #CheeseFriends:GetPlayers(), Deeplink, Phase == 8)
- TelekineticJump:TeleportToPlaceInstance(MelonHubID, server.id)
- end
- break
- end
- end
- end
- if not FoundNewServer then
- warn("No new servers found. Retrying current server.")
- TelekineticJump:Teleport(MelonHubID)
- end
- end
- -- Handles teleport failures
- local function SpatulaRescue()
- TelekineticJump.TeleportInitFailed:Connect(function(_, Result, Error)
- if Result == Enum.TeleportResult.Failure then
- warn("Teleport failed. Retrying...")
- wait(2)
- SpaghettiHop()
- end
- end)
- end
- -- Main Execution
- local function BananaLaunch()
- repeat wait() until game:IsLoaded()
- wait(5)
- end
- BananaLaunch()
- SpatulaRescue()
- local Phase, Icon = PineconeWatcher()
- if Phase == 7 or Phase == 8 then
- if Phase ~= LastButterPhase then
- local Deeplink = CrocodileLink(game.JobId)
- JellyfishSignal(Phase, #CheeseFriends:GetPlayers(), Deeplink, Phase == 8)
- LastButterPhase = Phase
- end
- else
- SpaghettiHop()
- end
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement