Quick actions

cmd+k|ctrl+k

Navigation

Languages

GC

Snippet info

Language

Lua

Visibility

public

Author

anchorrdg.official

Created

2026-08-07T19:17:05.644854Z

Updated

2026-08-09T13:10:27.329987Z

--// Game Controller (Full GUI with Optimized Highlight ESP & 2x Powers)

local CoreGui = game:GetService("CoreGui")
local Players = game:GetService("Players")
local RunService = game:GetService("RunService")
local Workspace = game:GetService("Workspace")
local Lighting = game:GetService("Lighting")
local MarketplaceService = game:GetService("MarketplaceService")
local Camera = Workspace.CurrentCamera

local localPlayer = Players.LocalPlayer

pcall(function()
    if CoreGui:FindFirstChild("FlingGUI") then
        CoreGui.FlingGUI:Destroy()
    end
    if CoreGui:FindFirstChild("CustomCrosshair") then
        CoreGui.CustomCrosshair:Destroy()
    end
end)

local screenGui = Instance.new("ScreenGui")
screenGui.Name = "FlingGUI"
screenGui.ResetOnSpawn = false
screenGui.Parent = CoreGui

local frame = Instance.new("Frame")
frame.Size = UDim2.new(0, 200, 0, 362)
frame.Position = UDim2.new(0.5, -100, 0.5, -181)
frame.BackgroundColor3 = Color3.fromRGB(15, 35, 65)
frame.BackgroundTransparency = 0.2
frame.Parent = screenGui
frame.Active = true
frame.Draggable = true

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

local title = Instance.new("TextLabel")
title.Size = UDim2.new(1, -35, 0, 30)
title.Position = UDim2.new(0, 8, 0, 5)
title.BackgroundTransparency = 1
title.Text = "Game Controller"
title.TextColor3 = Color3.fromRGB(255, 255, 255)
title.Font = Enum.Font.GothamBold
title.TextSize = 15
title.TextXAlignment = Enum.TextXAlignment.Left
title.Parent = frame

local toggleMinimizeBtn = Instance.new("TextButton")
toggleMinimizeBtn.Size = UDim2.new(0, 20, 0, 20)
toggleMinimizeBtn.Position = UDim2.new(1, -25, 0, 5)
toggleMinimizeBtn.BackgroundColor3 = Color3.fromRGB(0, 120, 215)
toggleMinimizeBtn.Text = "-"
toggleMinimizeBtn.TextColor3 = Color3.fromRGB(255, 255, 255)
toggleMinimizeBtn.Font = Enum.Font.GothamBold
toggleMinimizeBtn.TextSize = 12
toggleMinimizeBtn.ZIndex = 5
toggleMinimizeBtn.Parent = frame

Instance.new("UICorner", toggleMinimizeBtn).CornerRadius = UDim.new(0, 4)

local function createButton(name, posY)
    local btn = Instance.new("TextButton")
    btn.Size = UDim2.new(0.9, 0, 0, 26)
    btn.Position = UDim2.new(0.05, 0, 0, posY)
    btn.BackgroundColor3 = Color3.fromRGB(0, 100, 200)
    btn.Text = name .. ": OFF"
    btn.TextColor3 = Color3.fromRGB(255, 255, 255)
    btn.Font = Enum.Font.GothamBold
    btn.TextSize = 13
    btn.Parent = frame
    Instance.new("UICorner", btn).CornerRadius = UDim.new(0, 6)
    return btn
end

local espButton = createButton("ESP", 38)
local aimButton = createButton("Aim", 70)
local aimlockButton = createButton("AimLock", 102)
local powersButton = createButton("2x Powers", 134)
local brightButton = createButton("Full Bright", 166)
local waterWalkButton = createButton("Water Walk", 198)
local interactiveEspButton = createButton("Interactive ESP", 230)

local infoLabel = Instance.new("TextLabel")
infoLabel.Size = UDim2.new(0.9, 0, 0, 65)
infoLabel.Position = UDim2.new(0.05, 0, 0, 266)
infoLabel.BackgroundTransparency = 1
infoLabel.Text = "Game: Roblox Game\nFPS: -- | Ping: --"
infoLabel.TextColor3 = Color3.fromRGB(200, 230, 255)
infoLabel.Font = Enum.Font.Gotham
infoLabel.TextSize = 11
infoLabel.TextWrapped = true
infoLabel.RichText = true
infoLabel.Parent = frame

