local Version = "1.6.63"
local WindUI = loadstring(game:HttpGet("https://[Log in to view URL]" .. Version .. "/main.lua"))()

local Window = WindUI:CreateWindow({
    Title = "SCORPIO HUB THA BRONX 3 SCRIPT", 
    Icon = "rbxassetid://94598024463822",
    Author = "Tha Bronx 3",
    Folder = "MySuperHub",
    
    Size = UDim2.fromOffset(2, 150),
    Transparent = true,
    Theme = "Crimson",
    Resizable = false,
    SideBarWidth = 150,
    BackgroundImageTransparency = 0.4,
    HideSearchBar = true,
    ScrollBarEnabled = true,
    
    Background = "rbxassetid://94598024463822",
    
    User = {
        Enabled = false,
        Anonymous = false,
        Callback = function()
            print("User clicked")
        end,
    },

    Thumbnail = {
        Image = "rbxassetid://94598024463822", 
        Title = "Thumbnail",
    },
})
Window:EditOpenButton({
    Title = "SCORPIO HUB THA BRONX 3 SCRIPT",
    Icon = "rbxassetid://94598024463822",
    CornerRadius = UDim.new(0,16),
    StrokeThickness = 2,
    Color = ColorSequence.new(Color3.fromRGB(128, 0, 0)), -- dark blue
    OnlyMobile = false,
    Enabled = true,
    Draggable = true,
    Position = UDim2.new(0.5, -75, 0, 50), -- Top middle of screen
    Size = UDim2.new(0, 150, 0, 50), -- Button size
})

-- Simple and reliable drag system
local UserInputService = game:GetService("UserInputService")
local buttonGui = nil
local isDragging = false
local dragStart = nil
local startPos = nil



local MainTab = Window:Tab({
    Title = "Main",
    Icon = "rocket",
    Side = "Left"
})

local PlayerTab = Window:Tab({
    Title = "Player",
    Icon = "user",
    Side = "Left"
})




local PremiumTab = Window:Tab({
    Title = "Infinite Money",
    Icon = "dollar-sign",
    Side = "Left"
})

local TargetTab = Window:Tab({
    Title = "Target Player",
    Icon = "circle-plus",
    Side = "Left"
})


local FarmsTab = Window:Tab({
    Title = "AutoFarms",
    Icon = "wallet",
    Side = "Left"
})


local VisualsTab = Window:Tab({
    Title = "Ullities",
    Icon = "camera",
    Side = "Left"
})

local CombatTab = Window:Tab({
    Title = "Modification",
    Icon = "swords",
    Side = "Left"
})

local ShopTab = Window:Tab({
    Title = "SHOP",
    Icon = "shopping-cart",
    Side = "Left"
})

local SettingsTab = Window:Tab({
    Title = "Settings",
    Icon = "settings",
    Side = "Left"
})


Window:SelectTab(1)

local currentTrack = nil

local function PlayEmote(animId, name)
    local player = game.Players.LocalPlayer
    local character = player.Character
    if not character then
        WindUI:Notify({Title = "Error", Content = "Character not loaded!", Duration = 2})
        return
    end
    
    local humanoid = character:FindFirstChildWhichIsA("Humanoid")
    if not humanoid then return end

    -- Stop previous animation
    if currentTrack then
        pcall(function() currentTrack:Stop() end)
        currentTrack = nil
    end

    -- Small wait to reduce lag/spike
    task.wait(0.05)

    local Animation = Instance.new("Animation")
    Animation.AnimationId = "rbxassetid://" .. tostring(animId)
    
    local success, track = pcall(function()
        return humanoid:LoadAnimation(Animation)
    end)
    
    if success and track then
        currentTrack = track
        track:Play()
        
        WindUI:Notify({
            Title = "Emote",
            Content = name .. " is now playing",
            Duration = 2.5,
            Icon = "play"
        })
    else
        WindUI:Notify({
            Title = "Emote Failed",
            Content = "Could not load " .. name,
            Duration = 3,
            Icon = "x"
        })
    end
end

local function StopEmote()
    if currentTrack then
        pcall(function() currentTrack:Stop() end)
        currentTrack = nil
        WindUI:Notify({
            Title = "Emote",
            Content = "Stopped",
            Duration = 2,
            Icon = "stop-circle"
        })
    end
end

-- Main Emotes
VisualsTab:Toggle({ Title = "Druski Pop Out", Default = false, Callback = function(s) 
    if s then PlayEmote("111060112236071", "Druski Pop Out") 
    else StopEmote() end 
end })

VisualsTab:Toggle({ Title = "TRIP OUT", Default = false, Callback = function(s) 
    if s then PlayEmote("135562069901689", "TRIP OUT") 
    else StopEmote() end 
end })

VisualsTab:Button({
    Title = "Stop Current Emote",
    Color = Color3.new(128, 0, 0),
    Callback = StopEmote
})

local MainSection = MainTab:Section({ 
    Title = "Support",
    TextXAlignment = "Left",
    TextSize = 17, 
})




local Lighting = game:GetService("Lighting")
local Players = game:GetService("Players")
local player = Players.LocalPlayer

local currentSkybox = nil
local selectedSkyboxName = nil

local function Notify(title, text)
    Rayfield:Notify({
        Title = title,
        Content = text,
        Duration = 5,
        Image = 4483362458
    })
end

local function applySkybox(skyboxId, skyboxName)
    for _, v in pairs(Lighting:GetChildren()) do
        if v:IsA("Sky") then
            v:Destroy()
        end
    end

    if not skyboxId or skyboxId == "Undo Skybox" then
        local defaultSkyId = "rbxassetid://94598024463822"

        local sky = Instance.new("Sky")
        sky.SkyboxBk = defaultSkyId
        sky.SkyboxDn = defaultSkyId
        sky.SkyboxFt = defaultSkyId
        sky.SkyboxLf = defaultSkyId
        sky.SkyboxRt = defaultSkyId
        sky.SkyboxUp = defaultSkyId
        sky.Parent = Lighting

        Notify("Skybox", "Reset to default Roblox sky.")
        return
    end

    local sky = Instance.new("Sky")
    sky.SkyboxBk = skyboxId
    sky.SkyboxDn = skyboxId
    sky.SkyboxFt = skyboxId
    sky.SkyboxLf = skyboxId
    sky.SkyboxRt = skyboxId
    sky.SkyboxUp = skyboxId
    sky.Parent = Lighting

    Notify("Skybox Enabled", (skyboxName or "Custom") .. " skybox activated.")
end

local skyboxes = {
    ["Charlie"] = "rbxassetid://94598024463822",
    ["New Charlie"] = "rbxassetid://94598024463822",
    ["Simpsons"] = "rbxassetid://71597428687411",
    ["SpongeBob"] = "rbxassetid://120213323865819",
    ["Galaxy"] = "rbxassetid://75761154013379",
    ["Night Sky"] = "rbxassetid://1012890",
}

local skyboxNames = {}
for name in pairs(skyboxes) do
    table.insert(skyboxNames, name)
end

MainTab:Dropdown({
    Title = "Select Skybox",
    Options = skyboxNames,
    CurrentOption = {},
    MultipleOptions = false,
    Flag = "SkyboxSelect",
    Callback = function(Value)
        selectedSkyboxName = Value[1]
    end,
})

MainTab:Button({
    Title = "Enable / Disable Skybox",
    Callback = function()
        if not selectedSkyboxName then
            Notify("Skybox", "Please select a skybox first!")
            return
        end

        local assetId = skyboxes[selectedSkyboxName]

        if currentSkybox == assetId then
            applySkybox("Undo Skybox")
            currentSkybox = nil
        else
            applySkybox(assetId, selectedSkyboxName)
            currentSkybox = assetId
        end
    end,
})

MainTab:Button({
    Title = "Reset to Default Sky",
    Callback = function()
        applySkybox("Undo Skybox")
        currentSkybox = nil
        selectedSkyboxName = nil
    end,
})

-- ====================== DISCORD TAG ======================
local tagEnabled = true
local rainbowEnabled = true

local function removeTag(character)
    if character then
        local head = character:FindFirstChild("Head")
        if head then
            local tag = head:FindFirstChild("DiscordTag")
            if tag then
                tag:Destroy()
            end
        end
    end
end

local function addTag(character)
    if not tagEnabled then
        return
    end

    removeTag(character)

    local head = character:WaitForChild("Head")

    local billboard = Instance.new("BillboardGui")
    billboard.Name = "DiscordTag"
    billboard.Adornee = head
    billboard.Size = UDim2.new(0, 125, 0, 55)
    billboard.StudsOffset = Vector3.new(0, 3, 0)
    billboard.AlwaysOnTop = true
    billboard.Parent = head

    local text = Instance.new("TextLabel")
    text.Size = UDim2.new(1,0,1,0)
    text.BackgroundTransparency = 1
    text.Text = "discord/ScorpioHub"
    text.TextScaled = true
    text.TextStrokeTransparency = 0
    text.Font = Enum.Font.GothamBold
    text.Parent = billboard

    if rainbowEnabled then
        task.spawn(function()
            local hue = 0

            while billboard.Parent and tagEnabled and rainbowEnabled do
                hue = (hue + 0.015) % 1
                text.TextColor3 = Color3.fromHSV(hue,1,1)
                task.wait(0.05)
            end

            if billboard.Parent and tagEnabled then
                text.TextColor3 = Color3.fromRGB(255,0,0)
            end
        end)
    else
        text.TextColor3 = Color3.fromRGB(255,0,0)
    end
end

MainTab:Toggle({
    Title = "Enable Discord Tag",
    Desc = "Tag",
    Icon = "map-pin",
    Type = "Toggle",
    CurrentValue = true,
    Flag = "DiscordTag",
    Callback = function(Value)
        tagEnabled = Value

        if Value then
            if player.Character then
                addTag(player.Character)
            end

            Notify("Discord Tag", "Tag Enabled")
        else
            if player.Character then
                removeTag(player.Character)
            end

            Notify("Discord Tag", "Tag Disabled")
        end
    end,
})

MainTab:Toggle({
    Title = "Rainbow Tag Color",
    Desc = "Tag",
    Icon = "map-pin",
    Type = "Toggle",
    CurrentValue = true,
    Flag = "RainbowTag",
    Callback = function(Value)
        rainbowEnabled = Value

        if player.Character and tagEnabled then
            removeTag(player.Character)
            task.wait(0.1)
            addTag(player.Character)
        end

        Notify(
            "Rainbow Tag",
            rainbowEnabled and "Rainbow Enabled" or "Rainbow Disabled"
        )
    end,
})

player.CharacterAdded:Connect(function(char)
    task.wait(1)

    if tagEnabled then
        addTag(char)
    end
end)

if player.Character and tagEnabled then
    addTag(player.Character)
end

-- ====================== CHARACTER HANDLING ======================
local Players = game:GetService("Players")
local player = Players.LocalPlayer

if player.Character then
    addTag(player.Character)
end

player.CharacterAdded:Connect(function(char)
    task.wait(0.5) -- Small delay to ensure Head exists
    addTag(char)
end)

player.CharacterRemoving:Connect(removeTag)

print("Discord Tab loaded with separate Rainbow toggle!")

local MainSection = MainTab:Section({ 
    Title = "Teleport",
    TextXAlignment = "Left",
    TextSize = 17, 
})




local player = game.Players.LocalPlayer
local humanoidRootPart


player.CharacterAdded:Connect(function(char)
    humanoidRootPart = char:WaitForChild("HumanoidRootPart", 10)
end)

if player.Character then
    humanoidRootPart = player.Character:FindFirstChild("HumanoidRootPart")
end

local function updateCharacterReferences()
    local character = player.Character or player.CharacterAdded:Wait()
    humanoidRootPart = character:WaitForChild("HumanoidRootPart", 5)
end

updateCharacterReferences()


local locations = {
    ["🏦Bank"] = Vector3.new(-1215.96, 253.88, -3636.11),
    ["💸Money Wash"] = Vector3.new(-376.1771 - 601, 197.6838 + 56, -1975.5855 + 1035 + 248),
    ["🔒Safe Items"] = Vector3.new(-190, 295, -1010),
    ["🛍️Pawn Shop"] = Vector3.new(-23.6431 - 1026, 391.5367 - 138, -1118.2697 + 300 + 4),
    ["🏦Bank Vault"] = Vector3.new(-1152.12, 253.78, -3657.94),
    ["🤑Mr Money Man"] = Vector3.new(-1008.6871337890625, 262.3301086425781, 54.565277099609375),
    ["🔫GunShop 1"] = Vector3.new(92959.8671875, 122098.5, 17244.462890625),
    ["🔫GunShop 1 Lobby"] = Vector3.new(-1002.4224, 563.6382 - 310, -1685.9125 + 244 + 638),
    ["🔫GunShop 2"] = Vector3.new(66195.4453125, 123615.7109375, 5750.28271484375),
    ["🔫GunShop 2 Lobby"] = Vector3.new(-224.3818359375, 283.8034362792969, -794.7174072265625),
    ["🔫GunShop 3"] = Vector3.new(61041.3086 - 55 - 166, 16979.1484 + 70630, -36.4746 - 315),
    ["🔫GunShop 4"] = Vector3.new(72421.9140625, 128855.8203125, -1080.611083984375),
    ["New Pent House"] = Vector3.new(-1531.23, 463.39, -3718.06),
    ["📱T Mobile"] = Vector3.new(-660.389954,253.668274,-700.198608),
    ["🕍Mini Mansion"] = Vector3.new(-791.5180053710938, 256.7944641113281, 1414.4248046875),
    ["🎒Backpack Shop"] = Vector3.new(-692.4142456054688, 253.78091430664062, -681.0672607421875),
    ["💎Ice Box"] = Vector3.new(-1210.49, 254.27, -3994.48),
    ["👓Drip Shop"] = Vector3.new(7378.6953 + 60084, 18630.0352 - 8141, 205.5895 + 344),
    ["🍗Chicken Wings"] = Vector3.new(-1559.9142 + 512 + 90, 253.5367, -815.9442),
    ["🥪Deli Market"] = Vector3.new(-755.8114013671875, 254.6927490234375, -687.1181640625),
    ["🚗Car Dealer"] = Vector3.new(-401.99371337890625, 253.4141082763672, -1248.8380126953125),
    ["🍕Pizza"] = Vector3.new(-605.474426,254.256805,-802.171753),
    ["🏭Soda Warehouse"] = Vector3.new(-187.85504150390625, 284.6252136230469, -291.3419189453125),
    ["🏭Soda Supplies"] = Vector3.new(51372.82421875, 21680.416015625, 5840.85546875),
    ["💲Soda Seller"] = Vector3.new(-1292.2200927734375, 253.30044555664062, -3003.04833984375),
    ["🍃Exotic Dealer"] = Vector3.new(-1523.5654296875, 273.9729919433594, -990.6575317382812),
    ["🔫Switch Seller"] = Vector3.new(-1446.2166748046875, 256.059814453125, 2189.876220703125),
    ["💲Bronx Market"] = Vector3.new(-397.4308776855469, 334.3142395019531, -555.7023315429688),
    ["🔨Construction Site"] = Vector3.new(-1729, 371, -1171),
    ["⛓️Prison"] = Vector3.new(-1120.29, 254.90, -3364.86),
    ["🍔McDonalds"] = Vector3.new(-1011.34, 253.93, -1147.76),
    ["💎Rob Ice Box"] = Vector3.new(-209.68360900878906, 283.4959411621094, -1265.5286865234375),
    ["🏢Hospital"] = Vector3.new(-1579.79, 253.95, 27.17),
    ["💊MarGreens"] = Vector3.new(-345.25, 254.45, -392.41),
    ["🥂Night Club"] = Vector3.new(-90.03, 283.75, -728.01),
    ["🎙Studio"] = Vector3.new(93408.453125, 14484.7158203125, 570.139404296875),
    ["🔫Studio Guns"] = Vector3.new(72421.93, 128855.83, -1082.59),
    ["ATM 3"] = Vector3.new(-96.72356414794922, 283.6329345703125, -766.3309326171875),
    ["👮NYPD Roof"] = Vector3.new(-1389.98, 279.44, -3141.37),
    ["🚙Striker Man"] = Vector3.new(-1424.99, 254.22, 2786.90),
    ["⚰️Bury Money"] = Vector3.new(-198.53, 239.51, 1266.04),
    ["🔨SledgeHammer Job"] = Vector3.new(-1007.64, 262.26, 56.05),
    ["🍗Popeyes"] = Vector3.new(-78.04, 283.63, -768.11),
}


