Загрузка данных


-- Полностью интерактивный LocalScript для Roblox Studio (Fatality UI)
local Players = game:GetService("Players")
local UserInputService = game:GetService("UserInputService")
local LocalPlayer = Players.LocalPlayer

local ScreenGui = Instance.new("ScreenGui")
ScreenGui.Name = "FatalityInteractiveMenu"
ScreenGui.ResetOnSpawn = false
ScreenGui.ZIndexBehavior = Enum.ZIndexBehavior.Sibling
ScreenGui.Parent = LocalPlayer:WaitForChild("PlayerGui")

-- Главное окно (Изначально закрыто, нажми Insert или RightShift)
local MainFrame = Instance.new("Frame")
MainFrame.Name = "MainFrame"
MainFrame.Size = UDim2.fromOffset(640, 440)
MainFrame.Position = UDim2.new(0.5, -320, 0.5, -220)
MainFrame.BackgroundColor3 = Color3.fromRGB(10, 10, 12)
MainFrame.BorderSizePixel = 0
MainFrame.Visible = false -- Меню скрыто по дефолту
MainFrame.Parent = ScreenGui

-- Фирменная обводка Fatality
local UIStroke = Instance.new("UIStroke")
UIStroke.Color = Color3.fromRGB(161, 14, 71)
UIStroke.Thickness = 1.8
UIStroke.Parent = MainFrame

-- Верхняя панель
local TopBar = Instance.new("Frame")
TopBar.Name = "TopBar"
TopBar.Size = UDim2.new(1, 0, 0, 45)
TopBar.BackgroundColor3 = Color3.fromRGB(13, 13, 16)
TopBar.BorderSizePixel = 0
TopBar.Parent = MainFrame

local Logo = Instance.new("TextLabel")
Logo.Text = "FATALITY"
Logo.Size = UDim2.new(0, 100, 1, 0)
Logo.Position = UDim2.fromOffset(15, 0)
Logo.BackgroundTransparency = 1
Logo.TextColor3 = Color3.fromRGB(255, 40, 120)
Logo.Font = Enum.Font.FredokaOne
Logo.TextSize = 20
Logo.TextXAlignment = Enum.TextXAlignment.Left
Logo.Parent = TopBar

-- Вкладки
local TabContainer = Instance.new("Frame")
TabContainer.Size = UDim2.new(1, -260, 1, 0)
TabContainer.Position = UDim2.fromOffset(115, 0)
TabContainer.BackgroundTransparency = 1
TabContainer.Parent = TopBar

local TabLayout = Instance.new("UIListLayout")
TabLayout.FillDirection = Enum.FillDirection.Horizontal
TabLayout.SortOrder = Enum.SortOrder.LayoutOrder
TabLayout.VerticalAlignment = Enum.VerticalAlignment.Center
TabLayout.Padding = UDim.new(0, 14)
TabLayout.Parent = TabContainer

local Watermark = Instance.new("TextLabel")
Watermark.Text = "NEVERLOSE_CC\nEXPIRES: <font color='rgb(255,0,80)'>NEVER</font>"
Watermark.RichText = true
Watermark.Size = UDim2.new(0, 120, 1, 0)
Watermark.Position = UDim2.new(1, -135, 0, 0)
Watermark.BackgroundTransparency = 1
Watermark.TextColor3 = Color3.fromRGB(160, 160, 165)
Watermark.Font = Enum.Font.SourceSansBold
Watermark.TextSize = 11
Watermark.TextXAlignment = Enum.TextXAlignment.Right
Watermark.Parent = TopBar

-- Контентная зона (3 колонки)
local ContentFrame = Instance.new("Frame")
ContentFrame.Size = UDim2.new(1, 0, 1, -45)
ContentFrame.Position = UDim2.fromOffset(0, 45)
ContentFrame.BackgroundTransparency = 1
ContentFrame.Parent = MainFrame

local Columns = {}
local columnWidths = {UDim2.new(0.3, 0, 1, -20), UDim2.new(0.32, 0, 1, -20), UDim2.new(0.34, 0, 1, -20)}
local columnPositions = {UDim2.new(0, 15, 0, 10), UDim2.new(0.32, 15, 0, 10), UDim2.new(0.66, 10, 0, 10)}
local columnNames = {"WEAPON", "EXTRA", "GENERAL"}

