Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- local Rayfield = loadstring(game:HttpGet('https://sirius.menu/rayfield'))()
- local Window = Rayfield:CreateWindow({
- Name = "TripleDomm DIG",
- Icon = 0,
- LoadingTitle = "Rayfield Interface Suite",
- LoadingSubtitle = "by Sirius",
- ShowText = "Rayfield",
- Theme = "Default",
- ToggleUIKeybind = "K",
- DisableRayfieldPrompts = false,
- DisableBuildWarnings = false,
- ConfigurationSaving = {
- Enabled = true,
- FolderName = nil,
- FileName = "Big Hub"
- },
- Discord = {
- Enabled = false,
- Invite = "noinvitelink",
- RememberJoins = true
- },
- KeySystem = false,
- KeySettings = {
- Title = "Untitled",
- Subtitle = "Key System",
- Note = "No method of obtaining the key is provided",
- FileName = "Key",
- SaveKey = true,
- GrabKeyFromSite = false,
- Key = {"Hello"}
- }
- })
- local Players = game:GetService("Players")
- local TeleportService = game:GetService("TeleportService")
- local TeleportCheck = false
- local KeepMyScript = true
- Players.LocalPlayer.OnTeleport:Connect(function(State)
- if KeepMyScript and not TeleportCheck and queue_on_teleport then
- TeleportCheck = true
- queue_on_teleport([[
- loadstring(game:HttpGet("https://pastebin.com/raw/rXCLSxM6"))()
- ]])
- end
- end)
- local player = game:GetService("Players").LocalPlayer
- local gui = player:WaitForChild("PlayerGui")
- local runService = game:GetService("RunService")
- local userInput = game:GetService("UserInputService")
- -- DIGGING TAB
- local Tab = Window:CreateTab("DIGGING", 4483362458)
- local noDigFolder = game:GetService("Workspace").World.Zones["_NoDig"]
- local autoDeleteEnabled = false
- local deleteConnection
- -- For the holes so u could dig in the same place
- local function clearNoDig()
- for _, part in ipairs(noDigFolder:GetChildren()) do
- if part:IsA("BasePart") then
- part:Destroy()
- end
- end
- end
- local ToggleNoDigClear = Tab:CreateToggle({
- Name = "Auto Clear _NoDig",
- CurrentValue = false,
- Flag = "ToggleNoDigClear",
- Callback = function(Value)
- autoDeleteEnabled = Value
- if Value then
- print("[AutoClear]: ENABLED")
- local timer = 0
- deleteConnection = game:GetService("RunService").Heartbeat:Connect(function(dt)
- if autoDeleteEnabled then
- timer = timer + dt
- if timer >= 0.5 then
- clearNoDig()
- timer = 0
- end
- end
- end)
- else
- print("[AutoClear]: DISABLED")
- if deleteConnection then
- deleteConnection:Disconnect()
- deleteConnection = nil
- end
- end
- end,
- })
- -- The digging part so ur bar stays in the strong area
- local runService = game:GetService("RunService")
- local player = game:GetService("Players").LocalPlayer
- local gui = player:WaitForChild("PlayerGui")
- local autoLockEnabled = false
- local lockConnection
- local autoClickEnabled = false
- local clickConnection
- local function startLock()
- local holder = gui:WaitForChild("Dig"):WaitForChild("Safezone"):WaitForChild("Holder")
- local playerBar = holder:WaitForChild("PlayerBar")
- local areaStrong = holder:WaitForChild("Area_Strong")
- if lockConnection then
- lockConnection:Disconnect()
- end
- lockConnection = runService.RenderStepped:Connect(function()
- if autoLockEnabled then
- playerBar.Position = areaStrong.Position
- end
- end)
- end
- -- ✅ Updated, slower clicker:
- local function startAutoClick()
- if clickConnection then
- clickConnection:Disconnect()
- end
- local clickInterval = 0.15
- local timer = 0
- clickConnection = runService.Heartbeat:Connect(function(dt)
- if autoClickEnabled then
- timer = timer + dt
- if timer >= clickInterval then
- mouse1click()
- timer = 0
- end
- end
- end)
- end
- -- Watch for Dig UI appearing
- gui.ChildAdded:Connect(function(child)
- if child.Name == "Dig" and autoLockEnabled then
- task.defer(startLock)
- end
- end)
- -- Start immediately if already visible
- if gui:FindFirstChild("Dig") and autoLockEnabled then
- task.defer(startLock)
- end
- local ToggleDig = Tab:CreateToggle({
- Name = "DIGGING",
- CurrentValue = false,
- Flag = "Toggle1",
- Callback = function(Value)
- autoLockEnabled = Value
- if Value then
- print("[AutoLock]: ENABLED")
- startLock()
- else
- print("[AutoLock]: DISABLED")
- if lockConnection then
- lockConnection:Disconnect()
- lockConnection = nil
- end
- end
- end,
- })
- local ReplicatedStorage = game:GetService("ReplicatedStorage")
- local Remotes = ReplicatedStorage:WaitForChild("Remotes")
- local DigFinished = Remotes:WaitForChild("Dig_Finished")
- local TotemGetStacks = Remotes:WaitForChild("Totem_GetStacks")
- local vector = vector or {}
- if not vector.create then
- vector.create = Vector3.new
- end
- local Button = Tab:CreateButton({
- Name = "To instantly dig use when u know how",
- Callback = function()
- local success, err = pcall(function()
- local args = {
- 0,
- {
- {
- Orientation = Vector3.zero,
- Transparency = 1,
- Name = "PositionPart",
- Position = vector.create(2072.244873046875, 108.66889190673828, -333.8109130859375),
- Color = Color3.new(0.6392157077789307, 0.6352941393852234, 0.6470588445663452),
- Material = Enum.Material.Plastic,
- Shape = Enum.PartType.Block,
- Size = vector.create(0.10000000149011612, 0.10000000149011612, 0.10000000149011612)
- },
- {
- Orientation = vector.create(0, 90, 90),
- Transparency = 0,
- Name = "CenterCylinder",
- Position = vector.create(2072.244873046875, 108.61888885498047, -333.8109130859375),
- Color = Color3.new(0.4627451002597809, 0.3921568691730499, 0.29019609093666077),
- Material = Enum.Material.Pebble,
- Shape = Enum.PartType.Cylinder,
- Size = vector.create(0.20000000298023224, 2.839409828186035, 2.975950002670288)
- },
- {
- Orientation = vector.create(-24, 45.00400161743164, 0),
- Transparency = 0,
- Name = "Rock/1",
- Position = vector.create(2073.154296875, 108.3316879272461, -332.90155029296875),
- Color = Color3.new(0.6039215922355652, 0.5098039507865906, 0.3803921639919281),
- Material = Enum.Material.Pebble,
- Shape = Enum.PartType.Block,
- Size = vector.create(2.598910331726074, 1.8621101379394531, 1.3048908710479736)
- },
- {
- Orientation = vector.create(-15, 85, 0),
- Transparency = 0,
- Name = "Rock/2",
- Position = vector.create(2073.4677734375, 108.26739501953125, -333.7039489746094),
- Color = Color3.new(0.6039215922355652, 0.5098039507865906, 0.3803921639919281),
- Material = Enum.Material.Pebble,
- Shape = Enum.PartType.Block,
- Size = vector.create(2.6383888721466064, 1.8621101379394531, 1.303166389465332)
- },
- {
- Orientation = vector.create(-26, 125, 0),
- Transparency = 0,
- Name = "Rock/3",
- Position = vector.create(2073.30810546875, 108.34716033935547, -334.55511474609375),
- Color = Color3.new(0.6039215922355652, 0.5098039507865906, 0.3803921639919281),
- Material = Enum.Material.Pebble,
- Shape = Enum.PartType.Block,
- Size = vector.create(2.554736375808716, 1.8621101379394531, 1.4057711362838745)
- },
- {
- Orientation = vector.create(-33, 164.9929962158203, 0),
- Transparency = 0,
- Name = "Rock/4",
- Position = vector.create(2072.590087890625, 108.40425872802734, -335.098876953125),
- Color = Color3.new(0.6039215922355652, 0.5098039507865906, 0.3803921639919281),
- Material = Enum.Material.Pebble,
- Shape = Enum.PartType.Block,
- Size = vector.create(1.338829517364502, 1.8621101379394531, 1.166784405708313)
- },
- {
- Orientation = vector.create(-18, -154.9980010986328, 0),
- Transparency = 0,
- Name = "Rock/5",
- Position = vector.create(2071.717529296875, 108.28778839111328, -334.9422607421875),
- Color = Color3.new(0.6039215922355652, 0.5098039507865906, 0.3803921639919281),
- Material = Enum.Material.Pebble,
- Shape = Enum.PartType.Block,
- Size = vector.create(1.258687973022461, 1.8621101379394531, 1.2195113897323608)
- },
- {
- Orientation = vector.create(-27, -115, 0),
- Transparency = 0,
- Name = "Rock/6",
- Position = vector.create(2071.06396484375, 108.35504150390625, -334.36163330078125),
- Color = Color3.new(0.6039215922355652, 0.5098039507865906, 0.3803921639919281),
- Material = Enum.Material.Pebble,
- Shape = Enum.PartType.Block,
- Size = vector.create(2.5018868446350098, 1.8621101379394531, 1.2584688663482666)
- },
- {
- Orientation = vector.create(-26, -75, 0),
- Transparency = 0,
- Name = "Rock/7",
- Position = vector.create(2070.99169921875, 108.34716033935547, -333.4751281738281),
- Color = Color3.new(0.6039215922355652, 0.5098039507865906, 0.3803921639919281),
- Material = Enum.Material.Pebble,
- Shape = Enum.PartType.Block,
- Size = vector.create(2.6294732093811035, 1.8621101379394531, 1.2577382326126099)
- },
- {
- Orientation = vector.create(-33, -35.00699996948242, 0),
- Transparency = 0,
- Name = "Rock/8",
- Position = vector.create(2071.47998046875, 108.40425872802734, -332.71868896484375),
- Color = Color3.new(0.6039215922355652, 0.5098039507865906, 0.3803921639919281),
- Material = Enum.Material.Pebble,
- Shape = Enum.PartType.Block,
- Size = vector.create(2.3612060546875, 1.8621101379394531, 1.4114060401916504)
- },
- {
- Orientation = vector.create(-23, 5.000999927520752, 0),
- Transparency = 0,
- Name = "Rock/9",
- Position = vector.create(2072.356689453125, 108.3240966796875, -332.53570556640625),
- Color = Color3.new(0.6039215922355652, 0.5098039507865906, 0.3803921639919281),
- Material = Enum.Material.Pebble,
- Shape = Enum.PartType.Block,
- Size = vector.create(2.568817377090454, 1.8621101379394531, 1.3472718000411987)
- },
- }
- }
- local ReplicatedStorage = game:GetService("ReplicatedStorage")
- local Remotes = ReplicatedStorage:WaitForChild("Remotes")
- local DigFinished = Remotes:WaitForChild("Dig_Finished")
- DigFinished:FireServer(unpack(args))
- end)
- if not success then
- warn("Error firing Dig_Finished remote: "..tostring(err))
- end
- end,
- })
- local isRunning = false
- local Toggle = Tab:CreateToggle({
- Name = "Boss Hit Toggle",
- CurrentValue = false,
- Flag = "ToggleBossHit",
- Callback = function(Value)
- if Value then
- if isRunning then return end -- prevent multiple loops
- isRunning = true
- spawn(function()
- while isRunning do
- local success, err = pcall(function()
- local args = { true }
- local ReplicatedStorage = game:GetService("ReplicatedStorage")
- local Remotes = ReplicatedStorage:WaitForChild("Remotes")
- local DigBossOnHit = Remotes:WaitForChild("Dig_Boss_OnHit")
- DigBossOnHit:FireServer(unpack(args))
- end)
- if not success then
- warn("Error firing Dig_Boss_OnHit remote: "..tostring(err))
- end
- wait() -- wait 1 second between fires
- end
- end)
- else
- isRunning = false -- stop the loop
- end
- end,
- })
- -- Autoclicker since i cant replicate the remote it has to be clicking i think
- local AutoClickKeybind = Tab:CreateKeybind({
- Name = "Toggle Auto Click",
- CurrentKeybind = "Q",
- HoldToInteract = false,
- Flag = "Keybind1",
- Callback = function(isHeld)
- -- Toggle autoClickEnabled when key is pressed (not held)
- if not isHeld then
- autoClickEnabled = not autoClickEnabled
- if autoClickEnabled then
- print("[AutoClick]: ENABLED")
- startAutoClick()
- else
- print("[AutoClick]: DISABLED")
- if clickConnection then
- clickConnection:Disconnect()
- clickConnection = nil
- end
- end
- end
- end,
- })
- -- PIZZA DELIVERY TAB
- local Tab2 = Window:CreateTab("PIZZA DELIVERY", 4483362458)
- local pizzaRunning = false
- local startCFrame = CFrame.new(
- 4170.79932, 1196.58936, -4325.8584,
- -0.355390698, 3.93950508e-08, 0.934717834,
- 1.12602594e-08, 1, -3.78651777e-08,
- -0.934717834, -2.93176683e-09, -0.355390698
- )
- local function pizzaDeliveryLoop()
- local hrp = player.Character and player.Character:FindFirstChild("HumanoidRootPart")
- local questName = "Pizza Penguin"
- while pizzaRunning do
- if not hrp then
- hrp = player.Character and player.Character:FindFirstChild("HumanoidRootPart")
- if not hrp then
- task.wait(1)
- continue
- end
- end
- game:GetService("ReplicatedStorage"):WaitForChild("DialogueRemotes"):WaitForChild("StartInfiniteQuest"):InvokeServer(questName)
- task.wait(0.5)
- local customers = game:GetService("Workspace"):WaitForChild("Active"):WaitForChild("PizzaCustomers")
- local customer = customers:FindFirstChild("Valued Customer")
- if customer and customer:FindFirstChild("HumanoidRootPart") then
- hrp.CFrame = customer.HumanoidRootPart.CFrame
- end
- task.wait(2)
- game:GetService("ReplicatedStorage"):WaitForChild("Remotes"):WaitForChild("Quest_DeliverPizza"):InvokeServer()
- task.wait(1)
- game:GetService("ReplicatedStorage"):WaitForChild("DialogueRemotes"):WaitForChild("CompleteInfiniteQuest"):InvokeServer(questName)
- task.wait(0.5)
- game:GetService("ReplicatedStorage"):WaitForChild("DialogueRemotes"):WaitForChild("DialogueFinish"):FireServer(questName, false)
- task.wait(1)
- if hrp then
- hrp.CFrame = startCFrame
- end
- task.wait(30)
- end
- end
- -- Actual toggle for pizza 30s
- local TogglePizza = Tab2:CreateToggle({
- Name = "Pizza Delivery 30s cooldown",
- CurrentValue = false,
- Flag = "Toggle2",
- Callback = function(Value)
- pizzaRunning = Value
- if Value then
- print("[AutoPizza]: ON")
- spawn(pizzaDeliveryLoop)
- else
- print("[AutoPizza]: OFF")
- end
- end,
- })
- -- pizza delivery with auto rejoin
- local Toggle = Tab2:CreateToggle({
- Name = "Auto Pizza + Rejoin Fast",
- CurrentValue = true,
- Flag = "AutoPizzaRejoin",
- Callback = function(Value)
- if Value then
- local player = game:GetService("Players").LocalPlayer
- local hrp = player.Character:WaitForChild("HumanoidRootPart")
- local startCFrame = CFrame.new(
- 4170.79932, 1196.58936, -4325.8584,
- -0.355390698, 3.93950508e-08, 0.934717834,
- 1.12602594e-08, 1, -3.78651777e-08,
- -0.934717834, -2.93176683e-09, -0.355390698
- )
- local questName = "Pizza Penguin"
- spawn(function()
- -- Start quest
- game:GetService("ReplicatedStorage"):WaitForChild("DialogueRemotes"):WaitForChild("StartInfiniteQuest"):InvokeServer(questName)
- task.wait(0.5)
- -- Teleport to customer
- local customers = game:GetService("Workspace"):WaitForChild("Active"):WaitForChild("PizzaCustomers")
- local customer = customers:WaitForChild("Valued Customer", 5)
- if customer and customer:FindFirstChild("HumanoidRootPart") then
- hrp.CFrame = customer.HumanoidRootPart.CFrame
- end
- task.wait(2)
- -- Deliver pizza
- game:GetService("ReplicatedStorage"):WaitForChild("Remotes"):WaitForChild("Quest_DeliverPizza"):InvokeServer()
- task.wait(1)
- -- Complete quest
- game:GetService("ReplicatedStorage"):WaitForChild("DialogueRemotes"):WaitForChild("CompleteInfiniteQuest"):InvokeServer(questName)
- task.wait(0.5)
- -- Finish dialog
- game:GetService("ReplicatedStorage"):WaitForChild("DialogueRemotes"):WaitForChild("DialogueFinish"):FireServer(questName, false)
- task.wait(0.5)
- -- Teleport back
- hrp.CFrame = startCFrame
- task.wait(1)
- -- Rejoin
- game:GetService("TeleportService"):Teleport(game.PlaceId, player)
- end)
- end
- end,
- })
- -- this should keep it toggled after u have toggled it once
- task.delay(1, function()
- local savedValue = Rayfield.Flags["AutoPizzaRejoin"] and Rayfield.Flags["AutoPizzaRejoin"].CurrentValue
- if savedValue then
- Toggle:Set(true) -- This re-enables the toggle automatically on script load
- end
- end)
- -- UI stuff
- local Tab3 = Window:CreateTab("UI", 4483362458)
- local Button = Tab3:CreateButton({
- Name = "DESTROY UI",
- Callback = function()
- Rayfield:Destroy()
- end,
- })
- local isVisible = true -- assume UI starts visible
- local Keybind = Tab3:CreateKeybind({
- Name = "Open/Close UI",
- CurrentKeybind = "LeftControl",
- HoldToInteract = false,
- Flag = "Keybind1",
- Callback = function()
- isVisible = not isVisible
- Rayfield:SetVisibility(isVisible)
- end,
- })
- local player = game:GetService("Players").LocalPlayer
- -- Teleports (town tp not made)
- local Tab4 = Window:CreateTab("Teleports", 4483362458)
- local teleportLocations = {
- ["Cole Blood"] = CFrame.new(2526.09497, 83.575325, 1308.01697, 0.782224655, 1.42033113e-31, 0.622997046, 1.6511123e-31, 1, 2.06727521e-32, -0.622997224, -8.66930845e-32, 0.782224238),
- ["Kira Pale"] = CFrame.new(-6606.70654, 247.139862, -2412.20605, 0.351335585, 0.00844963733, -0.936211526, 0, 0.99995929, 0.00902498327, 0.936249614, -0.00317079783, 0.35132128),
- ["Billy Joe"] = CFrame.new(3651.62744, 82.903244, 1451.28918, 0.779215336, -0.0327569544, -0.625899732, 0, 0.998633265, -0.0522642732, 0.62675631, 0.0407251269, 0.77815038),
- ["Tom Baker"] = CFrame.new(5576.74512, 250.017868, -68.0017166, 0.88154614, -0.0194635931, -0.471696436, 0.0308243185, 0.999390721, 0.0163692627, 0.471090436, -0.0289699789, 0.881609023),
- ["Sydney"] = CFrame.new(763.248047, 265.35199, 646.584839, 0.294985026, -0.289372116, 0.910630524, -4.68525929e-09, 0.953038752, 0.30284822, -0.955501854, -0.0893357098, 0.281132162),
- ["Silver"] = CFrame.new(3928.29858, 82.403801, 1606.29199, -0.0871575847, 0, 0.996194601, 0, 1, 0, -0.996194601, 0, -0.0871575847),
- ["Mr.Salty"] = CFrame.new(-6094.73145, 117.489624, -1914.16968, -0.229179934, -0.24898307, 0.941001654, -0.080112718, 0.968277037, 0.236688629, -0.970081747, -0.0211419202, -0.241856381),
- ["Sam Colby"] = CFrame.new(3721.94434, 225.121933, -659.809143, -0.117471255, -0.059262231, 0.991306484, 0.0189093892, 0.997903407, 0.0618973896, -0.992896259, 0.0260161497, -0.116104349)
- }
- local Dropdown = Tab4:CreateDropdown({
- Name = "NPC Teleports",
- Options = {"Cole Blood", "Kira Pale", "Billy Joe", "Tom Baker", "Sydney", "Silver", "Mr.Salty", "Sam Colby"},
- CurrentOption = "Cole Blood", -- <-- This must be a string, NOT a table!
- MultipleOptions = false,
- Flag = "Dropdown1",
- Callback = function(selected)
- print("Selected option type:", typeof(selected)) -- debug
- if typeof(selected) == "table" then
- selected = selected[1] -- get first option if multiple sent accidentally
- end
- local character = game.Players.LocalPlayer.Character or game.Players.LocalPlayer.CharacterAdded:Wait()
- local HumRoot = character:FindFirstChild("HumanoidRootPart")
- if not HumRoot then
- warn("HumanoidRootPart not found!")
- return
- end
- local destination = teleportLocations[selected]
- if not destination then
- warn("No teleport destination for: "..tostring(selected))
- return
- end
- print("Teleporting to "..selected)
- HumRoot.CFrame = destination
- end,
- })
- --merchant
- local Button = Tab4:CreateButton({
- Name = "Teleport to Traveling Merchant (if its there)",
- Callback = function()
- local player = game:GetService("Players").LocalPlayer
- local hrp = player.Character and player.Character:FindFirstChild("HumanoidRootPart")
- if not hrp then
- warn("[Teleport]: HumanoidRootPart not found.")
- return
- end
- local npcRoot = game:GetService("Workspace"):FindFirstChild("World")
- if not npcRoot then return end
- local npcs = npcRoot:FindFirstChild("NPCs")
- local cart = npcs and npcs:FindFirstChild("Merchant Cart")
- local merchant = cart and cart:FindFirstChild("Traveling Merchant")
- local torso = merchant and merchant:FindFirstChild("Torso")
- if torso then
- print("[Teleport]: Traveling Merchant found! Teleporting...")
- hrp.CFrame = torso.CFrame
- else
- warn("[Teleport]: Traveling Merchant not found.")
- end
- end,
- })
- local teleportLocations = {
- ["Fox Town"] = CFrame.new(2085.27295, 111.495636, -399.051514, 0.945800364, -2.03127435e-08, -0.324748576, 2.2270596e-08, 1, 2.31192487e-09, 0.324748576, -9.41896339e-09, 0.945800364),
- ["Kira Pale"] = CFrame.new(1722.93372, 78.9500961, 55.6636696, 0.770644188, 0, 0.637265682, 0, 1, 0, -0.637265682, 0, 0.770644188),
- ["Billy Joe"] = CFrame.new(3651.62744, 82.903244, 1451.28918, 0.779215336, -0.0327569544, -0.625899732, 0, 0.998633265, -0.0522642732, 0.62675631, 0.0407251269, 0.77815038),
- ["Tom Baker"] = CFrame.new(5576.74512, 250.017868, -68.0017166, 0.88154614, -0.0194635931, -0.471696436, 0.0308243185, 0.999390721, 0.0163692627, 0.471090436, -0.0289699789, 0.881609023),
- ["Upper Mount Cider"] = CFrame.new(4691.39795, 1391.13928, -2324.93408, 0.929676533, 7.35528616e-08, 0.368376911, -8.39136973e-08, 1, 1.21064403e-08, -0.368376911, -4.21669419e-08, 0.929676533)
- }
- local Dropdown = Tab4:CreateDropdown({
- Name = "Area Teleports not work",
- Options = {"Fox Town", "Kira Pale", "Billy Joe", "Tom Baker", "Sydney"},
- CurrentOption = "Fox Town", -- <-- This must be a string, NOT a table!
- MultipleOptions = false,
- Flag = "Dropdown1",
- Callback = function(selected)
- print("Selected option type:", typeof(selected)) -- debug
- if typeof(selected) == "table" then
- selected = selected[1] -- get first option if multiple sent accidentally
- end
- local character = game.Players.LocalPlayer.Character or game.Players.LocalPlayer.CharacterAdded:Wait()
- local HumRoot = character:FindFirstChild("HumanoidRootPart")
- if not HumRoot then
- warn("HumanoidRootPart not found!")
- return
- end
- local destination = teleportLocations[selected]
- if not destination then
- warn("No teleport destination for: "..tostring(selected))
- return
- end
- print("Teleporting to "..selected)
- HumRoot.CFrame = destination
- end,
- })
- local Players = game:GetService("Players")
- local Workspace = game:GetService("Workspace")
- local player = Players.LocalPlayer
- local bossFolder = Workspace:WaitForChild("Spawns"):WaitForChild("BossSpawns")
- local bossNames = {
- "Basilisk",
- "Candlelight Phantom",
- "King Crab",
- "Molten Monstrosity",
- "Giant Spider",
- "Fuzzball"
- }
- local function getAvailableBosses()
- local available = {}
- for _, bossName in ipairs(bossNames) do
- local boss = bossFolder:FindFirstChild(bossName)
- if boss then
- for _, child in ipairs(boss:GetChildren()) do
- if string.match(child.Name, "^Node%d+$") and #child:GetChildren() > 0 then
- table.insert(available, bossName)
- break
- end
- end
- end
- end
- -- Add "None" as first option
- table.insert(available, 1, "None")
- -- Fallback if list is still empty (just "None")
- if #available == 1 then
- table.insert(available, "No Bosses Available")
- end
- return available
- end
- -- Create Dropdown
- local Dropdown = Tab4:CreateDropdown({
- Name = "Teleport to Boss",
- Options = getAvailableBosses(),
- CurrentOption = {"None"},
- MultipleOptions = false,
- Flag = "Dropdown1",
- Callback = function(Options)
- local selected = Options[1]
- if selected == "None" or selected == "No Bosses Available" then
- return
- end
- local boss = bossFolder:FindFirstChild(selected)
- if not boss then return end
- -- Find the first valid Node part with children
- local node
- for _, child in ipairs(boss:GetChildren()) do
- if string.match(child.Name, "^Node%d+$") and #child:GetChildren() > 0 and child:IsA("BasePart") then
- node = child
- break
- end
- end
- if not node then return end
- local hrp = player.Character and player.Character:FindFirstChild("HumanoidRootPart")
- if hrp then
- hrp.CFrame = node.CFrame
- print("✅ Teleported to boss:", selected)
- end
- end,
- })
- -- Refresh Button
- local RefreshButton = Tab4:CreateButton({
- Name = "🔄 Refresh Boss List",
- Callback = function()
- local refreshed = getAvailableBosses()
- Dropdown:Refresh(refreshed)
- print("🔁 Boss list refreshed:", table.concat(refreshed, ", "))
- end
- })
- local Workspace = game:GetService("Workspace")
- local Players = game:GetService("Players")
- local player = Players.LocalPlayer
- local activeFolder = Workspace:WaitForChild("Active")
- local tab = Tab4
- local meteorPositions = {}
- local MeteorDropdown = tab:CreateDropdown({
- Name = "Teleport to Active Meteor",
- Options = {"No Meteors"},
- CurrentOption = {"No Meteors"},
- MultipleOptions = false,
- Flag = "MeteorTeleportDropdown",
- Callback = function(Options)
- local selected = Options[1]
- local cframe = meteorPositions[selected]
- if cframe then
- local character = player.Character or player.CharacterAdded:Wait()
- local hrp = character:WaitForChild("HumanoidRootPart", 3)
- if hrp then
- hrp.CFrame = cframe
- print("[Teleport] Moved to meteor:", selected)
- else
- warn("HumanoidRootPart not found!")
- end
- else
- warn("No CFrame found for meteor:", selected)
- end
- end,
- })
- local function updateDropdown()
- local options = {}
- for name in pairs(meteorPositions) do
- table.insert(options, name)
- end
- if #options == 0 then
- options = {"No Meteors"}
- end
- MeteorDropdown:Refresh(options)
- end
- local function onMeteorAdded(meteor)
- local handle = meteor:WaitForChild("Handle", 5)
- if handle and handle:IsA("BasePart") then
- meteorPositions[meteor.Name] = handle.CFrame
- updateDropdown()
- print("[Meteor] Found meteor:", meteor.Name)
- else
- warn("Meteor handle not found or invalid")
- end
- end
- local function onMeteorRemoved(meteor)
- meteorPositions[meteor.Name] = nil
- updateDropdown()
- print("[Meteor] Removed meteor:", meteor.Name)
- end
- local existingMeteor = activeFolder:FindFirstChild("ActiveMeteor")
- if existingMeteor then
- onMeteorAdded(existingMeteor)
- end
- activeFolder.ChildAdded:Connect(function(child)
- if child.Name == "ActiveMeteor" then
- onMeteorAdded(child)
- end
- end)
- activeFolder.ChildRemoved:Connect(function(child)
- if child.Name == "ActiveMeteor" then
- onMeteorRemoved(child)
- end
- end)
- local Tab5 = Window:CreateTab("Quests", 4483362458)
- local Dropdown = Tab5:CreateDropdown({
- Name = "Auto Claim Quest",
- Options = {"Cole Blood", "Mr.Salty", "Silver", "Sydney", "Tom baker", "Billy Joe", "Kira Pale"}, -- Add more NPC names here
- CurrentOption = {"Cole Blood"},
- MultipleOptions = false,
- Flag = "AutoClaimQuest",
- Callback = function(Options)
- local questName = Options[1]
- -- Claim quest
- game:GetService("ReplicatedStorage"):WaitForChild("DialogueRemotes"):WaitForChild("CompleteInfiniteQuest"):InvokeServer(questName)
- task.wait(1)
- -- Finish dialogue
- game:GetService("ReplicatedStorage"):WaitForChild("DialogueRemotes"):WaitForChild("DialogueFinish"):FireServer(questName, false)
- task.wait(1)
- -- Start quest again
- game:GetService("ReplicatedStorage"):WaitForChild("DialogueRemotes"):WaitForChild("StartInfiniteQuest"):InvokeServer(questName)
- task.wait(1)
- -- Finish dialogue again
- game:GetService("ReplicatedStorage"):WaitForChild("DialogueRemotes"):WaitForChild("DialogueFinish"):FireServer(questName, false)
- end,
- })
Advertisement
Add Comment
Please, Sign In to add comment