local function getTeleportRoot()
    local character = player.Character or player.CharacterAdded:Wait()
    local root = character:FindFirstChild("HumanoidRootPart") or character:WaitForChild("HumanoidRootPart", 5)
    humanoidRootPart = root
    return character, root
end

local function getLocationName(option)
    option = tostring(option or "")

    if locations[option] then
        return option
    end

    -- Dropdown values have emojis in front, while the locations table does not.
    -- Example: "💰Bank" becomes "Bank".
    for name in pairs(locations) do
        if option:find(name, 1, true) then
            return name
        end
    end
end

local function teleportToLocation(locVec, locName)
    local character, root = getTeleportRoot()
    if not character or not root then return end

    local humanoid = character:FindFirstChildOfClass("Humanoid")
    if not humanoid then return end

    getgenv().SwimMethod = true
    humanoid:ChangeState(Enum.HumanoidStateType.Physics)

    local start = os.clock()
    repeat task.wait()
    until not player:GetAttribute("LastACPos") or os.clock() - start > 1.5

    task.wait(0.15)
    root.CFrame = CFrame.new(locVec + Vector3.new(0, 3, 0))

    task.wait(0.2)

    getgenv().SwimMethod = false
    humanoid:ChangeState(Enum.HumanoidStateType.Running)

    WindUI:Notify({
        Title = "Teleported",
        Content = "Teleported to " .. tostring(locName),
        Duration = 2,
        Icon = "bird",
    })
end


local hasPickedLocation = false
local selectedTeleportLocation = nil
local selectedTeleportName = nil
local teleportToggleEnabled = false

MainTab:Toggle({
    Title = "Teleport Toggle",
    Desc = "Turn on, then pick a location from the dropdown",
    Icon = "map-pin",
    Type = "Toggle",
    Default = false,
    Callback = function(state)
        teleportToggleEnabled = state

        if state and selectedTeleportLocation then
            teleportToLocation(selectedTeleportLocation, selectedTeleportName)
        elseif state then
            WindUI:Notify({
                Title = "Teleport",
                Content = "Pick a location from the dropdown.",
                Duration = 2,
                Icon = "map-pin",
            })
        end
    end
})

local Dropdown = MainTab:Dropdown({
    Title = "teleports",
    Desc = "teleport around map",
    Values = (function()
        local vals = {}
        for _, key in ipairs({
            "🏦Bank", "💸Money Wash", "🔒Safe Items", "🛍️Pawn Shop", "🏦Bank Vault", "🤑Mr Money Man",
            "🔫GunShop 1", "🔫GunShop 1 Lobby", "🔫GunShop 2", "🔫GunShop 2 Lobby", "🔫GunShop 3", "🔫GunShop 4",
            "🏢 New Pent House", "📱T Mobile", "🕍Mini Mansion", "🎒Backpack Shop", "💎Rob Ice Box", "👓Drip Shop",
            "🍗Chicken Wings", "🥪Deli Market", "🚗Car Dealer", "🍕Pizza", "🏭Soda Warehouse", "🏭Soda Supplies",
            "💲Soda Seller", "🍃Exotic Dealer", "🔫Switch Seller", "💲Bronx Market", "🔨Construction Site",
            "⛓️Prison", "🍔McDonalds", "💎Ice Box", "🏢Hospital", "💊MarGreens", "🥂Night Club",
            "🎙Studio", "🔫Studio Guns", "ATM 3", "👮NYPD Roof", "🚙Striker Man", "⚰️Bury Money",
            "🔨SledgeHammer Job", "🍗Popeyes",
        }) do
            table.insert(vals, key)
        end
        return vals
    end)(),
    Callback = function(option)
        if not hasPickedLocation then
            hasPickedLocation = true
        end

        local locName = getLocationName(option)
        if locName and locations[locName] then
            selectedTeleportName = locName
            selectedTeleportLocation = locations[locName]

            if teleportToggleEnabled then
                teleportToLocation(selectedTeleportLocation, selectedTeleportName)
            else
                WindUI:Notify({
                    Title = "Location Selected",
                    Content = "Turn on Teleport Toggle to go to " .. tostring(selectedTeleportName),
                    Duration = 2,
                    Icon = "map-pin",
                })
            end
        else
            WindUI:Notify({
                Title = "Teleport Failed",
                Content = "No location matched: " .. tostring(option),
                Duration = 2,
                Icon = "triangle-alert",
            })
        end
    end,
})

MainTab:Divider()

local Paragraph = MainTab:Paragraph({
    Title = "Bring car",
    Desc = "Click to bring the nearest car",
    Color = Color3.new(128, 0, 0),
    Image = "helicopter",
    ImageSize = 30,
    Thumbnail = "",
    ThumbnailSize = 80
})
Config = Config or {}

Config.TheBronx = {
    carfly = false,
    carflyspeed = 120,
}

local UIS = game:GetService("UserInputService")
local RunService = game:GetService("RunService")
local Players = game:GetService("Players")
local LP = Players.LocalPlayer

local hum, seat, car, root
local bv, bg
local lastCar

local function Cleanup()
    if bv then bv:Destroy() bv = nil end
    if bg then bg:Destroy() bg = nil end
end

local function Setup()
    Cleanup()
    if not Config.TheBronx.carfly then return end

    local char = LP.Character
    if not char then return end

    hum = char:FindFirstChildWhichIsA("Humanoid")
    if not hum then return end

    seat = hum.SeatPart
    if not seat or not seat:IsA("VehicleSeat") then return end

    car = seat.Parent
    if not car then return end

    root = car.PrimaryPart
    if not root then return end

    lastCar = car

    for _, v in ipairs(car:GetChildren()) do
        if v:IsA("BasePart") and not v.Name:lower():find("wheel") then
            v.CanCollide = false
        end
    end

    bv = Instance.new("BodyVelocity")
    bv.MaxForce = Vector3.new(1e9, 1e9, 1e9)
    bv.Velocity = Vector3.zero
    bv.Parent = root

    bg = Instance.new("BodyGyro")
    bg.MaxTorque = Vector3.new(1e9, 1e9, 1e9)
    bg.P = 25000
    bg.D = 1500
    bg.CFrame = root.CFrame
    bg.Parent = root
end

task.spawn(function()
    while true do
        task.wait(0.2)

        local char = LP.Character
        if not char then continue end

        local h = char:FindFirstChildWhichIsA("Humanoid")
        if not h then continue end

        local currentSeat = h.SeatPart

        if currentSeat and currentSeat:IsA("VehicleSeat") then
            if currentSeat.Parent ~= lastCar then
                Setup()
            end
        else
            if lastCar then
                Cleanup()
                lastCar = nil
            end
        end
    end
end)

RunService.RenderStepped:Connect(function()
    if not Config.TheBronx.carfly then
        Cleanup()
        return
    end

    if not hum or hum.SeatPart ~= seat then return end
    if not root or not bv or not bg then Setup() return end

    local speed = Config.TheBronx.carflyspeed or 120
    local cam = workspace.CurrentCamera
    local camCF = cam.CFrame
    local camLook = camCF.LookVector
    local camRight = camCF.RightVector

    if not UIS.TouchEnabled then
        if UIS:IsMouseButtonPressed(Enum.UserInputType.MouseButton2) then
            bg.CFrame = CFrame.lookAt(root.Position, root.Position + camLook)
        end

        local move = Vector3.zero
        if UIS:IsKeyDown(Enum.KeyCode.W) then move += camLook end
        if UIS:IsKeyDown(Enum.KeyCode.S) then move -= camLook end
        if UIS:IsKeyDown(Enum.KeyCode.A) then move -= camRight end
        if UIS:IsKeyDown(Enum.KeyCode.D) then move += camRight end

        if move.Magnitude > 0 then
            bv.Velocity = move.Unit * speed
        else
            bv.Velocity = Vector3.zero
        end

    else

        bg.CFrame = CFrame.lookAt(root.Position, root.Position + camLook)

        local move = hum.MoveDirection
        local vertical = camLook.Y 

        local velocity =
            (move * speed) +
            (Vector3.new(0, vertical, 0) * speed)

        if velocity.Magnitude > 0 then
            bv.Velocity = velocity
        else
            bv.Velocity = Vector3.zero
        end
    end
end)

local function GetNearestCar(hrp)
    local CivCars = workspace:FindFirstChild("CivCars")
    if not CivCars then return nil end

    local nearestCar = nil
    local nearestDist = math.huge

    for _, car in ipairs(CivCars:GetChildren()) do
        if not car:IsA("Model") then continue end

        local seat = car:FindFirstChild("DriveSeat")
        if not seat then continue end

        if seat.Occupant then continue end

        if not car.PrimaryPart then
            local body = car:FindFirstChild("Body")
            if body and body:FindFirstChild("#Weight") then
                car.PrimaryPart = body["#Weight"]
            else
                car.PrimaryPart = seat
            end
        end

        if not car.PrimaryPart then continue end

        local dist = (car.PrimaryPart.Position - hrp.Position).Magnitude
        if dist < nearestDist then
            nearestDist = dist
            nearestCar = car
        end
    end

    return nearestCar
end

local Button = MainTab:Button({
    Title = "Bring Random Car",
    Desc = "",
    Color = Color3.new(128, 0, 0),
    Locked = false,
    Callback = function()
        local Players = game:GetService("Players")
        local Player = Players.LocalPlayer
        if not Player then return end

        local char = Player.Character or Player.CharacterAdded:Wait()

        local hrp = char:WaitForChild("HumanoidRootPart", 3)
        local hum = char:FindFirstChildWhichIsA("Humanoid")
        if not hrp or not hum then return end

        local car = GetNearestCar(hrp)
        if not car then
            return
        end

        local seat = car:FindFirstChild("DriveSeat") or car:FindFirstChildWhichIsA("VehicleSeat")
        if not seat then return end

        if not car.PrimaryPart then
            car.PrimaryPart = car:FindFirstChildWhichIsA("BasePart")
            if not car.PrimaryPart then return end
        end

        car:SetPrimaryPartCFrame(
            hrp.CFrame * CFrame.new(0, 0, -6) * CFrame.Angles(0, math.rad(180), 0)
        )

        seat:Sit(hum)
    end
})



local Section = MainTab:Section({ 
    Title = "Bank",
    TextXAlignment = "Left",
    TextSize = 17,
})



local atmbankamount = nil 

MainTab:Input({
    Title = "Enter Amount",
    Desc = "Enter amount",
    Value = nil,  
    InputIcon = "badge-dollar-sign",
    Type = "Input",
    Placeholder = "Enter amount...",
    Callback = function(text)
        if text == nil or text == "" then
            atmbankamount = nil
            return
        end

        local amt = tonumber(text)
        if not amt then
            WindUI:Notify({
                Title = "ATM",
                Content = "Invalid amount",
                Duration = 1,
                Icon = "badge-dollar-sign"
            })
            atmbankamount = nil
            return
        end

        atmbankamount = amt
    end,
})


local DepositButton = MainTab:Button({
    Title = "Deposit",
    Color = Color3.new(128, 0, 0),
    Justify = "Center",
    IconAlign = "Left",
    Icon = "",
    Callback = function()
        if atmbankamount > 0 then
            game:GetService("ReplicatedStorage"):WaitForChild("BankAction"):FireServer("depo", atmbankamount)
        end
    end,
})


local WithdrawButton = MainTab:Button({
    Title = "Withdraw",
    Color = Color3.new(128, 0, 0),
    Justify = "Center",
    IconAlign = "Left",
    Icon = "",
    Callback = function()
        if atmbankamount > 0 then
            game:GetService("ReplicatedStorage"):WaitForChild("BankAction"):FireServer("with", atmbankamount)
        end
    end,
})


local DropButton = MainTab:Button({
    Title = "Drop",
    Color = Color3.new(128, 0, 0), 
    Justify = "Center",
    IconAlign = "Left",
    Icon = "",
    Callback = function()
        if atmbankamount > 0 then
            game:GetService("ReplicatedStorage"):WaitForChild("BankProcessRemote"):InvokeServer("Drop", atmbankamount)
        end
    end,
})


local autoDepositActive = false
local AutoDepositToggle = MainTab:Toggle({
    Title = "Auto Deposit",
    Desc = "Automatically deposit the entered amount",
    Icon = "badge-dollar-sign",
    Type = "Checkbox",
    Default = false,
    Callback = function(state)
        autoDepositActive = state
        if state then
            spawn(function()
                while autoDepositActive do
                    if atmbankamount and atmbankamount > 0 then
                        game:GetService("ReplicatedStorage"):WaitForChild("BankAction"):FireServer("depo", atmbankamount)
                    end
                    wait(1) 
                end
            end)
        end
    end
})


local autoWithdrawActive = false
local AutoWithdrawToggle = MainTab:Toggle({
    Title = "Auto Withdraw",
    Desc = "Automatically withdraw the entered amount",
    Icon = "badge-dollar-sign",
    Type = "Checkbox",
    Default = false,
    Callback = function(state)
        autoWithdrawActive = state
        if state then
            spawn(function()
                while autoWithdrawActive do
                    if atmbankamount and atmbankamount > 0 then
                        game:GetService("ReplicatedStorage"):WaitForChild("BankAction"):FireServer("with", atmbankamount)
                    end
                    wait(1)
                end
            end)
        end
    end
})



local autoDropEnabled = false

MainTab:Toggle({
    Title = "Auto Drop ($10k)",
    Desc = "Automatically drops $10k every 0.5s",
    Icon = "badge-dollar-sign",
    Type = "Checkbox",
    Default = false,
    Callback = function(value)
        autoDropEnabled = value
        if value then
            spawn(function()
                while autoDropEnabled do
                    game:GetService("ReplicatedStorage"):WaitForChild("BankProcessRemote"):InvokeServer("Drop", 10000)

                    local giveMoney = game:GetService("ReplicatedStorage"):FindFirstChild("GiveMoney")
                    if giveMoney then
                        giveMoney:FireServer("drop", 10000)
                    end

                    task.wait(0.5)
                end
            end)
        end
    end,
})




local Section = PlayerTab:Section({ 
    Title = "Bypass",
    TextXAlignment = "Left",
    TextSize = 17,
})



local Players = game:GetService("Players")
local RunService = game:GetService("RunService")
local Workspace = game:GetService("Workspace")

local player = Players.LocalPlayer
local camera = Workspace.CurrentCamera

local Config = {
    FlyEnabled = false,
    FlySpeed = 5
}

local flyEnabled = false
local swimMethod = false
local speedConnection = nil
local CFloop = nil

local function handleSpeed()
    if not swimMethod then return end
    
    local character = player.Character
    if not character or not character.Parent then return end
    
    local humanoid = character:FindFirstChildOfClass("Humanoid")
    local hrp = character:FindFirstChild("HumanoidRootPart")
    if not humanoid or not hrp or humanoid.Health <= 0 then return end
    
    humanoid:ChangeState(0)

    if flyEnabled then
        hrp.RotVelocity = Vector3.new(0, 0, 0)
        return
    end
    
    local moveDir = humanoid.MoveDirection
    if moveDir.Magnitude > 0 then
        local worldMoveVec = Vector3.new(moveDir.X, 0, moveDir.Z).Unit * (50 * 16)
        if worldMoveVec.Magnitude == worldMoveVec.Magnitude then 
            hrp.Velocity = Vector3.new(worldMoveVec.X, hrp.Velocity.Y, worldMoveVec.Z)
        end
    else
        hrp.Velocity = Vector3.new(0, hrp.Velocity.Y, 0)
    end
    
    hrp.RotVelocity = Vector3.new(0, 0, 0)
end

local function onCharacterAdded(char)
    if speedConnection then
        speedConnection:Disconnect()
        speedConnection = nil
    end
    
    local success = pcall(function()
        char:WaitForChild("Humanoid", 5)
        char:WaitForChild("HumanoidRootPart", 5)
    end)
    
    if not success then return end
    
    speedConnection = RunService.Stepped:Connect(function()
        local success = pcall(handleSpeed)
        if not success and speedConnection then
            speedConnection:Disconnect()
            speedConnection = nil
        end
    end)
end

if player.Character then
    onCharacterAdded(player.Character)
end
player.CharacterAdded:Connect(onCharacterAdded)

