local Players = game:GetService("Players")
local RS = game:GetService("RunService")
local CG = game:GetService("CoreGui")
local Lighting = game:GetService("Lighting")
local LP = Players.LocalPlayer
local Cam = workspace.CurrentCamera
--// 1. THE "AMONG US" RGB TOGGLE BUTTON
if CG:FindFirstChild("ViperOneShot") then CG.ViperOneShot:Destroy() end
local UI = Instance.new("ScreenGui", CG); UI.Name = "ViperOneShot"
local TogBtn = Instance.new("TextButton", UI)
TogBtn.Size = UDim2.new(0, 48, 0, 48)
TogBtn.Position = UDim2.new(0, 10, 0.5, -24) -- MIDDLE LEFT
TogBtn.BackgroundColor3 = Color3.new(0,0,0)
TogBtn.BackgroundTransparency = 0.5
TogBtn.Text = "🐍"
TogBtn.TextColor3 = Color3.new(1,1,1)
TogBtn.TextSize = 25
TogBtn.Font = Enum.Font.SourceSansBold
Instance.new("UICorner", TogBtn).CornerRadius = UDim.new(0, 10)
local ViperTogStroke = Instance.new("UIStroke", TogBtn)
ViperTogStroke.Thickness = 2.5
ViperTogStroke.ApplyStrokeMode = Enum.ApplyStrokeMode.Border
--// 2. MAIN HUB & TITLE BANNER
local Main = Instance.new("Frame", UI)
Main.Size = UDim2.new(0, 420, 0, 320)
Main.Position = UDim2.new(0.5, -210, 0.5, -160)
Main.BackgroundColor3 = Color3.fromRGB(15, 15, 20)
Main.BackgroundTransparency = 0.5
Main.Visible = false
Main.Active = true; Main.Draggable = true
TogBtn.MouseButton1Click:Connect(function() Main.Visible = not Main.Visible end)
local MainMenuStroke = Instance.new("UIStroke", Main); MainMenuStroke.Thickness = 3; MainMenuStroke.ApplyStrokeMode = Enum.ApplyStrokeMode.Border
-- THE TITLE BANNER (ADDED BACK!)
local Title = Instance.new("TextLabel", Main)
Title.Size = UDim2.new(1, 0, 0, 30)
Title.BackgroundColor3 = Color3.fromRGB(5, 5, 5)
Title.BackgroundTransparency = 0.2
Title.Text = "ONE Scope"
Title.TextColor3 = Color3.new(1, 1, 1)
Title.Font = "Arcade"
Title.TextSize = 16
Title.TextXAlignment = Enum.TextXAlignment.Left
Title.BorderSizePixel = 0
--// 3. TAB SYSTEM
local TabPanel = Instance.new("Frame", Main)
TabPanel.Size = UDim2.new(0, 100, 1, -30)
TabPanel.Position = UDim2.new(0, 0, 0, 30) -- Moved down for Title
TabPanel.BackgroundColor3 = Color3.new(0,0,0)
TabPanel.BackgroundTransparency = 0.2
local Content = Instance.new("Frame", Main)
Content.Size = UDim2.new(1, -110, 1, -40)
Content.Position = UDim2.new(0, 105, 0, 35) -- Moved down for Title
Content.BackgroundTransparency = 1
local Tabs = {}
local function CreateTab(name, isFirst)
local btn = Instance.new("TextButton", TabPanel)
btn.Size = UDim2.new(1, -10, 0, 35); btn.Position = UDim2.new(0, 5, 0, #TabPanel:GetChildren() * 40)
btn.Text = name; btn.Font = "Arcade"; btn.TextColor3 = Color3.new(1,1,1)
btn.BackgroundColor3 = isFirst and Color3.fromRGB(180, 0, 0) or Color3.fromRGB(30, 30, 35)
Instance.new("UICorner", btn).CornerRadius = UDim.new(0, 5)
local container = Instance.new("ScrollingFrame", Content)
container.Size = UDim2.new(1, 0, 1, 0); container.Visible = isFirst; container.BackgroundTransparency = 1; container.ScrollBarThickness = 2
Instance.new("UIListLayout", container).Padding = UDim.new(0, 5)
btn.MouseButton1Click:Connect(function()
for _, v in pairs(Tabs) do v.btn.BackgroundColor3 = Color3.fromRGB(30, 30, 35); v.con.Visible = false end
btn.BackgroundColor3 = Color3.fromRGB(180, 0, 0); container.Visible = true
end)
Tabs[name] = {btn = btn, con = container}; return container
end
local CombatTab = CreateTab("COMBAT", true); local VisTab = CreateTab("VISUALS", false); local MiscTab = CreateTab("MISC", false); local PotatoTab = CreateTab("FPS", false)
--// 4. FEATURE STATE TRACKER & UI BUILDER
local State = {Aim = false, VisCheck = true, Strength = 50, Box = false, Tracer = false, Dist = false, Bhop = false}
local ESP_Drawings = {}
local function AddToggle(parent, txt, var)
local btn = Instance.new("TextButton", parent)
btn.Size = UDim2.new(1, -5, 0, 32); btn.BackgroundColor3 = Color3.fromRGB(40, 40, 45); btn.Text = txt .. ": OFF"; btn.TextColor3 = Color3.new(1,0,0); btn.Font = "Arcade"
Instance.new("UICorner", btn).CornerRadius = UDim.new(0, 6)
btn.MouseButton1Click:Connect(function()
State[var] = not State[var]
btn.Text = txt .. ": " .. (State[var] and "ON" or "OFF")
btn.TextColor3 = State[var] and Color3.new(0,1,0) or Color3.new(1,0,0)
end)
end
-- POPULATE TABS
AddToggle(CombatTab, "AIMBOT", "Aim")
AddToggle(CombatTab, "VISIBILITY", "VisCheck")
local sBtn = Instance.new("TextButton", CombatTab)
sBtn.Size = UDim2.new(1,-5,0,32); sBtn.BackgroundColor3 = Color3.fromRGB(50, 50, 55)
sBtn.Text = "AIM STRENGTH: " .. State.Strength; sBtn.TextColor3 = Color3.new(1,1,1); sBtn.Font = "Arcade"
Instance.new("UICorner", sBtn).CornerRadius = UDim.new(0, 6)
sBtn.MouseButton1Click:Connect(function()
State.Strength = State.Strength + 10;
if State.Strength > 100 then State.Strength = 10 end;
sBtn.Text = "AIM STRENGTH: " .. State.Strength
end)
AddToggle(VisTab, "BOX ESP", "Box"); AddToggle(VisTab, "TRACERS", "Tracer"); AddToggle(VisTab, "DISTANCE", "Dist"); AddToggle(MiscTab, "AUTO-BHOP", "Bhop")
-- AGGRESSIVE POTATO MODE
local pBtn = Instance.new("TextButton", PotatoTab); pBtn.Size = UDim2.new(1,-5,0,40); pBtn.Text = "ACTIVATE POTATO"; pBtn.BackgroundColor3 = Color3.fromRGB(200,0,0); pBtn.Font = "Arcade"; pBtn.TextColor3 = Color3.new(1,1,1)
Instance.new("UICorner", pBtn).CornerRadius = UDim.new(0, 6)
pBtn.MouseButton1Click:Connect(function()
for _, v in pairs(workspace:GetDescendants()) do
if v:IsA("BasePart") then v.Material = Enum.Material.SmoothPlastic; v.Reflectance = 0
elseif v:IsA("Decal") or v:IsA("Texture") or v:IsA("SurfaceAppearance") then v:Destroy() end
end
Lighting.GlobalShadows = false; Lighting.FogEnd = 9e9
for _, v in pairs(Lighting:GetDescendants()) do if v:IsA("PostEffect") or v:IsA("Atmosphere") then v.Enabled = false end end
pBtn.Text = "POTATO ON ✅"; pBtn.BackgroundColor3 = Color3.fromRGB(0, 200, 0)
end)
--// 5. THE ENGINE (VISIBILITY + ESP)
local function IsVisible(targetPart, character)
if not State.VisCheck then return true end
local rParams = RaycastParams.new(); rParams.FilterDescendantsInstances = {LP.Character, character}; rParams.FilterType = Enum.RaycastFilterType.Exclude; rParams.IgnoreWater = true
return not workspace:Raycast(Cam.CFrame.Position, targetPart.Position - Cam.CFrame.Position, rParams)
end
local function GetDrawings(player)
if not ESP_Drawings[player] then
ESP_Drawings[player] = {Box = Drawing.new("Square"), Tracer = Drawing.new("Line"), Dist = Drawing.new("Text")}
ESP_Drawings[player].Box.Thickness = 1.5; ESP_Drawings[player].Box.Filled = false
ESP_Drawings[player].Tracer.Thickness = 1.5
ESP_Drawings[player].Dist.Size = 16; ESP_Drawings[player].Dist.Center = true
end
return ESP_Drawings[player]
end
--// 6. THE RENDER LOOP (2X RGB)
RS.RenderStepped:Connect(function()
local rgb = Color3.fromHSV(tick() % 5 / 5, 1, 1)
MainMenuStroke.Color = rgb
ViperTogStroke.Color = rgb
if State.Bhop and LP.Character and LP.Character:FindFirstChild("Humanoid") then
if LP.Character.Humanoid.MoveDirection.Magnitude > 0 and LP.Character.Humanoid.FloorMaterial ~= Enum.Material.Air then LP.Character.Humanoid.Jump = true end
end
local target, closestDist = nil, math.huge
for _, p in pairs(Players:GetPlayers()) do
if p ~= LP then
local char = p.Character; local d = GetDrawings(p)
if char and char:FindFirstChild("HumanoidRootPart") and char:FindFirstChild("Head") and char.Humanoid.Health > 0 then
local hrp = char.HumanoidRootPart; local head = char.Head
local pos, vis = Cam:WorldToViewportPoint(hrp.Position)
local headPos = Cam:WorldToViewportPoint(head.Position + Vector3.new(0, 0.5, 0)); local legPos = Cam:WorldToViewportPoint(hrp.Position - Vector3.new(0, 3, 0))
local isVis = IsVisible(head, char)
local espColor = isVis and Color3.new(0, 1, 0) or Color3.new(1, 0, 0)
if vis then
if State.Box then local hgt = math.abs(headPos.Y - legPos.Y); local wdt = hgt / 2; d.Box.Size = Vector2.new(wdt, hgt); d.Box.Position = Vector2.new(pos.X - wdt / 2, headPos.Y); d.Box.Color = espColor; d.Box.Visible = true else d.Box.Visible = false end
if State.Tracer then d.Tracer.From = Vector2.new(Cam.ViewportSize.X / 2, Cam.ViewportSize.Y); d.Tracer.To = Vector2.new(pos.X, pos.Y); d.Tracer.Color = espColor; d.Tracer.Visible = true else d.Tracer.Visible = false end
if State.Dist then d.Dist.Position = Vector2.new(pos.X, legPos.Y + 5); d.Dist.Text = "[" .. math.floor((Cam.CFrame.Position - hrp.Position).Magnitude) .. "m]"; d.Dist.Color = espColor; d.Dist.Visible = true else d.Dist.Visible = false end
if State.Aim and isVis then local mag = (Vector2.new(pos.X, pos.Y) - Vector2.new(Cam.ViewportSize.X/2, Cam.ViewportSize.Y/2)).Magnitude; if mag < closestDist then closestDist = mag; target = head end end
else d.Box.Visible = false; d.Tracer.Visible = false; d.Dist.Visible = false end
else if d then d.Box.Visible = false; d.Tracer.Visible = false; d.Dist.Visible = false end end
end
end
if State.Aim and target then Cam.CFrame = Cam.CFrame:Lerp(CFrame.new(Cam.CFrame.Position, target.Position), State.Strength / 100) end
end)
Players.PlayerRemoving:Connect(function(p)
if ESP_Drawings[p] then ESP_Drawings[p].Box:Remove(); ESP_Drawings[p].Tracer:Remove(); ESP_Drawings[p].Dist:Remove(); ESP_Drawings[p] = nil end
end)