
Hood Rivals Script – Vodka Hub silent aim (Aimbot, Keyless)
local Players = game:GetService("Players")
local UserInputService = game:GetService("UserInputService")
local RunService = game:GetService("RunService")
local HttpService = game:GetService("HttpService")
local LocalPlayer = Players.LocalPlayer
local Camera = workspace.CurrentCamera
local PlayerGui = LocalPlayer:WaitForChild("PlayerGui")
if PlayerGui:FindFirstChild("VodkaHubCast") then PlayerGui.VodkaHubCast:Destroy() end
local Theme = {
Primary = Color3.fromRGB(255, 140, 0),
Background = Color3.fromRGB(12, 12, 15),
TopBar = Color3.fromRGB(18, 18, 24),
Text = Color3.fromRGB(240, 240, 240),
SubText = Color3.fromRGB(150, 150, 160),
ElementBg = Color3.fromRGB(30, 30, 35),
OffColor = Color3.fromRGB(60, 30, 30)
}
local Settings = {
UI_Rainbow = false, AccentColor = Theme.Primary,
AimbotEnabled = true, FOVRadius = 267, FOVMode = "Mobile",
SkeletonESP = false, ESP_Box = false, ESP_Health = false, ESP_Tracker = false, ESP_Name = false, ESP_Distance = false, MaxESPDistance = 500,
SpeedEnabled = false, SpeedValue = 20, SpinEnabled = false, SpinSpeed = 30,
InfJumpEnabled = false, NoClipEnabled = false,
HitboxEnabled = false, HitboxSize = 5,
}
local RainbowUI = { Texts = {}, Toggles = {}, Sliders = {}, Tabs = {} }
local ConfigFile = "HoodRivalsConfig.json"
local function SaveConfig()
if writefile then
pcall(function()
writefile(ConfigFile, HttpService:JSONEncode(Settings))
end)
end
end
local function LoadConfig()
if isfile and isfile(ConfigFile) then
pcall(function()
local data = HttpService:JSONDecode(readfile(ConfigFile))
for k, v in pairs(data) do
if Settings[k] ~= nil then Settings[k] = v end
end
end)
end
end
LoadConfig()
local cast = nil
pcall(function() cast = require(game.ReplicatedStorage:WaitForChild("SimpleCast")) end)
local FOVCircle
pcall(function()
FOVCircle = Drawing.new("Circle")
FOVCircle.Thickness = 1.5; FOVCircle.Color = Settings.AccentColor; FOVCircle.Filled = false; FOVCircle.Transparency = 1; FOVCircle.Visible = true
end)
local function GetFOVCenter()
if Settings.FOVMode == "PC" then return UserInputService:GetMouseLocation()
else return Vector2.new(Camera.ViewportSize.X / 2, Camera.ViewportSize.Y / 2) end
end
local AutoTarget = nil
local function GetClosestEnemy()
local char = LocalPlayer.Character
if not char or not char:FindFirstChild("HumanoidRootPart") then return nil end
local center = GetFOVCenter()
local closest, shortest = nil, Settings.FOVRadius
for _, plr in ipairs(Players:GetPlayers()) do
if plr ~= LocalPlayer and plr.Character and plr.Character:FindFirstChild("HumanoidRootPart") then
local hum = plr.Character:FindFirstChildOfClass("Humanoid")
if hum and hum.Health > 0 and plr.Team ~= LocalPlayer.Team then
local screenPos, onScreen = Camera:WorldToViewportPoint(plr.Character.HumanoidRootPart.Position)
if onScreen then
local dist = (Vector2.new(screenPos.X, screenPos.Y) - center).Magnitude
if dist < shortest then shortest = dist; closest = plr end
end
end
end
end
return closest
end
if cast and cast.Fire then
local origFire = cast.Fire
cast.Fire = function(self, origin, direction, speed, data)
if Settings.AimbotEnabled and AutoTarget and AutoTarget.Character then
local targetRoot = AutoTarget.Character:FindFirstChild("HumanoidRootPart")
if targetRoot then
local v = targetRoot.Position - origin
if v.Magnitude > 0.001 then direction = v.Unit end
end
end
return origFire(self, origin, direction, speed, data)
end
end
UserInputService.JumpRequest:Connect(function()
if Settings.InfJumpEnabled then
local char = LocalPlayer.Character
if char then
local hum = char:FindFirstChildOfClass("Humanoid")
if hum then
hum:ChangeState(Enum.HumanoidStateType.Jumping)
end
end
end
end)
RunService.Stepped:Connect(function()
if Settings.NoClipEnabled and LocalPlayer.Character then
for _, v in pairs(LocalPlayer.Character:GetDescendants()) do
if v:IsA("BasePart") and v.CanCollide then
v.CanCollide = false
end
end
end
end)
local r15Bones = {{"Head", "UpperTorso"}, {"UpperTorso", "LowerTorso"}, {"UpperTorso", "LeftUpperArm"}, {"LeftUpperArm", "LeftLowerArm"}, {"UpperTorso", "RightUpperArm"}, {"RightUpperArm", "RightLowerArm"}, {"LowerTorso", "LeftUpperLeg"}, {"LeftUpperLeg", "LeftLowerLeg"}, {"LowerTorso", "RightUpperLeg"}, {"RightUpperLeg", "RightLowerLeg"}}
local r6Bones = {{"Head", "Torso"}, {"Torso", "Left Arm"}, {"Torso", "Right Arm"}, {"Torso", "Left Leg"}, {"Torso", "Right Leg"}}
local espCache = {}
local originalHitboxSizes = {}
local function CreateESP(plr)
if plr == LocalPlayer or espCache[plr] then return end
local skeletonLines = {}
for i = 1, 15 do local line = Drawing.new("Line"); line.Thickness = 1.5; line.Color = Settings.AccentColor; line.Transparency = 1; line.Visible = false; table.insert(skeletonLines, line) end
local boxLines = {}
for i = 1, 8 do
local line = Drawing.new("Line"); line.Thickness = 1.5; line.Color = Settings.AccentColor; line.Visible = false; table.insert(boxLines, line)
end
local healthBg = Drawing.new("Line"); healthBg.Thickness = 3; healthBg.Color = Color3.fromRGB(0, 0, 0); healthBg.Visible = false
local healthBar = Drawing.new("Line"); healthBar.Thickness = 3; healthBar.Color = Color3.fromRGB(0, 255, 0); healthBar.Visible = false
local tracker = Drawing.new("Line"); tracker.Thickness = 1.5; tracker.Color = Settings.AccentColor; tracker.Visible = false
local nameText = Drawing.new("Text"); nameText.Size = 14; nameText.Center = true; nameText.Outline = true; nameText.Color = Color3.fromRGB(255, 255, 255); nameText.Visible = false
local distText = Drawing.new("Text"); distText.Size = 12; distText.Center = true; distText.Outline = true; distText.Color = Settings.AccentColor; distText.Visible = false
espCache[plr] = {Skeleton = skeletonLines, Box = boxLines, HealthBg = healthBg, Health = healthBar, Tracker = tracker, NameTxt = nameText, DistTxt = distText}
end
local function RemoveESP(plr)
if espCache[plr] then
for _, line in pairs(espCache[plr].Skeleton) do line:Remove() end
for _, line in pairs(espCache[plr].Box) do line:Remove() end
espCache[plr].HealthBg:Remove(); espCache[plr].Health:Remove(); espCache[plr].Tracker:Remove()
espCache[plr].NameTxt:Remove(); espCache[plr].DistTxt:Remove()
espCache[plr] = nil
end
end
for _, p in pairs(Players:GetPlayers()) do CreateESP(p) end
Players.PlayerAdded:Connect(CreateESP)
Players.PlayerRemoving:Connect(RemoveESP)
local ScreenGui = Instance.new("ScreenGui")
ScreenGui.Name = "VodkaHubCast"; ScreenGui.Parent = PlayerGui; ScreenGui.ResetOnSpawn = false; ScreenGui.IgnoreGuiInset = true; ScreenGui.DisplayOrder = 999
local ToggleBtn = Instance.new("TextButton")
ToggleBtn.Parent = ScreenGui; ToggleBtn.Size = UDim2.new(0, 45, 0, 45); ToggleBtn.Position = UDim2.new(0, 20, 0, 200)
ToggleBtn.Text = "VH"; ToggleBtn.TextColor3 = Settings.AccentColor; ToggleBtn.BackgroundColor3 = Theme.Background; ToggleBtn.Font = Enum.Font.GothamBold; ToggleBtn.TextSize = 18; ToggleBtn.BorderSizePixel = 0
local TCorner = Instance.new("UICorner"); TCorner.Parent = ToggleBtn; TCorner.CornerRadius = UDim.new(1, 0)
local TStroke = Instance.new("UIStroke"); TStroke.Color = Settings.AccentColor; TStroke.Thickness = 2; TStroke.Parent = ToggleBtn
local Glow = Instance.new("Frame"); Glow.Parent = ScreenGui; Glow.Size = UDim2.new(0, 520, 0, 330); Glow.Position = UDim2.new(0.5, -260, 0.5, -165)
Glow.BackgroundColor3 = Settings.AccentColor; Glow.BackgroundTransparency = 0.85; Glow.BorderSizePixel = 0; Glow.ZIndex = 1; Glow.Visible = false
local GlowCorner = Instance.new("UICorner"); GlowCorner.CornerRadius = UDim.new(0, 16); GlowCorner.Parent = Glow
local MainFrame = Instance.new("Frame")
MainFrame.Parent = ScreenGui; MainFrame.Size = UDim2.new(0, 500, 0, 310); MainFrame.Position = UDim2.new(0.5, -250, 0.5, -155)
MainFrame.BackgroundColor3 = Theme.Background; MainFrame.BorderSizePixel = 0; MainFrame.Visible = false; MainFrame.Active = true; MainFrame.ZIndex = 2
local MCorner = Instance.new("UICorner"); MCorner.Parent = MainFrame; MCorner.CornerRadius = UDim.new(0, 10)
local MStroke = Instance.new("UIStroke"); MStroke.Color = Color3.fromRGB(45, 45, 55); MStroke.Thickness = 1.5; MStroke.Parent = MainFrame
ToggleBtn.MouseButton1Click:Connect(function() MainFrame.Visible = not MainFrame.Visible; Glow.Visible = MainFrame.Visible end)
local TopBar = Instance.new("Frame")
TopBar.Parent = MainFrame; TopBar.Size = UDim2.new(1, 0, 0, 40); TopBar.BackgroundColor3 = Theme.TopBar; TopBar.BorderSizePixel = 0; TopBar.ZIndex = 10
local TopCorner = Instance.new("UICorner"); TopCorner.Parent = TopBar; TopCorner.CornerRadius = UDim.new(0, 10)
local TitleLabel = Instance.new("TextLabel")
TitleLabel.Parent = TopBar; TitleLabel.Size = UDim2.new(0, 100, 1, 0); TitleLabel.Position = UDim2.new(0, 15, 0, 0)
TitleLabel.Text = "VODKA HUB"; TitleLabel.TextColor3 = Settings.AccentColor; TitleLabel.BackgroundTransparency = 1; TitleLabel.Font = Enum.Font.GothamBlack; TitleLabel.TextSize = 14; TitleLabel.TextXAlignment = Enum.TextXAlignment.Left; TitleLabel.ZIndex = 11
table.insert(RainbowUI.Texts, TitleLabel)
local dragging, dragStart, startPos
TopBar.InputBegan:Connect(function(input)
if input.UserInputType == Enum.UserInputType.MouseButton1 or input.UserInputType == Enum.UserInputType.Touch then
dragging = true; dragStart = input.Position; startPos = MainFrame.Position
end
end)
UserInputService.InputChanged:Connect(function(input)
if dragging and (input.UserInputType == Enum.UserInputType.MouseMovement or input.UserInputType == Enum.UserInputType.Touch) then
local delta = input.Position - dragStart
MainFrame.Position = UDim2.new(startPos.X.Scale, startPos.X.Offset + delta.X, startPos.Y.Scale, startPos.Y.Offset + delta.Y)
Glow.Position = UDim2.new(startPos.X.Scale, startPos.X.Offset + delta.X - 10, startPos.Y.Scale, startPos.Y.Offset + delta.Y - 10)
end
end)
UserInputService.InputEnded:Connect(function(input)
if input.UserInputType == Enum.UserInputType.MouseButton1 or input.UserInputType == Enum.UserInputType.Touch then dragging = false end
end)
local TabContainer = Instance.new("Frame")
TabContainer.Parent = TopBar; TabContainer.Size = UDim2.new(0, 300, 1, 0); TabContainer.Position = UDim2.new(0, 130, 0, 0); TabContainer.BackgroundTransparency = 1; TabContainer.ZIndex = 11
local TabLayout = Instance.new("UIListLayout")
TabLayout.Parent = TabContainer; TabLayout.FillDirection = Enum.FillDirection.Horizontal; TabLayout.SortOrder = Enum.SortOrder.LayoutOrder; TabLayout.Padding = UDim.new(0, 15); TabLayout.VerticalAlignment = Enum.VerticalAlignment.Center
local function CreateTopTab(name, order)
local btn = Instance.new("TextButton")
btn.Parent = TabContainer; btn.Size = UDim2.new(0, 50, 1, 0); btn.Text = name; btn.TextColor3 = Theme.SubText; btn.BackgroundTransparency = 1; btn.Font = Enum.Font.GothamBold; btn.TextSize = 12; btn.LayoutOrder = order; btn.ZIndex = 12
table.insert(RainbowUI.Tabs, btn)
return btn
end
local TabCombat = CreateTopTab("Combat", 1)
local TabVisuals = CreateTopTab("Visuals", 2)
local TabPlayer = CreateTopTab("Player", 3)
local TabHitbox = CreateTopTab("Hitbox", 4)
local TabSettings = CreateTopTab("Settings", 5)
local CloseBtn = Instance.new("TextButton")
CloseBtn.Parent = TopBar; CloseBtn.Size = UDim2.new(0, 40, 1, 0); CloseBtn.Position = UDim2.new(1, -40, 0, 0); CloseBtn.Text = "X"; CloseBtn.TextColor3 = Color3.fromRGB(255, 80, 80); CloseBtn.BackgroundTransparency = 1; CloseBtn.Font = Enum.Font.GothamBold; CloseBtn.TextSize = 14; CloseBtn.ZIndex = 12
CloseBtn.MouseButton1Click:Connect(function() MainFrame.Visible = false; Glow.Visible = false end)
local function CreateColumn(parent, xPos)
local scroll = Instance.new("ScrollingFrame")
scroll.Parent = parent; scroll.Size = UDim2.new(0.5, -15, 1, -15); scroll.Position = UDim2.new(0, xPos, 0, 10); scroll.BackgroundTransparency = 1; scroll.BorderSizePixel = 0; scroll.ScrollBarThickness = 2; scroll.ScrollBarImageColor3 = Settings.AccentColor; scroll.CanvasSize = UDim2.new(0, 0, 0, 0); scroll.ZIndex = 5
local layout = Instance.new("UIListLayout"); layout.Parent = scroll; layout.SortOrder = Enum.SortOrder.LayoutOrder; layout.Padding = UDim.new(0, 8)
layout:GetPropertyChangedSignal("AbsoluteContentSize"):Connect(function() scroll.CanvasSize = UDim2.new(0, 0, 0, layout.AbsoluteContentSize.Y + 10) end)
return scroll
end
local function CreateSectionLabel(parent, text)
local lbl = Instance.new("TextLabel"); lbl.Parent = parent; lbl.Size = UDim2.new(1, 0, 0, 20); lbl.Text = text; lbl.TextColor3 = Settings.AccentColor; lbl.BackgroundTransparency = 1; lbl.Font = Enum.Font.GothamBold; lbl.TextSize = 11; lbl.TextXAlignment = Enum.TextXAlignment.Left; lbl.ZIndex = 6
table.insert(RainbowUI.Texts, lbl)
return lbl
end
local function CreateToggle(parent, text, default, callback)
local frame = Instance.new("Frame"); frame.Parent = parent; frame.Size = UDim2.new(1, 0, 0, 32); frame.BackgroundTransparency = 1; frame.ZIndex = 6
local label = Instance.new("TextLabel"); label.Parent = frame; label.Size = UDim2.new(0.7, 0, 1, 0); label.Text = text; label.TextColor3 = Theme.Text; label.BackgroundTransparency = 1; label.Font = Enum.Font.GothamSemibold; label.TextSize = 13; label.TextXAlignment = Enum.TextXAlignment.Left; label.ZIndex = 6
local btn = Instance.new("TextButton"); btn.Parent = frame; btn.Size = UDim2.new(0, 45, 0, 22); btn.Position = UDim2.new(1, -45, 0, 5); btn.Text = default and "ON" or "OFF"; btn.BackgroundColor3 = default and Settings.AccentColor or Theme.OffColor; btn.TextColor3 = Color3.new(1,1,1); btn.Font = Enum.Font.GothamBold; btn.TextSize = 11; btn.BorderSizePixel = 0; btn.ZIndex = 7
local corner = Instance.new("UICorner"); corner.CornerRadius = UDim.new(0, 6); corner.Parent = btn
table.insert(RainbowUI.Toggles, {btn = btn})
local state = default
btn.MouseButton1Click:Connect(function()
state = not state; btn.Text = state and "ON" or "OFF"
if not Settings.UI_Rainbow then btn.BackgroundColor3 = state and Settings.AccentColor or Theme.OffColor end
if callback then callback(state) end
SaveConfig()
end)
return frame
end
local function CreateSlider(parent, text, min, max, default, callback)
local frame = Instance.new("Frame"); frame.Parent = parent; frame.Size = UDim2.new(1, 0, 0, 42); frame.BackgroundTransparency = 1; frame.ZIndex = 6
local label = Instance.new("TextLabel"); label.Parent = frame; label.Size = UDim2.new(1, 0, 0, 18); label.Text = text .. ": " .. tostring(default); label.TextColor3 = Theme.Text; label.BackgroundTransparency = 1; label.Font = Enum.Font.GothamSemibold; label.TextSize = 12; label.TextXAlignment = Enum.TextXAlignment.Left; label.ZIndex = 6
local bar = Instance.new("Frame"); bar.Parent = frame; bar.Size = UDim2.new(1, -5, 0, 6); bar.Position = UDim2.new(0, 0, 0, 26); bar.BackgroundColor3 = Theme.ElementBg; bar.BorderSizePixel = 0; bar.ZIndex = 6
local barCorner = Instance.new("UICorner"); barCorner.CornerRadius = UDim.new(1, 0); barCorner.Parent = bar
local fill = Instance.new("Frame"); fill.Parent = bar; fill.Size = UDim2.new((default-min)/(max-min), 0, 1, 0); fill.BackgroundColor3 = Settings.AccentColor; fill.BorderSizePixel = 0; fill.ZIndex = 7
local fillCorner = Instance.new("UICorner"); fillCorner.CornerRadius = UDim.new(1, 0); fillCorner.Parent = fill
table.insert(RainbowUI.Sliders, fill)
local draggingSlider = false
local function update(input)
local pos = math.clamp((input.Position.X - bar.AbsolutePosition.X) / bar.AbsoluteSize.X, 0, 1)
local val = math.floor(min + ((max - min) * pos))
fill.Size = UDim2.new(pos, 0, 1, 0); label.Text = text .. ": " .. tostring(val)
if callback then callback(val) end
SaveConfig()
end
bar.InputBegan:Connect(function(input) if input.UserInputType == Enum.UserInputType.MouseButton1 or input.UserInputType == Enum.UserInputType.Touch then draggingSlider = true end end)
UserInputService.InputEnded:Connect(function(input) if input.UserInputType == Enum.UserInputType.MouseButton1 or input.UserInputType == Enum.UserInputType.Touch then draggingSlider = false end end)
UserInputService.InputChanged:Connect(function(input) if draggingSlider and (input.UserInputType == Enum.UserInputType.MouseMovement or input.UserInputType == Enum.UserInputType.Touch) then update(input) end end)
return frame
end
local function CreateActionBtn(parent, text, callback)
local btn = Instance.new("TextButton"); btn.Parent = parent; btn.Size = UDim2.new(1, 0, 0, 28); btn.Text = text
btn.BackgroundColor3 = Theme.ElementBg; btn.TextColor3 = Settings.AccentColor; btn.Font = Enum.Font.GothamBold; btn.TextSize = 12; btn.BorderSizePixel = 0; btn.ZIndex = 6
local corner = Instance.new("UICorner"); corner.CornerRadius = UDim.new(0, 6); corner.Parent = btn
btn.MouseButton1Click:Connect(callback)
return btn
end
local function CreateColorPalette(parent)
local paletteFrame = Instance.new("Frame"); paletteFrame.Parent = parent; paletteFrame.Size = UDim2.new(1, 0, 0, 80); paletteFrame.BackgroundColor3 = Theme.ElementBg; paletteFrame.BorderSizePixel = 0; paletteFrame.ZIndex = 6
local pCorner = Instance.new("UICorner"); pCorner.CornerRadius = UDim.new(0, 6); pCorner.Parent = paletteFrame
local grid = Instance.new("UIGridLayout"); grid.Parent = paletteFrame; grid.CellSize = UDim2.new(0, 24, 0, 24); grid.CellPadding = UDim2.new(0, 6, 0, 6)
local colors = {
Color3.fromRGB(255, 50, 50), Color3.fromRGB(255, 140, 0), Color3.fromRGB(255, 220, 0), Color3.fromRGB(50, 255, 50),
Color3.fromRGB(0, 150, 255), Color3.fromRGB(150, 0, 255), Color3.fromRGB(255, 50, 150), Color3.fromRGB(255, 255, 255)
}
for _, color in ipairs(colors) do
local btn = Instance.new("TextButton"); btn.Parent = paletteFrame; btn.BackgroundColor3 = color; btn.BorderSizePixel = 0; btn.Text = ""; btn.ZIndex = 7
local corner = Instance.new("UICorner"); corner.CornerRadius = UDim.new(0, 4); corner.Parent = btn
btn.MouseButton1Click:Connect(function()
Settings.UI_Rainbow = false
Settings.AccentColor = color
end)
end
end
local function CreatePage()
local page = Instance.new("Frame"); page.Parent = MainFrame; page.Size = UDim2.new(1, -20, 1, -50); page.Position = UDim2.new(0, 10, 0, 45); page.BackgroundTransparency = 1; page.Visible = false
return page
end
local PageCombat = CreatePage()
local PageVisuals = CreatePage()
local PagePlayer = CreatePage()
local PageHitbox = CreatePage()
local PageSettings = CreatePage()
local Pages = {
[TabCombat] = PageCombat, [TabVisuals] = PageVisuals, [TabPlayer] = PagePlayer,
[TabHitbox] = PageHitbox, [TabSettings] = PageSettings
}
local function SwitchTab(clickedTab)
for _, page in pairs(Pages) do page.Visible = false end
for tab, _ in pairs(Pages) do tab.TextColor3 = Theme.SubText end
if Pages[clickedTab] then
Pages[clickedTab].Visible = true
clickedTab.TextColor3 = Settings.AccentColor
end
end
for tab, _ in pairs(Pages) do
tab.MouseButton1Click:Connect(function() SwitchTab(tab) end)
end
SwitchTab(TabCombat)
local CombatCol1 = CreateColumn(PageCombat, 0)
local CombatCol2 = CreateColumn(PageCombat, 260)
CreateSectionLabel(CombatCol1, "SILENT AIM")
CreateToggle(CombatCol1, "Silent Aim", Settings.AimbotEnabled, function(state)
Settings.AimbotEnabled = state
end)
CreateSlider(CombatCol1, "FOV Radius", 50, 800, Settings.FOVRadius, function(val)
Settings.FOVRadius = val
end)
local FOVModeBtn
FOVModeBtn = CreateActionBtn(CombatCol2, "FOV Mode: " .. Settings.FOVMode, function()
if Settings.FOVMode == "Mobile" then Settings.FOVMode = "PC"; FOVModeBtn.Text = "FOV Mode: PC"
else Settings.FOVMode = "Mobile"; FOVModeBtn.Text = "FOV Mode: Mobile" end
SaveConfig()
end)
local VisualsCol1 = CreateColumn(PageVisuals, 0)
local VisualsCol2 = CreateColumn(PageVisuals, 260)
CreateSectionLabel(VisualsCol1, "ESP TYPES")
CreateToggle(VisualsCol1, "Skeleton ESP", Settings.SkeletonESP, function(state)
Settings.SkeletonESP = state
end)
CreateToggle(VisualsCol1, "Box ESP", Settings.ESP_Box, function(state)
Settings.ESP_Box = state
end)
CreateToggle(VisualsCol1, "Health Bar", Settings.ESP_Health, function(state)
Settings.ESP_Health = state
end)
CreateToggle(VisualsCol1, "Tracker Line", Settings.ESP_Tracker, function(state)
Settings.ESP_Tracker = state
end)
CreateSectionLabel(VisualsCol2, "TEXT INFO")
CreateToggle(VisualsCol2, "Name ESP", Settings.ESP_Name, function(state)
Settings.ESP_Name = state
end)
CreateToggle(VisualsCol2, "Distance ESP", Settings.ESP_Distance, function(state)
Settings.ESP_Distance = state
end)
CreateSlider(VisualsCol2, "Max ESP Distance", 50, 1500, Settings.MaxESPDistance, function(val)
Settings.MaxESPDistance = val
end)
local PlayerCol1 = CreateColumn(PagePlayer, 0)
local PlayerCol2 = CreateColumn(PagePlayer, 260)
CreateSectionLabel(PlayerCol1, "MOVEMENT")
CreateToggle(PlayerCol1, "Stealth Speed", Settings.SpeedEnabled, function(state)
Settings.SpeedEnabled = state
end)
CreateSlider(PlayerCol1, "Speed Value (Max 30)", 16, 30, Settings.SpeedValue, function(val)
Settings.SpeedValue = val
end)
CreateSectionLabel(PlayerCol2, "SPIN")
CreateToggle(PlayerCol2, "Spinbot", Settings.SpinEnabled, function(state)
Settings.SpinEnabled = state
end)
CreateSlider(PlayerCol2, "Spin Speed (0-65)", 0, 65, Settings.SpinSpeed, function(val)
Settings.SpinSpeed = val
end)
CreateSectionLabel(PlayerCol1, "EXPLOITS")
CreateToggle(PlayerCol1, "Infinite Jump", Settings.InfJumpEnabled, function(state)
Settings.InfJumpEnabled = state
end)
local JumpWarning = Instance.new("TextLabel"); JumpWarning.Parent = PlayerCol1; JumpWarning.Size = UDim2.new(1, 0, 0, 30); JumpWarning.BackgroundTransparency = 1; JumpWarning.TextColor3 = Color3.fromRGB(200, 100, 100); JumpWarning.Font = Enum.Font.GothamSemibold; JumpWarning.TextSize = 10; JumpWarning.TextXAlignment = Enum.TextXAlignment.Left; JumpWarning.TextWrapped = true; JumpWarning.Text = "⚠️ WARNING: If you go too high it will bring you back down. Don't abuse it too much."; JumpWarning.ZIndex = 6
CreateToggle(PlayerCol1, "No Clip", Settings.NoClipEnabled, function(state)
Settings.NoClipEnabled = state
end)
local HitboxCol1 = CreateColumn(PageHitbox, 0)
CreateSectionLabel(HitboxCol1, "HITBOX EXPANDER")
local WarningLabel = Instance.new("TextLabel"); WarningLabel.Parent = HitboxCol1; WarningLabel.Size = UDim2.new(1, 0, 0, 50); WarningLabel.BackgroundColor3 = Theme.OffColor; WarningLabel.TextColor3 = Color3.fromRGB(255, 100, 100); WarningLabel.Font = Enum.Font.GothamBold; WarningLabel.TextSize = 11; WarningLabel.TextWrapped = true; WarningLabel.Text = "⚠️ WARNING: It could take 3 to 4 taps to kill somebody because it is very strong. DOES NOT hit through walls (Character must be visible)."; WarningLabel.ZIndex = 6
local wCorner = Instance.new("UICorner"); wCorner.CornerRadius = UDim.new(0, 6); wCorner.Parent = WarningLabel
CreateToggle(HitboxCol1, "Hitbox Expander", Settings.HitboxEnabled, function(state)
Settings.HitboxEnabled = state
end)
CreateSlider(HitboxCol1, "Hitbox Size", 0, 30, Settings.HitboxSize, function(val)
Settings.HitboxSize = val
end)
local SettingsCol1 = CreateColumn(PageSettings, 0)
local SettingsCol2 = CreateColumn(PageSettings, 260)
CreateSectionLabel(SettingsCol1, "UI COLOR")
CreateColorPalette(SettingsCol1)
CreateToggle(SettingsCol1, "Rainbow UI", Settings.UI_Rainbow, function(state)
Settings.UI_Rainbow = state
end)
CreateSectionLabel(SettingsCol2, "CONFIG")
CreateActionBtn(SettingsCol2, "Save Config", function()
SaveConfig()
end)
CreateActionBtn(SettingsCol2, "Unload Hub", function()
ScreenGui:Destroy()
end)
RunService.RenderStepped:Connect(function()
if FOVCircle then
FOVCircle.Position = GetFOVCenter()
FOVCircle.Radius = Settings.FOVRadius
FOVCircle.Visible = Settings.AimbotEnabled
end
AutoTarget = GetClosestEnemy()
local char = LocalPlayer.Character
local hum = char and char:FindFirstChildOfClass("Humanoid")
local hrp = char and char:FindFirstChild("HumanoidRootPart")
if hum and hrp then
if Settings.SpeedEnabled then hum.WalkSpeed = Settings.SpeedValue end
if Settings.SpinEnabled then hrp.CFrame = hrp.CFrame * CFrame.Angles(0, math.rad(Settings.SpinSpeed), 0) end
end
for plr, cache in pairs(espCache) do
local pChar = plr.Character
local pHrp = pChar and pChar:FindFirstChild("HumanoidRootPart")
local pHead = pChar and pChar:FindFirstChild("Head")
local pHum = pChar and pChar:FindFirstChildOfClass("Humanoid")
if pChar and pHrp and pHead and pHum and pHum.Health > 0 and plr ~= LocalPlayer then
local dist = (Camera.CFrame.Position - pHrp.Position).Magnitude
if dist <= Settings.MaxESPDistance then
local screenPos, onScreen = Camera:WorldToViewportPoint(pHrp.Position)
local headPos, headOnScreen = Camera:WorldToViewportPoint(pHead.Position)
if onScreen and headOnScreen then
local height = math.abs(headPos.Y - screenPos.Y) + 15
local width = height / 1.5
local topLeft = Vector2.new(screenPos.X - (width / 2), headPos.Y - 10)
local topRight = Vector2.new(screenPos.X + (width / 2), headPos.Y - 10)
local bottomLeft = Vector2.new(screenPos.X - (width / 2), screenPos.Y + 5)
local bottomRight = Vector2.new(screenPos.X + (width / 2), screenPos.Y + 5)
local cx = width * 0.2; local cy = height * 0.2
if Settings.ESP_Box then
cache.Box[1].From = topLeft; cache.Box[1].To = Vector2.new(topLeft.X + cx, topLeft.Y)
cache.Box[2].From = topLeft; cache.Box[2].To = Vector2.new(topLeft.X, topLeft.Y + cy)
cache.Box[3].From = topRight; cache.Box[3].To = Vector2.new(topRight.X - cx, topRight.Y)
cache.Box[4].From = topRight; cache.Box[4].To = Vector2.new(topRight.X, topRight.Y + cy)
cache.Box[5].From = bottomLeft; cache.Box[5].To = Vector2.new(bottomLeft.X + cx, bottomLeft.Y)
cache.Box[6].From = bottomLeft; cache.Box[6].To = Vector2.new(bottomLeft.X, bottomLeft.Y - cy)
cache.Box[7].From = bottomRight; cache.Box[7].To = Vector2.new(bottomRight.X - cx, bottomRight.Y)
cache.Box[8].From = bottomRight; cache.Box[8].To = Vector2.new(bottomRight.X, bottomRight.Y - cy)
for _, line in pairs(cache.Box) do line.Visible = true end
else
for _, line in pairs(cache.Box) do line.Visible = false end
end
if Settings.SkeletonESP then
local bones = pChar:FindFirstChild("UpperTorso") and r15Bones or r6Bones
for i, bone in ipairs(bones) do
local p1 = pChar:FindFirstChild(bone[1])
local p2 = pChar:FindFirstChild(bone[2])
if p1 and p2 and cache.Skeleton[i] then
local s1, on1 = Camera:WorldToViewportPoint(p1.Position)
local s2, on2 = Camera:WorldToViewportPoint(p2.Position)
if on1 and on2 then
cache.Skeleton[i].From = Vector2.new(s1.X, s1.Y)
cache.Skeleton[i].To = Vector2.new(s2.X, s2.Y)
cache.Skeleton[i].Visible = true
else cache.Skeleton[i].Visible = false end
elseif cache.Skeleton[i] then cache.Skeleton[i].Visible = false end
end
else
for _, line in pairs(cache.Skeleton) do line.Visible = false end
end
if Settings.ESP_Health then
local healthPct = pHum.Health / pHum.MaxHealth
local barX = topLeft.X - 6
cache.HealthBg.From = Vector2.new(barX, topLeft.Y); cache.HealthBg.To = Vector2.new(barX, bottomLeft.Y); cache.HealthBg.Visible = true
local currentEndY = bottomLeft.Y - (height * healthPct)
cache.Health.From = Vector2.new(barX, bottomLeft.Y); cache.Health.To = Vector2.new(barX, currentEndY); cache.Health.Visible = true
cache.Health.Color = Color3.fromRGB(255 * (1 - healthPct), 255 * healthPct, 0)
else
cache.HealthBg.Visible = false; cache.Health.Visible = false
end
if Settings.ESP_Name then
cache.NameTxt.Text = plr.Name; cache.NameTxt.Position = Vector2.new(screenPos.X, headPos.Y - 25); cache.NameTxt.Visible = true
else cache.NameTxt.Visible = false end
if Settings.ESP_Distance then
cache.DistTxt.Text = math.floor(dist) .. "m"; cache.DistTxt.Position = Vector2.new(screenPos.X, screenPos.Y + 10); cache.DistTxt.Visible = true
else cache.DistTxt.Visible = false end
if Settings.ESP_Tracker then
cache.Tracker.From = Vector2.new(Camera.ViewportSize.X / 2, Camera.ViewportSize.Y / 2)
cache.Tracker.To = Vector2.new(headPos.X, headPos.Y)
cache.Tracker.Visible = true
else cache.Tracker.Visible = false end
else
for _, line in pairs(cache.Box) do line.Visible = false end
for _, line in pairs(cache.Skeleton) do line.Visible = false end
cache.HealthBg.Visible = false; cache.Health.Visible = false; cache.NameTxt.Visible = false; cache.DistTxt.Visible = false; cache.Tracker.Visible = false
end
else
for _, line in pairs(cache.Box) do line.Visible = false end
for _, line in pairs(cache.Skeleton) do line.Visible = false end
cache.HealthBg.Visible = false; cache.Health.Visible = false; cache.NameTxt.Visible = false; cache.DistTxt.Visible = false; cache.Tracker.Visible = false
end
else
for _, line in pairs(cache.Box) do line.Visible = false end
for _, line in pairs(cache.Skeleton) do line.Visible = false end
cache.HealthBg.Visible = false; cache.Health.Visible = false; cache.NameTxt.Visible = false; cache.DistTxt.Visible = false; cache.Tracker.Visible = false
end
end
local currentColor = Settings.AccentColor
if Settings.UI_Rainbow then
local hue = (tick() * 0.2) % 1
currentColor = Color3.fromHSV(hue, 1, 1)
Settings.AccentColor = currentColor
end
TitleLabel.TextColor3 = currentColor
ToggleBtn.TextColor3 = currentColor
TStroke.Color = currentColor
Glow.BackgroundColor3 = currentColor
if FOVCircle then FOVCircle.Color = currentColor end
for _, txt in pairs(RainbowUI.Texts) do txt.TextColor3 = currentColor end
for _, data in pairs(RainbowUI.Toggles) do if data.btn.Text == "ON" then data.btn.BackgroundColor3 = currentColor end end
for _, fill in pairs(RainbowUI.Sliders) do fill.BackgroundColor3 = currentColor end
if PageCombat.Visible then TabCombat.TextColor3 = currentColor
elseif PageVisuals.Visible then TabVisuals.TextColor3 = currentColor
elseif PagePlayer.Visible then TabPlayer.TextColor3 = currentColor
elseif PageHitbox.Visible then TabHitbox.TextColor3 = currentColor
elseif PageSettings.Visible then TabSettings.TextColor3 = currentColor end
end)
task.spawn(function()
while task.wait(0.1) do
for _, plr in ipairs(Players:GetPlayers()) do
if plr ~= LocalPlayer and plr.Character then
local hb = plr.Character:FindFirstChild("HeadHitbox")
if hb then
if Settings.HitboxEnabled then
if not originalHitboxSizes[hb] then originalHitboxSizes[hb] = hb.Size end
hb.Massless = true; hb.CanCollide = false; hb.CanTouch = false
hb.Size = originalHitboxSizes[hb] * Settings.HitboxSize
hb.Transparency = 0.5
else
if originalHitboxSizes[hb] then
hb.Size = originalHitboxSizes[hb]; hb.Transparency = 1; hb.CanCollide = true; hb.CanTouch = true; hb.Massless = false
originalHitboxSizes[hb] = nil
end
end
end
end
end
end
end)How to Execute Hood Rivals Script – Vodka Hub silent aim (Aimbot, Keyless)
Step 1: Copy Code: Click the Copy Code button in the viewer above to grab the clean Lua loadstring.
Step 2: Launch Executor: Open a compatible, unpatched executor. If you need one, check our Roblox Executors Directory.
Step 3: Join Experience: Launch Roblox and join Hood Rivals.
Step 4: Attach & Run: Attach/inject your executor into the Roblox process, paste the code into the script tab, and press Execute.
Created By
View Author ProfileFeatures & Information
Script Changelog (4)
Community Comments (1)
Frequently Asked Questions
How do I execute Hood Rivals Script – Vodka Hub silent aim (Aimbot, Keyless) in Roblox?
To run Hood Rivals Script – Vodka Hub silent aim (Aimbot, Keyless), copy the Lua loadstring from the code viewer above, launch Roblox and join Hood Rivals, attach a working executor (such as Potassium, Solara, or Delta from our Executors directory), paste the code into your executor console, and click Execute.
Is Hood Rivals Script – Vodka Hub silent aim (Aimbot, Keyless) keyless or does it require an access key?
Hood Rivals Script – Vodka Hub silent aim (Aimbot, Keyless) requires an access key. You can retrieve the official key directly using the Get Script Key link provided above.
Is Hood Rivals Script – Vodka Hub silent aim (Aimbot, Keyless) currently safe and working?
This script is active and operational. Always test scripts using a secondary (alt) Roblox account to safeguard your main profile against anti-cheat bans.







good one