local function StartFly()
    if flyEnabled then return end
    flyEnabled = true
    swimMethod = true

    task.wait(0.2)
    
    local character = player.Character or player.CharacterAdded:Wait()
    if not character then return end

    local humanoid = character:FindFirstChildOfClass("Humanoid")
    local head = character:FindFirstChild("Head")
    if not humanoid or not head then return end

    humanoid.PlatformStand = true
    head.Anchored = true

    if CFloop then 
        CFloop:Disconnect() 
    end

    CFloop = RunService.Heartbeat:Connect(function(deltaTime)
        if not flyEnabled or not character or not character.Parent then
            if CFloop then CFloop:Disconnect() end
            return
        end
        
        local moveDir = humanoid.MoveDirection
        local speed = (Config.FlySpeed or 5) * deltaTime * 100
        
        local camCF = camera.CFrame
        local _, yRot, _ = camCF:ToOrientation()
        local uprightRot = CFrame.Angles(0, yRot, 0)

        local flatCamCF = CFrame.new(camCF.Position) * uprightRot
        local localInput = flatCamCF:VectorToObjectSpace(moveDir * speed)
        local worldMovement = camCF:VectorToWorldSpace(localInput)

        head.CFrame = CFrame.new(head.Position + worldMovement) * uprightRot
        camera.CameraSubject = head
    end)
end

local function StopFly()
    if not flyEnabled then return end
    flyEnabled = false
    swimMethod = false

    if CFloop then
        CFloop:Disconnect()
        CFloop = nil
    end
    
    local character = player.Character
    if character then
        local humanoid = character:FindFirstChildOfClass("Humanoid")
        local head = character:FindFirstChild("Head")
        
        if humanoid then
            humanoid.PlatformStand = false
            humanoid:ChangeState(Enum.HumanoidStateType.Running)
        end
        
        if head then
            head.Anchored = false
        end
    end
end

PlayerTab:Toggle({
    Title = "Enable Fly Speed",
    CurrentValue = false,
    Flag = "FlyEnabled",

    Callback = function(state)
        Config.FlyEnabled = state

        if state then
            StartFly()
        else
            StopFly()
        end
    end
})



local Players = game:GetService("Players")
local RunService = game:GetService("RunService")
local UserInputService = game:GetService("UserInputService")
local player = Players.LocalPlayer


local speed = 16
local boostMultiplier = 2
local enhancedWalk = false

local character, humanoid, humanoidRootPart
local bodyGyro
local movementConnection
local freezeConnection
local animationTrack


local animation = Instance.new("Animation")
animation.AnimationId = "rbxassetid://78828590676720" 


getgenv().SwimMethod = false
task.spawn(function()
	while task.wait() do
		if enhancedWalk then
			if not getgenv().SwimMethod then
				getgenv().SwimMethod = true
			end
			if humanoid then
				humanoid:ChangeState(Enum.HumanoidStateType.FallingDown)
			end
		end
	end
end)


local function updateCharacterRefs()
	character = player.Character or player.CharacterAdded:Wait()
	humanoidRootPart = character:WaitForChild("HumanoidRootPart")
	humanoid = character:WaitForChild("Humanoid")
end

local function cleanup()
	if movementConnection then movementConnection:Disconnect() movementConnection = nil end
	if freezeConnection then freezeConnection:Disconnect() freezeConnection = nil end
	if bodyGyro then bodyGyro:Destroy() bodyGyro = nil end
	if animationTrack then animationTrack:Stop() animationTrack = nil end
end

local function setupMovement()
	bodyGyro = Instance.new("BodyGyro")
	bodyGyro.MaxTorque = Vector3.new(math.huge, math.huge, math.huge)
	bodyGyro.P = 50000
	bodyGyro.D = 1000
	bodyGyro.CFrame = humanoidRootPart.CFrame
	bodyGyro.Parent = humanoidRootPart

	movementConnection = RunService.RenderStepped:Connect(function()
		if not enhancedWalk then return end

		local camera = workspace.CurrentCamera
		local dir = Vector3.zero
		local usingKeys = false

		if UserInputService:IsKeyDown(Enum.KeyCode.W) then
			dir += Vector3.new(camera.CFrame.LookVector.X, 0, camera.CFrame.LookVector.Z)
			usingKeys = true
		end
		if UserInputService:IsKeyDown(Enum.KeyCode.S) then
			dir -= Vector3.new(camera.CFrame.LookVector.X, 0, camera.CFrame.LookVector.Z)
			usingKeys = true
		end
		if UserInputService:IsKeyDown(Enum.KeyCode.A) then
			dir -= camera.CFrame.RightVector
			usingKeys = true
		end
		if UserInputService:IsKeyDown(Enum.KeyCode.D) then
			dir += camera.CFrame.RightVector
			usingKeys = true
		end

		if not usingKeys then
			local md = humanoid.MoveDirection
			dir = Vector3.new(md.X, 0, md.Z)
		end

		local moveSpeed = speed
		if UserInputService:IsKeyDown(Enum.KeyCode.LeftShift) then
			moveSpeed = moveSpeed * boostMultiplier
		end

		if dir.Magnitude > 0 then
			dir = dir.Unit * moveSpeed
		end

		local currentY = humanoidRootPart.AssemblyLinearVelocity.Y
		local groundedY = math.clamp(currentY, -100, -2)
		humanoidRootPart.AssemblyLinearVelocity = Vector3.new(dir.X, groundedY, dir.Z)

		if dir.Magnitude > 0 then
			local look = dir.Unit
			bodyGyro.CFrame = CFrame.new(humanoidRootPart.Position, humanoidRootPart.Position + Vector3.new(look.X, 0, look.Z))
		end

		humanoidRootPart.RotVelocity = Vector3.zero
		humanoidRootPart.AssemblyAngularVelocity = Vector3.zero

		if dir.Magnitude > 0 then
			if not animationTrack.IsPlaying then animationTrack:Play() end
		else
			if animationTrack.IsPlaying then animationTrack:Stop() end
		end
	end)
end

local function startEnhancedWalk()
	enhancedWalk = true
	updateCharacterRefs()
	cleanup()
	humanoidRootPart.AssemblyLinearVelocity = Vector3.zero
	getgenv().SwimMethod = true


	WindUI:Notify({
		Title = "1 Second",
		Content = "Anti cheat Being bypassed",
		Duration = 3,
		Icon = "loader",
	})


	freezeConnection = RunService.RenderStepped:Connect(function()
		if enhancedWalk then
			if not getgenv().SwimMethod then
				getgenv().SwimMethod = true
			end
			humanoidRootPart.AssemblyLinearVelocity = Vector3.zero
		end
	end)


	local animator = humanoid:FindFirstChildWhichIsA("Animator") or Instance.new("Animator", humanoid)
	animationTrack = animator:LoadAnimation(animation)
	animationTrack.Looped = true

	task.delay(3, function()
		if freezeConnection then freezeConnection:Disconnect() freezeConnection = nil end
		if enhancedWalk then
			setupMovement()
			WindUI:Notify({
				Title = "WalkSpeed",
				Content = "Walk speed enabled",
				Duration = 3,
				Icon = "check",
			})
		end
	end)
end

local function stopEnhancedWalk()
	enhancedWalk = false
	cleanup()
	getgenv().SwimMethod = false
end


player.CharacterAdded:Connect(function()
	task.wait(1)
	updateCharacterRefs()
	if enhancedWalk then
		startEnhancedWalk()
	end
end)


local Toggle = PlayerTab:Toggle({
    Title = "Enable WalkSpeed",
    Desc = "toggle walk speed",
    Icon = "user",
    Type = "Toggle",
    Default = false,
    Callback = function(state)
        if state then
            startEnhancedWalk()
        else
            stopEnhancedWalk()
        end
    end
})

local Slider = PlayerTab:Slider({
    Title = "Walk Speed Slider",
    Step = 1,
    Value = {
        Min = 16,
        Max = 2000,
        Default = speed,
    },
    Callback = function(value)
        speed = value
    end
})



local Section = PlayerTab:Section({ 
    Title = "Bypass",
    TextXAlignment = "Left",
    TextSize = 17,
})



local Players = game:GetService("Players")
local ReplicatedStorage = game:GetService("ReplicatedStorage")
local RunService = game:GetService("RunService")
local ReplicatedFirst = game:GetService("ReplicatedFirst")

local player = Players.LocalPlayer
local LocalPlayer = player


local staminaEnabled = false
local hungerEnabled = false
local sleepEnabled = false
local AntiRentPayEnabled = false
local AntiLoseEnabled = false
local Noclipping = nil
local isNoclipInitialized = false
local _G = _G or {}
_G.respawn = false
local lastDeathPosition = nil


local function applyEffectsToCharacter(character)
    if staminaEnabled then
        local staminaScript = player.PlayerGui:FindFirstChild("Run", true)
        if staminaScript then
            local scriptObj = staminaScript:FindFirstChild("StaminaBarScript", true)
            if scriptObj then scriptObj:Destroy() end
        end
    end

    if hungerEnabled then
        local hungerScript = player.PlayerGui:FindFirstChild("Hunger", true)
        if hungerScript then
            local scriptObj = hungerScript:FindFirstChild("HungerBarScript", true)
            if scriptObj then scriptObj:Destroy() end
        end
    end

    if sleepEnabled then
        local success, s = pcall(function()
            return player.PlayerGui.SleepGui.Frame.sleep.SleepBar.sleepScript
        end)
        if success and s then
            s.Disabled = true
            s.Disabled = false
            s.Disabled = true
        end
    end
end

player.CharacterAdded:Connect(function(character)
    character:WaitForChild("HumanoidRootPart", 5)
    applyEffectsToCharacter(character)
end)


local function setCollide(state)
    local char = player.Character
    if char then
        for _, p in pairs(char:GetDescendants()) do
            if p:IsA("BasePart") then
                p.CanCollide = state
            end
        end
    end
end



PlayerTab:Toggle({
    Title = "Anti Fall Damage",
    Desc = "Disable fall damage",
    Icon = "user",
    Type = "Checkbox",
    Value = false,
    Callback = function(Value)
        if Value then
            WindUI:Notify({
                Title = "",
                Content = "Anti Fall Damage enabled",
                Duration = 3,
                Icon = "user"
            })
        end
        local character = player.Character or player.CharacterAdded:Wait()
        local fallDamage = character:FindFirstChild("FallDamageRagdoll")
        if fallDamage and Value then
            fallDamage:Destroy()
        end
    end
})

PlayerTab:Toggle({
    Title = "Infinite Stamina",
    Desc = "Unlimited stamina",
    Icon = "user",
    Type = "Checkbox",
    Value = false,
    Callback = function(Value)
        staminaEnabled = Value
        if Value then
            WindUI:Notify({
                Title = "",
                Content = "Infinite Stamina enabled",
                Duration = 3,
                Icon = "user"
            })
            applyEffectsToCharacter(player.Character or player.CharacterAdded:Wait())
        end
    end
})

PlayerTab:Toggle({
    Title = "Infinite Hunger",
    Desc = "Never get hungry",
    Icon = "user",
    Type = "Checkbox",
    Value = false,
    Callback = function(Value)
        hungerEnabled = Value
        if Value then
            WindUI:Notify({
                Title = "",
                Content = "Infinite Hunger enabled",
                Duration = 3,
                Icon = "user"
            })
            applyEffectsToCharacter(player.Character or player.CharacterAdded:Wait())
        end
    end
})

PlayerTab:Toggle({
    Title = "Infinite Sleep",
    Desc = "No sleep needed",
    Icon = "user",
    Type = "Checkbox",
    Value = false,
    Callback = function(Value)
        sleepEnabled = Value
        if Value then
            WindUI:Notify({
                Title = "",
                Content = "Infinite Sleep enabled",
                Duration = 3,
                Icon = "user"
            })
            applyEffectsToCharacter(player.Character or player.CharacterAdded:Wait())
        end
    end
})

PlayerTab:Toggle({
    Title = "Anti Lose Items",
    Desc = "Keep items on death",
    Icon = "user",
    Type = "Checkbox",
    Value = false,
    Callback = function(Value)
        AntiLoseEnabled = Value
        if Value then
            WindUI:Notify({
                Title = "",
                Content = "Anti Lose enabled",
                Duration = 3,
                Icon = "user"
            })
        end
    end
})

PlayerTab:Toggle({
    Title = "No Rent Pay",
    Desc = "Disable rent",
    Icon = "user",
    Type = "Checkbox",
    Value = false,
    Callback = function(Value)
        AntiRentPayEnabled = Value
        if Value then
            WindUI:Notify({
                Title = "",
                Content = "No Rent Pay enabled",
                Duration = 3,
                Icon = "user"
            })
            task.spawn(function()
                while AntiRentPayEnabled do
                    task.wait(1)
                    local rentGui = player.PlayerGui:FindFirstChild("RentGui")
                    if rentGui then
                        local rentScript = rentGui:FindFirstChild("LocalScript")
                        if rentScript then
                            rentScript.Disabled = true
                            rentScript:Destroy()
                        end
                    end
                end
            end)
        end
    end
})

PlayerTab:Toggle({
    Title = "Anti-Knockback",
    Desc = "Remove knockback",
    Icon = "user",
    Type = "Checkbox",
    Value = false,
    Callback = function(Value)
        if Value then
            WindUI:Notify({
                Title = "",
                Content = "Anti-Knockback enabled",
                Duration = 3,
                Icon = "user"
            })
            local character = player.Character or player.CharacterAdded:Wait()
            for _, v in ipairs(character:GetDescendants()) do
                if v:IsA("BodyVelocity") or v:IsA("LinearVelocity") or v:IsA("VectorForce") then
                    v:Destroy()
                end
            end
            local ae = ReplicatedStorage:FindFirstChild("AE")
            if ae then ae:Destroy() end
            local root = character:WaitForChild("HumanoidRootPart")
            root.ChildAdded:Connect(function(v)
                if v:IsA("BodyVelocity") or v:IsA("LinearVelocity") or v:IsA("VectorForce") then
                    v:Destroy()
                end
            end)
        end
    end
})

PlayerTab:Toggle({
    Title = "Noclip",
    Desc = "Walk through walls",
    Icon = "user",
    Type = "Checkbox",
    Value = false,
    Callback = function(Value)
        if not isNoclipInitialized then
            isNoclipInitialized = true
            return
        end

        local character = player.Character or player.CharacterAdded:Wait()
        local humanoid = character:FindFirstChildWhichIsA("Humanoid")
        local root = character:FindFirstChild("HumanoidRootPart")

        if Value then
            WindUI:Notify({
                Title = "",
                Content = "Noclip enabled",
                Duration = 3,
                Icon = "user"
            })
            Noclipping = RunService.Stepped:Connect(function()
                setCollide(false)
            end)
        else
            if Noclipping then
                Noclipping:Disconnect()
                Noclipping = nil
            end
            setCollide(true)
            if root then
                local cf = root.CFrame
                root.CFrame = cf + Vector3.new(0, 0.1, 0)
                task.wait()
                root.CFrame = cf
            end
            if humanoid then
                humanoid:ChangeState(Enum.HumanoidStateType.GettingUp)
            end
            WindUI:Notify({
                Title = "",
                Content = "Noclip disabled",
                Duration = 3,
                Icon = "user"
            })
        end
    end
})

PlayerTab:Toggle({
    Title = "Anti-Camera Shake",
    Desc = "Disable camera bob",
    Icon = "user",
    Type = "Checkbox",
    Value = false,
    Callback = function(Value)
        if Value then
            WindUI:Notify({
                Title = "",
                Content = "Camera shake disabled",
                Duration = 3,
                Icon = "user"
            })
            local character = player.Character or player.CharacterAdded:Wait()
            local camBobbing = character:FindFirstChild("CameraBobbing")
            if camBobbing then camBobbing:Destroy() end
            character.ChildAdded:Connect(function(v)
                if v.Name == "CameraBobbing" then v:Destroy() end
            end)
        end
    end
})

