-- https://[Log in to view URL]
local GUI = loadstring(game:HttpGet("https://[Log in to view URL]"))()

GUI:CreateMain({
    Name = "FoodScripts",
    title = "FOOD SCRIPTS PREMINUM VERSION 🔥",
    ToggleUI = "K",
    WindowIcon = "home",

    -- BIG SIZE LIKE IMAGE
    WindowWidth = 600,
    WindowHeight = 375,

    Theme = {
        -- DARK BACKGROUND
        Background = Color3.fromRGB(8, 8, 15),
        Secondary = Color3.fromRGB(12, 12, 22),
        NavBackground = Color3.fromRGB(10, 10, 18),

        -- BLUE ACCENT LIKE IMAGE
        Accent = Color3.fromRGB(0, 110, 255),

        -- TEXT
        Text = Color3.fromRGB(255, 255, 255),
        TextSecondary = Color3.fromRGB(170, 170, 170),

        -- BLUE OUTLINE
        Border = Color3.fromRGB(0, 110, 255)
    },

    Blur = {
        Enable = false,
        value = 0.2
    },

    Config = {
        Enabled = false,
    }
})

-- TABS
local main = GUI:CreateTab("🏠 Main", "user")
local combat = GUI:CreateTab("⚔ Combat", "swords")
local money = GUI:CreateTab("💰 Money", "wallet")
local visuals = GUI:CreateTab("👁 Visuals", "eye")
local buy = GUI:CreateTab("🛒 Quick Buys", "shopping-cart")
local farm = GUI:CreateTab("🌾 Farm", "camera")
local trolling = GUI:CreateTab("😈 Trolling", "sun")
local settings = GUI:CreateTab("⚙ Settings", "settings")
local credits = GUI:CreateTab("ℹ Credits", "info")

GUI:CreateSection({
    parent = main,
    text = "Fly Byass"
})

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

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

-- CONFIG DEFAULTS
Config = Config or {}
Config.FlyEnabled = Config.FlyEnabled or false
Config.FlySpeed = Config.FlySpeed or 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

