Загрузка данных
-- VAL3RA N1GGER - ULTIMATE HUB
-- by: @zazayaga | mayfive v3.0
local Players = game:GetService("Players")
local LocalPlayer = Players.LocalPlayer
local UserInputService = game:GetService("UserInputService")
local RunService = game:GetService("RunService")
local Camera = workspace.CurrentCamera
local CoreGui = game:GetService("CoreGui")
local TweenService = game:GetService("TweenService")
local Lighting = game:GetService("Lighting")
local Workspace = game:GetService("Workspace")
local Stats = game:GetService("Stats")
-- ============ НАСТРОЙКИ ============
local Settings = {
-- ESP
ESPEnabled = false,
ESPMode = "All", -- "All", "Killer", "Survive"
KillerColor = Color3.fromRGB(180, 100, 255), -- Фиолетовый
SurviveColor = Color3.fromRGB(255, 100, 200), -- Розовый
FillTransparency = 0.4,
OutlineTransparency = 0,
-- FLY
FlyEnabled = false,
FlySpeed = 50,
-- DASH
DashEnabled = true,
DashDistance = 5,
DashModes = {5, 10, 15, 20, 25, 30},
DashModeIndex = 1,
-- FULLBRIGHT
Fullbright = false,
-- SCREEN STRETCH
StretchEnabled = false,
StretchResolution = 0.65,
-- FOV
FOV = 70,
FOVEnabled = true,
-- FPS UNLOCK
FPSUnlocked = false,
MaxFPS = 999,
-- SATURATION
SaturationLevel = 1, -- 1 = Нормальная, 2 = Насыщенная
SaturationValues = {0, 1.5},
-- MENU
MenuOpen = false
}
-- ============ ГЛОБАЛЬНЫЕ ПЕРЕМЕННЫЕ ============
local espObjects = {}
local flyBodyVel = nil
local flyBodyGyro = nil
local flyConnection = nil
local stretchConnection = nil
local originalLighting = {}
local menuGui = nil
local menuFrame = nil
local isMenuOpen = false
local originalFPS = 60
local colorCorrection = nil
-- Сохраняем оригинальные настройки освещения
originalLighting.Brightness = Lighting.Brightness
originalLighting.Ambient = Lighting.Ambient
originalLighting.OutdoorAmbient = Lighting.OutdoorAmbient
-- ============ SATURATION (ДВУХУРОВНЕВАЯ) ============
local function ensureColorCorrection()
if not colorCorrection or not colorCorrection.Parent then
colorCorrection = Lighting:FindFirstChildOfClass("ColorCorrectionEffect") or Instance.new("ColorCorrectionEffect")
colorCorrection.Name = "VAL3RA_ColorCorrection"
colorCorrection.Parent = Lighting
end
colorCorrection.Saturation = Settings.SaturationValues[Settings.SaturationLevel]
colorCorrection.Brightness = 0
colorCorrection.Contrast = 0
end
local function cycleSaturation()
Settings.SaturationLevel = Settings.SaturationLevel + 1
if Settings.SaturationLevel > #Settings.SaturationValues then
Settings.SaturationLevel = 1
end
ensureColorCorrection()
local names = { "Нормальная", "Насыщенная" }
print("Насыщенность:", names[Settings.SaturationLevel])
end
-- Инициализация насыщенности
ensureColorCorrection()
-- ============ FPS UNLOCK ============
local function toggleFPSUnlock()
Settings.FPSUnlocked = not Settings.FPSUnlocked
if Settings.FPSUnlocked then
Stats.MaxFPS = Settings.MaxFPS
print("FPS разблокирован! Максимум: " .. Settings.MaxFPS .. " FPS")
else
Stats.MaxFPS = originalFPS
print("FPS заблокирован обратно на " .. originalFPS .. " FPS")
end
end
-- ============ FOV CONTROL ============
RunService.RenderStepped:Connect(function()
if Settings.FOVEnabled and Camera then
Camera.FieldOfView = Settings.FOV
end
end)
-- ============ FULLBRIGHT ============
local function applyFullbright()
if Settings.Fullbright then
Lighting.Brightness = 2
Lighting.Ambient = Color3.new(1, 1, 1)
Lighting.OutdoorAmbient = Color3.new(1, 1, 1)
Lighting.GlobalShadows = false
else
Lighting.Brightness = originalLighting.Brightness
Lighting.Ambient = originalLighting.Ambient
Lighting.OutdoorAmbient = originalLighting.OutdoorAmbient
Lighting.GlobalShadows = true
end
end
-- ============ SCREEN STRETCH ============
local function applyStretch()
if not Settings.StretchEnabled or not Camera then return end
Camera.CFrame = Camera.CFrame * CFrame.new(0, 0, 0, 1, 0, 0, 0, Settings.StretchResolution, 0, 0, 0, 1)
end
local function toggleStretch()
Settings.StretchEnabled = not Settings.StretchEnabled
if Settings.StretchEnabled then
if stretchConnection then stretchConnection:Disconnect() end
stretchConnection = RunService.RenderStepped:Connect(applyStretch)
print("Растяжение экрана включено")
else
if stretchConnection then stretchConnection:Disconnect() end
stretchConnection = nil
print("Растяжение экрана выключено")
end
end
-- ============ ESP ============
local function GetPlayerTeam(player)
if player == LocalPlayer then return nil end
local name = player.Name:lower()
local teamName = player.Team and player.Team.Name:lower() or ""
local killerKeywords = {"killer", "убийца", "маньяк", "зомби", "монстр", "monster", "demon", "дьявол", "devil"}
for _, keyword in ipairs(killerKeywords) do
if name:find(keyword) or teamName:find(keyword) then
return "killer"
end
end
return "survive"
end
local function ShouldShowPlayer(player)
local team = GetPlayerTeam(player)
if Settings.ESPMode == "All" then
return true
elseif Settings.ESPMode == "Killer" and team == "killer" then
return true
elseif Settings.ESPMode == "Survive" and team == "survive" then
return true
end
return false
end
local function GetPlayerColor(player)
local team = GetPlayerTeam(player)
if team == "killer" then
return Settings.KillerColor
else
return Settings.SurviveColor
end
end
local function UpdateChams(player)
if not Settings.ESPEnabled then
if espObjects[player] then
espObjects[player]:Destroy()
espObjects[player] = nil
end
return
end
if player == LocalPlayer then return end
if not ShouldShowPlayer(player) then
if espObjects[player] then
espObjects[player]:Destroy()
espObjects[player] = nil
end
return
end
local character = player.Character
if not character then
if espObjects[player] then
espObjects[player]:Destroy()
espObjects[player] = nil
end
return
end
local color = GetPlayerColor(player)
if not espObjects[player] then
local highlight = Instance.new("Highlight")
highlight.Name = "VAL3RA_ESP"
highlight.FillColor = color
highlight.OutlineColor = color
highlight.FillTransparency = Settings.FillTransparency
highlight.OutlineTransparency = Settings.OutlineTransparency
highlight.DepthMode = Enum.HighlightDepthMode.AlwaysOnTop
highlight.Parent = character
espObjects[player] = highlight
else
local hl = espObjects[player]
hl.FillColor = color
hl.OutlineColor = color
if hl.Parent ~= character then
hl.Parent = character
end
end
end
local function UpdateAllChams()
for _, player in ipairs(Players:GetPlayers()) do
UpdateChams(player)
end
end
local function RefreshESP()
if Settings.ESPEnabled then
UpdateAllChams()
else
for player, hl in pairs(espObjects) do
hl:Destroy()
espObjects[player] = nil
end
end
end
-- Наблюдение за игроками
local function SetupPlayer(player)
if player == LocalPlayer then return end
player.CharacterAdded:Connect(function()
task.wait(0.5)
UpdateChams(player)
end)
player.CharacterRemoving:Connect(function()
if espObjects[player] then
espObjects[player].Parent = nil
end
end)
player:GetPropertyChangedSignal("Name"):Connect(function()
UpdateChams(player)
end)
if player.Team then
player.Team:GetPropertyChangedSignal("Name"):Connect(function()
UpdateChams(player)
end)
end
UpdateChams(player)
end
for _, player in ipairs(Players:GetPlayers()) do
SetupPlayer(player)
end
Players.PlayerAdded:Connect(SetupPlayer)
Players.PlayerRemoving:Connect(function(player)
if espObjects[player] then
espObjects[player]:Destroy()
espObjects[player] = nil
end
end)
-- ============ FLY (Т-ПОЗА, НА B) ============
local function StartFly()
if not LocalPlayer.Character then return end
local char = LocalPlayer.Character
local root = char:FindFirstChild("HumanoidRootPart")
local humanoid = char:FindFirstChildOfClass("Humanoid")
if not root or not humanoid then return end
humanoid.PlatformStand = true
for _, part in pairs(char:GetChildren()) do
if part:IsA("BasePart") and part.Name ~= "HumanoidRootPart" then
part.Transparency = 0.3
end
end
if flyBodyVel then flyBodyVel:Destroy() end
if flyBodyGyro then flyBodyGyro:Destroy() end
flyBodyVel = Instance.new("BodyVelocity")
flyBodyVel.MaxForce = Vector3.new(100000, 100000, 100000)
flyBodyVel.Parent = root
flyBodyGyro = Instance.new("BodyGyro")
flyBodyGyro.MaxTorque = Vector3.new(400000, 400000, 400000)
flyBodyGyro.Parent = root
if flyConnection then flyConnection:Disconnect() end
flyConnection = RunService.RenderStepped:Connect(function()
if not Settings.FlyEnabled then return end
if not root or not root.Parent then return end
local moveDir = Vector3.new()
if UserInputService:IsKeyDown(Enum.KeyCode.W) then moveDir = moveDir + Camera.CFrame.LookVector end
if UserInputService:IsKeyDown(Enum.KeyCode.S) then moveDir = moveDir - Camera.CFrame.LookVector end
if UserInputService:IsKeyDown(Enum.KeyCode.A) then moveDir = moveDir - Camera.CFrame.RightVector end
if UserInputService:IsKeyDown(Enum.KeyCode.D) then moveDir = moveDir + Camera.CFrame.RightVector end
if UserInputService:IsKeyDown(Enum.KeyCode.Space) then moveDir = moveDir + Vector3.new(0, 1, 0) end
if UserInputService:IsKeyDown(Enum.KeyCode.LeftControl) then moveDir = moveDir - Vector3.new(0, 1, 0) end
if moveDir.Magnitude > 0 then
moveDir = moveDir.Unit * Settings.FlySpeed
end
flyBodyVel.Velocity = moveDir
flyBodyGyro.CFrame = Camera.CFrame
end)
end
local function StopFly()
Settings.FlyEnabled = false
if flyBodyVel then flyBodyVel:Destroy() end
if flyBodyGyro then flyBodyGyro:Destroy() end
if flyConnection then flyConnection:Disconnect() end
flyBodyVel = nil
flyBodyGyro = nil
flyConnection = nil
if LocalPlayer.Character then
local char = LocalPlayer.Character
local humanoid = char:FindFirstChildOfClass("Humanoid")
if humanoid then
humanoid.PlatformStand = false
end
for _, part in pairs(char:GetChildren()) do
if part:IsA("BasePart") and part.Name ~= "HumanoidRootPart" then
part.Transparency = 0
end
end
end
end
local function ToggleFly()
Settings.FlyEnabled = not Settings.FlyEnabled
if Settings.FlyEnabled then
StartFly()
else
StopFly()
end
end
-- ============ DASH (НА G) ============
local function Dash()
if not Settings.DashEnabled then return end
local char = LocalPlayer.Character
if not char then return end
local root = char:FindFirstChild("HumanoidRootPart")
local hum = char:FindFirstChildOfClass("Humanoid")
if root and hum and hum.Health > 0 then
local dir = root.CFrame.LookVector * Settings.DashDistance
root.CFrame = root.CFrame + dir
end
end
local function NextDashDistance()
Settings.DashModeIndex = Settings.DashModeIndex % #Settings.DashModes + 1
Settings.DashDistance = Settings.DashModes[Settings.DashModeIndex]
end
-- ============ МЕНЮ (ЧЕРНО-БЕЛОЕ, INS) ============
local function CreateMenu()
if menuGui then menuGui:Destroy() end
menuGui = Instance.new("ScreenGui")
menuGui.Name = "Val3raMenu"
menuGui.ResetOnSpawn = false
menuGui.ZIndexBehavior = Enum.ZIndexBehavior.Sibling
menuGui.Parent = CoreGui
menuGui.Enabled = false
menuFrame = Instance.new("Frame")
menuFrame.Size = UDim2.new(0, 420, 0, 520)
menuFrame.Position = UDim2.new(0.5, -210, 0.5, -260)
menuFrame.BackgroundColor3 = Color3.fromRGB(10, 10, 10)
menuFrame.BackgroundTransparency = 0.05
menuFrame.BorderSizePixel = 2
menuFrame.BorderColor3 = Color3.fromRGB(255, 255, 255)
menuFrame.ClipsDescendants = true
menuFrame.Parent = menuGui
local corner = Instance.new("UICorner")
corner.CornerRadius = UDim.new(0, 15)
corner.Parent = menuFrame
local titleBar = Instance.new("Frame")
titleBar.Size = UDim2.new(1, 0, 0, 50)
titleBar.BackgroundColor3 = Color3.fromRGB(20, 20, 20)
titleBar.Parent = menuFrame
local title = Instance.new("TextLabel")
title.Size = UDim2.new(1, -60, 1, 0)
title.Position = UDim2.new(0, 15, 0, 0)
title.BackgroundTransparency = 1
title.Text = "VAL3RA N1GGER"
title.TextColor3 = Color3.fromRGB(255, 255, 255)
title.TextSize = 20
title.Font = Enum.Font.GothamBold
title.TextXAlignment = Enum.TextXAlignment.Left
title.Parent = titleBar
local closeBtn = Instance.new("TextButton")
closeBtn.Size = UDim2.new(0, 40, 0, 40)
closeBtn.Position = UDim2.new(1, -50, 0.5, -20)
closeBtn.BackgroundColor3 = Color3.fromRGB(40, 40, 40)
closeBtn.Text = "✕"
closeBtn.TextColor3 = Color3.fromRGB(255, 255, 255)
closeBtn.TextSize = 20
closeBtn.Font = Enum.Font.GothamBold
closeBtn.Parent = titleBar
local closeCorner = Instance.new("UICorner")
closeCorner.CornerRadius = UDim.new(0, 8)
closeCorner.Parent = closeBtn
closeBtn.MouseButton1Click:Connect(function()
Settings.MenuOpen = false
menuGui.Enabled = false
end)
local container = Instance.new("ScrollingFrame")
container.Size = UDim2.new(1, -20, 1, -65)
container.Position = UDim2.new(0, 10, 0, 60)
container.BackgroundTransparency = 1
container.ScrollBarThickness = 4
container.ScrollBarImageColor3 = Color3.fromRGB(255, 255, 255)
container.Parent = menuFrame
local layout = Instance.new("UIListLayout")
layout.Padding = UDim.new(0, 8)
layout.SortOrder = Enum.SortOrder.LayoutOrder
layout.Parent = container
local function addSection(name)
local s = Instance.new("TextLabel")
s.Size = UDim2.new(1, 0, 0, 30)
s.BackgroundTransparency = 1
s.Text = "━━━ " .. name .. " ━━━"
s.TextColor3 = Color3.fromRGB(200, 200, 200)
s.TextSize = 14
s.Font = Enum.Font.GothamBold
s.TextXAlignment = Enum.TextXAlignment.Center
s.Parent = container
return s
end
local function addToggle(text, getter, setter)
local f = Instance.new("Frame")
f.Size = UDim2.new(1, 0, 0, 40)
f.BackgroundTransparency = 1
f.Parent = container
local label = Instance.new("TextLabel")
label.Size = UDim2.new(0.6, 0, 1, 0)
label.BackgroundTransparency = 1
label.Text = text
label.TextColor3 = Color3.fromRGB(230, 230, 230)
label.TextSize = 13
label.Font = Enum.Font.Gotham
label.TextXAlignment = Enum.TextXAlignment.Left
label.Parent = f
local btn = Instance.new("TextButton")
btn.Size = UDim2.new(0, 65, 0, 30)
btn.Position = UDim2.new(1, -70, 0.5, -15)
btn.BackgroundColor3 = getter() and Color3.fromRGB(255, 255, 255) or Color3.fromRGB(40, 40, 40)
btn.Text = getter() and "ON" or "OFF"
btn.TextColor3 = getter() and Color3.fromRGB(0, 0, 0) or Color3.fromRGB(200, 200, 200)
btn.TextSize = 12
btn.Font = Enum.Font.GothamBold
btn.Parent = f
local btnCorner = Instance.new("UICorner")
btnCorner.CornerRadius = UDim.new(0, 8)
btnCorner.Parent = btn
btn.MouseButton1Click:Connect(function()
local new = not getter()
setter(new)
btn.BackgroundColor3 = new and Color3.fromRGB(255, 255, 255) or Color3.fromRGB(40, 40, 40)
btn.Text = new and "ON" or "OFF"
btn.TextColor3 = new and Color3.fromRGB(0, 0, 0) or Color3.fromRGB(200, 200, 200)
end)
return btn
end
local function addSlider(text, min, max, getter, setter, suffix)
local f = Instance.new("Frame")
f.Size = UDim2.new(1, 0, 0, 55)
f.BackgroundTransparency = 1
f.Parent = container
local label = Instance.new("TextLabel")
label.Size = UDim2.new(0.6, 0, 0, 22)
label.BackgroundTransparency = 1
label.Text = text
label.TextColor3 = Color3.fromRGB(230, 230, 230)
label.TextSize = 12
label.Font = Enum.Font.Gotham
label.TextXAlignment = Enum.TextXAlignment.Left
label.Parent = f
local valueLabel = Instance.new("TextLabel")
valueLabel.Size = UDim2.new(0.4, 0, 0, 22)
valueLabel.Position = UDim2.new(0.6, 0, 0, 0)
valueLabel.BackgroundTransparency = 1
valueLabel.Text = string.format("%.1f", getter()) .. (suffix or "")
valueLabel.TextColor3 = Color3.fromRGB(200, 200, 200)
valueLabel.TextSize = 12
valueLabel.Font = Enum.Font.GothamBold
valueLabel.TextXAlignment = Enum.TextXAlignment.Right
valueLabel.Parent = f
local bar = Instance.new("Frame")
bar.Size = UDim2.new(1, 0, 0, 4)
bar.Position = UDim2.new(0, 0, 0, 30)
bar.BackgroundColor3 = Color3.fromRGB(40, 40, 40)
bar.Parent = f
local fill = Instance.new("Frame")
local ratio = (getter() - min) / (max - min)
fill.Size = UDim2.new(ratio, 0, 1, 0)
fill.BackgroundColor3 = Color3.fromRGB(255, 255, 255)
fill.Parent = bar
local sliderBtn = Instance.new("TextButton")
sliderBtn.Size = UDim2.new(0, 14, 0, 14)
sliderBtn.Position = UDim2.new(ratio, -7, 0, -5)
sliderBtn.BackgroundColor3 = Color3.fromRGB(255, 255, 255)
sliderBtn.Text = ""
sliderBtn.Parent = bar
local dragging = false
sliderBtn.MouseButton1Down:Connect(function() dragging = true end)
UserInputService.InputEnded:Connect(function(input)
if input.UserInputType == Enum.UserInputType.MouseButton1 then dragging = false end
end)
UserInputService.InputChanged:Connect(function(input)
if dragging and input.UserInputType == Enum.UserInputType.MouseMovement then
local mouse = LocalPlayer:GetMouse()
local relX = math.clamp(mouse.X - bar.AbsolutePosition.X, 0, bar.AbsoluteSize.X)
local newVal = min + (relX / bar.AbsoluteSize.X) * (max - min)
setter(newVal)
valueLabel.Text = string.format("%.1f", newVal) .. (suffix or "")
fill.Size = UDim2.new((newVal - min) / (max - min), 0, 1, 0)
sliderBtn.Position = UDim2.new((newVal - min) / (max - min), -7, 0, -5)
end
end)
end
local function addColorPicker(text, getter, setter)
local f = Instance.new("Frame")
f.Size = UDim2.new(1, 0, 0, 40)
f.BackgroundTransparency = 1
f.Parent = container
local label = Instance.new("TextLabel")
label.Size = UDim2.new(0.5, 0, 1, 0)
label.BackgroundTransparency = 1
label.Text = text
label.TextColor3 = Color3.fromRGB(230, 230, 230)
label.TextSize = 13
label.Font = Enum.Font.Gotham
label.TextXAlignment = Enum.TextXAlignment.Left
label.Parent = f
local btn = Instance.new("TextButton")
btn.Size = UDim2.new(0, 60, 0, 30)
btn.Position = UDim2.new(1, -65, 0.5, -15)
btn.BackgroundColor3 = getter()
btn.Text = ""
btn.Parent = f
local btnCorner = Instance.new("UICorner")
btnCorner.CornerRadius = UDim.new(0, 8)
btnCorner.Parent = btn
local colors = {
Color3.fromRGB(180, 100, 255), -- Фиолетовый
Color3.fromRGB(255, 100, 200), -- Розовый
Color3.fromRGB(255, 0, 0), -- Красный
Color3.fromRGB(0, 255, 0), -- Зеленый
Color3.fromRGB(0, 0, 255), -- Синий
Color3.fromRGB(255, 255, 0), -- Желтый
Color3.fromRGB(255, 165, 0), -- Оранжевый
Color3.fromRGB(255, 255, 255), -- Белый
Color3.fromRGB(0, 255, 255), -- Голубой
Color3.fromRGB(255, 0, 255) -- Пурпурный
}
local index = 1
btn.MouseButton1Click:Connect(function()
for i, col in ipairs(colors) do
if col == getter() then
index = i % #colors + 1
break
end
end
setter(colors[index])
btn.BackgroundColor3 = colors[index]
RefreshESP()
end)
end
local function addDropdown(text, options, getter, setter)
local f = Instance.new("Frame")
f.Size = UDim2.new(1, 0, 0, 45)
f.BackgroundTransparency = 1
f.Parent = container
local label = Instance.new("TextLabel")
label.Size = UDim2.new(0.4, 0, 1, 0)
label.BackgroundTransparency = 1
label.Text = text
label.TextColor3 = Color3.fromRGB(230, 230, 230)
label.TextSize = 12
label.Font = Enum.Font.Gotham
label.TextXAlignment = Enum.TextXAlignment.Left
label.Parent = f
local btn = Instance.new("TextButton")
btn.Size = UDim2.new(0.5, 0, 0, 30)
btn.Position = UDim2.new(0.5, 0, 0.5, -15)
btn.BackgroundColor3 = Color3.fromRGB(40, 40, 40)
btn.Text = getter()
btn.TextColor3 = Color3.fromRGB(255, 255, 255)
btn.TextSize = 11
btn.Font = Enum.Font.Gotham
btn.Parent = f
local btnCorner = Instance.new("UICorner")
btnCorner.CornerRadius = UDim.new(0, 8)
btnCorner.Parent = btn
local list = nil
btn.MouseButton1Click:Connect(function()
if list then list:Destroy() list = nil return end
list = Instance.new("Frame")
list.Size = UDim2.new(0.5, 0, 0, #options * 32)
list.Position = UDim2.new(0.5, 0, 0, 48)
list.BackgroundColor3 = Color3.fromRGB(20, 20, 20)
list.BackgroundTransparency = 0.1
list.Parent = f
for i, opt in ipairs(options) do
local optBtn = Instance.new("TextButton")
optBtn.Size = UDim2.new(1, 0, 0, 32)
optBtn.Position = UDim2.new(0, 0, 0, (i-1)*32)
optBtn.BackgroundColor3 = Color3.fromRGB(30, 30, 30)
optBtn.Text = opt
optBtn.TextColor3 = Color3.fromRGB(255, 255, 255)
optBtn.TextSize = 10
optBtn.Font = Enum.Font.Gotham
optBtn.Parent = list
optBtn.MouseButton1Click:Connect(function()
setter(opt)
btn.Text = opt
list:Destroy()
list = nil
RefreshESP()
end)
end
end)
end
-- ESP Секция
addSection("ESP (F8)")
addToggle("Enable ESP", function() return Settings.ESPEnabled end, function(v) Settings.ESPEnabled = v; RefreshESP() end)
addDropdown("ESP Mode", {"All", "Killer", "Survive"}, function() return Settings.ESPMode end, function(v) Settings.ESPMode = v; RefreshESP() end)
addColorPicker("Killer Color", function() return Settings.KillerColor end, function(v) Settings.KillerColor = v; RefreshESP() end)
addColorPicker("Survive Color", function() return Settings.SurviveColor end, function(v) Settings.SurviveColor = v; RefreshESP() end)
addSlider("Fill Transparency", 0, 1, function() return Settings.FillTransparency end, function(v) Settings.FillTransparency = v; RefreshESP() end, "")
-- FLY Секция
addSection("FLY (B)")
addToggle("Enable Fly", function() return Settings.FlyEnabled end, function(v) ToggleFly() end)
addSlider("Fly Speed", 0, 1000, function() return Settings.FlySpeed end, function(v) Settings.FlySpeed = v end, "")
-- DASH Секция
addSection("DASH (G)")
addToggle("Enable Dash", function() return Settings.DashEnabled end, function(v) Settings.DashEnabled = v end)
addSlider("Dash Distance", 5, 50, function() return Settings.DashDistance end, function(v) Settings.DashDistance = v end, "")
-- VISUAL Секция
addSection("VISUAL")
addToggle("Fullbright (End)", function() return Settings.Fullbright end, function(v) Settings.Fullbright = v; applyFullbright() end)
addToggle("Screen Stretch (Y)", function() return Settings.StretchEnabled end, function(v) toggleStretch() end)
addSlider("Stretch Factor", 0.3, 1.5, function() return Settings.StretchResolution end, function(v) Settings.StretchResolution = v; if Settings.StretchEnabled then toggleStretch(); toggleStretch() end end, "x")
addSlider("FOV", 20, 120, function() return Settings.FOV end, function(v) Settings.FOV = v end, "")
addToggle("Unlock FPS (F9)", function() return Settings.FPSUnlocked end, function(v) toggleFPSUnlock() end)
-- SATURATION Секция
addSection("SATURATION (F5)")
local satLabel = Instance.new("TextLabel")
satLabel.Size = UDim2.new(1, 0, 0, 30)
satLabel.BackgroundTransparency = 1
satLabel.Text = "Текущий уровень: " .. (Settings.SaturationLevel == 1 and "Нормальная" or "Насыщенная")
satLabel.TextColor3 = Color3.fromRGB(200, 200, 200)
satLabel.TextSize = 13
satLabel.Font = Enum.Font.Gotham
satLabel.TextXAlignment = Enum.TextXAlignment.Center
satLabel.Parent = container
-- Info Секция
addSection("CONTROLS")
local info = Instance.new("TextLabel")
info.Size = UDim2.new(1, 0, 0, 130)
info.BackgroundTransparency = 1
info.Text = "INS - Menu\nG - Dash\nB - Fly\nF8 - ESP\nF1/F2 - FOV\nEnd - Fullbright\nY - Stretch Toggle\nF9 - Unlock FPS\nF5 - Saturation (2 levels)\nDelete - Change Dash Distance"
info.TextColor3 = Color3.fromRGB(150, 150, 150)
info.TextSize = 11
info.Font = Enum.Font.Gotham
info.TextXAlignment = Enum.TextXAlignment.Left
info.Parent = container
local function updateCanvas()
container.CanvasSize = UDim2.new(0, 0, 0, layout.AbsoluteContentSize.Y + 20)
end
layout:GetPropertyChangedSignal("AbsoluteContentSize"):Connect(updateCanvas)
updateCanvas()
-- Функция для обновления лейбла насыщенности в меню
local function updateSatLabel()
satLabel.Text = "Текущий уровень: " .. (Settings.SaturationLevel == 1 and "Нормальная" or "Насыщенная")
end
return updateSatLabel
end
-- ============ КЛАВИШИ ============
local updateSatLabel = CreateMenu()
UserInputService.InputBegan:Connect(function(input, gameProcessed)
if gameProcessed then return end
local key = input.KeyCode
-- INS - Menu
if key == Enum.KeyCode.Insert then
Settings.MenuOpen = not Settings.MenuOpen
if menuGui then menuGui.Enabled = Settings.MenuOpen end
end
-- F8 - ESP
if key == Enum.KeyCode.F8 then
Settings.ESPEnabled = not Settings.ESPEnabled
RefreshESP()
print("ESP " .. (Settings.ESPEnabled and "включён" or "выключен"))
end
-- G - Dash
if key == Enum.KeyCode.G then
Dash()
end
-- B - Fly
if key == Enum.KeyCode.B then
ToggleFly()
end
-- Delete - Dash Distance
if key == Enum.KeyCode.Delete then
NextDashDistance()
end
-- End - Fullbright
if key == Enum.KeyCode.End then
Settings.Fullbright = not Settings.Fullbright
applyFullbright()
end
-- Y - Stretch Toggle
if key == Enum.KeyCode.Y then
toggleStretch()
end
-- F1/F2 - FOV
if key == Enum.KeyCode.F1 then
Settings.FOV = math.min(Settings.FOV + 5, 120)
end
if key == Enum.KeyCode.F2 then
Settings.FOV = math.max(Settings.FOV - 5, 20)
end
-- F5 - Saturation (двухуровневая)
if key == Enum.KeyCode.F5 then
cycleSaturation()
if updateSatLabel then updateSatLabel() end
end
-- F9 - Unlock FPS
if key == Enum.KeyCode.F9 then
toggleFPSUnlock()
end
end)
-- ============ ПРИ РЕСПАВНЕ ============
LocalPlayer.CharacterAdded:Connect(function()
task.wait(1)
UpdateAllChams()
if Settings.FlyEnabled then
task.wait(0.5)
StartFly()
end
end)
-- ============ ЗАПУСК ============
applyFullbright()
print("========================================")
print("VAL3RA N1GGER ULTIMATE HUB LOADED")
print("INS - Menu | G - Dash | B - Fly | F8 - ESP")
print("F1/F2 - FOV | End - Fullbright | F5 - Saturation")
print("Y - Stretch | F9 - Unlock FPS")
print("Delete - Dash Distance")
print("========================================")
game:GetService("StarterGui"):SetCore("SendNotification", {
Title = "VAL3RA N1GGER",
Text = "INS - Menu | G - Dash | B - Fly | F8 - ESP\nF1/F2 - FOV | End - Fullbright | F5 - Saturation",
Duration = 6
})