PlayerTab:Toggle({
    Title = "Instant Prompts",
    Desc = "Instant interact",
    Icon = "user",
    Type = "Checkbox",
    Value = false,
    Callback = function(Value)
        getgenv().instantPrompts = Value
        local connection

        local function modifyPrompts()
            for _, v in ipairs(workspace:GetDescendants()) do
                if v:IsA("ProximityPrompt") then
                    v.HoldDuration = 0
                    v.MaxActivationDistance = 6
                end
            end
        end

        local function resetPrompts()
            for _, v in ipairs(workspace:GetDescendants()) do
                if v:IsA("ProximityPrompt") then
                    v.HoldDuration = 1
                    v.MaxActivationDistance = 4
                end
            end
        end

        if Value then
            WindUI:Notify({
                Title = "",
                Content = "Applying instant interact settings...",
                Duration = 3,
                Icon = "user"
            })
            task.wait(2)
            modifyPrompts()
            connection = workspace.DescendantAdded:Connect(function(obj)
                if obj:IsA("ProximityPrompt") then
                    obj.HoldDuration = 0
                    obj.MaxActivationDistance = 6
                end
            end)
        else
            resetPrompts()
            if connection then connection:Disconnect() end
        end
    end
})



PlayerTab:Toggle({
    Title = "Respawn Where Died",
    Desc = "Respawn at death spot",
    Icon = "user",
    Type = "Checkbox",
    Value = false,
    Locked = false,
    Callback = function()
        WindUI:Notify({
            Title = "",
            Content = "You will now respawn where you died.",
            Duration = 3,
            Icon = "user"
        })

        local function onCharacterAdded(character)
            local humanoid = character:WaitForChild("Humanoid")
            if lastDeathPosition then
                local root = character:WaitForChild("HumanoidRootPart")
                root.CFrame = CFrame.new(lastDeathPosition + Vector3.new(0,3,0))
            end
            humanoid.Died:Connect(function()
                local root = character:FindFirstChild("HumanoidRootPart")
                if root then lastDeathPosition = root.Position end
            end)
        end

        if player.Character then onCharacterAdded(player.Character) end
        player.CharacterAdded:Connect(onCharacterAdded)
    end
})

PlayerTab:Toggle({
    Title = "Enable Faster Respawn",
    Desc = "Instant respawn",
    Icon = "user",
    Type = "Checkbox",
    Value = false,
    Locked = false,
    Callback = function()
        _G.respawn = true
        WindUI:Notify({
            Title = "",
            Content = "Faster respawn has been enabled!",
            Duration = 3,
            Icon = "user"
        })
    end
})

PlayerTab:Toggle({
    Title = "NO Close GunShop",
    Desc = "Force gun shop open",
    Icon = "user",
    Type = "Checkbox",
    Value = false,
    Locked = false,
    Callback = function()
        local gunShopClosed = workspace:FindFirstChild("GunShopClosed")
        if gunShopClosed then gunShopClosed:Destroy() end

        local secondGun = workspace:FindFirstChild("SecondGun4886")
        if secondGun and secondGun:FindFirstChild("ProximityPrompt") then
            secondGun.ProximityPrompt.Enabled = true
        end

        WindUI:Notify({
            Title = "",
            Content = "GunShop Is Now Open!",
            Duration = 3,
            Icon = "user"
        })
    end
})

PlayerTab:Toggle({
    Title = "No Camera Arrest",
    Desc = "Disable camera arrest",
    Icon = "user",
    Type = "Checkbox",
    Value = false,
    Locked = false,
    Callback = function()
        local cameras = ReplicatedFirst:FindFirstChild("Dakotas")
        if cameras and cameras:FindFirstChild("Cameras") then
            cameras.Cameras:Destroy()
            WindUI:Notify({
                Title = "",
                Content = "Dakotas.Cameras has been deleted!",
                Duration = 1,
                Icon = "user"
            })
        else
            WindUI:Notify({
                Title = "",
                Content = "Dakotas.Cameras not found!",
                Duration = 1,
                Icon = "user"
            })
        end
    end
})


task.spawn(function()
    while true do
        task.wait(0.1)
        if _G.respawn then
            local character = player.Character
            if character and character:FindFirstChild("Humanoid") and character.Humanoid.Health <= 0 then
                ReplicatedStorage.RespawnRE:FireServer()
                task.wait(0.1)
            end
        end
    end
end)


local ExemptItems = {"Phone", "Fist", "Shiesty", "Bandage", "Lemonade", "Car keys"}

local function MarketHasItem(toolName)
    local market = ReplicatedStorage:FindFirstChild("MarketItems")
    if not market then return false end
    for _, item in ipairs(market:GetChildren()) do
        if item.Name == toolName and item:FindFirstChild("owner") and item.owner.Value == LocalPlayer.Name then
            return true
        end
    end
    return false
end

local function BackpackHasItem(toolName)
    for _, tool in ipairs(LocalPlayer.Backpack:GetChildren()) do
        if tool:IsA("Tool") and tool.Name == toolName then
            return true
        end
    end
    return false
end

local function ForcePutToMarket(toolName)
    local endTime = os.clock() + 12
    while os.clock() < endTime do
        if MarketHasItem(toolName) then return true end
        pcall(function()
            ReplicatedStorage.ListWeaponRemote:FireServer(toolName, 999999)
        end)
        task.wait(0.15)
    end
    return false
end

local function ForceRetrieveFromMarket(toolName)
    local market = ReplicatedStorage:WaitForChild("MarketItems", 10)
    if not market then return false end

    local endTime = os.clock() + 12
    while os.clock() < endTime do
        for _, item in ipairs(market:GetChildren()) do
            if item.Name == toolName
                and item:FindFirstChild("owner")
                and item.owner.Value == LocalPlayer.Name
                and item:GetAttribute("SpecialId") then

                local special = item:GetAttribute("SpecialId")

                pcall(function()
                    ReplicatedStorage.BuyItemRemote:FireServer(toolName, "Remove", special)
                end)

                task.wait(0.2)

                pcall(function()
                    ReplicatedStorage.BackpackRemote:InvokeServer("Grab", toolName)
                end)

                task.wait(0.2)

                if BackpackHasItem(toolName) then
                    return true
                end
            end
        end
        task.wait(0.2)
    end
    return false
end

local function SaveOnDeath(char)
    local hum = char:WaitForChild("Humanoid")
    hum.Died:Connect(function()
        if not AntiLoseEnabled then return end
        task.wait(0.25)
        for _, tool in ipairs(LocalPlayer.Backpack:GetChildren()) do
            if tool:IsA("Tool") and not table.find(ExemptItems, tool.Name) then
                ForcePutToMarket(tool.Name)
            end
        end
    end)
end

local function RetrieveAfterSpawn()
    task.delay(2.2, function()
        if not AntiLoseEnabled then return end
        local market = ReplicatedStorage:FindFirstChild("MarketItems")
        if not market then return end
        for _, item in ipairs(market:GetChildren()) do
            if item:FindFirstChild("owner") and item.owner.Value == LocalPlayer.Name then
                ForceRetrieveFromMarket(item.Name)
            end
        end
    end)
end

local function SetupCharacter(char)
    SaveOnDeath(char)
    RetrieveAfterSpawn()
end

LocalPlayer.CharacterAdded:Connect(SetupCharacter)
if LocalPlayer.Character then
    SetupCharacter(LocalPlayer.Character)
end







local aSection = PremiumTab:Section({ 
    Title = "Auto Max Money",
    TextXAlignment = "Left",
    TextSize = 17,
})

local Button = PremiumTab:Button({
    Title = "🤑Auto Infinite Money",
    Desc = "Automatically get infinite money.",
    Locked = false,
    Callback = function()
        local Players = game:GetService("Players")
        local LocalPlayer = Players.LocalPlayer
        local ReplicatedStorage = game:GetService("ReplicatedStorage")
        local Workspace = game:GetService("Workspace")
        local StarterGui = game:GetService("StarterGui")

        local humanoidRootPart


        LocalPlayer.CharacterAdded:Connect(function(char)
            humanoidRootPart = char:WaitForChild("HumanoidRootPart", 10)
        end)

        if LocalPlayer.Character then
            humanoidRootPart = LocalPlayer.Character:FindFirstChild("HumanoidRootPart")
        end

        local function updateCharacterReferences()
            local character = LocalPlayer.Character or LocalPlayer.CharacterAdded:Wait()
            humanoidRootPart = character:WaitForChild("HumanoidRootPart", 5)
        end

        updateCharacterReferences()


        local Teleport = function(cframe, bool)
            updateCharacterReferences()

            local humanoid = humanoidRootPart and humanoidRootPart.Parent:FindFirstChild("Humanoid")
            if not humanoid then return end

            getgenv().SwimMethod = true

            humanoid:ChangeState(0)
            repeat task.wait(0.0001) until not LocalPlayer:GetAttribute("LastACPos")

            humanoidRootPart.CFrame = cframe

            task.wait()
            humanoid:ChangeState(2)

            getgenv().SwimMethod = false
        end

        local GetFruitCup = function()
            local Found, Cup = false, nil

            for Index, Value in ipairs(LocalPlayer.Backpack:GetChildren()) do
                if Value:IsA("Tool") and Value.Name == "Ice-Fruit Cupz" then
                    if Value["IceFruit Cup"]["IceFruit PunchMedium"].Transparency ~= 1 then
                        Found = true
                        Cup = Value
                        break
                    end
                end
            end

            for Index, Value in ipairs(LocalPlayer.Character:GetChildren()) do
                if Value:IsA("Tool") and Value.Name == "Ice-Fruit Cupz" then
                    if Value["IceFruit Cup"]["IceFruit PunchMedium"].Transparency ~= 1 then
                        Found = true
                        Cup = Value
                        break
                    end
                end
            end

            return Found, Cup
        end

        local Found, Cup = GetFruitCup()

        if Cup and Found then
            local OLDCFrame = LocalPlayer.Character.HumanoidRootPart.CFrame

            if Cup.Parent == LocalPlayer.Backpack then
                LocalPlayer.Character.Humanoid:EquipTool(Cup)
                task.wait(1)
            end

            Teleport(Workspace["IceFruit Sell"].CFrame + Vector3.new(0, 0, 0), true)

            local prompt = Workspace["IceFruit Sell"].ProximityPrompt
            local originalHoldDuration = prompt.HoldDuration
            local originalMaxDistance = prompt.MaxActivationDistance

            prompt.HoldDuration = 0
            prompt.MaxActivationDistance = 50
            prompt.RequiresLineOfSight = false

            LocalPlayer.Character.HumanoidRootPart.Anchored = true

            for i = 1, 1000 do
                fireproximityprompt(prompt, 0)
            end

            prompt.HoldDuration = originalHoldDuration
            prompt.MaxActivationDistance = originalMaxDistance
            LocalPlayer.Character.HumanoidRootPart.Anchored = false

            Teleport(OLDCFrame, true)
            return
        end

        local OLDCFrame = LocalPlayer.Character.HumanoidRootPart.CFrame
        local Itemz = {"FijiWater", "FreshWater", "Ice-Fruit Bag", "Ice-Fruit Cupz"}
        local Stove

        for Index, Value in Workspace.CookingPots:GetChildren() do
            if Value:IsA("Model") then
                local prompt = Value:FindFirstChildWhichIsA("ProximityPrompt", true)
                if prompt and prompt.ActionText == "Turn On" and prompt.Enabled then
                    Stove = Value
                    break
                end
            end
        end

        for Index, Value in Itemz do
            if not LocalPlayer.Backpack:FindFirstChild(Value) then
                ReplicatedStorage:WaitForChild("ExoticShopRemote"):InvokeServer(Value)
                task.wait(1)
            end
        end

        local Check = false

        for Index, Value in Itemz do
            if not LocalPlayer.Backpack:FindFirstChild(Value) then
                Check = true
            end
        end

        if Check then
            return
        end

        Teleport(Stove.CookPart.CFrame, true)
        task.wait(1)

        StarterGui:SetCoreGuiEnabled(Enum.CoreGuiType.Backpack, false)
        LocalPlayer.Character.HumanoidRootPart.Anchored = true
        task.wait(1.5)

        fireproximityprompt(Stove:FindFirstChildWhichIsA("ProximityPrompt", true))
        task.wait(2)

        for Index, Value in {"FijiWater", "FreshWater", "Ice-Fruit Bag"} do
            LocalPlayer.Character.Humanoid:EquipTool(LocalPlayer.Backpack[Value])
            task.wait(1)
            fireproximityprompt(Stove:FindFirstChildWhichIsA("ProximityPrompt", true))
            task.wait(3)
        end

        repeat task.wait() until Stove.CookPart.Steam.LoadUI.Enabled == false

        if not LocalPlayer.Character:FindFirstChild("Ice-Fruit Cupz") then
            LocalPlayer.Character.Humanoid:EquipTool(LocalPlayer.Backpack['Ice-Fruit Cupz'])
            task.wait(1)
        end

        task.wait(1)
        fireproximityprompt(Stove:FindFirstChildWhichIsA("ProximityPrompt", true))
        task.wait(3)

        LocalPlayer.Character.HumanoidRootPart.Anchored = false
        Teleport(Workspace["IceFruit Sell"].CFrame + Vector3.new(0, 0, 0), true)
        task.wait(1)

        LocalPlayer.Character.HumanoidRootPart.Anchored = true
        task.wait(1.5)

        if not LocalPlayer.Character:FindFirstChild("Ice-Fruit Cupz") then
            LocalPlayer.Character.Humanoid:EquipTool(LocalPlayer.Backpack["Ice-Fruit Cupz"])
            task.wait(1)
        end

        local prompt = Workspace["IceFruit Sell"].ProximityPrompt
        local originalHoldDuration = prompt.HoldDuration
        local originalMaxDistance = prompt.MaxActivationDistance

        prompt.HoldDuration = 0
        prompt.MaxActivationDistance = 50
        prompt.RequiresLineOfSight = false

        for i = 1, 1000 do
            fireproximityprompt(prompt, 0)
        end

        prompt.HoldDuration = originalHoldDuration
        prompt.MaxActivationDistance = originalMaxDistance
        LocalPlayer.Character.HumanoidRootPart.Anchored = false
        StarterGui:SetCoreGuiEnabled(Enum.CoreGuiType.Backpack, true)

        task.wait(0.5)
        Teleport(OLDCFrame, true)
        task.wait(2)
    end
})








local aSection = PremiumTab:Section({ 
    Title = "Manual Money",
    TextXAlignment = "Left",
    TextSize = 17,
})

