-- Services
local Players = game:GetService("Players")
local TweenService = game:GetService("TweenService")
local UserInputService = game:GetService("UserInputService")

-- Variables
local player = Players.LocalPlayer
local character = player.Character or player.CharacterAdded:Wait()
local hrp = character:WaitForChild("HumanoidRootPart")

-- Target Path Variables
local baseFolder = game:GetService("Workspace"):WaitForChild("Map"):WaitForChild("Shops"):WaitForChild("Megumi V2MissingPieces"):WaitForChild("DivineDogs")

-- Table to store found dogs in order
local dogList = {}
local currentIndex = 1

-- 1. Scan for Divine Dogs
local function scanForDogs()
    dogList = {} -- Reset list
    
    for _, child in pairs(baseFolder:GetChildren()) do
        -- Check if the name matches "DivineDog" followed by a number
        local number = string.match(child.Name, "DivineDog(%d+)")
        if number then
            -- Store the object and its number for sorting
            table.insert(dogList, {Object = child, Number = tonumber(number)})
        end
    end

    -- Sort the list numerically (1, 2, 3... 10, 11) instead of alphabetically
    table.sort(dogList, function(a, b)
        return a.Number < b.Number
    end)
    
    print("Found " .. #dogList .. " Divine Dogs.")
end

-- 2. ESP Function
local function addESP(dogModel)
    if not dogModel:IsA("Model") and not dogModel:IsA("BasePart") then return end
    
    -- Create a Highlight
    local highlight = Instance.new("Highlight")
    highlight.Name = "DogESP"
    highlight.FillColor = Color3.fromRGB(0, 255, 255) -- Cyan color
    highlight.OutlineColor = Color3.fromRGB(255, 255, 255)
    highlight.FillTransparency = 0.5
    highlight.OutlineTransparency = 0
    highlight.DepthMode = Enum.HighlightDepthMode.AlwaysOnTop -- Visible through walls
    highlight.Adornee = dogModel
    highlight.Parent = dogModel
    
    -- Optional: Add a BillboardGui (Floating Text) above the dog
    local billboard = Instance.new("BillboardGui")
    billboard.Name = "DogLabel"
    billboard.Size = UDim2.new(0, 100, 0, 30)
    billboard.StudsOffset = Vector3.new(0, 3, 0)
    billboard.AlwaysOnTop = true
    billboard.Adornee = dogModel:IsA("Model") and dogModel.PrimaryPart or dogModel
    billboard.Parent = dogModel

    local textLabel = Instance.new("TextLabel", billboard)
    textLabel.Size = UDim2.new(1, 0, 1, 0)
    textLabel.BackgroundTransparency = 1
    textLabel.Text = dogModel.Name
    textLabel.TextColor3 = Color3.fromRGB(255, 255, 255)
    textLabel.TextStrokeTransparency = 0
    textLabel.TextScaled = true
end

-- 3. GUI Creation
local screenGui = Instance.new("ScreenGui")
screenGui.Name = "DogTeleportGUI"
screenGui.Parent = player:WaitForChild("PlayerGui")

local mainFrame = Instance.new("Frame")
mainFrame.Name = "MainFrame"
mainFrame.Size = UDim2.new(0, 200, 0, 100)
mainFrame.Position = UDim2.new(0.5, -100, 0.5, -50) -- Center screen
mainFrame.BackgroundColor3 = Color3.fromRGB(30, 30, 30)
mainFrame.BorderSizePixel = 0
mainFrame.Active = true
mainFrame.Draggable = true -- Allows you to move the GUI
mainFrame.Parent = screenGui

local corner = Instance.new("UICorner")
corner.CornerRadius = UDim.new(0, 8)
corner.Parent = mainFrame

local title = Instance.new("TextLabel")
title.Size = UDim2.new(1, 0, 0, 30)
title.BackgroundTransparency = 1
title.Text = "Dog Teleport"
title.TextColor3 = Color3.fromRGB(255, 255, 255)
title.Font = Enum.Font.GothamBold
title.TextSize = 18
title.Parent = mainFrame

local teleportBtn = Instance.new("TextButton")
teleportBtn.Size = UDim2.new(0.9, 0, 0, 40)
teleportBtn.Position = UDim2.new(0.05, 0, 0.5, 0)
teleportBtn.BackgroundColor3 = Color3.fromRGB(50, 150, 50)
teleportBtn.TextColor3 = Color3.fromRGB(255, 255, 255)
teleportBtn.Font = Enum.Font.GothamBold
teleportBtn.TextSize = 16
teleportBtn.Text = "Teleport"
teleportBtn.Parent = mainFrame

local btnCorner = Instance.new("UICorner")
btnCorner.Parent = teleportBtn

-- 4. Teleport Logic
teleportBtn.MouseButton1Click:Connect(function()
    if #dogList == 0 then
        scanForDogs()
        if #dogList == 0 then 
            teleportBtn.Text = "No Dogs Found"
            task.wait(2)
            teleportBtn.Text = "Teleport"
            return 
        end
    end

    if currentIndex > #dogList then
        teleportBtn.Text = "Done! (Reset)"
        currentIndex = 1 -- Reset cycle
        return
    end

    local targetData = dogList[currentIndex]
    local targetObj = targetData.Object

    -- Ensure character exists
    if player.Character and player.Character:FindFirstChild("HumanoidRootPart") then
        -- Teleport logic
        local targetPos
        if targetObj:IsA("BasePart") then
            targetPos = targetObj.CFrame
        elseif targetObj:IsA("Model") and targetObj.PrimaryPart then
            targetPos = targetObj.PrimaryPart.CFrame
        elseif targetObj:IsA("Model") then
            -- If no PrimaryPart, find a part inside
            local part = targetObj:FindFirstChildWhichIsA("BasePart")
            if part then targetPos = part.CFrame end
        end

        if targetPos then
            player.Character.HumanoidRootPart.CFrame = targetPos + Vector3.new(0, 3, 0) -- +3 Y to avoid getting stuck
            teleportBtn.Text = "TP: " .. targetObj.Name .. " (" .. currentIndex .. "/" .. #dogList .. ")"
            currentIndex = currentIndex + 1
        end
    end
end)

-- 5. Initialize
scanForDogs()

-- Apply ESP to all found dogs
for _, data in pairs(dogList) do
    addESP(data.Object)
end

print("Script Loaded. Dogs sorted: ", #dogList)
[UPD] Sorcerer Tycoon Divine Dog Finder [SIMPLE / Open Source]
Key System
Mobile Friendly
589 views
6 months ago

Divine Dog Finder [SIMPLE / Open Source]

WORKING
Free

Description

use this to quickly get all divine dogs lol idk? will take it off soon

Related Scripts