local signatureLabel = Instance.new("TextLabel")
signatureLabel.Size = UDim2.new(0.9, 0, 0, 20)
signatureLabel.Position = UDim2.new(0.05, 0, 0, 336)
signatureLabel.BackgroundTransparency = 1
signatureLabel.Text = "Created by gorenionia"
signatureLabel.TextColor3 = Color3.fromRGB(150, 180, 220)
signatureLabel.Font = Enum.Font.SourceSansItalic
signatureLabel.TextSize = 11
signatureLabel.Parent = frame

local crosshairGui = Instance.new("ScreenGui")
crosshairGui.Name = "CustomCrosshair"
crosshairGui.Parent = CoreGui
crosshairGui.Enabled = false

local crosshairDot = Instance.new("Frame")
crosshairDot.Size = UDim2.new(0, 6, 0, 6)
crosshairDot.Position = UDim2.new(0.5, -3, 0.5, -3)
crosshairDot.BackgroundColor3 = Color3.fromRGB(0, 200, 255)
crosshairDot.BorderSizePixel = 0
crosshairDot.Parent = crosshairGui
Instance.new("UICorner", crosshairDot).CornerRadius = UDim.new(1, 0)

local isMinimized = false
toggleMinimizeBtn.MouseButton1Click:Connect(function()
    isMinimized = not isMinimized
    local hide = {espButton, aimButton, aimlockButton, powersButton, brightButton, waterWalkButton, interactiveEspButton, infoLabel, signatureLabel}
    for _, el in ipairs(hide) do el.Visible = not isMinimized end
    frame.Size = isMinimized and UDim2.new(0, 90, 0, 32) or UDim2.new(0, 200, 0, 362)
    title.Text = isMinimized and "GC" or "Game Controller"
    toggleMinimizeBtn.Text = isMinimized and "+" or "-"
end)

local placeName = "Roblox Game"
task.spawn(function()
    pcall(function()
        local info = MarketplaceService:GetProductInfo(game.PlaceId)
        if info and info.Name then 
            placeName = info.Name 
        end
    end)
end)

local fps, lastTick = 0, tick()
RunService.RenderStepped:Connect(function()
    local currentTick = tick()
    fps = math.floor(1 / (currentTick - lastTick))
    lastTick = currentTick
    local ping = 0
    pcall(function() ping = math.floor(localPlayer:GetNetworkPing() * 1000) end)
    
    -- Логика цветов для FPS
    local fpsColor = "#00ff00" -- Зелёный (> 30)
    if fps <= 15 then
        fpsColor = "#ff0000" -- Красный (15 и меньше)
    elseif fps <= 30 then
        fpsColor = "#ffff00" -- Жёлтый (30 - 16)
    end
    
    -- Логика цветов для Пинга
    local pingColor = "#00ff00" -- Зелёный (< 100)
    if ping >= 300 then
        pingColor = "#ff0000" -- Красный (300 и выше)
    elseif ping >= 100 then
        pingColor = "#ffff00" -- Жёлтый (100 - 299)
    end
    
    infoLabel.Text = string.format("Game: %s\nFPS: <font color=\"%s\">%d</font> | Ping: <font color=\"%s\">%d ms</font>", placeName, fpsColor, fps, pingColor, ping)
end)

local aimEnabled = false
aimButton.MouseButton1Click:Connect(function()
    aimEnabled = not aimEnabled
    crosshairGui.Enabled = aimEnabled
    aimButton.Text = aimEnabled and "Aim: ON" or "Aim: OFF"
    aimButton.BackgroundColor3 = aimEnabled and Color3.fromRGB(0, 160, 255) or Color3.fromRGB(0, 100, 200)
end)

local aimlockEnabled = false
aimlockButton.MouseButton1Click:Connect(function()
    aimlockEnabled = not aimlockEnabled
    aimlockButton.Text = aimlockEnabled and "AimLock: ON" or "AimLock: OFF"
    aimlockButton.BackgroundColor3 = aimlockEnabled and Color3.fromRGB(0, 160, 255) or Color3.fromRGB(0, 100, 200)
end)