for i = 1, 3 do
    local Col = Instance.new("ScrollingFrame")
    Col.Name = columnNames[i]
    Col.Size = columnWidths[i]
    Col.Position = columnPositions[i]
    Col.BackgroundTransparency = 1
    Col.BorderSizePixel = 0
    Col.ScrollBarThickness = 0
    Col.CanvasSize = UDim2.new(0, 0, 0, 0)
    Col.AutomaticCanvasSize = Enum.AutomaticSize.Y
    Col.Parent = ContentFrame
    
    local Title = Instance.new("TextLabel")
    Title.Text = columnNames[i]
    Title.Size = UDim2.new(1, 0, 0, 25)
    Title.BackgroundTransparency = 1
    Title.TextColor3 = Color3.fromRGB(240, 240, 245)
    Title.Font = Enum.Font.SourceSansBold
    Title.TextSize = 14
    Title.TextXAlignment = Enum.TextXAlignment.Left
    Title.Parent = Col
    
    local List = Instance.new("UIListLayout")
    List.Padding = UDim.new(0, 8)
    List.SortOrder = Enum.SortOrder.LayoutOrder
    List.Parent = Col
    
    Columns[columnNames[i]] = Col
end

-- ФУНКЦИЯ КЛИКАБЕЛЬНОГО ЧЕКБОКСА (С ГАЛОЧКОЙ)
local function createCheckbox(column, name, default, callback)
    local Frame = Instance.new("Frame")
    Frame.Size = UDim2.new(1, 0, 0, 26)
    Frame.BackgroundTransparency = 1
    Frame.Parent = Columns[column]
    
    -- Квадратик для галочки
    local Box = Instance.new("TextButton")
    Box.Size = UDim2.fromOffset(14, 14)
    Box.Position = UDim2.new(0, 0, 0.5, -7)
    Box.BackgroundColor3 = default and Color3.fromRGB(255, 75, 0) or Color3.fromRGB(25, 25, 30)
    Box.BorderColor3 = Color3.fromRGB(50, 50, 60)
    Box.Text = default and "✓" or ""
    Box.TextColor3 = Color3.fromRGB(255, 255, 255)
    Box.Font = Enum.Font.SourceSansBold
    Box.TextSize = 12
    Box.Parent = Frame
    Instance.new("UICorner", Box).CornerRadius = UDim.new(0, 2)
    
    -- Текст опции
    local Label = Instance.new("TextButton")
    Label.Text = name:upper()
    Label.Size = UDim2.new(1, -25, 1, 0)
    Label.Position = UDim2.fromOffset(22, 0)
    Label.BackgroundTransparency = 1
    Label.TextColor3 = default and Color3.fromRGB(255, 100, 30) or Color3.fromRGB(160, 160, 165)
    Label.Font = Enum.Font.SourceSansBold
    Label.TextSize = 13
    Label.TextXAlignment = Enum.TextXAlignment.Left
    Label.Parent = Frame
    
    local active = default
    local function toggle()
        active = not active
        Box.BackgroundColor3 = active and Color3.fromRGB(255, 75, 0) or Color3.fromRGB(25, 25, 30)
        Box.Text = active and "✓" or ""
        Label.TextColor3 = active and Color3.fromRGB(255, 100, 30) or Color3.fromRGB(160, 160, 165)
        if callback then callback(active) end
    end
    
    Box.MouseButton1Click:Connect(toggle)
    Label.MouseButton1Click:Connect(toggle)
end