local Button = PremiumTab:Button({
    Title = "Money Dupe",
    Color = Color3.new(128, 0, 0), 
    Desc = "",
    Locked = false,
    Callback = function()
        local player = game.Players.LocalPlayer
        local StarterGui = game:GetService("StarterGui")
        local camera = game.Workspace.CurrentCamera
        local humanoidRootPart = player.Character and player.Character:FindFirstChild("HumanoidRootPart")

        local originalCameraType = camera.CameraType
        local originalFieldOfView = camera.FieldOfView
        local originalCameraShake = camera:FindFirstChild("CameraShake")
        local cameraShakeBackup = originalCameraShake and originalCameraShake.Value or nil

        local function GetCharacter()
            return player and player.Character
        end

        getgenv().SwimMethod = false

        local function enableSwimMethod()
            getgenv().SwimMethod = true
            task.wait(1)
        end

        local function disableSwimMethod()
            getgenv().SwimMethod = false
        end

        local function SwimBypassTeleport(destinationCFrame)
            local character = GetCharacter()
            if not character or not character:FindFirstChild("HumanoidRootPart") then return end

            local HRP = character.HumanoidRootPart

            enableSwimMethod()
            task.wait(0.25)

            HRP.CFrame = destinationCFrame + Vector3.new(2, 0, 0)

            task.delay(0.25, function()
                disableSwimMethod()
            end)
        end

        local tool = player.Backpack:FindFirstChild("Ice-Fruit Cupz")
        if tool then
            player.Character.Humanoid:EquipTool(tool)
        else
            WindUI:Notify({
                Title = "No Ice-Fruit Cupz",
                Content = "❌'Ice-Fruit Cupz' not found in backpack",
                Duration = 3,
                Icon = "history",
            })
            return
        end

        local blackScreen = Instance.new("ScreenGui")
        blackScreen.IgnoreGuiInset = true
        blackScreen.Parent = game:GetService("CoreGui")

        local frame = Instance.new("Frame", blackScreen)
        frame.BackgroundColor3 = Color3.fromRGB(0, 0, 0)
        frame.Size = UDim2.new(1, 0, 1, 0)
        frame.Position = UDim2.new(0, 0, 0, 0)
        frame.BorderSizePixel = 0
        frame.Visible = true

        local imageLabel = Instance.new("ImageLabel", frame)
        imageLabel.Size = UDim2.new(0.8, 0, 0.8, 0)
        imageLabel.Position = UDim2.new(0.1, 0, 0.1, 0)
        imageLabel.BackgroundTransparency = 1
        imageLabel.Image = "118675319260087"
        imageLabel.ScaleType = Enum.ScaleType.Fit

        if not player or not player.Character or not player.Character:FindFirstChild("HumanoidRootPart") then return end
        local originalCFrame = player.Character.HumanoidRootPart.CFrame

        task.wait(0.5)

        local targetCFrame = CFrame.new(-69.82200622558594, 287.0635986328125, -319.79437255859375)
        SwimBypassTeleport(targetCFrame)

        task.wait(0.5)

        local cameraOffset = Vector3.new(0, 5, 5)
        local angleOffset = Vector3.new(0, -1, 0)

        camera.CameraType = Enum.CameraType.Scriptable

        getgenv().cameraFollowConnection = game:GetService("RunService").Heartbeat:Connect(function()
            if humanoidRootPart then
                local characterPos = humanoidRootPart.Position
                camera.CFrame = CFrame.new(characterPos + cameraOffset + angleOffset, characterPos + Vector3.new(0, 3, 0))
            end
        end)

        getgenv().instantPrompts = true

        local iceFruitSellPrompt = workspace:WaitForChild("IceFruit Sell"):WaitForChild("ProximityPrompt")
        if iceFruitSellPrompt then
            iceFruitSellPrompt.HoldDuration = 0
            iceFruitSellPrompt.MaxActivationDistance = 6

            getgenv().updateConnection = game:GetService("RunService").Heartbeat:Connect(function()
                if getgenv().instantPrompts and iceFruitSellPrompt.Enabled then
                    for _ = 1, 300 do
                        iceFruitSellPrompt:InputHoldBegin()
                        iceFruitSellPrompt:InputHoldEnd()
                    end
                end
            end)
        end

        task.spawn(function()
            task.wait(1)

            getgenv().instantPrompts = false

            if getgenv().updateConnection then
                getgenv().updateConnection:Disconnect()
                getgenv().updateConnection = nil
            end

            if iceFruitSellPrompt then
                iceFruitSellPrompt.HoldDuration = 1
                iceFruitSellPrompt.MaxActivationDistance = 4
            end

            enableSwimMethod()
            task.wait(0.5)
            SwimBypassTeleport(originalCFrame)
            task.wait(0.5)
            disableSwimMethod()

            if getgenv().cameraFollowConnection then
                getgenv().cameraFollowConnection:Disconnect()
                getgenv().cameraFollowConnection = nil
            end

            camera.CameraType = originalCameraType
            camera.FieldOfView = originalFieldOfView

            if originalCameraShake then
                originalCameraShake.Value = cameraShakeBackup
            end

            blackScreen:Destroy()

            WindUI:Notify({
                Title = "Money vulnerability",
                Content = "💸 Done Generating money",
                Duration = 2,
                Icon = "bird",
            })
        end)
    end
})




local player = game.Players.LocalPlayer
local humanoidRootPart


player.CharacterAdded:Connect(function(char)
    humanoidRootPart = char:WaitForChild("HumanoidRootPart", 10)
end)

if player.Character then
    humanoidRootPart = player.Character:FindFirstChild("HumanoidRootPart")
end

local function updateCharacterReferences()
    local character = player.Character or player.CharacterAdded:Wait()
    humanoidRootPart = character:WaitForChild("HumanoidRootPart", 5)
end

updateCharacterReferences()

local function teleportToCookingSpot()
    local cookingPos = Vector3.new(-1605.9183349609375, 254.04150390625, -488.43804931640625)

    updateCharacterReferences()

    local humanoid = humanoidRootPart and humanoidRootPart.Parent:FindFirstChild("Humanoid")
    if not humanoid then return end

    getgenv().SwimMethod = true

    humanoid:ChangeState(0)
    repeat task.wait(0.0001) until not player:GetAttribute("LastACPos")

    humanoidRootPart.CFrame = CFrame.new(cookingPos)

    task.wait()
    humanoid:ChangeState(2)

    getgenv().SwimMethod = false

    WindUI:Notify({
        Title = "Teleported",
        Content = "Teleported to Cookin Spot",
        Duration = 2,
        Icon = "bird",
    })
end

local Button = PremiumTab:Button({
    Title = "Cookin Spot",
    Desc = "Teleports to where you gotta cook the stuff",
    Color = Color3.new(128, 0, 0),
    Justify = "Center",
    IconAlign = "Left",
    Icon = "map-pin",
    Locked = false,
    Callback = function()
        teleportToCookingSpot()
    end,
})
local Button1 = PremiumTab:Button({
    Title = "FijiWater",
    Desc = "Purchase FijiWater",
    Color = Color3.new(128, 0, 0),
    Justify = "Center",
    IconAlign = "Left",
    Icon = "droplet",
    Locked = false,
    Callback = function()
        game:GetService("ReplicatedStorage").ExoticShopRemote:InvokeServer("FijiWater")
    end
})

local Button2 = PremiumTab:Button({
    Title = "FreshWater",
    Desc = "Purchase FreshWater",
    Color = Color3.new(128, 0, 0),
    Justify = "Center",
    IconAlign = "Left",
    Icon = "droplet",
    Locked = false,
    Callback = function()
        game:GetService("ReplicatedStorage").ExoticShopRemote:InvokeServer("FreshWater")
    end
})

local Button3 = PremiumTab:Button({
    Title = "Ice-Fruit Cupz",
    Desc = "Purchase Ice-Fruit Cupz",
    Color = Color3.new(128, 0, 0),
    Justify = "Center",
    IconAlign = "Left",
    Icon = "droplet",
    Locked = false,
    Callback = function()
        game:GetService("ReplicatedStorage").ExoticShopRemote:InvokeServer("Ice-Fruit Cupz")
    end
})

local Button4 = PremiumTab:Button({
    Title = "Ice-Fruit Bag",
    Desc = "Purchase Ice-Fruit Bag",
    Color = Color3.new(128, 0, 0),
    Justify = "Center",
    IconAlign = "Left",
    Icon = "droplet",
    Icon = "droplet",
    Locked = false,
    Callback = function()
        game:GetService("ReplicatedStorage").ExoticShopRemote:InvokeServer("Ice-Fruit Bag")
    end
})






local Section = TargetTab:Section({ 
    Title = "Target",
    TextXAlignment = "Left",
    TextSize = 17,
})

local Players = game:GetService("Players")
local LocalPlayer = Players.LocalPlayer

local SelectedPlayer = nil


local function getPlayerByName(name)
	for _, p in pairs(Players:GetPlayers()) do
		if p.Name == name then
			return p
		end
	end
	return nil
end


local function updatePlayerList()
	local pl = {}
	for _, p in pairs(Players:GetPlayers()) do
		if p ~= LocalPlayer then
			table.insert(pl, p.Name)
		end
	end
	return pl
end


local playerDropdown = TargetTab:Dropdown({
	Title = "Select Player",
	Values = updatePlayerList(),
	Value = "",
	Callback = function(selectedOption)
		local selNameStr
		if type(selectedOption) == "table" then
			selNameStr = selectedOption.Value or selectedOption[1] or tostring(selectedOption)
		else
			selNameStr = tostring(selectedOption)
		end

		if selNameStr ~= "" and selNameStr ~= nil then
			SelectedPlayer = getPlayerByName(selNameStr)
			if SelectedPlayer then
				WindUI:Notify({
					Title = "Player Selected",
					Content = selNameStr .. " selected",
					Duration = 2,
					Icon = "check"
				})
			else
				WindUI:Notify({
					Title = "Error",
					Content = "Player '" .. selNameStr .. "' not found",
					Duration = 2,
					Icon = "message-circle-warning"
				})
			end
		end
	end,
})


if not playerDropdown.Frame and playerDropdown._Container then
	local fixFrame = Instance.new("Frame")
	fixFrame.Size = UDim2.new(1, 0, 1, 0)
	fixFrame.BackgroundTransparency = 1
	fixFrame.Parent = playerDropdown._Container
	playerDropdown.Frame = fixFrame
end


local function refreshDropdownOptions()
	if not playerDropdown then return end

	local newOptions = updatePlayerList()
	local currentSelection = playerDropdown.Value


	playerDropdown:Refresh(newOptions)


	if currentSelection and currentSelection ~= "" then
		for _, name in ipairs(newOptions) do
			if name == currentSelection then
				playerDropdown.Value = currentSelection
				SelectedPlayer = getPlayerByName(currentSelection)
				return
			end
		end
	end


	playerDropdown.Value = ""
	SelectedPlayer = nil
end


Players.PlayerAdded:Connect(refreshDropdownOptions)
Players.PlayerRemoving:Connect(refreshDropdownOptions)



local gotoPlayerToggle
gotoPlayerToggle = TargetTab:Toggle({
    Title = "TP to Player",
    Desc = "Teleport to the selected player",
    Icon = "map",
    Type = "Toggle",
    Default = false,
    Callback = function(Value)
        if Value then
            if SelectedPlayer then

                local targetChar = SelectedPlayer.Character or SelectedPlayer.CharacterAdded:Wait()
                local targetHRP = targetChar:WaitForChild("HumanoidRootPart")

                local myHRP = humanoidRootPart or LocalPlayer.Character:WaitForChild("HumanoidRootPart")


                getgenv().SwimMethod = true
                task.wait(1)
                myHRP.CFrame = targetHRP.CFrame
                getgenv().SwimMethod = false

                WindUI:Notify({
                    Title = "Goto",
                    Content = "Teleported to " .. SelectedPlayer.Name,
                    Duration = 2,
                    Icon = "map"
                })
            end


            if gotoPlayerToggle then
                gotoPlayerToggle:Set(false)
            end
        end
    end,
})




TargetTab:Button({
	Title = "Ruin Player Movement - Need Gun",
	Desc = "",
	Locked = false,
	Callback = function()
		if not SelectedPlayer
			or not SelectedPlayer.Character
			or not SelectedPlayer.Character:FindFirstChild("LeftLowerLeg") then

			WindUI:Notify({
				Title = "Ruin Player Movement",
				Content = "Invalid target selected",
				Duration = 2,
				Icon = "message-circle-warning"
			})
			return
		end

		local player = LocalPlayer

		local function dmg(target, hpart, damage)
			local tool = player.Character and player.Character:FindFirstChildWhichIsA("Tool")
			if not tool then
				return
			end

			game:GetService("ReplicatedStorage").InflictTarget:FireServer(
				tool,
				player,
				target.Character.Humanoid,
				target.Character[hpart],
				damage,
				{ 0, 0, false, false, tool.GunScript_Server.IgniteScript, tool.GunScript_Server.IcifyScript, 100, 100 },
				{ false, 5, 3 },
				target.Character[hpart],
				{ false, { 1930359546 }, 1, 1.5, 1 },
				nil,
				nil,
				true
			)
		end

		local function checkgun()
			local gunTool = nil
			for _, v in pairs(player.Backpack:GetDescendants()) do
				if v:IsA("LocalScript") and v.Name == "GunScript_Local" then
					gunTool = v.Parent
					break
				end
			end
			if not gunTool and player.Character then
				for _, v in pairs(player.Character:GetDescendants()) do
					if v:IsA("LocalScript") and v.Name == "GunScript_Local" then
						gunTool = v.Parent
						break
					end
				end
			end
			if gunTool and gunTool:IsA("Tool") then
				player.Character:WaitForChild("Humanoid"):EquipTool(gunTool)
			end
			return gunTool
		end

		local gun = checkgun()
		if not gun then
			WindUI:Notify({
				Title = "Ruin Player Movement",
				Content = "No gun found",
				Duration = 2,
				Icon = "message-circle-warning"
			})
			return
		end

		local handle = gun:FindFirstChild("Handle")
		local muzzleEffect = gun:FindFirstChild("GunScript_Local")
			and gun.GunScript_Local:FindFirstChild("MuzzleEffect")
		if handle and muzzleEffect and game.ReplicatedStorage:FindFirstChild("VisualizeMuzzle") then
			game.ReplicatedStorage.VisualizeMuzzle:FireServer(
				handle,
				true,
				{ false, 7, Color3.new(1, 1.1098, 0), 15, true, 0.02 },
				muzzleEffect
			)
		end

		task.spawn(function()
			local startTime = os.clock()
			while os.clock() - startTime < 5 do
				if not SelectedPlayer
					or not SelectedPlayer.Character
					or not SelectedPlayer.Character:FindFirstChild("Humanoid")
					or SelectedPlayer.Character.Humanoid.Health <= 0 then
					break
				end

				local part = SelectedPlayer.Character:FindFirstChild("LeftLowerLeg") 
					or SelectedPlayer.Character:FindFirstChild("HumanoidRootPart")
				if part then
					dmg(SelectedPlayer, part.Name, .5)
				end

				task.wait(3)
			end
		end)

		WindUI:Notify({
			Title = "Ruin Player Movement",
			Content = "Attacking " .. SelectedPlayer.Name,
			Duration = 3,
			Icon = "circle-plus"
		})
	end,
})


TargetTab:Button({
    Title = "Dont Use (Warning)",
    Callback = function()
        if not SelectedPlayer
            or not SelectedPlayer.Character
            or not SelectedPlayer.Character:FindFirstChild("Head")
        then
            WindUI:Notify({ Title = "Kill Player", Content = "Invalid target selected", Duration = 2, Icon = "bird" })
            return
        end

        local player = game.Players.LocalPlayer

        local function dmg(target, hpart, damage)
            local tool = player.Character and player.Character:FindFirstChildWhichIsA("Tool")
            if not tool then return end

            game:GetService("ReplicatedStorage").InflictTarget:FireServer(
                tool,
                player,
                target.Character.Humanoid,
                target.Character[hpart],
                damage,
                { 0, 0, false, false, tool.GunScript_Server.IgniteScript, tool.GunScript_Server.IcifyScript, 100, 100 },
                { false, 5, 3 },
                target.Character[hpart],
                { false, { 1930359546 }, 1, 1.5, 1 },
                nil,
                nil,
                true
            )
        end

        local function checkgun()
            local gunTool = nil
            for _, v in pairs(player.Backpack:GetDescendants()) do
                if v:IsA("LocalScript") and v.Name == "GunScript_Local" then
                    gunTool = v.Parent
                    break
                end
            end
            if not gunTool and player.Character then
                for _, v in pairs(player.Character:GetDescendants()) do
                    if v:IsA("LocalScript") and v.Name == "GunScript_Local" then
                        gunTool = v.Parent
                        break
                    end
                end
            end
            if gunTool and gunTool:IsA("Tool") then
                player.Character:WaitForChild("Humanoid"):EquipTool(gunTool)
            end
            return gunTool
        end

        local gun = checkgun()
        if not gun then
            WindUI:Notify({ Title = "Kill Player", Content = "No gun found", Duration = 2, Icon = "bird" })
            return
        end

        local handle = gun:FindFirstChild("Handle")
        local muzzleEffect = gun:FindFirstChild("GunScript_Local") and gun.GunScript_Local:FindFirstChild("MuzzleEffect")
        if handle and muzzleEffect and game.ReplicatedStorage:FindFirstChild("VisualizeMuzzle") then
            game.ReplicatedStorage.VisualizeMuzzle:FireServer(
                handle,
                true,
                { false, 7, Color3.new(1, 1.1098, 0), 15, true, 0.02 },
                muzzleEffect
            )
        end

        task.spawn(function()
            local startTime = os.clock()
            while os.clock() - startTime < 5 do
                if not SelectedPlayer.Character
                    or not SelectedPlayer.Character:FindFirstChild("Humanoid")
                    or SelectedPlayer.Character.Humanoid.Health <= 0
                then
                    break
                end
                dmg(SelectedPlayer, "Head", 1000)
                task.wait(0.1)
            end
        end)

        WindUI:Notify({ Title = "Kill Player", Content = "Attacking " .. SelectedPlayer.Name, Duration = 2, Icon = "bird" })
    end,
}) 

local spectateToggleEnabled = false  