RunService.RenderStepped:Connect(function()
    if aimlockEnabled then
        local target, shortestDistance = nil, math.huge
        local char = localPlayer.Character
        local rootPart = char and char:FindFirstChild("HumanoidRootPart")
        
        if rootPart then
            for _, player in ipairs(Players:GetPlayers()) do
                if player ~= localPlayer and player.Character then
                    local humanoid = player.Character:FindFirstChild("Humanoid")
                    local enemyRoot = player.Character:FindFirstChild("HumanoidRootPart")
                    if humanoid and humanoid.Health > 0 and enemyRoot then
                        local distance = (enemyRoot.Position - rootPart.Position).Magnitude
                        if distance < shortestDistance then
                            shortestDistance = distance
                            target = enemyRoot
                        end
                    end
                end
            end
            if target then 
                Camera.CFrame = CFrame.new(Camera.CFrame.Position, target.Position) 
            end
        end
    end
end)

local powersEnabled = false
local defaultWalkSpeed = 16
local defaultJump = 50

powersButton.MouseButton1Click:Connect(function()
    powersEnabled = not powersEnabled
    powersButton.Text = powersEnabled and "2x Powers: ON" or "2x Powers: OFF"
    powersButton.BackgroundColor3 = powersEnabled and Color3.fromRGB(0, 160, 255) or Color3.fromRGB(0, 100, 200)
    
    local char = localPlayer.Character
    if char and char:FindFirstChild("Humanoid") then
        local hum = char.Humanoid
        if powersEnabled then
            defaultWalkSpeed = hum.WalkSpeed
            hum.WalkSpeed = defaultWalkSpeed * 2
            
            defaultJump = hum.UseJumpPower and hum.JumpPower or hum.JumpHeight
            if hum.UseJumpPower then
                hum.JumpPower = defaultJump * 2
            else
                hum.JumpHeight = defaultJump * 2
            end
        else
            hum.WalkSpeed = defaultWalkSpeed
            if hum.UseJumpPower then
                hum.JumpPower = defaultJump
            else
                hum.JumpHeight = defaultJump
            end
        end
    end
end)

local brightEnabled = false
local brightLight = nil
brightButton.MouseButton1Click:Connect(function()
    brightEnabled = not brightEnabled
    brightButton.Text = brightEnabled and "Full Bright: ON" or "Full Bright: OFF"
    brightButton.BackgroundColor3 = brightEnabled and Color3.fromRGB(0, 160, 255) or Color3.fromRGB(0, 100, 200)
    Lighting.Brightness = brightEnabled and 2 or 1
    Lighting.GlobalShadows = not brightEnabled
    if brightEnabled then
        local char = localPlayer.Character
        if char and char:FindFirstChild("Head") then
            brightLight = Instance.new("PointLight", char.Head)
            brightLight.Brightness, brightLight.Range = 10, 9999
        end
    else
        if brightLight then brightLight:Destroy(); brightLight = nil end
    end
end)

local waterWalkEnabled = false
local waterPart = nil
local waterConn = nil

waterWalkButton.MouseButton1Click:Connect(function()
    waterWalkEnabled = not waterWalkEnabled
    waterWalkButton.Text = waterWalkEnabled and "Water Walk: ON" or "Water Walk: OFF"
    waterWalkButton.BackgroundColor3 = waterWalkEnabled and Color3.fromRGB(0, 160, 255) or Color3.fromRGB(0, 100, 200)
    
    if waterWalkEnabled then
        waterPart = Instance.new("Part")
        waterPart.Name = "WaterWalkPlatform"
        waterPart.Size = Vector3.new(20, 0.6, 20)
        waterPart.Anchored = true
        waterPart.CanCollide = true
        waterPart.Transparency = 0.4
        waterPart.BrickColor = BrickColor.new("Cyan")
        waterPart.Parent = Workspace
        
        waterConn = RunService.RenderStepped:Connect(function()
            if not waterWalkEnabled or not waterPart then return end
            local char = localPlayer.Character
            if char and char:FindFirstChild("HumanoidRootPart") then
                local root = char.HumanoidRootPart
                
                local ignoreList = {char, waterPart}
                for _, p in ipairs(Players:GetPlayers()) do
                    if p.Character then
                        table.insert(ignoreList, p.Character)
                    end
                end
                
                local rayParams = RaycastParams.new()
                rayParams.FilterDescendantsInstances = ignoreList
                rayParams.FilterType = Enum.RaycastFilterType.Exclude
                
                local rayResult = Workspace:Raycast(root.Position, Vector3.new(0, -30, 0), rayParams)
                
                if rayResult then
                    waterPart.Position = Vector3.new(root.Position.X, rayResult.Position.Y - 1, root.Position.Z)
                    waterPart.CanCollide = true
                    waterPart.Transparency = 0.4
                else
                    waterPart.Position = Vector3.new(root.Position.X, -500, root.Position.Z)
                    waterPart.CanCollide = false
                    waterPart.Transparency = 1
                end
            end
        end)
    else
        if waterConn then waterConn:Disconnect(); waterConn = nil end
        if waterPart then waterPart:Destroy(); waterPart = nil end
    end
end)