-- ФУНКЦИЯ СВЕТЛОГО ИНТЕРАКТИВНОГО ПОЛЗУНКА
local function createSlider(column, name, min, max, default, callback)
    local Frame = Instance.new("Frame")
    Frame.Size = UDim2.new(1, -5, 0, 40)
    Frame.BackgroundTransparency = 1
    Frame.Parent = Columns[column]
    
    local Label = Instance.new("TextLabel")
    Label.Text = name:upper()
    Label.Size = UDim2.new(0.7, 0, 0, 16)
    Label.BackgroundTransparency = 1
    Label.TextColor3 = Color3.fromRGB(160, 160, 165)
    Label.Font = Enum.Font.SourceSansBold
    Label.TextSize = 13
    Label.TextXAlignment = Enum.TextXAlignment.Left
    Label.Parent = Frame
    
    local ValueLabel = Instance.new("TextLabel")
    ValueLabel.Text = tostring(default) .. (name == "Hit-Chance" and "" or "%")
    ValueLabel.Size = UDim2.new(0.3, 0, 0, 16)
    ValueLabel.Position = UDim2.new(0.7, 0, 0, 0)
    ValueLabel.BackgroundTransparency = 1
    ValueLabel.TextColor3 = Color3.fromRGB(230, 230, 235) -- Светлый текст значения
    ValueLabel.Font = Enum.Font.SourceSansBold
    ValueLabel.TextSize = 13
    ValueLabel.TextXAlignment = Enum.TextXAlignment.Right
    ValueLabel.Parent = Frame

    -- Сама полоса (светлая подложка)
    local SliderBar = Instance.new("TextButton")
    SliderBar.Size = UDim2.new(1, 0, 0, 5)
    SliderBar.Position = UDim2.fromOffset(0, 22)
    SliderBar.BackgroundColor3 = Color3.fromRGB(45, 45, 52) -- Более светлый серый фон
    SliderBar.BorderSizePixel = 0
    SliderBar.Text = ""
    SliderBar.Parent = Frame
    
    -- Яркая линия заполнения
    local Fill = Instance.new("Frame")
    Fill.Size = UDim2.new((default - min) / (max - min), 0, 1, 0)
    Fill.BackgroundColor3 = Color3.fromRGB(255, 90, 20) -- Неоново-оранжевый Fatality
    Fill.BorderSizePixel = 0
    Fill.Parent = SliderBar

    -- Логика перетаскивания мышкой для ползунка
    local dragging = false
    local function updateSlider(input)
        local relativeX = input.Position.X - SliderBar.AbsolutePosition.X
        local percentage = math.clamp(relativeX / SliderBar.AbsoluteSize.X, 0, 1)
        local value = math.floor(min + (max - min) * percentage)
        
        Fill.Size = UDim2.new(percentage, 0, 1, 0)
        ValueLabel.Text = tostring(value) .. (name == "Hit-Chance" and "" or "%")
        if callback then callback(value) end
    end

    SliderBar.InputBegan:Connect(function(input)
        if input.UserInputType == Enum.UserInputType.MouseButton1 then dragging = true; updateSlider(input) end
    end)
    UserInputService.InputChanged:Connect(function(input)
        if dragging and input.UserInputType == Enum.UserInputType.MouseMovement then updateSlider(input) end
    end)
    UserInputService.InputEnded:Connect(function(input)
        if input.UserInputType == Enum.UserInputType.MouseButton1 then dragging = false end
    end)
end

-- НАПОЛНЕНИЕ ЭЛЕМЕНТАМИ (Как на скриншоте)
createSlider("WEAPON", "Hit-Chance", 0, 100, 64)
createSlider("WEAPON", "Pointscale", 0, 100, 0)
createSlider("WEAPON", "Min-Damage", 0, 100, 85)

createCheckbox("EXTRA", "Autostop", false)
createCheckbox("EXTRA", "Autoscope", false)
createCheckbox("EXTRA", "Ignore Limbs on Moving", false)
createCheckbox("EXTRA", "Autorevolver", false)

createCheckbox("GENERAL", "Aimbot", true)
createCheckbox("GENERAL", "Silent Aim", false)
createCheckbox("GENERAL", "Maximum FOV", false)
createCheckbox("GENERAL", "Autofire", false)
createCheckbox("GENERAL", "Doubletap", true)

-- Верхние вкладки декоративные
local tabs = {"RAGE", "LEGIT", "VISUAL", "MISC", "SKINS", "LUA"}
for i, tabName in ipairs(tabs) do
    local TabBtn = Instance.new("TextButton")
    TabBtn.Text = tabName
    TabBtn.Size = UDim2.fromOffset(45, 30)
    TabBtn.BackgroundTransparency = 1
    TabBtn.TextColor3 = i == 1 and Color3.fromRGB(255, 255, 255) or Color3.fromRGB(130, 130, 135)
    TabBtn.Font = Enum.Font.SourceSansBold
    TabBtn.TextSize = 13
    TabBtn.Parent = TabContainer
end

-- БИНД НА КЛАВИШИ INSERT И RIGHT SHIFT (ОТКРЫТИЕ МЕНЮ)
UserInputService.InputBegan:Connect(function(input, gameProcessed)
    if input.KeyCode == Enum.KeyCode.Insert or input.KeyCode == Enum.KeyCode.RightShift then
        MainFrame.Visible = not MainFrame.Visible
    end
end)

-- Перетаскивание всего окна за топ-бар
local dragToggle, dragStart, startPos
TopBar.InputBegan:Connect(function(input)
    if input.UserInputType == Enum.UserInputType.MouseButton1 then
        dragToggle = true; dragStart = input.Position; startPos = MainFrame.Position
        input.Changed:Connect(function() if input.UserInputState == Enum.UserInputState.End then dragToggle = false end end)
    end
end)
UserInputService.InputChanged:Connect(function(input)
    if dragToggle and input.UserInputType == Enum.UserInputType.MouseMovement 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)
    end
end)