local spectateToggle = TargetTab:Toggle({
    Title = "Spectate Player",
    Desc = "Spectate the selected player",
    Icon = "circle-plus",
    Type = "Toggle",
    Default = false,
    Callback = function(Value)
        if Value == spectateToggleEnabled then
            return  
        end
        spectateToggleEnabled = Value 
        if Value then
            -- run your actual logic
            if SelectedPlayer and SelectedPlayer.Character and SelectedPlayer.Character:FindFirstChild("Humanoid") then
                workspace.CurrentCamera.CameraSubject = SelectedPlayer.Character.Humanoid
                WindUI:Notify({
                    Title = "Spectate",
                    Content = "On: " .. SelectedPlayer.Name,
                    Duration = 2,
                    Icon = "eye"
                })
            else
                WindUI:Notify({
                    Title = "Spectate",
                    Content = "No target selected",
                    Duration = 2,
                    Icon = "alert"
                })
                spectateToggle.Value = false
            end
        else
            -- reset camera
            if LocalPlayer.Character and LocalPlayer.Character:FindFirstChild("Humanoid") then
                workspace.CurrentCamera.CameraSubject = LocalPlayer.Character.Humanoid
            end
            WindUI:Notify({
                Title = "Spectate",
                Content = "Off",
                Duration = 2,
                Icon = "circle-plus"
            })
        end
    end,
})



local killBringActive = false
local bringClone
bringClone = TargetTab:Toggle({
    Title = "BringClone",
    Desc = "Bring the selected player near you",
    Icon = "circle-plus",
    Type = "Toggle",
    Default = false,
    Callback = function(Value)
        if Value then
            if not SelectedPlayer then
                WindUI:Notify({ Title = "KB", Content = "No target selected", Duration = 2, Icon = "alert" })
                if bringClone then
                    bringClone:Set(false)
                end
                return
            end
            if not LocalPlayer.Character or not LocalPlayer.Character:FindFirstChild("HumanoidRootPart") then
                WindUI:Notify({ Title = "KB", Content = "Your character not ready", Duration = 2, Icon = "alert" })
                if bringClone then
                    bringClone:Set(false)
                end
                return
            end
        end

        killBringActive = Value
        if killBringActive then
            local targetPlayer = SelectedPlayer
            task.spawn(function()
                while killBringActive do
                    local tCharacter = targetPlayer and targetPlayer.Character
                    local tRoot = tCharacter and tCharacter:FindFirstChild("HumanoidRootPart")
                    local humanoidRootPart = LocalPlayer.Character and LocalPlayer.Character:FindFirstChild("HumanoidRootPart")

                    if not tRoot or not humanoidRootPart then
                        WindUI:Notify({ Title = "KB", Content = "No target/self", Duration = 2, Icon = "alert" })
                        killBringActive = false
                        if bringClone then
                            bringClone:Set(false)
                        end
                        break
                    end

                    local tHumanoid = tCharacter:FindFirstChildOfClass("Humanoid")
                    if tHumanoid then
                        tHumanoid.Sit = false
                    end

                    task.wait()
                    tRoot.CFrame = humanoidRootPart.CFrame + Vector3.new(3, 1, 0)
                    task.wait(0.1)
                end
            end)
        end
    end,
})