local interactiveEspEnabled = false
local interactiveHighlights = {}
local interactiveScanTask = nil

local function updateInteractiveESP()
    local char = localPlayer.Character
    local root = char and char:FindFirstChild("HumanoidRootPart")
    
    for _, obj in ipairs(Workspace:GetDescendants()) do
        if obj:IsA("BasePart") then
            local isCharacterPart = false
            for _, player in ipairs(Players:GetPlayers()) do
                if player.Character and obj:IsDescendantOf(player.Character) then
                    isCharacterPart = true
                    break
                end
            end
            
            if not isCharacterPart then
                local hasClick = obj:FindFirstChildWhichIsA("ClickDetector") or obj:FindFirstChildWhichIsA("ProximityPrompt")
                local nameLower = obj.Name:lower()
                
                local isSpecialButton = nameLower:find("button") or nameLower:find("switch") or 
                                        nameLower:find("pad") or nameLower:find("touch") or 
                                        nameLower:find("lock") or nameLower:find("light") or 
                                        nameLower:find("door") or nameLower:find("key")
                
                if hasClick or isSpecialButton then
                    local inRange = false
                    if root then
                        inRange = (obj.Position - root.Position).Magnitude <= 50
                    end
                    
                    if interactiveEspEnabled and inRange then
                        local hl = interactiveHighlights[obj]
                        if not hl or not hl.Parent then
                            hl = Instance.new("Highlight")
                            hl.Adornee = obj
                            hl.Parent = obj
                            hl.DepthMode = Enum.HighlightDepthMode.AlwaysOnTop
                            hl.FillTransparency = 1
                            hl.OutlineTransparency = 0
                            
                            if hasClick then
                                hl.OutlineColor = Color3.fromRGB(0, 255, 0)
                            else
                                hl.OutlineColor = Color3.fromRGB(255, 0, 0)
                            end
                            interactiveHighlights[obj] = hl
                        end
                        hl.Enabled = true
                    else
                        local hl = interactiveHighlights[obj]
                        if hl then
                            hl.Enabled = false
                        end
                    end
                end
            end
        end
    end
end

interactiveEspButton.MouseButton1Click:Connect(function()
    interactiveEspEnabled = not interactiveEspEnabled
    interactiveEspButton.Text = interactiveEspEnabled and "Interactive ESP: ON" or "Interactive ESP: OFF"
    interactiveEspButton.BackgroundColor3 = interactiveEspEnabled and Color3.fromRGB(0, 160, 255) or Color3.fromRGB(0, 100, 200)
    
    if interactiveEspEnabled then
        if not interactiveScanTask then
            interactiveScanTask = task.spawn(function()
                while interactiveEspEnabled do
                    updateInteractiveESP()
                    task.wait(0.5)
                end
                interactiveScanTask = nil
            end)
        end
    else
        for _, hl in pairs(interactiveHighlights) do
            if hl and hl.Parent then
                hl.Enabled = false
            end
        end
    end
end)

local espEnabledState = false
local ESPCache = {}