-- TOGGLE
GUI:CreateToggle({
    parent = main,
    text = "Enable Fly",
    CurrentValue = false,
    Flag = "FlyEnabled",
    Callback = function(state)
        Config.FlyEnabled = state

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

-- SLIDER
GUI:CreateSlider({
    parent = main,
    text = "Fly Speed",
    Range = {1, 20},
    Increment = 1,
    Suffix = "",
    CurrentValue = 5,
    Flag = "FlySpeed",
    Callback = function(v)
        Config.FlySpeed = v
    end
})

GUI:CreateSection({
    parent = main,
    text = "WalkSpeed Byass"
})

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


	GUI:CreateNotify({
		title = "1 Second",
		description = "Anti cheat Being bypassed",
	})


	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()
			GUI:CreateNotify({
				title = "WalkSpeed",
				description = "Walk speed enabled",
			})
		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)


GUI:CreateToggle({
    parent = main,
    text = "Enable WalkSpeed (WAIT 1.5 SEC TO RUN)",
    CurrentValue = false,
    Flag = "WalkSpeedToggle",
    Callback = function(state)
        if state then
            startEnhancedWalk()
        else
            stopEnhancedWalk()
        end
    end
})

GUI:CreateSlider({
    parent = main,
    text = "Walk Speed",
    Range = {16, 2000},
    Increment = 1,
    Suffix = "Speed",
    CurrentValue = speed,
    Flag = "WalkSpeedSlider",
    Callback = function(value)
        speed = value
    end
})

GUI:CreateSection({
    parent = main,
    text = "Player Bypass"
})

local noClipEnabled = false

local function toggleNoClip(state)
    noClipEnabled = state
end

RunService.Stepped:Connect(function()
    if noClipEnabled and LocalPlayer.Character then
        for _, part in ipairs(LocalPlayer.Character:GetDescendants()) do
            if part:IsA("BasePart") then
                part.CanCollide = false
            end
        end
    end
end)

GUI:CreateToggle({
    parent = main,
    text = "No-Clip",
    CurrentValue = false,
    Flag = "4",
    Callback = function(Value)
        toggleNoClip(Value)
    end
})

GUI:CreateToggle({
    parent = main,
    text = "Anti Knockback",
    CurrentValue = false,
    Flag = "AntiKnockback",
    Callback = function(Value)
        getgenv().knc = Value

        if Value then
            task.spawn(function()
                while getgenv().knc do
                    task.wait(0.1)
                    pcall(function()
                        for _, v in ipairs(game.Players.LocalPlayer.Character:GetDescendants()) do
                            if v:IsA("BodyVelocity") or v:IsA("LinearVelocity") or v:IsA("VectorForce") then
                                v:Destroy()
                            end
                        end
                    end)
                end
            end)

            if game.ReplicatedStorage:FindFirstChild("AE") then
                game.ReplicatedStorage.AE:Destroy()
            end

            game.Players.LocalPlayer.Character:WaitForChild("HumanoidRootPart").ChildAdded:Connect(function(des)
                if getgenv().knc then
                    if des:IsA("BodyVelocity") or des:IsA("LinearVelocity") or des:IsA("VectorForce") then
                        des:Destroy()
                    end
                end
            end)
        else
            for _, v in ipairs(game.Players.LocalPlayer.Character:GetDescendants()) do
                if v:IsA("BodyVelocity") or v:IsA("LinearVelocity") or v:IsA("VectorForce") then
                    v:Destroy()
                end
            end
        end
    end,
})

GUI:CreateToggle({
    parent = main,
    text = "Anti JumpCooldown",
    CurrentValue = false,
    Flag = "AntiJumpCooldown",
    Callback = function(Value)
        getgenv().noJumpCooldown = Value

        if Value then
            task.spawn(function()
                while getgenv().noJumpCooldown do
                    task.wait(0.2)
                    pcall(function()
                        local playerGui = game:GetService("Players").LocalPlayer:FindFirstChild("PlayerGui")
                        if playerGui then
                            local debounce = playerGui:FindFirstChild("JumpDebounce")
                            if debounce then
                                debounce:Destroy()
                            end
                        end
                    end)
                end
            end)
        end
    end,
})

local AntiRentPayEnabled = false
GUI:CreateToggle({
    parent = main,
    text = "Anti Rent Pay",
    CurrentValue = false,
    Callback = function(Value)
        AntiRentPayEnabled = Value
        if Value then
            task.spawn(function()
                while AntiRentPayEnabled do
                    task.wait(1)
                    local player = game.Players.LocalPlayer
                    local rentGui = player:FindFirstChild("PlayerGui") and 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
})

local running = false
local connection

GUI:CreateToggle({
    parent = main,
    text = "Anti Jail",
    CurrentValue = false,
    Callback = function(state)
        running = state

        if running then
            local player = game:GetService("Players").LocalPlayer
            local ReplicatedStorage = game:GetService("ReplicatedStorage")

            local function destroyJailRemote()
                local jailRemote = ReplicatedStorage:FindFirstChild("JailRemote")
                if jailRemote then
                    jailRemote:Destroy()
                end
            end

            destroyJailRemote()

            connection = player.CharacterAdded:Connect(function()
                if not running then return end
                task.wait(1)
                destroyJailRemote()
                local jail = ReplicatedStorage:FindFirstChild("JailRemote")
                if jail and jail:FindFirstChild("Damage") then
                    jail.Damage:Destroy()
                end
            end)

            task.spawn(function()
                while running do
                    destroyJailRemote()
                    task.wait(1)
                end
            end)
        else
            if connection then
                connection:Disconnect()
                connection = nil
            end
        end
    end,
})


local AntiSleepEnabled = false
GUI:CreateToggle({
    parent = main,
    text = "Infinite Sleep",
    CurrentValue = false,
    Callback = function(Value)
        AntiSleepEnabled = Value
        if Value then
            task.spawn(function()
                while AntiSleepEnabled do
                    task.wait(1)
                    local player = game.Players.LocalPlayer
                    if player and player:FindFirstChild("PlayerGui") then
                        local sleepGui = player.PlayerGui:FindFirstChild("SleepGui")
                        if sleepGui then
                            local sleepScript = sleepGui:FindFirstChild("Frame") 
                                and sleepGui.Frame:FindFirstChild("sleep") 
                                and sleepGui.Frame.sleep:FindFirstChild("SleepBar") 
                                and sleepGui.Frame.sleep.SleepBar:FindFirstChild("sleepScript")
                            if sleepScript then
                                sleepScript.Disabled = true
                            end
                        end
                    end
                end
            end)
        end
    end
})

local AntiHungerEnabled = false
GUI:CreateToggle({
    parent = main,
    text = "Infinite Hunger",
    CurrentValue = false,
    Callback = function(Value)
        AntiHungerEnabled = Value
        if Value then
            task.spawn(function()
                while AntiHungerEnabled do
                    task.wait(1)
                    local player = game.Players.LocalPlayer
                    if player and player:FindFirstChild("PlayerGui") then
                        local hungerGui = player.PlayerGui:FindFirstChild("Hunger")
                        if hungerGui then
                            local hungerScript = hungerGui:FindFirstChild("Frame") 
                                and hungerGui.Frame:FindFirstChild("Frame") 
                                and hungerGui.Frame.Frame:FindFirstChild("Frame") 
                                and hungerGui.Frame.Frame.Frame:FindFirstChild("HungerBarScript")
                            if hungerScript then
                                hungerScript.Disabled = true
                            end
                        end
                    end
                end
            end)
        end
    end
})

local AntiStaminaEnabled = false
GUI:CreateToggle({
    parent = main,
    text = "Infinite Stamina",
    CurrentValue = false,
    Callback = function(Value)
        AntiStaminaEnabled = Value
        if Value then
            task.spawn(function()
                while AntiStaminaEnabled do
                    task.wait(1)
                    local player = game.Players.LocalPlayer
                    if player and player:FindFirstChild("PlayerGui") then
                        local staminaScript = player.PlayerGui:FindFirstChild("Run") 
                            and player.PlayerGui.Run:FindFirstChild("Frame") 
                            and player.PlayerGui.Run.Frame:FindFirstChild("Frame") 
                            and player.PlayerGui.Run.Frame.Frame:FindFirstChild("Frame") 
                            and player.PlayerGui.Run.Frame.Frame.Frame:FindFirstChild("StaminaBarScript")
                        if staminaScript then
                            staminaScript.Disabled = true
                        end
                    end
                end
            end)
        end
    end
})

GUI:CreateToggle({
    parent = main,
    text = "Instant Interact",
    Default = false,
    Callback = function(Value)
        local Workspace = game:GetService("Workspace")
        local function updateProximityPrompts()
            for i, v in ipairs(Workspace:GetDescendants()) do
                if v.ClassName == "ProximityPrompt" then
                    v.HoldDuration = Value and 0 or 1
                end
            end
        end
        updateProximityPrompts()
        Workspace.DescendantAdded:Connect(function(descendant)
            if descendant.ClassName == "ProximityPrompt" then
                descendant.HoldDuration = Value and 0 or 1
            end
        end)
    end,
})

local AntiCameraShakeEnabled = false
local AntiCameraShakeToggle = GUI:CreateToggle({
    parent = main,
    text = "No Camera Bobbing",
    CurrentValue = false,
    Callback = function(Value)
        AntiCameraShakeEnabled = Value
        if Value then
            task.spawn(function()
                while AntiCameraShakeEnabled do
                    task.wait(1)
                    local player = game.Players.LocalPlayer
                    if player and player.Character then
                        local cameraBobbing = player.Character:FindFirstChild("CameraBobbing")
                        if cameraBobbing then
                            cameraBobbing:Destroy()
                        end
                    end
                end
            end)
        end
    end
})

local bloodRemoved = false

local MyToggle = GUI:CreateToggle({
    parent = main,
	text = "Disable Blood",
	CurrentValue = false,
	Flag = "RemoveBloodToggle",
	Callback = function(Value)
		bloodRemoved = Value
		local playerGui = game:GetService("Players").LocalPlayer:WaitForChild("PlayerGui")

		if bloodRemoved then
			local bloodGui = playerGui:FindFirstChild("BloodGui")
			if bloodGui then
				bloodGui.ResetOnSpawn = false
				bloodGui:Destroy()
			end
		else
			-- Optional: Add logic to re-enable the BloodGui if needed
			warn("Re-enabling blood is not supported in this toggle unless you add spawn logic.")
		end
	end,
})

local Toggle = GUI:CreateToggle({
    parent = main,
	text = "Instant Respawn",
	CurrentValue = false,
	Flag = "FasterRespawn",
	Callback = function(Value)
		_G.respawn = Value

		if Value then
			task.spawn(function()
				while _G.respawn and task.wait(1) do
					local player = game:GetService("Players").LocalPlayer
					local character = player.Character
					local humanoid = character and character:FindFirstChildWhichIsA("Humanoid")

					if humanoid and humanoid.Health <= 0 then
						game:GetService("ReplicatedStorage"):WaitForChild("RespawnRE"):FireServer()
					end
				end
			end)
		end
	end,
})

local Players = game:GetService("Players")
local LocalPlayer = Players.LocalPlayer
local lastPosition
local respawnConnection
local deathConnection

GUI:CreateToggle({
    parent = main,
    text = "Respawn Where You Died",
    CurrentValue = false,
    Flag = "RespawnWhereDied",
    Callback = function(state)
        if state then
            local function setup()
                local character = LocalPlayer.Character or LocalPlayer.CharacterAdded:Wait()
                local humanoid = character:WaitForChild("Humanoid")
                local root = character:WaitForChild("HumanoidRootPart")

                deathConnection = humanoid.Died:Connect(function()
                    if root then
                        lastPosition = root.CFrame
                    end
                end)

                respawnConnection = LocalPlayer.CharacterAdded:Connect(function(char)
                    local newRoot = char:WaitForChild("HumanoidRootPart")
                    if lastPosition then
                        newRoot.CFrame = lastPosition
                    end
                    setup()
                end)
            end

            setup()
        else
            if respawnConnection then
                respawnConnection:Disconnect()
                respawnConnection = nil
            end
            if deathConnection then
                deathConnection:Disconnect()
                deathConnection = nil
            end
        end
    end,
})


GUI:CreateSection({
    parent = combat,
    text = "Target Player"
})

local SelectedPlayer

-- Variables
local playerList = {}
local SelectedPlayer = nil
local BringLoopRunning = false

-- Create initial player list
for _, player in ipairs(Players:GetPlayers()) do
    if player ~= LocalPlayer then
        table.insert(playerList, player.Name)
    end
end

-- Dropdown UI
GUI:CreateDropdown({
    parent = combat,
    text = "Select Player",
    Options = playerList,
    CurrentOption = {},
    MultipleOptions = false,
    Flag = "PlayerDropdown",
    Callback = function(Options)
        SelectedPlayer = Options[1]
    end,
})

-- Refresh player list function
local function RefreshPlayerList()
    playerList = {}
    for _, player in ipairs(Players:GetPlayers()) do
        if player ~= LocalPlayer then
            table.insert(playerList, player.Name)
        end
    end
    TeleportDropdown:Set(playerList)
end

-- Refresh Button
 GUI:CreateButton({
    text = "Refresh Players",
    Callback = RefreshPlayerList,
})

-- Loop Bring
 GUI:CreateToggle({
    parent = combat,
    text = "Loop Bring Selected Player",
    CurrentValue = false,
    Flag = "BringToggle",
    Callback = function(Value)
        BringLoopRunning = Value

        if Value then
            task.spawn(function()
                while BringLoopRunning do
                    local TargetPlayer = Players:FindFirstChild(SelectedPlayer)
                    if TargetPlayer and TargetPlayer.Character and LocalPlayer.Character then
                        local targetRoot = TargetPlayer.Character:FindFirstChild("HumanoidRootPart")
                        local myRoot = LocalPlayer.Character:FindFirstChild("HumanoidRootPart")
                        if targetRoot and myRoot then
                            local frontPos = myRoot.CFrame.Position + myRoot.CFrame.LookVector * 3
                            targetRoot.CFrame = CFrame.new(frontPos, myRoot.Position)
                        end
                    end
                    task.wait(0.3)
                end
            end)
        else
            local TargetPlayer = Players:FindFirstChild(SelectedPlayer)
            if TargetPlayer and TargetPlayer.Character then
                local targetRoot = TargetPlayer.Character:FindFirstChild("HumanoidRootPart")
                if targetRoot then
                    targetRoot.CFrame = CFrame.new(0, -500, 0)
                end
            end
        end
    end,
})
      
GUI:CreateSection({
    parent = combat,
    text = "Kill Aura Beams"
})

function getcp()
    local mouse = game.Players.LocalPlayer:GetMouse()
    local hit = mouse.Hit.Position
    local maxdis = math.huge
    local target = nil
    for i, v in next, game.Players:GetChildren() do
        if v.Character and v.Character:FindFirstChild("HumanoidRootPart") and v ~= game.Players.LocalPlayer then
            local mag = (hit - v.Character.HumanoidRootPart.Position).Magnitude
            if mag < maxdis then
                maxdis = mag
                target = v
            end
        end
    end
    return target
end

getgenv().highlight = false
getgenv().wallbang = false
getgenv().randomredire = false
getgenv().killaurahigh = false
getgenv().cooldown = 0
getgenv().damage = 100
getgenv().hitpart = "Head"
getgenv().auraenabled = false
getgenv().beam = true 
getgenv().rainbowbeam = false
getgenv().beamcolor = Color3.fromRGB(0, 0, 255)


local target1 = getcp()


spawn(function()
    game:GetService("RunService").RenderStepped:Connect(function()
        local currentTarget = getcp()
        if currentTarget and currentTarget.Character and currentTarget.Character:FindFirstChild("HumanoidRootPart") then
            target1 = currentTarget
            if getgenv().highlight or getgenv().killaurahigh then
                task.wait()
                local hi = Instance.new("Highlight", target1.Character)
                hi.FillColor = Color3.fromRGB(255, 0, 0) -- red only
                hi.OutlineColor = Color3.new(1, 1, 1)
                hi.FillTransparency = 0.25
                game.Debris:AddItem(hi, 0.1)
            end
        end
    end)
end)


local lad = {
    "Head", "UpperTorso", "HumanoidRootPart", "RightUpperLeg", "RightUpperArm", "RightLowerLeg", "RightLowerArm",
    "RightHand", "RightFoot", "LowerTorso", "LeftUpperLeg", "LeftUpperArm", "LeftLowerLeg", "LeftLowerArm", "LeftHand"
}


spawn(function()
    if hookmetamethod then
        local saimh
        saimh = hookmetamethod(game, "__namecall", function(Self, ...)
            local method = getnamecallmethod():lower()
            local args = { ... }
            if tostring(method) == "findpartonray" and getgenv().saim and target1.Character and target1 and
                tostring(getfenv(0).script) == "GunScript_Local" then
                local targetPosition = target1.Character["Head"].Position
                if getgenv().randomredire then
                    targetPosition = target1.Character[lad[math.random(1, #lad)]].Position
                end
                local origin = args[1].Origin
                local direction = (targetPosition - origin).Unit
                args[1] = Ray.new(origin, direction * 1000)
                return saimh(Self, table.unpack(args))
            end
            return saimh(Self, ...)
        end)
    end
end)

local function randomRGB()
    return Color3.fromRGB(
        Random.new():NextInteger(0, 255),
        Random.new():NextInteger(0, 255),
        Random.new():NextInteger(0, 255)
    )
end

local function visualizeMuzzle()
    local plr = game.Players.LocalPlayer
    local tool = plr.Character and plr.Character:FindFirstChildWhichIsA("Tool")
    if tool then
        local handle = tool:FindFirstChild("Handle")
        local muzzleEffect = tool:FindFirstChild("GunScript_Local") and tool.GunScript_Local:FindFirstChild("MuzzleEffect")
        if handle and muzzleEffect and game.ReplicatedStorage:FindFirstChild("VisualizeMuzzle") then
            local color = getgenv().rainbowbeam and Color3.fromHSV(tick() % 5 / 5, 1, 1) or getgenv().beamcolor
            game.ReplicatedStorage.VisualizeMuzzle:FireServer(
                handle,
                true,
                {false, 7, color, 15, true, 0.02},
                muzzleEffect
            )
        end
    end
end

GUI:CreateToggle({
    parent = combat,
    text = "Killaura",
    Value = false,
    Callback = function(state)
        getgenv().auraenabled = state
        if state then
            spawn(function()
                while getgenv().auraenabled and task.wait(getgenv().cooldown) do
                    task.wait()
                    pcall(function()
                        local plr = game.Players.LocalPlayer
                        if plr.Character:FindFirstChildWhichIsA("Tool") and
                           plr.Character:FindFirstChildOfClass("Tool"):FindFirstChild("GunScript_Local") then
                            -- Beam
                            local part = Instance.new("Part", workspace)
                            part.Size = Vector3.new(0.2, 0.2,
                                (plr.Character.HumanoidRootPart.Position - target1.Character.Head.Position).Magnitude)
                            part.Anchored = true
                            part.CanCollide = false
                            local color = getgenv().rainbowbeam and Color3.fromHSV(tick() % 5 / 5, 1, 1) or getgenv().beamcolor
                            part.Color = color
                            part.Material = Enum.Material.Neon
                            local toolHandle = plr.Character:FindFirstChildWhichIsA("Tool"):FindFirstChild("Handle")
                            if toolHandle then
                                local midpoint = (toolHandle.Position + target1.Character[getgenv().hitpart].Position) / 2
                                part.Position = midpoint
                                part.CFrame = CFrame.new(midpoint, target1.Character[getgenv().hitpart].Position)
                            end
                            task.wait(0.1)
                            part:Destroy()
                        end
                        visualizeMuzzle()
                        dmg(target1, getgenv().hitpart, getgenv().damage)
                    end)
                end
            end)
        end
    end
})

GUI:CreateColorPicker({
    parent = combat,
    text = "Beam Color",
    default = Color3.fromRGB(255, 0, 0),

    callback = function(color)
        getgenv().beamcolor = color
    end
})

GUI:CreateToggle({
    parent = combat,
    text = "Highlight Target",
    default = false,

    callback = function(state)
        getgenv().killaurahigh = state
    end
})

GUI:CreateToggle({
    parent = combat,
    text = "Simulate Rainbow (Beam)",
    default = false,

    callback = function(state)
        getgenv().rainbowbeam = state
    end
})

GUI:CreateSection({
    parent = combat,
    text = "Kill All"
})

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

function checkgun()
    local player = game.Players.LocalPlayer
    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 Button =  GUI:CreateButton({
    parent = combat,
    text = "Kill Aura (HOLD OUT GUN TO USE)",
    Locked = false,
    Callback = function()
        local gun = checkgun()
        if not gun then
            GUI:CreateNotify({
                title = "Killing All",
                description = "Gun not found.",
            })
            return
        end

        local duration = 5
        local startTime = tick()

        while tick() - startTime < duration do
            local fireRemote = gun:FindFirstChild("Fire") or gun:FindFirstChild("Shoot") or gun:FindFirstChild("Remote")
            if fireRemote and fireRemote:IsA("RemoteEvent") then
                fireRemote:FireServer()
            elseif fireRemote and fireRemote:IsA("RemoteFunction") then
                fireRemote:InvokeServer()
            elseif gun.Activate then
                gun:Activate()
            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

            for _, v in pairs(game.Players:GetPlayers()) do
                if v ~= game.Players.LocalPlayer then
                    local char = v.Character
                    if char and char:FindFirstChild("Head") and char:FindFirstChild("Humanoid") then
                        dmg(v, "Head", 1000)
                    end
                end
            end
            wait(0.1)
        end

        GUI:CreateNotify({
            title = "Killing All",
            description = "Kill command sent to all loaded players (except you) for 5 seconds.",
        })
    end
})

GUI:CreateSection({
    parent = combat,
    text = "Gun Mods"
})

 GUI:CreateToggle({
    parent = combat,
    text = "Thick Bullets",
    CurrentValue = false,
    Callback = function(Value)
    end
})

 GUI:CreateToggle({
    parent = combat,
    Name = "Instant Equip",
    CurrentValue = false,
    Callback = function(Value)
        local tool = game.Players.LocalPlayer.Character:FindFirstChildOfClass("Tool")
        if tool and tool:FindFirstChild("Setting") then
            local setting = require(tool.Setting)
            if Value then
                setting.EquipTime = 0
            else
                setting.EquipTime = 0
            end
        end
    end
})

 GUI:CreateToggle({
    parent = combat,
    text = "Instant Reload",
    CurrentValue = false,
    Callback = function(Value)
        local tool = game.Players.LocalPlayer.Character:FindFirstChildOfClass("Tool")
        if tool and tool:FindFirstChild("Setting") then
            local setting = require(tool.Setting)

            if Value then
                setting.ReloadTime = 0
            else
                setting.ReloadTime = 1.5 
            end
        end
    end
})

 GUI:CreateToggle({
    parent = combat,
    text = "Unjam",
    CurrentValue = false,
    Callback = function(Value)
        local tool = game.Players.LocalPlayer.Character:FindFirstChildOfClass("Tool")
        if tool and tool:FindFirstChild("Setting") then
            local setting = require(tool.Setting)
            if Value then
                setting.JamChance = 0
            else
                setting.JamChance = 0.1
            end
        end
    end
})

 GUI:CreateToggle({
    parent = combat,
    text = "No Recoil",
    CurrentValue = false,
    Callback = function(Value)
        local tool = game.Players.LocalPlayer.Character:FindFirstChildOfClass("Tool")
        if tool and tool:FindFirstChild("Settings") then
            local settings = require(tool.Settings)
            settings.Recoil = Value and 0 or 1
        end
    end
})

 GUI:CreateToggle({
    parent = combat,
    text = "Automatic Gun",
    Callback = function()
        local tool = game.Players.LocalPlayer.Character:FindFirstChildOfClass("Tool")
        if tool and tool:FindFirstChild("Setting") then
            require(tool.Setting).Auto = true
            print("Gun set to Automatic")
        end
    end
})

 GUI:CreateToggle({
    parent = combat,
    text = "No Fire Rate",
    Callback = function()
        local tool = game.Players.LocalPlayer.Character:FindFirstChildOfClass("Tool")
        if tool and tool:FindFirstChild("Setting") then
            require(tool.Setting).FireRate = 0
            print("No Fire Rate applied")
        end
    end
})

 GUI:CreateToggle({
    parent = combat,
    text = "Infinite Damage",
    Callback = function()
        local tool = game.Players.LocalPlayer.Character:FindFirstChildOfClass("Tool")
        if tool and tool:FindFirstChild("Setting") then
            require(tool.Setting).BaseDamage = 9e9
            print("Infinite Damage applied")
        end
    end
})

 GUI:CreateToggle({
    parent = combat,
    text = "Infinite Ammo",
    CurrentValue = false,
    Callback = function(Value)
        local tool = game.Players.LocalPlayer.Character:FindFirstChildOfClass("Tool")
        if tool and tool:FindFirstChild("Setting") then
            local setting = require(tool.Setting)
            setting.LimitedAmmoEnabled = not Value
            if Value then
                setting.MaxAmmo = 99999
                setting.AmmoPerMag = 99999
                setting.Ammo = 99999
            end
        end
    end
})

 GUI:CreateToggle({
    parent = combat,
    text = "LifeSteal",
    CurrentValue = false,
    Callback = function(Value)
        local tool = game.Players.LocalPlayer.Character:FindFirstChildOfClass("Tool")
        if tool and tool:FindFirstChild("Setting") then
            local setting = require(tool.Setting)
            if Value then
                setting.LifeSteal = true
            else
                setting.LifeSteal = false
            end
        end
    end
})

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

local LocalPlayer = Players.LocalPlayer

local GunChams = false
local RainbowChams = false
local ChamsColor = Color3.fromRGB(255, 0, 0)

-- STORE ORIGINAL COLORS
local OriginalColors = {}

GUI:CreateSection({
    parent = combat,
    text = "Gun Chams"
})

GUI:CreateToggle({
    parent = combat,
    text = "Enable Gun Chams",
    default = false,

    callback = function(v)
        GunChams = v

        -- RESET COLORS WHEN DISABLED
        if not v then
            for part, color in pairs(OriginalColors) do
                if part and part.Parent then
                    part.Color = color
                    part.Material = Enum.Material.Plastic
                end
            end

            OriginalColors = {}
        end
    end
})

GUI:CreateToggle({
    parent = combat,
    text = "Rainbow Chams",
    default = false,

    callback = function(v)
        RainbowChams = v
    end
})

GUI:CreateColorPicker({
    parent = combat,
    text = "Gun Color",
    default = ChamsColor,

    callback = function(color)
        ChamsColor = color
    end
})

RunService.RenderStepped:Connect(function()

    if not GunChams then
        return
    end

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

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

    for _, v in pairs(tool:GetDescendants()) do
        if v:IsA("BasePart") then

            -- SAVE ORIGINAL COLOR
            if not OriginalColors[v] then
                OriginalColors[v] = v.Color
            end

            -- APPLY CHAMS
            if RainbowChams then
                local hue = (tick() % 5) / 5
                v.Color = Color3.fromHSV(hue, 1, 1)
            else
                v.Color = ChamsColor
            end

            v.Material = Enum.Material.Neon
        end
    end
end)


GUI:CreateSection({
    parent = money,
    text = "Infinite Money"
})

GUI:CreateButton({
    parent = money,
    text = "💰 Generate Max Money",

    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
})

GUI:CreateSection({
    parent = money,
    text = "Buy Items"
})

GUI:CreateButton({
    parent = money,
    text = "FijiWater",

    callback = function()
        game:GetService("ReplicatedStorage").ExoticShopRemote:InvokeServer("FijiWater")
    end
})

GUI:CreateButton({
    parent = money,
    text = "FreshWater",

    callback = function()
        game:GetService("ReplicatedStorage").ExoticShopRemote:InvokeServer("FreshWater")
    end
})

GUI:CreateButton({
    parent = money,
    text = "Ice-Fruit Cupz",

    callback = function()
        game:GetService("ReplicatedStorage").ExoticShopRemote:InvokeServer("Ice-Fruit Cupz")
    end
})

GUI:CreateButton({
    parent = money,
    text = "Ice-Fruit Bag",

    callback = function()
        game:GetService("ReplicatedStorage").ExoticShopRemote:InvokeServer("Ice-Fruit Bag")
    end
})

GUI:CreateSection({
    parent = money,
    text = "Teleport To Cook Pot"
})

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

    GUI:Notify({
        title = "Teleported",
        Content = "Teleported to Cookin Spot",
        Duration = 2,
    })
end

GUI:CreateButton({
    parent = money,
    text = "Cookin Spot",

    callback = function()
        teleportToCookingSpot()
    end
})

GUI:CreateSection({
    parent = money,
    text = "Get Max Money"
})

GUI:CreateButton({
    parent = money,
    text = "💸 Generate Money",

    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
            GUI:Notify({
                title = "No Ice-Fruit Cupz",
                Content = "Ice-Fruit Cupz' not found in backpack",
                Duration = 3,
            })
            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 = "109909049155929"
        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()

            GUI:Notify({
                title = "Money vulnerability",
                Content = "Done Generating money",
                Duration = 2,
            })
        end)
    end
})

GUI:CreateSection({
    parent = visuals,
    text = "Teleports"
})

function teleport(x, y, z)

    local seat
    local targetPosition = Vector3.new(-1487.578369140625, 251.75901794433594, -408.8100891113281)
    for _, obj in pairs(workspace["1# Map"].RandomStuff:GetDescendants()) do
        if obj:IsA("Seat") and (obj.Position - targetPosition).Magnitude < 1 then
            seat = obj
            break
        end
    end
    if not seat then
        for _, obj in pairs(workspace["1# Map"].RandomStuff:GetDescendants()) do
            if obj:IsA("Seat") then
                seat = obj
                break
            end
        end
    end

    if seat and game.Players.LocalPlayer.Character and game.Players.LocalPlayer.Character:FindFirstChild("HumanoidRootPart") and game.Players.LocalPlayer.Character:FindFirstChild("Humanoid") then
        local rootPart = game.Players.LocalPlayer.Character.HumanoidRootPart
        local humanoid = game.Players.LocalPlayer.Character.Humanoid
        local originalPosition = seat.CFrame

        seat.CFrame = rootPart.CFrame
        task.wait(2.6)
        seat:Sit(humanoid)
        task.wait(2.6)
        seat.CFrame = CFrame.new(x, y - 1, z)
        task.wait(0.6)
        humanoid.Sit = false
        humanoid:ChangeState(Enum.HumanoidStateType.Jumping)
        task.wait(0.000000000000000000000000001)
        seat.CFrame = CFrame.new(originalPosition.X, originalPosition.Y - 100, originalPosition.Z)
    end

    wait(0.5)
end

local teleportLocations = {
    {Name = "Dripstore👕", Position = Vector3.new(67459, 10489, 551)},
    {Name = "Bank🏦", Position = Vector3.new(-222.50, 283.81, -1201.06)},
    {Name = "Ice Box💎", Position = Vector3.new(-193, 284, -1169)},
    {Name = "Bank tools / Roof💰", Position = Vector3.new(-384, 340, -557)},
    {Name = "New Clean Money", Position = Vector3.new(-987.11, 253.72, -685.13)},
    {Name = "MarGreens", Position = Vector3.new(-336.8796691894531, 254.45382690429688, -394.1875)},
    {Name = "Hospital", Position = Vector3.new(-1590.833251953125, 254.272216796875, 18.926502227783203)},
    {Name = "Gunstore 1🔫", Position = Vector3.new(92984, 122099, 17236)},
    {Name = "Gunstore 2🔫", Position = Vector3.new(66192.453, 123615.711, 5744.736)},
    {Name = "Gunstore 3🔫", Position = Vector3.new(72425, 128856, -1082)},
    {Name = "Gunstore 4🔫", Position = Vector3.new(60822, 87609, -352)},
    {Name = "Pawnshop💈", Position = Vector3.new(-1051, 254, -815)},
    {Name = "New McDonals🧺", Position = Vector3.new(-437.16, 253.91, -955.08)},
    {Name = "Backpack🎒", Position = Vector3.new(-727.82, 253.92, -695.95)},
    {Name = "Studios", Position = Vector3.new(93426.23 + 2, 14484.71, 561.80)},
    {Name = "Penthouse Cook Pot🏠", Position = Vector3.new(-179.34, 397.14, -589.93)},
    {Name = "Penthouse🏚️", Position = Vector3.new(-163, 397, -594)},
    {Name = "Dollar Central💸", Position = Vector3.new(-389, 254, -1082)},
    {Name = "Dealership🚗", Position = Vector3.new(-389, 253, -1232)},
    {Name = "Safe Items", Position = Vector3.new(1061.67, 254.51, -1017.37)},
}

-- Teleport function with seat bypass
function teleport(x, y, z)
    local seat
    local targetPosition = Vector3.new(-1487.578369140625, 251.75901794433594, -408.8100891113281)

    for _, obj in pairs(workspace["1# Map"].RandomStuff:GetDescendants()) do
        if obj:IsA("Seat") and (obj.Position - targetPosition).Magnitude < 1 then
            seat = obj
            break
        end
    end

    if not seat then
        for _, obj in pairs(workspace["1# Map"].RandomStuff:GetDescendants()) do
            if obj:IsA("Seat") then
                seat = obj
                break
            end
        end
    end

    local player = game.Players.LocalPlayer
    if seat and player.Character and player.Character:FindFirstChild("HumanoidRootPart") and player.Character:FindFirstChild("Humanoid") then
        local rootPart = player.Character.HumanoidRootPart
        local humanoid = player.Character.Humanoid
        local originalPosition = seat.CFrame

        seat.CFrame = rootPart.CFrame
        task.wait(0.6)
        seat:Sit(humanoid)
        task.wait(0.6)
        seat.CFrame = CFrame.new(x, y - 1, z)
        task.wait(0.6)
        humanoid.Sit = false
        humanoid:ChangeState(Enum.HumanoidStateType.Jumping)
        task.wait(0.000000000000000000000000001)
        seat.CFrame = CFrame.new(originalPosition.X, originalPosition.Y - 100, originalPosition.Z)
    end

    wait(0.5)
    destroyScreenGui()
end


local selectedTeleport = teleportLocations[1]

local locationNames = {}
for _, location in ipairs(teleportLocations) do
    table.insert(locationNames, location.Name)
end

GUI:CreateDropdown({
    parent = visuals,
    text = "Teleports",
    Options = locationNames,
    CurrentOption = {locationNames[1]},
    MultipleOptions = false,
    Flag = "TeleportDropdown",
    Callback = function(Options)
        for _, location in ipairs(teleportLocations) do
            if location.Name == Options[1] then
                selectedTeleport = location
                break
            end
        end
    end
})

GUI:CreateButton({
    parent = visuals,
    text = "Teleport To Location",
    Callback = function()
        if selectedTeleport then
            teleport(selectedTeleport.Position.X, selectedTeleport.Position.Y, selectedTeleport.Position.Z)
        end
    end
})

GUI:CreateSection({
    parent = visuals,
    text = "Esp See People AnyWhere"
})

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

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)

GUI:CreateToggle({
    parent = visuals,
    text = "Enable ESP",
    default = false,

    callback = function(v)
        CS_ESP_Settings.Enabled = v
    end
})

GUI:CreateToggle({
    parent = visuals,
    text = "Corner Boxes",
    default = false,

    callback = function(v)
        CS_ESP_Settings.CornerBoxes = v
    end
})

GUI:CreateToggle({
    parent = visuals,
    text = "Chams",
    default = false,

    callback = function(v)
        CS_ESP_Settings.Chams = v
    end
})

GUI:CreateToggle({
    parent = visuals,
    text = "Distance",
    default = false,

    callback = function(v)
        CS_ESP_Settings.Distance = v
    end
})

GUI:CreateToggle({
    parent = visuals,
    text = "Weapon Holdings",
    default = false,

    callback = function(v)
        CS_ESP_Settings.Weapons = v
    end
})

GUI:CreateToggle({
    parent = visuals,
    text = "Health Bars",
    default = false,

    callback = function(v)
        CS_ESP_Settings.HealthBars = v
    end
})

GUI:CreateToggle({
    parent = visuals,
    text = "Name ESP",
    default = false,

    callback = function(v)
        CS_ESP_Settings.Names = v
    end
})

GUI:CreateSlider({
    parent = visuals,
    text = "ESP Max Distance",
    min = 50,
    max = 3000,
    default = CS_ESP_Settings.MaxDistance,

    function(v)
        CS_ESP_Settings.MaxDistance = v
    end
})


local player = game.Players.LocalPlayer
local gunsFolder = workspace:WaitForChild("GUNS")

local Guns = {}

-- GET ALL GUNS
for _, gunModel in ipairs(gunsFolder:GetChildren()) do
    local modelChild = gunModel:FindFirstChild("Model")

    if modelChild and modelChild:IsA("Model") then

        local buyPrompt = modelChild:FindFirstChildWhichIsA("ProximityPrompt", true)

        if buyPrompt and buyPrompt.Name == "BuyPrompt" then

            local parentPart = buyPrompt.Parent

            if parentPart and parentPart:IsA("BasePart") then
                Guns[gunModel.Name] = {
                    Part = parentPart,
                    BuyPrompt = buyPrompt
                }
            end
        end
    end
end

-- MAKE GUN LIST
local gunNames = {}

for name in pairs(Guns) do
    table.insert(gunNames, name)
end

-- BUY FUNCTION
local function hhhrrg(gunData)

    local teleportPart = gunData.Part
    local buyPrompt = gunData.BuyPrompt

    if not teleportPart or not buyPrompt then
        return
    end

    local character = player.Character or player.CharacterAdded:Wait()
    local hrp = character:FindFirstChild("HumanoidRootPart")

    if not hrp then
        return
    end

    local originalPos = hrp.CFrame

    getgenv().SwimMethod = true
    task.wait(1)

    hrp.CFrame = teleportPart.CFrame + Vector3.new(0, 2, 0)

    task.wait(0.1)

    fireproximityprompt(buyPrompt)

    task.wait(1)

    hrp.CFrame = originalPos

    getgenv().SwimMethod = false
end

-- BUY TAB SECTION
GUI:CreateSection({
    parent = buy,
    text = "Select Gun"
})

GUI:CreateDropdown({
    parent = buys,
    text = "Select Gun",

    options = gunNames,

    callback = function(selectedGunName)

        local gunData = Guns[selectedGunName]

        if gunData then

            hhhrrg(gunData)

            GUI:CreateNotify({
                title = "Gun Purchased",
                description = selectedGunName
            })

        else

            GUI:CreateNotify({
                title = "Error",
                description = "Gun data not found"
            })

        end
    end
})

GUI:CreateSection({
    parent = buy,
    text = "Stores Guis"
})

GUI:CreateButton({
    parent = buy,
    text = "Bronx Clothing",
    Callback = function()
        pcall(function()
            loadstring(game:HttpGet("https://[Log in to view URL]"))()
        end)
    end
})

GUI:CreateButton({
    text = "Pawn Shop",
    Callback = function()
        local gui = game.Players.LocalPlayer.PlayerGui:FindFirstChild("Bronx PAWNING", true)
        if gui then gui.Enabled = true end
    end
})

GUI:CreateButton({
    text = "Bronx Market",
    Callback = function()
        local gui = game.Players.LocalPlayer:WaitForChild("PlayerGui"):FindFirstChild("Bronx Market 2")
        if gui then gui.Enabled = true end
    end
})

GUI:CreateButton({
    parent = buy,
    text = "Bronx shop",
    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
})

GUI:CreateButton({
    parent = buy,
    text = "Tha Shop",
    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
})

GUI:CreateSection({
    parent = buy,
    text = "Clothes"
})

-- 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

GUI:CreateButton({
    parent = buy,
    text = "Drip Fit",
    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
})

GUI:CreateButton({
    parent = buy,
    text = "Drip Fit",
    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
})

GUI:CreateButton({
    parent = buy,
    text = "Drip Fit",
    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
})

GUI:CreateButton({
    parent = buy,
    text = "Drip Fit",
    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
})

GUI:CreateButton({
    parent = buy,
    text = "Drip Fit",
    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
})

GUI:CreateButton({
    parent = buy,
    text = "Drip Fit",
    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
})


GUI:CreateSection({
    parent = buy,
    text = "Items"
})

GUI:CreateButton({
    parent = buy,
    text = "Buy Red Camo Gloves",
    Callback = function()
        game:GetService("ReplicatedStorage").ShopRemote:InvokeServer("RedCamoGloves")
    end
})

GUI:CreateButton({
    parent = buy,
    text = "Buy Yello Camo Gloves",
    Callback = function()
        game:GetService("ReplicatedStorage").ShopRemote:InvokeServer("YelloCamoGloves")
    end
})

GUI:CreateButton({
    parent = buy,
    text = "Buy Purple Camo Gloves",
    Callback = function()
        game:GetService("ReplicatedStorage").ShopRemote:InvokeServer("PurpleCamoGloves")
    end
})

GUI:CreateButton({
    parent = buy,
    text = "Buy Water",
    Callback = function()
        game:GetService("ReplicatedStorage").ShopRemote:InvokeServer("Water")
    end
})

GUI:CreateButton({
    parent = buy,
    text = "Buy Fake Card",
    Callback = function()
        game:GetService("ReplicatedStorage"):WaitForChild("ExoticShopRemote"):InvokeServer("FakeCard")
    end
})

GUI:CreateButton({
    parent = buy,
    text = "Buy Camo Shiesty",
    Callback = function()
        game:GetService("ReplicatedStorage").ShopRemote:InvokeServer("CamoShiesty")
    end
})

GUI:CreateButton({
    parent = buy,
    text = "Buy Extended",
    Callback = function()
         game:GetService("ReplicatedStorage"):WaitForChild("ExoticShopRemote"):InvokeServer(".Extended")
    end
})

GUI:CreateButton({
    parent = buy,
    text = "Buy Drum",
    Callback = function()
        game:GetService("ReplicatedStorage"):WaitForChild("ExoticShopRemote"):InvokeServer(".Drum")
    end
})

GUI:CreateButton({
    parent = buy,
    text = "Buy 5.56",
    Callback = function()
        game:GetService("ReplicatedStorage"):WaitForChild("ExoticShopRemote"):InvokeServer("5.56")
    end
})

GUI:CreateButton({
    parent = buy,
    text = "Buy 7.62",
    Callback = function()
        game:GetService("ReplicatedStorage"):WaitForChild("ExoticShopRemote"):InvokeServer("7.62")
    end
})

GUI:CreateButton({
    parent = buy,
    text = "Buy Bandage",
    Callback = function()
        game:GetService("ReplicatedStorage"):WaitForChild("ExoticShopRemote"):InvokeServer("Bandage")
    end
})


-- SETTINGS
GUI:CreateSection({
    parent = settings,
    text = "UI Settings"
})

GUI:CreateButton({
    parent = settings,
    text = "Destroy GUI",

    callback = function()
        game:GetService("CoreGui"):FindFirstChild("Ashlabs"):Destroy()
    end
})

-- CREDITS
GUI:CreateParagraph({
    parent = credits,
    text = "Scorpio Hub\nMade By Scorpio"
})

Embed on website

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