Загрузка данных
local Players = game:GetService("Players")
local UIS = game:GetService("UserInputService")
local RunService = game:GetService("RunService")
local player = Players.LocalPlayer
local mouse = player:GetMouse()
local camera = workspace.CurrentCamera
-- Настройки
local VALID_KEY = "dev-grevas-hub"
local ICON_ID = "rbxassetid://106255334490315"
local keyVerified = false
-- Создание UI
local sg = script.Parent
local main = Instance.new("Frame")
main.Name = "GrevasMain"
main.Size = UDim2.new(0, 400, 0, 300)
main.Position = UDim2.new(0.5, -200, 0.5, -150)
main.BackgroundColor3 = Color3.fromRGB(20, 20, 20)
main.BorderSizePixel = 0
main.Visible = false
main.Parent = sg
local corner = Instance.new("UICorner", main)
corner.CornerRadius = UDim.new(0, 10)
-- Заголовок
local title = Instance.new("TextLabel", main)
title.Size = UDim2.new(1, 0, 0, 40)
title.BackgroundTransparency = 1
title.RichText = true
title.Text = '<font color="#FFFFFF">Grevas</font> <font color="#FF0000">HUB</font>'
title.TextSize = 22
title.Font = Enum.Font.Antique
-- Окно ввода ключа
local keyFrame = Instance.new("Frame", sg)
keyFrame.Size = UDim2.new(0, 300, 0, 200)
keyFrame.Position = UDim2.new(0.5, -150, 0.5, -100)
keyFrame.BackgroundColor3 = Color3.fromRGB(30, 30, 30)
Instance.new("UICorner", keyFrame)
local keyInput = Instance.new("TextBox", keyFrame)
keyInput.Size = UDim2.new(0.8, 0, 0, 40)
keyInput.Position = UDim2.new(0.1, 0, 0.3, 0)
keyInput.PlaceholderText = "Введите ключ..."
keyInput.Text = ""
keyInput.BackgroundColor3 = Color3.fromRGB(45, 45, 45)
keyInput.TextColor3 = Color3.new(1,1,1)
local checkBtn = Instance.new("TextButton", keyFrame)
checkBtn.Size = UDim2.new(0.8, 0, 0, 40)
checkBtn.Position = UDim2.new(0.1, 0, 0.6, 0)
checkBtn.Text = "Проверить Ключ"
checkBtn.BackgroundColor3 = Color3.fromRGB(200, 0, 0)
checkBtn.TextColor3 = Color3.new(1,1,1)
-- Функция проверки ключа
checkBtn.MouseButton1Click:Connect(function()
if keyInput.Text == VALID_KEY then
keyVerified = true
keyFrame.Visible = false
main.Visible = true
else
keyInput.Text = ""
keyInput.PlaceholderText = "НЕВЕРНО!"
wait(1)
keyInput.PlaceholderText = "Введите ключ..."
end
end)
-- Контейнер для кнопок функций
local list = Instance.new("ScrollingFrame", main)
list.Size = UDim2.new(1, -20, 1, -60)
list.Position = UDim2.new(0, 10, 0, 50)
list.BackgroundTransparency = 1
list.CanvasSize = UDim2.new(0, 0, 2, 0)
local layout = Instance.new("UIListLayout", list)
layout.Padding = UDim.new(0, 5)
-- Переменные функций
local espOn = false
local aimOn = false
-- Создание кнопок
local function addToggle(name, fn)
local btn = Instance.new("TextButton", list)
btn.Size = UDim2.new(1, -10, 0, 40)
btn.BackgroundColor3 = Color3.fromRGB(50, 50, 50)
btn.Text = name .. ": OFF"
btn.TextColor3 = Color3.new(1,1,1)
Instance.new("UICorner", btn)
local state = false
btn.MouseButton1Click:Connect(function()
state = not state
btn.Text = name .. ": " .. (state and "ON" or "OFF")
btn.BackgroundColor3 = state and Color3.fromRGB(0, 150, 0) or Color3.fromRGB(50, 50, 50)
fn(state)
end)
end
-- ЛОГИКА ESP (Подсветка через стены)
local highlights = {}
addToggle("ESP / Wallhack", function(v)
espOn = v
if not v then
for _, h in pairs(highlights) do h:Destroy() end
table.clear(highlights)
end
end)
RunService.RenderStepped:Connect(function()
if espOn then
for _, p in pairs(Players:GetPlayers()) do
if p ~= player and p.Character and p.Character:FindFirstChild("HumanoidRootPart") then
if not p.Character:FindFirstChild("GrevasESP") then
local h = Instance.new("Highlight")
h.Name = "GrevasESP"
h.FillColor = Color3.new(0, 1, 0)
h.FillTransparency = 0.5
h.OutlineColor = Color3.new(1, 1, 1)
h.Adornee = p.Character
h.Parent = p.Character
table.insert(highlights, h)
end
end
end
end
end)
-- ЛОГИКА AIMBOT
addToggle("Aimbot", function(v) aimOn = v end)
RunService.RenderStepped:Connect(function()
if aimOn then
local target = nil
local dist = math.huge
for _, p in pairs(Players:GetPlayers()) do
if p ~= player and p.Character and p.Character:FindFirstChild("Head") then
local pos, onScreen = camera:WorldToViewportPoint(p.Character.Head.Position)
if onScreen then
local mPos = UIS:GetMouseLocation()
local mag = (Vector2.new(pos.X, pos.Y) - mPos).Magnitude
if mag < dist then
dist = mag
target = p.Character.Head
end
end
end
end
if target then
camera.CFrame = CFrame.new(camera.CFrame.Position, target.Position)
end
end
end)
-- Кнопка для мобилок (Твой ID)
local mobBtn = Instance.new("ImageButton", sg)
mobBtn.Size = UDim2.new(0, 50, 0, 50)
mobBtn.Position = UDim2.new(0, 10, 0.5, -25)
mobBtn.Image = ICON_ID
mobBtn.BackgroundTransparency = 0.5
mobBtn.BackgroundColor3 = Color3.new(0,0,0)
Instance.new("UICorner", mobBtn).CornerRadius = UDim.new(1,0)
mobBtn.MouseButton1Click:Connect(function()
if keyVerified then
main.Visible = not main.Visible
else
keyFrame.Visible = not keyFrame.Visible
end
end)
-- Открытие на RightShift (ПК)
UIS.InputBegan:Connect(function(input, gpe)
if not gpe and input.KeyCode == Enum.KeyCode.RightShift and keyVerified then
main.Visible = not main.Visible
end
end)
print("GrevasHUB Loaded!")