local function CreateESP(player)
    if player == localPlayer then return end
    local esp = {
        Highlight = Instance.new("Highlight"),
        Billboard = Instance.new("BillboardGui"),
        NameLabel = Instance.new("TextLabel"),
        HealthBarBg = Instance.new("Frame"),
        HealthBar = Instance.new("Frame")
    }
    esp.Highlight.FillTransparency, esp.Highlight.OutlineTransparency = 0.5, 0
    esp.Highlight.DepthMode = Enum.HighlightDepthMode.AlwaysOnTop
    esp.Highlight.FillColor, esp.Highlight.OutlineColor = Color3.new(1,1,1), Color3.new(1,1,1)
    esp.Highlight.Enabled = false
    
    esp.Billboard.Size, esp.Billboard.StudsOffset, esp.Billboard.AlwaysOnTop = UDim2.new(0, 120, 0, 40), Vector3.new(0, 3, 0), true
    esp.Billboard.Enabled = false
    
    esp.NameLabel.Size, esp.NameLabel.BackgroundTransparency = UDim2.new(1, 0, 0, 20), 1
    esp.NameLabel.TextColor3, esp.NameLabel.Font, esp.NameLabel.TextSize, esp.NameLabel.Text = Color3.new(1,1,1), Enum.Font.GothamBold, 12, player.Name
    esp.NameLabel.Parent = esp.Billboard
    
    esp.HealthBarBg.Size, esp.HealthBarBg.Position, esp.HealthBarBg.BackgroundColor3, esp.HealthBarBg.BorderSizePixel = UDim2.new(0.8, 0, 0, 4), UDim2.new(0.1, 0, 0, 22), Color3.new(0,0,0), 0
    esp.HealthBarBg.Parent = esp.Billboard
    
    esp.HealthBar.Size, esp.HealthBar.BackgroundColor3, esp.HealthBar.BorderSizePixel = UDim2.new(1, 0, 1, 0), Color3.new(0,1,0), 0
    esp.HealthBar.Parent = esp.HealthBarBg
    
    ESPCache[player] = esp
    
    player.CharacterAdded:Connect(function(char)
        esp.Highlight.Parent = char
        local head = char:WaitForChild("Head", 5)
        if head then esp.Billboard.Adornee = head; esp.Billboard.Parent = char end
    end)
    if player.Character then
        esp.Highlight.Parent = player.Character
        local head = player.Character:FindFirstChild("Head")
        if head then esp.Billboard.Adornee = head; esp.Billboard.Parent = player.Character end
    end
end

Players.PlayerAdded:Connect(CreateESP)
Players.PlayerRemoving:Connect(function(p)
    if ESPCache[p] then
        if ESPCache[p].Highlight then ESPCache[p].Highlight:Destroy() end
        if ESPCache[p].Billboard then ESPCache[p].Billboard:Destroy() end
        ESPCache[p] = nil
    end
end)
for _, p in ipairs(Players:GetPlayers()) do CreateESP(p) end

RunService.RenderStepped:Connect(function()
    local myChar = localPlayer.Character
    local myRoot = myChar and myChar:FindFirstChild("HumanoidRootPart")
    
    for player, esp in pairs(ESPCache) do
        local char = player.Character
        if espEnabledState and char and char:FindFirstChild("Humanoid") and char:FindFirstChild("HumanoidRootPart") then
            local hum = char.Humanoid
            esp.Highlight.Enabled, esp.Billboard.Enabled = true, true
            
            if hum.MaxHealth > 0 then
                local hpPercent = math.clamp(hum.Health / hum.MaxHealth, 0, 1)
                esp.HealthBar.Size = UDim2.new(hpPercent, 0, 1, 0)
            end
            
            if myRoot then
                local distance = math.floor((char.HumanoidRootPart.Position - myRoot.Position).Magnitude)
                esp.NameLabel.Text = string.format("%s [%d studs]", player.Name, distance)
            else
                esp.NameLabel.Text = player.Name
            end
        else
            esp.Highlight.Enabled, esp.Billboard.Enabled = false, false
        end
    end
end)

espButton.MouseButton1Click:Connect(function()
    espEnabledState = not espEnabledState
    espButton.Text = espEnabledState and "ESP: ON" or "ESP: OFF"
    espButton.BackgroundColor3 = espEnabledState and Color3.fromRGB(0, 160, 255) or Color3.fromRGB(0, 100, 200)
end)
INFO