local viewInventory
viewInventory = TargetTab:Toggle({
    Title = "View Inventory",
    Desc = "View the selected player's backpack items",
    Icon = "circle-plus",
    Type = "Toggle",
    Default = false,
    Callback = function(Value)
        if Value then
            if SelectedPlayer and SelectedPlayer:FindFirstChild("Backpack") then
                local items = {}
                for _, i in ipairs(SelectedPlayer.Backpack:GetChildren()) do
                    table.insert(items, i.Name)
                end
                WindUI:Notify({
                    Title = SelectedPlayer.Name .. "'s Inv",
                    Content = (#items > 0 and table.concat(items, ", ") or "Empty"),
                    Duration = 5,
                    Icon = "circle-plus"
                })
            else
                WindUI:Notify({ Title = "Inv", Content = "No target/backpack", Duration = 2, Icon = "alert" })
            end
            if viewInventory then
                viewInventory:Set(false)
            end
        end
    end,
})










local Section = CombatTab:Section({ 
    Title = "Gun Mods",
    TextXAlignment = "Left",
    TextSize = 17,
})

local function GetGunSettings()
		local player = game.Players.LocalPlayer
		local char = player.Character
		local tool = char and char:FindFirstChildOfClass("Tool")

		if not tool or not tool:FindFirstChild("Setting") then
			Notifier.new({
				Title = "IN-N-OUT",
				Content = "Equip a gun first",
				Duration = 2,
				Icon = "rbxassetid://102986210668448",
			})
			return nil
		end

		return require(tool.Setting), tool
	end
            
	CombatTab:Button({
        Title = "Infinite Ammo 🔫",
        Desc = "Automaticlly get infinite ammo",
        Color = Color3.new(128, 0, 0),
        Justify = "Center",
        IconAlign = "Left",
        Icon = "diamond-plus",
		Callback = function()
			local settings, tool = GetGunSettings()
			if not settings then return end
			settings.LimitedAmmoEnabled = false
			settings.MaxAmmo = 100000
			settings.AmmoPerMag = 100000
			settings.Ammo = 100000
			settings.StoredAmmo = 100000
			settings.MagCount = 100000
			local gunScript = tool:FindFirstChild("GunScript_Local")
			if gunScript then
				local success1 = pcall(function()
					debug.setupvalue(getsenv(gunScript).Reload, 3, 100000)
				end)
				
				local success2 = pcall(function()
					debug.setupvalue(getsenv(gunScript).Reload, 5, 100000)
				end)
				
				if success1 and success2 then
					Notifier.new({
						Title = "IN-N-OUT",
						Content = "Infinite Ammo & Mags (100000) Enabled",
						Duration = 2,
						Icon = "rbxassetid://102986210668448",
					})
				else
					Notifier.new({
						Title = "IN-N-OUT",
						Content = "Infinite Ammo (100000) Enabled",
						Duration = 2,
						Icon = "rbxassetid://102986210668448",
					})
				end
			else
				Notifier.new({
					Title = "IN-N-OUT",
					Content = "Infinite Ammo (100000) Enabled",
					Duration = 2,
					Icon = "rbxassetid://102986210668448",
				})
			end
		end
	})

CombatTab:Button({
    Title = "Infinite Damage",
    Desc = "Max damage weapon",
    Color = Color3.new(128, 0, 0),
    Callback = function()
        local tool = game.Players.LocalPlayer.Character:FindFirstChildOfClass("Tool")
        if tool and tool:FindFirstChild("Setting") then
            require(tool.Setting).BaseDamage = 9e9
        end
    end
})

-- Fire Rate / Auto Settings
local MIN_FIRE_RATE = 0.07 
local autoEnabled = false
local noRateEnabled = false

local function applyGunSettings()
    local tool = game.Players.LocalPlayer.Character:FindFirstChildOfClass("Tool")
    if not tool or not tool:FindFirstChild("Setting") then return end

    local settings = require(tool.Setting)

    if autoEnabled and noRateEnabled then
        settings.Auto = true
        settings.FireRate = MIN_FIRE_RATE
    elseif autoEnabled then
        settings.Auto = true
    elseif noRateEnabled then
        settings.FireRate = MIN_FIRE_RATE
    else
        settings.Auto = false
        settings.FireRate = settings.DefaultFireRate or 0.3 
    end
end

CombatTab:Button({
    Title = "Automatic Gun",
    Desc = "Toggle automatic fire",
    Color = Color3.new(128, 0, 0),
    Callback = function()
        autoEnabled = not autoEnabled
        applyGunSettings()
    end,
})

CombatTab:Button({
    Title = "No Fire Rate Limit",
    Desc = "Set fire rate to minimum",
    Color = Color3.new(128, 0, 0),
    Callback = function()
        noRateEnabled = not noRateEnabled
        applyGunSettings()
    end,
})

-- No Recoil Toggle
local noRecoilEnabled = false
CombatTab:Button({
    Title = "No Recoil",
    Desc = "Toggle no recoil for your gun",
    Color = Color3.new(128, 0, 0),
    Callback = function()
        noRecoilEnabled = not noRecoilEnabled
        
        local tool = game.Players.LocalPlayer.Character:FindFirstChildOfClass("Tool")
        if not tool then return end

        local settingsModule = tool:FindFirstChild("Setting")
        if not settingsModule then return end

        local settings = require(settingsModule)

        if noRecoilEnabled then
            if settings.ApplyRecoil then settings.ApplyRecoil = function() end end
            if settings.Recoil then settings.Recoil = 0 end
            if settings.RecoilUp then settings.RecoilUp = 0 end
            if settings.RecoilSide then settings.RecoilSide = 0 end
        end
    end
})



local Section = CombatTab:Section({ 
    Title = "Dupe Items",
    TextXAlignment = "Left",
    TextSize = 17,
})

CombatTab:Button({
    Title = "Duplicate Current Item",
    Desc = "Only Can Dupe 2 Items",
    Color = Color3.new(128, 0, 0),
    Callback = function()
        pcall(function()
            loadstring(game:HttpGet("https://[Log in to view URL]"))()
        end)
    end
})


local lastDupeTime = 0

CombatTab:Button({
    Title = "Duplicate Item Trunk",
    Desc = "Only Can Dupe in Trunk",
    Color = Color3.new(128, 0, 0),
    Callback = function()
        Rayfield:Notify({
            Title = "Trunk Dupe",
            Content = "Duping...",
            Duration = 3
        })

        local currentTime = tick()
        if currentTime - lastDupeTime < 30 then
            Rayfield:Notify({
                Title = "Cooldownn.",
                Content = "35 Seconds Left",
                Duration = 3
            })
            return
        end
        lastDupeTime = currentTime

        game:GetService("RunService").RenderStepped:Connect(function()
            for _, gui in pairs(game.Players.LocalPlayer.PlayerGui:GetChildren()) do
                if gui:IsA("ScreenGui") then
                    for _, obj in pairs(gui:GetDescendants()) do
                        if obj:IsA("TextLabel") or obj:IsA("TextButton") then
                            local text = obj.Text:gsub("%s+", " "):lower()
                            if text:match("can't access safe!") then
                                obj:Destroy()
                            end
                        end
                    end
                end
            end
        end)

        local ReplicatedStorage = cloneref(game:GetService("ReplicatedStorage"))
        local Players = cloneref(game:GetService("Players"))
        local InventoryRemote = ReplicatedStorage:WaitForChild("Inventory")
        local BackpackRemote = ReplicatedStorage:WaitForChild("BackpackRemote")
        local TrunkStorage = ReplicatedStorage:WaitForChild("TrunkStorage")

        local function GetCharacter()
            return Players.LocalPlayer and Players.LocalPlayer.Character
        end

        local character = GetCharacter()
        if character and character:FindFirstChildOfClass("Tool") then
            local gunTool = character:FindFirstChildOfClass("Tool")
            local gunName = gunTool.Name

            local humanoid = character:FindFirstChildOfClass("Humanoid")
            if humanoid then humanoid:UnequipTools() end

            local car = getcar()
            if not car or not car:FindFirstChild("Body") or not car.Body:FindFirstChild("TrunckStorage") then
                return Rayfield:Notify({
                    Title = "Error",
                    Content = "No Car found",
                    Duration = 5
                })
            end

            local hrp = character:FindFirstChild("HumanoidRootPart")
            if hrp then
                hrp.CFrame = car.Body.TrunckStorage.CFrame + Vector3.new(2, 0, 0)
            end

            task.wait(0.5)

            task.spawn(function()
                BackpackRemote:InvokeServer("Store", gunName)
            end)

            task.spawn(function()
                TrunkStorage:FireServer("Store", gunName)
            end)

            task.wait(0.5)

            task.spawn(function()
                InventoryRemote:FireServer("Change", gunName, "Backpack", nil)
            end)

            task.wait(1.5)
            BackpackRemote:InvokeServer("Grab", gunName)

            task.wait(0.5)
        else
            Rayfield:Notify({
                Title = "Tool Not Found",
                Content = "You must equip a Tool before duping",
                Duration = 5
            })
        end
    end
})



local Section = CombatTab:Section({ 
    Title = "Gun color",
    TextXAlignment = "Left",
    TextSize = 17,
})

local RunService = game:GetService("RunService")
local rainbowEnabled = false
local hue = 0

local function applyRainbow(tool)
	for _, obj in ipairs(tool:GetDescendants()) do
		if obj:IsA("BasePart") then
			obj.Color = Color3.fromHSV(hue, 1, 1)
		end
	end
end

RunService.RenderStepped:Connect(function()
	if not rainbowEnabled then return end

	local char = game.Players.LocalPlayer.Character
	if not char then return end

	local tool = char:FindFirstChildOfClass("Tool")
	if not tool then return end

	hue = (hue + 0.01) % 1
	applyRainbow(tool)
end)

CombatTab:Button({
    Title = "Rainbow Gun",
    Desc = "Toggle rainbow weapon colors",
    Color = Color3.new(128, 0, 0),
    
    Callback = function()
        rainbowEnabled = not rainbowEnabled
    end,
})



local BulletTracersConnection = nil
getgenv().BulletColor = Color3.fromRGB(0, 255, 255) -- Default Cyan

CombatTab:Section({
    Title = "Bullet Mods",
    TextXAlignment = "Left",
    TextSize = 17,
})

CombatTab:Toggle({
    Title = "Bullet Tracer",
    Desc = "Enable bullet Tracer (Local Only)",
    Icon = "eye",
    Type = "Checkbox",
    Default = false,
    Callback = function(state)
        if state then
            if BulletTracersConnection then 
                BulletTracersConnection:Disconnect() 
            end
           
            BulletTracersConnection = workspace.Camera.ChildAdded:Connect(function(child)
                task.defer(function()
                    -- Better filtering to only affect YOUR bullets
                    for _, v in pairs(workspace.Camera:GetDescendants()) do
                        if (v.Name == "Bullet" or v.Name:find("Bullet")) and v:IsA("BasePart") then
                            
                            -- === LOCAL PLAYER FILTER ===
                            local isLocalBullet = false
                            
                            -- Method 1: Check if bullet is close to your character
                            local localChar = game.Players.LocalPlayer.Character
                            if localChar and localChar:FindFirstChild("HumanoidRootPart") then
                                local hrp = localChar.HumanoidRootPart
                                if (v.Position - hrp.Position).Magnitude < 50 then
                                    isLocalBullet = true
                                end
                            end
                            
                            -- Method 2: Check creator / owner tag (very common)
                            if v:FindFirstChild("Creator") or v:FindFirstChild("Owner") then
                                local creator = v:FindFirstChild("Creator") or v:FindFirstChild("Owner")
                                if creator.Value == game.Players.LocalPlayer then
                                    isLocalBullet = true
                                end
                            end
                            
                            if isLocalBullet then
                                v.Transparency = 0
                                v.Color = getgenv().BulletColor
                                v.Size = Vector3.new(5, 5, 5)
                                v.Material = Enum.Material.Neon
                            end
                        end
                    end
                end)
            end)
           
            WindUI:Notify({Title = "Bullet Tracers", Content = "✅ Enabled (Local Only)", Duration = 3})
        else
            if BulletTracersConnection then
                BulletTracersConnection:Disconnect()
                BulletTracersConnection = nil
            end
            WindUI:Notify({Title = "Bullet Tracers", Content = "❌ Disabled", Duration = 3})
        end
    end
})

CombatTab:Colorpicker({
    Title = "Tracer Color",
    Desc = "Change bullet tracer color",
    Color = Color3.fromRGB(255, 0, 0),
    Callback = function(color)
        getgenv().BulletColor = color
    end
})

print("Bullet Tracers Loaded - Local Only")



do
--// SERVICES VISUALS ESP (corner boxes, chams, distance, weapons, health)
local CS_ESP_Settings = {
    Enabled = false,
    CornerBoxes = false,
    Chams = false,
    Distance = false,
    Weapons = false,
    HealthBars = false,
    Names = false,
    MaxDistance = 500,
    Accent = Color3.fromRGB(170, 170, 170),
    ChamFill = Color3.fromRGB(35, 35, 35),
}

local CS_ESP_Players = game:GetService("Players")
local CS_ESP_RunService = game:GetService("RunService")
local CS_ESP_CoreGui = game:GetService("CoreGui")
local CS_ESP_Camera = workspace.CurrentCamera
local CS_ESP_LocalPlayer = CS_ESP_Players.LocalPlayer

local CS_ESP_Gui = Instance.new("ScreenGui")
CS_ESP_Gui.Name = "Scorpio_VisualsESP"
CS_ESP_Gui.IgnoreGuiInset = true
CS_ESP_Gui.ResetOnSpawn = false
CS_ESP_Gui.ZIndexBehavior = Enum.ZIndexBehavior.Sibling
CS_ESP_Gui.Parent = CS_ESP_CoreGui

local CS_ESP_Objects = {}

local function CS_ESP_NewLine(parent)
    local f = Instance.new("Frame")
    f.BackgroundColor3 = CS_ESP_Settings.Accent
    f.BorderSizePixel = 0
    f.Visible = false
    f.Parent = parent
    return f
end

local function CS_ESP_NewText(parent)
    local t = Instance.new("TextLabel")
    t.BackgroundTransparency = 1
    t.TextColor3 = Color3.fromRGB(230, 230, 230)
    t.TextStrokeTransparency = 0.35
    t.Font = Enum.Font.GothamMedium
    t.TextSize = 12
    t.Visible = false
    t.Parent = parent
    return t
end

local function CS_ESP_Create(plr)
    if plr == CS_ESP_LocalPlayer or CS_ESP_Objects[plr] then return end

    local holder = Instance.new("Folder")
    holder.Name = "ESP_" .. plr.Name
    holder.Parent = CS_ESP_Gui

    local box = {}
    for i = 1, 8 do
        box[i] = CS_ESP_NewLine(holder)
    end

    local distance = CS_ESP_NewText(holder)
    local weapon = CS_ESP_NewText(holder)
    local name = CS_ESP_NewText(holder)
    local healthBack = Instance.new("Frame")
    healthBack.BackgroundColor3 = Color3.fromRGB(20, 20, 20)
    healthBack.BorderSizePixel = 0
    healthBack.Visible = false
    healthBack.Parent = holder

    local healthFill = Instance.new("Frame")
    healthFill.BackgroundColor3 = Color3.fromRGB(170, 170, 170)
    healthFill.BorderSizePixel = 0
    healthFill.Parent = healthBack

    local highlight = Instance.new("Highlight")
    highlight.Name = "CompServices_Chams"
    highlight.FillColor = CS_ESP_Settings.ChamFill
    highlight.OutlineColor = CS_ESP_Settings.Accent
    highlight.FillTransparency = 0.55
    highlight.OutlineTransparency = 0
    highlight.Enabled = false
    highlight.DepthMode = Enum.HighlightDepthMode.AlwaysOnTop
    highlight.Parent = CS_ESP_CoreGui

    CS_ESP_Objects[plr] = {
        Holder = holder,
        Box = box,
        Distance = distance,
        Weapon = weapon,
        Name = name,
        HealthBack = healthBack,
        HealthFill = healthFill,
        Highlight = highlight,
    }
end

local function CS_ESP_Remove(plr)
    local obj = CS_ESP_Objects[plr]
    if not obj then return end
    pcall(function() obj.Holder:Destroy() end)
    pcall(function() obj.Highlight:Destroy() end)
    CS_ESP_Objects[plr] = nil
end

local function CS_ESP_SetBox(box, x, y, w, h)
    local thick = 2
    local len = math.clamp(math.floor(w * 0.25), 8, 28)

    box[1].Position = UDim2.fromOffset(x, y)
    box[1].Size = UDim2.fromOffset(len, thick)
    box[2].Position = UDim2.fromOffset(x, y)
    box[2].Size = UDim2.fromOffset(thick, len)

    box[3].Position = UDim2.fromOffset(x + w - len, y)
    box[3].Size = UDim2.fromOffset(len, thick)
    box[4].Position = UDim2.fromOffset(x + w - thick, y)
    box[4].Size = UDim2.fromOffset(thick, len)

    box[5].Position = UDim2.fromOffset(x, y + h - thick)
    box[5].Size = UDim2.fromOffset(len, thick)
    box[6].Position = UDim2.fromOffset(x, y + h - len)
    box[6].Size = UDim2.fromOffset(thick, len)

    box[7].Position = UDim2.fromOffset(x + w - len, y + h - thick)
    box[7].Size = UDim2.fromOffset(len, thick)
    box[8].Position = UDim2.fromOffset(x + w - thick, y + h - len)
    box[8].Size = UDim2.fromOffset(thick, len)
end

local function CS_ESP_GetWeapon(char, plr)
    local tool = char and char:FindFirstChildOfClass("Tool")
    if tool then return tool.Name end
    local bp = plr:FindFirstChildOfClass("Backpack")
    if bp then
        local backpackTool = bp:FindFirstChildOfClass("Tool")
        if backpackTool then
            return backpackTool.Name
        end
    end
    return "None"
end

local function CS_ESP_Hide(obj)
    if not obj then return end
    for _, v in ipairs(obj.Box) do v.Visible = false end
    obj.Distance.Visible = false
    obj.Weapon.Visible = false
    obj.Name.Visible = false 
    obj.HealthBack.Visible = false
    obj.Highlight.Enabled = false
end

for _, plr in ipairs(CS_ESP_Players:GetPlayers()) do
    CS_ESP_Create(plr)
end

CS_ESP_Players.PlayerAdded:Connect(CS_ESP_Create)
CS_ESP_Players.PlayerRemoving:Connect(CS_ESP_Remove)

CS_ESP_RunService.RenderStepped:Connect(function()
    CS_ESP_Camera = workspace.CurrentCamera

    for _, plr in ipairs(CS_ESP_Players:GetPlayers()) do
        if plr ~= CS_ESP_LocalPlayer then
            CS_ESP_Create(plr)
            local obj = CS_ESP_Objects[plr]
            local char = plr.Character
            local root = char and char:FindFirstChild("HumanoidRootPart")
            local hum = char and char:FindFirstChildOfClass("Humanoid")

            if not CS_ESP_Settings.Enabled or not char or not root or not hum or hum.Health <= 0 then
                CS_ESP_Hide(obj)
                continue
            end

            local dist = (CS_ESP_Camera.CFrame.Position - root.Position).Magnitude
            if dist > CS_ESP_Settings.MaxDistance then
                CS_ESP_Hide(obj)
                continue
            end

            local rootPos, onScreen = CS_ESP_Camera:WorldToViewportPoint(root.Position)
            if not onScreen then
                CS_ESP_Hide(obj)
                continue
            end

            local scale = math.clamp(1 / (rootPos.Z * math.tan(math.rad(CS_ESP_Camera.FieldOfView / 2)) * 2) * 1000, 0, 1000)
            local width = math.floor(4 * scale)
            local height = math.floor(6 * scale)
            local x = math.floor(rootPos.X - width / 2)
            local y = math.floor(rootPos.Y - height / 2)

            for _, line in ipairs(obj.Box) do
                line.BackgroundColor3 = CS_ESP_Settings.Accent
                line.Visible = CS_ESP_Settings.CornerBoxes
            end
            if CS_ESP_Settings.CornerBoxes then
                CS_ESP_SetBox(obj.Box, x, y, width, height)
            end

            obj.Highlight.Adornee = char
            obj.Highlight.FillColor = CS_ESP_Settings.ChamFill
            obj.Highlight.OutlineColor = CS_ESP_Settings.Accent
            obj.Highlight.Enabled = CS_ESP_Settings.Chams

            obj.Distance.Text = tostring(math.floor(dist)) .. " studs"
            obj.Distance.Position = UDim2.fromOffset(x + width / 2 - 55, y + height + 2)
            obj.Distance.Size = UDim2.fromOffset(110, 16)
            obj.Distance.Visible = CS_ESP_Settings.Distance

            obj.Weapon.Text = CS_ESP_GetWeapon(char, plr)
            obj.Weapon.Position = UDim2.fromOffset(x + width / 2 - 75, y - 18)
            obj.Weapon.Size = UDim2.fromOffset(150, 16)
            obj.Weapon.Visible = CS_ESP_Settings.Weapons

           obj.Name.Text = plr.Name
obj.Name.Position = UDim2.fromOffset(x + width / 2 - 75, y - 32)
obj.Name.Size = UDim2.fromOffset(150, 16)
obj.Name.Visible = CS_ESP_Settings.Names  
            obj.HealthBack.Position = UDim2.fromOffset(x - 7, y)
            obj.HealthBack.Size = UDim2.fromOffset(4, height)
            obj.HealthBack.Visible = CS_ESP_Settings.HealthBars

            local hpPercent = math.clamp(hum.Health / math.max(hum.MaxHealth, 1), 0, 1)
            obj.HealthFill.Position = UDim2.fromScale(0, 1 - hpPercent)
            obj.HealthFill.Size = UDim2.fromScale(1, hpPercent)
            obj.HealthFill.BackgroundColor3 = CS_ESP_Settings.Accent
        end
    end
end)

local eSection = CombatTab:Section({
    Title = "ESP",
    TextXAlignment = "Left",
    TextSize = 17,
})

CombatTab:Toggle({
    Title = "Enable ESP",
    Desc = "Master toggle for all visuals",
    Icon = "eye",
    Type = "Checkbox",
    Default = false,
    Callback = function(v)
        CS_ESP_Settings.Enabled = v
    end
})

CombatTab:Toggle({
    Title = "Corner Boxes",
    Desc = "Draw corner boxes on players",
    Icon = "box",
    Type = "Checkbox",
    Default = false,
    Callback = function(v)
        CS_ESP_Settings.CornerBoxes = v
    end
})

CombatTab:Toggle({
    Title = "Chams",
    Desc = "Highlight players through walls",
    Icon = "sparkles",
    Type = "Checkbox",
    Default = false,
    Callback = function(v)
        CS_ESP_Settings.Chams = v
    end
})

CombatTab:Toggle({
    Title = "Distance",
    Desc = "Show player distance",
    Icon = "ruler",
    Type = "Checkbox",
    Default = false,
    Callback = function(v)
        CS_ESP_Settings.Distance = v
    end
})

CombatTab:Toggle({
    Title = "Weapon Holdings",
    Desc = "Show equipped tool / weapon",
    Icon = "crosshair",
    Type = "Checkbox",
    Default = false,
    Callback = function(v)
        CS_ESP_Settings.Weapons = v
    end
})

CombatTab:Toggle({
    Title = "Health Bars",
    Desc = "Show player health bars",
    Icon = "heart-pulse",
    Type = "Checkbox",
    Default = false,
    Callback = function(v)
        CS_ESP_Settings.HealthBars = v
    end
})

CombatTab:Toggle({
    Title = "Name ESP",
    Desc = "Show player names",
    Icon = "user",
    Type = "Checkbox",
    Default = false,
    Callback = function(v)
        CS_ESP_Settings.Names = v
    end
})

CombatTab:Slider({
    Title = "ESP Max Distance",
    Desc = "How far ESP renders",
    Step = 10,
    Value = {
        Min = 50,
        Max = 3000,
        Default = CS_ESP_Settings.MaxDistance,
    },
    Callback = function(v)
        CS_ESP_Settings.MaxDistance = v
    end
})

end



local Section = ShopTab:Section({ 
    Title = "Buy Guns/Exotic Items",
    TextXAlignment = "Left",
    TextSize = 17,
})

ShopTab:Dropdown({
    Title = "Guns & Ammo",
    Values = {"Draco + 7.62", "AR Pistol + 5.56", "Glock 17 + Ext", "Glock 22 + Ext", "Extended Mag", "Drum Mag", "7.62 Ammo", "5.56 Ammo"},
    Callback = function(item)
        local RS = game:GetService("ReplicatedStorage")
        if string.find(item, "Draco") then
            RS.ShopRemote5:InvokeServer("Draco")
            task.wait(0.2)
            RS.ExoticShopRemote:InvokeServer("7.62")
        elseif string.find(item, "AR Pistol") then
            RS.ShopRemote5:InvokeServer("ARPistol")
            task.wait(0.2)
            RS.ExoticShopRemote:InvokeServer("5.56")
        elseif string.find(item, "Glock") then
            RS.ShopRemote5:InvokeServer(item:match("Glock %d+"))
            task.wait(0.2)
            RS.ExoticShopRemote:InvokeServer(".Extended")
        elseif string.find(item, "Mag") then
            RS.ExoticShopRemote:InvokeServer(string.find(item, "Drum") and ".Drum" or ".Extended")
        else
            RS.ExoticShopRemote:InvokeServer(item)
        end
        WindUI:Notify({Title = "✅ Bought", Content = item, Duration = 2})
    end
})

-- Exotic Items
ShopTab:Dropdown({
    Title = "🌿 Exotic Items",
    Values = {"FijiWater", "FreshWater", "Ice-Fruit Bag", "Ice-Fruit Cupz", "FakeCard", "Lemonade", "Bandage"},
    Callback = function(item)
        game:GetService("ReplicatedStorage").ExoticShopRemote:InvokeServer(item)
        WindUI:Notify({Title = "✅ Bought", Content = item, Duration = 2})
    end
})



local ShopSection = ShopTab:Section({ 
    Title = "Shop Guis",
    TextXAlignment = "Left",
    TextSize = 17,
})

ShopTab:Button({
    Title = "Bronx Clothing",
    Desc = "Open Shop",
    Color = Color3.new(128, 0, 0),
    Callback = function()
        pcall(function()
            loadstring(game:HttpGet("https://[Log in to view URL]"))()
        end)
    end
})

ShopTab:Button({
    Title = "Pawn Shop",
    Desc = "Open Shop",
    Color = Color3.new(128, 0, 0),
    Callback = function()
        local gui = game.Players.LocalPlayer.PlayerGui:FindFirstChild("Bronx PAWNING", true)
        if gui then gui.Enabled = true end
    end
})

ShopTab:Button({
    Title = "Bronx Market",
    Desc = "Open Shop",
    Color = Color3.new(128, 0, 0),
    Callback = function()
        local gui = game.Players.LocalPlayer:WaitForChild("PlayerGui"):FindFirstChild("Bronx Market 2")
        if gui then gui.Enabled = true end
    end
})

ShopTab:Button({
    Title = "Bronx shop",
    Desc = "Open Shop",
    Color = Color3.new(128, 0, 0),
    Callback = function()
        task.spawn(function()
            repeat task.wait() until game:IsLoaded()
            repeat task.wait() until game.Players.LocalPlayer
 
            local playerGui = game.Players.LocalPlayer:FindFirstChild("PlayerGui")
            if not playerGui then return end
 
            local shopGui = playerGui:FindFirstChild("ShopGUI", true)
            if shopGui then
                shopGui.Enabled = true
            end
        end)
    end
})

ShopTab:Button({
    Title = "Tha Shop",
    Desc = "Open Shop",
    Color = Color3.new(128, 0, 0),
    Callback = function()
        task.spawn(function()
            repeat task.wait() until game:IsLoaded()
            repeat task.wait() until game.Players.LocalPlayer
 
            local playerGui = game.Players.LocalPlayer:FindFirstChild("PlayerGui")
            if not playerGui then return end
 
            local thaShopGui = playerGui:FindFirstChild("ThaShop", true)
            if thaShopGui then
                thaShopGui.Enabled = true
            end
        end)
    end
})


local ShopSection = ShopTab:Section({
Title = "Clothes Shop",
TextXAlignment = "Left",
TextSize = 17,
})


-- FUNCTIONS
local function BuyCloth(category, item)
    if not category or not item then return end
    game:GetService("ReplicatedStorage").ClothShopRemote:FireServer("Buy", category, item)
end

local function WearCloth(category, item)
    if not category or not item then return end
    game:GetService("ReplicatedStorage").ClothShopRemote:FireServer("Wear", category, item)
end

ShopTab:Button({
    Title = "Drip Fit",
    Desc = "WearClothes",
    Color = Color3.new(128, 0, 0),
    Callback = function()

        -- BUY
        BuyCloth("Shirts", "Blu Moncler")
        BuyCloth("Pants", "Amiri Blue Jeans")
        BuyCloth("Shiestys", "Shiesty")

        task.wait(0.3)

        -- WEAR
        WearCloth("Shirts", "Blu Moncler")
        WearCloth("Pants", "Amiri Blue Jeans")
        WearCloth("Shiestys", "Shiesty")

        print("Drip Fit Applied")
    end
})

ShopTab:Button({
    Title = "Drip Fit",
    Desc = "WearClothes",
    Color = Color3.new(128, 0, 0),
    Callback = function()

        -- BUY
        BuyCloth("Shirts", "Amiri Star Hoodie")
        BuyCloth("Pants", "Black Amiri Jeans B22")
        BuyCloth("Shiestys", "Shiesty")

        task.wait(0.3)

        -- WEAR
        WearCloth("Shirts", "Amiri Star Hoodie")
        WearCloth("Pants", "Black Amiri Jeans B22")
        WearCloth("Shiestys", "Shiesty")

        print("Drip Fit Applied")
    end
})

ShopTab:Button({
    Title = "Drip Fit",
    Desc = "WearClothes",
    Color = Color3.new(128, 0, 0),
    Callback = function()

        -- BUY
        BuyCloth("Shirts", "Red Sp5der Sweats")
        BuyCloth("Pants", "Red Sp5der Sweats")
        BuyCloth("Shiestys", "RedShiesty")

        task.wait(0.3)

        -- WEAR
        WearCloth("Shirts", "Red Sp5der Sweats")
        WearCloth("Pants", "Red Sp5der Sweats")
        WearCloth("Shiestys", "RedShiesty")

        print("Drip Fit Applied")
    end
})

ShopTab:Button({
    Title = "Drip Fit",
    Desc = "WearClothes",
    Color = Color3.new(128, 0, 0),
    Callback = function()

        -- BUY
        BuyCloth("Shirts", "Green Sp5der Sweats")
        BuyCloth("Pants", "Green Sp5der Sweats")
        BuyCloth("Shiestys", "Shiesty")

        task.wait(0.3)

        -- WEAR
        WearCloth("Shirts", "Green Sp5der Hoodie")
        WearCloth("Pants", "Green Sp5der Sweats")
        WearCloth("Shiestys", "Shiesty")

        print("Drip Fit Applied")
    end
})

ShopTab:Button({
    Title = "Drip Fit",
    Desc = "WearClothes",
    Color = Color3.new(128, 0, 0),
    Callback = function()

        -- BUY
        BuyCloth("Shirts", "Blue Sp5der Hoodie")
        BuyCloth("Pants", "Blue Sp5der Sweats")
        BuyCloth("Shiestys", "Shiesty")

        task.wait(0.3)

        -- WEAR
        WearCloth("Shirts", "Blue Sp5der Hoodie")
        WearCloth("Pants", "Blue Sp5der Sweats")
        WearCloth("Shiestys", "Shiesty")

        print("Drip Fit Applied")
    end
})

ShopTab:Button({
    Title = "Drip Fit",
    Desc = "WearClothes",
    Color = Color3.new(128, 0, 0),
    Callback = function()

        -- BUY
        BuyCloth("Shirts", "Red Zipped Jacket")
        BuyCloth("Pants", "White AF1 BJeans")
        

        task.wait(0.3)

        -- WEAR
        WearCloth("Shirts", "Red Zipped Jacket")
        WearCloth("Pants", "White AF1 BJeans")
        

        print("Drip Fit Applied")
    end
})


local ShopSection = ShopTab:Section({
Title = "Buy Items Shop",
TextXAlignment = "Left",
TextSize = 17,
})


ShopTab:Button({
    Title = "Buy Red Camo Gloves",
    Desc = "Buy Item",
    Color = Color3.new(128, 0, 0),
    Callback = function()
        game:GetService("ReplicatedStorage").ShopRemote:InvokeServer("RedCamoGloves")
    end
})

ShopTab:Button({
    Title = "Buy Yello Camo Gloves",
    Desc = "Buy Item",
    Color = Color3.new(128, 0, 0),
    Callback = function()
        game:GetService("ReplicatedStorage").ShopRemote:InvokeServer("YelloCamoGloves")
    end
})

ShopTab:Button({
    Title = "Buy Purple Camo Gloves",
    Desc = "Buy Item",
    Color = Color3.new(128, 0, 0),
    Callback = function()
        game:GetService("ReplicatedStorage").ShopRemote:InvokeServer("PurpleCamoGloves")
    end
})

ShopTab:Button({
    Title = "Buy Water",
    Desc = "Buy Item",
    Color = Color3.new(128, 0, 0),
    Callback = function()
        game:GetService("ReplicatedStorage").ShopRemote:InvokeServer("Water")
    end
})

ShopTab:Button({
    Title = "Buy Fake Card",
    Desc = "Buy Item",
    Color = Color3.new(128, 0, 0),
    Callback = function()
        game:GetService("ReplicatedStorage"):WaitForChild("ExoticShopRemote"):InvokeServer("FakeCard")
    end
})

ShopTab:Button({
    Title = "Buy Camo Shiesty",
    Desc = "Buy Item",
    Color = Color3.new(128, 0, 0),
    Callback = function()
        game:GetService("ReplicatedStorage").ShopRemote:InvokeServer("CamoShiesty")
    end
})

ShopTab:Button({
    Title = "Buy Extended",
    Desc = "Buy Item",
    Color = Color3.new(128, 0, 0),
    Callback = function()
         game:GetService("ReplicatedStorage"):WaitForChild("ExoticShopRemote"):InvokeServer(".Extended")
    end
})

ShopTab:Button({
    Title = "Buy Drum",
    Desc = "Buy Item",
    Color = Color3.new(128, 0, 0),
    Callback = function()
        game:GetService("ReplicatedStorage"):WaitForChild("ExoticShopRemote"):InvokeServer(".Drum")
    end
})

ShopTab:Button({
    Title = "Buy 5.56",
    Desc = "Buy Item",
    Color = Color3.new(128, 0, 0),
    Callback = function()
        game:GetService("ReplicatedStorage"):WaitForChild("ExoticShopRemote"):InvokeServer("5.56")
    end
})

ShopTab:Button({
    Title = "Buy 7.62",
    Desc = "Buy Item",
    Color = Color3.new(128, 0, 0),
    Callback = function()
        game:GetService("ReplicatedStorage"):WaitForChild("ExoticShopRemote"):InvokeServer("7.62")
    end
})

ShopTab:Button({
    Title = "Buy Bandage",
    Desc = "Buy Item",
    Color = Color3.new(128, 0, 0),
    Callback = function()
        game:GetService("ReplicatedStorage"):WaitForChild("ExoticShopRemote"):InvokeServer("Bandage")
    end
})


local Paragraph = SettingsTab:Paragraph({
    Title = "",
    Desc = "",
    Color = Color3.new(128, 0, 0),
    Image = "",
    ImageSize = 0,
    Thumbnail = "",
    ThumbnailSize = 0,
    Locked = false,
    Buttons = {
        {
            Icon = "dollar-sign",
            Title = "Made By ScorpioHub",
            Callback = function()
            end,
        }
    }
})




local RejoinServerButton = SettingsTab:Button({
    Title = "Rejoin Server",
    Desc = "Rejoins the current server",
    Locked = false,
    Callback = function()
        game:GetService("TeleportService"):Teleport(game.PlaceId, game.Players.LocalPlayer)
        WindUI:Notify({
            Title = "Rejoin Server",
            Content = "Teleporting to the server...",
            Duration = 2,
            Icon = "bird",
        })
    end
})


local ServerHopButton = SettingsTab:Button({
    Title = "Server Hop",
    Desc = "Teleports you to a new server",
    Locked = false,
    Callback = function()
        local TeleportService = game:GetService("TeleportService")
        local Players = game:GetService("Players")
        local PlaceId = game.PlaceId
        local Player = Players.LocalPlayer
        TeleportService:Teleport(PlaceId, Player)
        WindUI:Notify({
            Title = "Server Hop",
            Content = "Teleporting to a new server...",
            Duration = 2,
            Icon = "bird",
        })
    end
})



local collecting = false
local farmingCoroutine = nil

local Toggle = FarmsTab:Toggle({
    Title = "Grab Loot Bags",
    Desc = "Automatically grab loot bags using SwimMethod teleport.",
    Icon = "bird",
    Type = "Checkbox",
    Value = false,
    Callback = function(Value)
        getgenv().TeleportSettings = {
            Speed = 0.10
        }
        getgenv().SwimMethod = false

        local function enableSwimMethod()
            getgenv().SwimMethod = true
            task.wait(1)
        end

        local function disableSwimMethod()
            getgenv().SwimMethod = false
        end

        local function SwimTeleport(destinationCFrame)
            local player = game.Players.LocalPlayer
            local character = player.Character
            if not character or not character:FindFirstChild("HumanoidRootPart") then return end

            local HRP = character.HumanoidRootPart

            enableSwimMethod()
            task.wait(getgenv().TeleportSettings.Speed)

            HRP.CFrame = destinationCFrame + Vector3.new(0, 3, 0)

            task.delay(1, function()
                disableSwimMethod()
            end)
        end

        local function grabProximityPrompt(prompt)
            if prompt and prompt:IsA("ProximityPrompt") then
                prompt.HoldDuration = 0
                prompt.RequiresLineOfSight = false
                fireproximityprompt(prompt)
            end
        end

        local function startCollecting()
            local player = game.Players.LocalPlayer
            local character, humanoidRootPart

            local function setupCharacter()
                character = player.Character or player.CharacterAdded:Wait()
                humanoidRootPart = character:WaitForChild("HumanoidRootPart")
            end

            setupCharacter()
            player.CharacterAdded:Connect(setupCharacter)

            while collecting do
                local lootBagObject = workspace.Storage:FindFirstChild("Baggy")

                if lootBagObject and lootBagObject:FindFirstChild("stealprompt") then
                    local prompt = lootBagObject:FindFirstChild("stealprompt")
                    local originalPosition = humanoidRootPart.CFrame

                    SwimTeleport(lootBagObject.CFrame)
                    task.wait(0.1)

                    if (humanoidRootPart.Position - lootBagObject.Position).Magnitude < 5 then
                        grabProximityPrompt(prompt)
                    else
                        SwimTeleport(originalPosition)
                    end

                    task.wait(0.2)
                    task.wait(0.02)

                    SwimTeleport(originalPosition)
                end

                task.wait(1)
            end
        end

        collecting = Value

        if collecting then
            if not farmingCoroutine then
                farmingCoroutine = coroutine.create(startCollecting)
                coroutine.resume(farmingCoroutine)
            end
        else
            if farmingCoroutine then

                farmingCoroutine = nil
            end
        end
    end
})



local player = game.Players.LocalPlayer
local originalPosition = nil

local function teleport(x, y, z)
    local char = player.Character or player.CharacterAdded:Wait()
    local humanoid = char:WaitForChild("Humanoid")
    local root = char:WaitForChild("HumanoidRootPart")

    humanoid:ChangeState(0)
    repeat task.wait() until not player:GetAttribute("LastACPos")
    root.CFrame = CFrame.new(x, y, z)
end


task.spawn(function()
	while task.wait() do
		if getgenv().SwimMethod then
			local p = game:GetService("Players").LocalPlayer
			if p and p.Character and p.Character:FindFirstChild("Humanoid") then
				p.Character.Humanoid:ChangeState(Enum.HumanoidStateType.FallingDown)
			end
		end
	end
end)


local Toggle = FarmsTab:Toggle({
    Title = "Search Trashbags",
    Desc = "Automatically loot trashbags and sell items",
    Icon = "bird",
    Type = "Toggle",
    Default = false,
    Callback = function(Value)
        getgenv().loottrash = Value
        getgenv().SwimMethod = Value 

        if Value then

            local hrp = player.Character and player.Character:FindFirstChild("HumanoidRootPart")
            if hrp then
                originalPosition = hrp.Position
            end


            task.spawn(function()
                while getgenv().loottrash do
                    pcall(function()
                        local gui = player:WaitForChild("PlayerGui")
                        local pawnGui = gui:FindFirstChild("Bronx PAWNING")
                        if pawnGui then
                            local list = pawnGui.Frame:FindFirstChild("Holder") and pawnGui.Frame.Holder:FindFirstChild("List")
                            if list then
                                for _, frame in ipairs(list:GetChildren()) do
                                    if frame:IsA("Frame") and frame:FindFirstChild("Item") then
                                        local itemName = frame.Item.Text
                                        while player.Backpack:FindFirstChild(itemName) do
                                            game.ReplicatedStorage.PawnRemote:FireServer(itemName)
                                            task.wait(0.05)
                                        end
                                    end
                                end
                            end
                        end
                    end)
                    task.wait(1)
                end
            end)


            for _, v in pairs(workspace:GetDescendants()) do
                if v:IsA("ProximityPrompt") and v.Name == "ProximityPrompt" and v.Parent.Name == "DumpsterPromt" then
                    v.HoldDuration = 0
                    v.RequiresLineOfSight = false
                end
            end


            task.spawn(function()
                while getgenv().loottrash do
                    task.wait()
                    for _, v in pairs(workspace:GetDescendants()) do
                        if not getgenv().loottrash then break end
                        if v:IsA("ProximityPrompt") and v.Name == "ProximityPrompt" and v.Parent.Name == "DumpsterPromt" then
                            local hrp = player.Character and player.Character:FindFirstChild("HumanoidRootPart")
                            if hrp then
                                teleport(v.Parent.Position.X, v.Parent.Position.Y, v.Parent.Position.Z + 3)
                            end
                            workspace.CurrentCamera.CFrame = CFrame.new(workspace.CurrentCamera.CFrame.Position, v.Parent.Position)
                            task.wait(0.3)
                            for _ = 1, 10 do fireproximityprompt(v) end
                            task.wait(0.1)
                        end
                    end
                end

                if originalPosition then
                    teleport(originalPosition.X, originalPosition.Y, originalPosition.Z)
                    originalPosition = nil
                end
            end)

        else
            -- Turn everything off
            getgenv().loottrash = false
            getgenv().SwimMethod = false
        end
    end
})



local camera = workspace.CurrentCamera
local RunService = game:GetService("RunService")

local function RootPart()
    local player = game.Players.LocalPlayer
    if player and player.Character then
        return player.Character:FindFirstChild("HumanoidRootPart")
    end
    return nil
end

local function enableSwimMethod()
    getgenv().SwimMethod = true
    task.wait(1)
end

local function disableSwimMethod()
    getgenv().SwimMethod = false
end

local function fireproximityprompt(prompt)
    if prompt and prompt:IsA("ProximityPrompt") then
        prompt:InputHoldBegin()
        task.wait(prompt.HoldDuration or 0)
        prompt:InputHoldEnd()
    end
end

local function stuidoprompt()
    for _, v in pairs(workspace.StudioPay.Money:GetDescendants()) do
        if v:IsA("ProximityPrompt") and v.Name == "Prompt" then
            v.HoldDuration = 0
            v.RequiresLineOfSight = false
        end
    end
end

local function getOffsetPosition(basePos, distance)
    local angle = math.rad(math.random(0, 359))
    local offsetX = math.cos(angle) * distance
    local offsetZ = math.sin(angle) * distance
    return CFrame.new(basePos.X + offsetX, basePos.Y + 2, basePos.Z + offsetZ)
end

local function TeleportTo(cf)
    local root = RootPart()
    if root then
        root.CFrame = cf
    end
end

local function RobStudioAuto()
    local root = RootPart()
    if not root then return end

    stuidoprompt()
    local prompts = {}
    for _, v in pairs(workspace.StudioPay.Money:GetDescendants()) do
        if v:IsA("ProximityPrompt") and v.Name == "Prompt" and v.Enabled then
            table.insert(prompts, v)
        end
    end

    if #prompts == 0 then
        WindUI:Notify({
            Title = "Studio Robbery",
            Content = "Studio already robbed!",
            Duration = 6.5,
            Icon = "bird", 
        })
        return
    end

    local oldCFrameStudio = root.CFrame

    for _, v in ipairs(prompts) do
        enableSwimMethod()

        local teleportPos = getOffsetPosition(v.Parent.Position, 1)
        TeleportTo(teleportPos)

        local oldCameraType = camera.CameraType
        camera.CameraType = Enum.CameraType.Scriptable

        local promptPos = v.Parent.Position
        local conn
        conn = RunService.RenderStepped:Connect(function()
            camera.CFrame = CFrame.lookAt(camera.CFrame.Position, promptPos)
        end)

        task.wait(0.3)

        repeat
            fireproximityprompt(v)
            task.wait(0.1)
        until not v.Enabled

        conn:Disconnect()
        camera.CameraType = oldCameraType

        disableSwimMethod()
    end

    if oldCFrameStudio then
        TeleportTo(oldCFrameStudio)
    end

    WindUI:Notify({
        Title = "Studio Robbery",
        Content = "No money left.",
        Duration = 6.5,
        Icon = "bird",
    })
end


local Button = FarmsTab:Button({
    Title = "StudioRob",
    Desc = "Automatically rob the studio",
    Locked = false,
    Callback = function()
        RobStudioAuto()
    end
})

Embed on website

To embed this project on your website, copy the following code and paste it into your website's HTML: