Skip to content

Hzjjk #20

@Kneo-World

Description

@Kneo-World

local Player = game.Players.LocalPlayer
local UserInputService = game:GetService("UserInputService")
local RunService = game:GetService("RunService")
local TweenService = game:GetService("TweenService")

-- === Настройки ===
local MAX_WALKSPEED = 500
local DEFAULT_WALKSPEED = 16
local BUTTON_ACTIVE_COLOR = Color3.fromRGB(100, 200, 100)
local BUTTON_INACTIVE_COLOR = Color3.fromRGB(60, 60, 60)

-- === Переменные ===
local JumpConnection
local InfiniteJumpEnabled = false
local NoClip = false
local NoclipConnection
local currentSection = "main" -- main, settings

-- === Основной GUI ===
local ScreenGui = Instance.new("ScreenGui")
ScreenGui.Name = "ControlGui"
ScreenGui.ZIndexBehavior = Enum.ZIndexBehavior.Sibling
ScreenGui.ResetOnSpawn = false
ScreenGui.Parent = Player:WaitForChild("PlayerGui")

-- Главный прямоугольный фрейм (растянут вправо)
local MainFrame = Instance.new("Frame")
MainFrame.Size = UDim2.new(0, 350, 0, 250) -- Шире, но ниже
MainFrame.Position = UDim2.new(0.05, 0, 0.1, 0)
MainFrame.BackgroundColor3 = Color3.fromRGB(30, 30, 30)
MainFrame.BackgroundTransparency = 0.1
MainFrame.Active = true
MainFrame.Visible = false
MainFrame.Parent = ScreenGui

local UICorner = Instance.new("UICorner")
UICorner.CornerRadius = UDim.new(0, 8)
UICorner.Parent = MainFrame

-- === Панель для перемещения (верхняя часть) ===
local DragPanel = Instance.new("Frame")
DragPanel.Size = UDim2.new(1, 0, 0, 30)
DragPanel.Position = UDim2.new(0, 0, 0, 0)
DragPanel.BackgroundColor3 = Color3.fromRGB(50, 50, 50)
DragPanel.BorderSizePixel = 0
DragPanel.Active = true
DragPanel.Parent = MainFrame

local DragCorner = Instance.new("UICorner")
DragCorner.CornerRadius = UDim.new(0, 8)
DragCorner.Parent = DragPanel

-- Текст "Fire Cheats" на панели
local TitleLabel = Instance.new("TextLabel")
TitleLabel.Size = UDim2.new(0, 120, 1, 0)
TitleLabel.Position = UDim2.new(0, 10, 0, 0)
TitleLabel.BackgroundTransparency = 1
TitleLabel.Text = "Fire Cheats"
TitleLabel.TextColor3 = Color3.fromRGB(255, 255, 255)
TitleLabel.TextSize = 16
TitleLabel.Font = Enum.Font.GothamBold
TitleLabel.TextXAlignment = Enum.TextXAlignment.Left
TitleLabel.Parent = DragPanel

-- Кнопка закрытия на панели
local CloseButton = Instance.new("TextButton")
CloseButton.Size = UDim2.new(0, 25, 0, 25)
CloseButton.Position = UDim2.new(1, -30, 0, 2)
CloseButton.BackgroundColor3 = Color3.fromRGB(200, 60, 60)
CloseButton.TextColor3 = Color3.fromRGB(255, 255, 255)
CloseButton.Text = "X"
CloseButton.TextSize = 16
CloseButton.Parent = DragPanel

local CloseCorner = Instance.new("UICorner")
CloseCorner.CornerRadius = UDim.new(0, 12)
CloseCorner.Parent = CloseButton

-- === Боковое меню ===
local SideMenu = Instance.new("Frame")
SideMenu.Size = UDim2.new(0, 60, 1, -30)
SideMenu.Position = UDim2.new(0, 0, 0, 30)
SideMenu.BackgroundColor3 = Color3.fromRGB(40, 40, 40)
SideMenu.BorderSizePixel = 0
SideMenu.Parent = MainFrame

local SideMenuCorner = Instance.new("UICorner")
SideMenuCorner.CornerRadius = UDim.new(0, 8)
SideMenuCorner.Parent = SideMenu

-- Квадратный человечек в боковом меню
local HumanoidButton = Instance.new("TextButton")
HumanoidButton.Size = UDim2.new(0, 40, 0, 40)
HumanoidButton.Position = UDim2.new(0, 10, 0, 20)
HumanoidButton.BackgroundColor3 = Color3.fromRGB(70, 70, 70)
HumanoidButton.Text = "👤"
HumanoidButton.TextColor3 = Color3.fromRGB(255, 255, 255)
HumanoidButton.TextSize = 20
HumanoidButton.Parent = SideMenu

local HumanoidCorner = Instance.new("UICorner")
HumanoidCorner.CornerRadius = UDim.new(0, 6)
HumanoidCorner.Parent = HumanoidButton

-- Шестерёнка в боковом меню (под человечком)
local GearButton = Instance.new("TextButton")
GearButton.Size = UDim2.new(0, 40, 0, 40)
GearButton.Position = UDim2.new(0, 10, 0, 70)
GearButton.BackgroundColor3 = Color3.fromRGB(70, 70, 70)
GearButton.Text = "⚙️"
GearButton.TextColor3 = Color3.fromRGB(255, 255, 255)
GearButton.TextSize = 20
GearButton.Parent = SideMenu

local GearCorner = Instance.new("UICorner")
GearCorner.CornerRadius = UDim.new(0, 6)
GearCorner.Parent = GearButton

-- === Контентная область с ПРОКРУТКОЙ ===
local ContentFrame = Instance.new("Frame")
ContentFrame.Size = UDim2.new(1, -60, 1, -70)
ContentFrame.Position = UDim2.new(0, 60, 0, 30)
ContentFrame.BackgroundTransparency = 1
ContentFrame.ClipsDescendants = true
ContentFrame.Parent = MainFrame

-- ScrollingFrame для основной секции
local MainScrollingFrame = Instance.new("ScrollingFrame")
MainScrollingFrame.Size = UDim2.new(1, 0, 1, 0)
MainScrollingFrame.Position = UDim2.new(0, 0, 0, 0)
MainScrollingFrame.BackgroundTransparency = 1
MainScrollingFrame.ScrollBarThickness = 6
MainScrollingFrame.ScrollBarImageColor3 = Color3.fromRGB(100, 100, 100)
MainScrollingFrame.CanvasSize = UDim2.new(0, 0, 0, 300)
MainScrollingFrame.VerticalScrollBarInset = Enum.ScrollBarInset.Always
MainScrollingFrame.Visible = true
MainScrollingFrame.Parent = ContentFrame

-- ScrollingFrame для секции настроек
local SettingsScrollingFrame = Instance.new("ScrollingFrame")
SettingsScrollingFrame.Size = UDim2.new(1, 0, 1, 0)
SettingsScrollingFrame.Position = UDim2.new(0, 0, 0, 0)
SettingsScrollingFrame.BackgroundTransparency = 1
SettingsScrollingFrame.ScrollBarThickness = 6
SettingsScrollingFrame.ScrollBarImageColor3 = Color3.fromRGB(100, 100, 100)
SettingsScrollingFrame.CanvasSize = UDim2.new(0, 0, 0, 300)
SettingsScrollingFrame.VerticalScrollBarInset = Enum.ScrollBarInset.Always
SettingsScrollingFrame.Visible = false
SettingsScrollingFrame.Parent = ContentFrame

-- Ограничиваем прокрутку для обеих секций
local function setupScrollLimits(scrollingFrame)
scrollingFrame:GetPropertyChangedSignal("CanvasPosition"):Connect(function()
local canvasPos = scrollingFrame.CanvasPosition
if canvasPos.Y < 0 then
local tween = TweenService:Create(scrollingFrame, TweenInfo.new(0.3), {CanvasPosition = Vector2.new(0, 0)})
tween:Play()
elseif canvasPos.Y > scrollingFrame.CanvasSize.Y.Offset - scrollingFrame.AbsoluteSize.Y then
local targetY = math.max(0, scrollingFrame.CanvasSize.Y.Offset - scrollingFrame.AbsoluteSize.Y)
local tween = TweenService:Create(scrollingFrame, TweenInfo.new(0.3), {CanvasPosition = Vector2.new(0, targetY)})
tween:Play()
end
end)
end

setupScrollLimits(MainScrollingFrame)
setupScrollLimits(SettingsScrollingFrame)

-- === Надпись внизу (Made by Knew World) ===
local CreditLabel = Instance.new("TextLabel")
CreditLabel.Size = UDim2.new(1, -70, 0, 30)
CreditLabel.Position = UDim2.new(0, 60, 1, -35)
CreditLabel.BackgroundTransparency = 1
CreditLabel.Text = "Made by Knew World"
CreditLabel.TextColor3 = Color3.fromRGB(200, 200, 200)
CreditLabel.TextSize = 14
CreditLabel.Font = Enum.Font.GothamBold
CreditLabel.TextXAlignment = Enum.TextXAlignment.Left
CreditLabel.Parent = MainFrame

-- === Кнопка toggle GUI (шестеренка) ===
local ToggleButton = Instance.new("TextButton")
ToggleButton.Size = UDim2.new(0, 40, 0, 40)
ToggleButton.Position = UDim2.new(0, 10, 0, 10)
ToggleButton.BackgroundColor3 = Color3.fromRGB(60, 60, 60)
ToggleButton.TextColor3 = Color3.fromRGB(255, 255, 255)
ToggleButton.Text = "⚙️"
ToggleButton.TextSize = 20
ToggleButton.ZIndex = 10
ToggleButton.Active = true
ToggleButton.Parent = ScreenGui

local ToggleCorner = Instance.new("UICorner")
ToggleCorner.CornerRadius = UDim.new(0, 20)
ToggleCorner.Parent = ToggleButton

-- === Функция смены секций ===
local function showSection(sectionName)
MainScrollingFrame.Visible = (sectionName == "main")
SettingsScrollingFrame.Visible = (sectionName == "settings")
currentSection = sectionName
end

-- === Функция создания кнопок ===
local function createButton(name, position, size, color, text, parent)
local button = Instance.new("TextButton")
button.Name = name
button.Size = size
button.Position = position
button.BackgroundColor3 = color
button.TextColor3 = Color3.fromRGB(255, 255, 255)
button.TextScaled = true
button.Text = text
button.AutoButtonColor = false
button.Parent = parent

local buttonCorner = Instance.new("UICorner")
buttonCorner.CornerRadius = UDim.new(0, 6)
buttonCorner.Parent = button

button.TouchTap:Connect(function()
	button.MouseButton1Click:Fire()
end)

return button

end

-- === Анимация кнопки ===
local function animateButtonScale(button, scalePercent)
local originalSize = button.Size
local targetSize = UDim2.new(
originalSize.X.Scale * scalePercent,
originalSize.X.Offset * scalePercent,
originalSize.Y.Scale * scalePercent,
originalSize.Y.Offset * scalePercent
)

local tweenOut = TweenService:Create(button, TweenInfo.new(0.1), {Size = targetSize})
tweenOut:Play()

tweenOut.Completed:Wait()

local tweenIn = TweenService:Create(button, TweenInfo.new(0.1), {Size = originalSize})
tweenIn:Play()

end

-- === Кнопки основной секции ===
local JumpButton = createButton("InfiniteJump", UDim2.new(0, 10, 0, 10), UDim2.new(1, -20, 0, 40), BUTTON_INACTIVE_COLOR, "Inf Jump: OFF", MainScrollingFrame)
local ButtonNoClip = createButton("NoClipButton", UDim2.new(0, 10, 0, 60), UDim2.new(1, -20, 0, 40), BUTTON_INACTIVE_COLOR, "NoClip: OFF", MainScrollingFrame)
local ResetSpeedButton = createButton("ResetSpeed", UDim2.new(0, 10, 0, 110), UDim2.new(1, -20, 0, 40), Color3.fromRGB(90, 90, 200), "Reset Speed", MainScrollingFrame)
local PlusButton = createButton("SpeedPlus", UDim2.new(0, 10, 0, 160), UDim2.new(0.5, -15, 0, 40), Color3.fromRGB(0, 150, 0), "+10", MainScrollingFrame)
local MinusButton = createButton("SpeedMinus", UDim2.new(0.5, 5, 0, 160), UDim2.new(0.5, -15, 0, 40), Color3.fromRGB(150, 0, 0), "-10", MainScrollingFrame)

-- Отображение скорости в основной секции
local SpeedLabel = Instance.new("TextLabel")
SpeedLabel.Size = UDim2.new(1, -20, 0, 40)
SpeedLabel.Position = UDim2.new(0, 10, 0, 210)
SpeedLabel.BackgroundTransparency = 1
SpeedLabel.TextColor3 = Color3.fromRGB(255, 255, 255)
SpeedLabel.TextScaled = true
SpeedLabel.Text = "Speed: " .. DEFAULT_WALKSPEED
SpeedLabel.Parent = MainScrollingFrame

-- === Кнопки секции настроек ===
local TestButton = createButton("TestButton", UDim2.new(0, 10, 0, 10), UDim2.new(1, -20, 0, 40), Color3.fromRGB(100, 100, 200), "TEST", SettingsScrollingFrame)

-- Добавляем дополнительные кнопки для прокрутки
local DummyButton1 = createButton("Dummy1", UDim2.new(0, 10, 0, 60), UDim2.new(1, -20, 0, 40), Color3.fromRGB(80, 80, 80), "Extra Button 1", SettingsScrollingFrame)
local DummyButton2 = createButton("Dummy2", UDim2.new(0, 10, 0, 110), UDim2.new(1, -20, 0, 40), Color3.fromRGB(80, 80, 80), "Extra Button 2", SettingsScrollingFrame)
local DummyButton3 = createButton("Dummy3", UDim2.new(0, 10, 0, 160), UDim2.new(1, -20, 0, 40), Color3.fromRGB(80, 80, 80), "Extra Button 3", SettingsScrollingFrame)
local DummyButton4 = createButton("Dummy4", UDim2.new(0, 10, 0, 210), UDim2.new(1, -20, 0, 40), Color3.fromRGB(80, 80, 80), "Extra Button 4", SettingsScrollingFrame)
local DummyButton5 = createButton("Dummy5", UDim2.new(0, 10, 0, 260), UDim2.new(1, -20, 0, 40), Color3.fromRGB(80, 80, 80), "Extra Button 5", SettingsScrollingFrame)

-- === Управление перетаскиванием ===
local draggingToggle, dragInputToggle, dragStartToggle, startPosToggle
local draggingMain, dragInputMain, dragStartMain, startPosMain

local function updateToggle(input)
local delta = input.Position - dragStartToggle
ToggleButton.Position = UDim2.new(
0, startPosToggle.X.Offset + delta.X,
0, startPosToggle.Y.Offset + delta.Y
)
end

local function updateMain(input)
local delta = input.Position - dragStartMain
MainFrame.Position = UDim2.new(
startPosMain.X.Scale, startPosMain.X.Offset + delta.X,
startPosMain.Y.Scale, startPosMain.Y.Offset + delta.Y
)
end

-- Шестерёнка toggle (открывает/закрывает GUI)
ToggleButton.MouseButton1Click:Connect(function()
MainFrame.Visible = not MainFrame.Visible
end)

ToggleButton.TouchTap:Connect(function()
MainFrame.Visible = not MainFrame.Visible
end)

-- Перетаскивание шестерёнки (только зажатие)
ToggleButton.InputBegan:Connect(function(input)
if input.UserInputType == Enum.UserInputType.MouseButton1 or input.UserInputType == Enum.UserInputType.Touch then
draggingToggle = true
dragStartToggle = input.Position
startPosToggle = ToggleButton.Position

	local connection
	connection = input.Changed:Connect(function()
		if input.UserInputState == Enum.UserInputState.End then
			draggingToggle = false
			connection:Disconnect()
		end
	end)
end

end)

ToggleButton.InputChanged:Connect(function(input)
if input.UserInputType == Enum.UserInputType.MouseMovement or input.UserInputType == Enum.UserInputType.Touch then
dragInputToggle = input
end
end)

-- Перетаскивание основной панели
DragPanel.InputBegan:Connect(function(input)
if input.UserInputType == Enum.UserInputType.MouseButton1 or input.UserInputType == Enum.UserInputType.Touch then
draggingMain = true
dragStartMain = input.Position
startPosMain = MainFrame.Position

	local connection
	connection = input.Changed:Connect(function()
		if input.UserInputState == Enum.UserInputState.End then
			draggingMain = false
			connection:Disconnect()
		end
	end)
end

end)

DragPanel.InputChanged:Connect(function(input)
if input.UserInputType == Enum.UserInputType.MouseMovement or input.UserInputType == Enum.UserInputType.Touch then
dragInputMain = input
end
end)

UserInputService.InputChanged:Connect(function(input)
if input == dragInputToggle and draggingToggle then
updateToggle(input)
end
if input == dragInputMain and draggingMain then
updateMain(input)
end
end)

-- Кнопки бокового меню
HumanoidButton.MouseButton1Click:Connect(function()
showSection("main")
animateButtonScale(HumanoidButton, 0.9)
end)

GearButton.MouseButton1Click:Connect(function()
showSection("settings")
animateButtonScale(GearButton, 0.9)
end)

-- Закрытие GUI
CloseButton.MouseButton1Click:Connect(function()
MainFrame.Visible = false
end)

CloseButton.TouchTap:Connect(function()
MainFrame.Visible = false
end)

-- === Обновление кнопок ===
local function updateJumpButton()
JumpButton.Text = InfiniteJumpEnabled and "Inf Jump: ON" or "Inf Jump: OFF"
JumpButton.BackgroundColor3 = InfiniteJumpEnabled and BUTTON_ACTIVE_COLOR or BUTTON_INACTIVE_COLOR
end

local function updateNoClipButton()
ButtonNoClip.Text = NoClip and "NoClip: ON" or "NoClip: OFF"
ButtonNoClip.BackgroundColor3 = NoClip and Color3.fromRGB(200, 100, 100) or BUTTON_INACTIVE_COLOR
end

-- === Бесконечный прыжок ===
local function setupInfiniteJump()
if JumpConnection then
JumpConnection:Disconnect()
end

JumpConnection = UserInputService.JumpRequest:Connect(function()
	if not InfiniteJumpEnabled then return end
	
	local Character = Player.Character
	if not Character then return end
	
	local Humanoid = Character:FindFirstChildOfClass("Humanoid")
	if Humanoid and Humanoid:GetState() ~= Enum.HumanoidStateType.Dead then
		Humanoid:ChangeState(Enum.HumanoidStateType.Jumping)
	end
end)

end

JumpButton.MouseButton1Click:Connect(function()
InfiniteJumpEnabled = not InfiniteJumpEnabled
updateJumpButton()
animateButtonScale(JumpButton, 0.95)

if InfiniteJumpEnabled then
	setupInfiniteJump()
else
	if JumpConnection then
		JumpConnection:Disconnect()
		JumpConnection = nil
	end
end

end)

-- === NoClip ===
ButtonNoClip.MouseButton1Click:Connect(function()
NoClip = not NoClip
updateNoClipButton()
animateButtonScale(ButtonNoClip, 0.95)

if NoclipConnection then
	NoclipConnection:Disconnect()
	NoclipConnection = nil
end
if NoClip then
	NoclipConnection = RunService.Stepped:Connect(function()
		local Character = Player.Character
		if Character then
			for _, part in pairs(Character:GetDescendants()) do
				if part:IsA("BasePart") and part.CanCollide then
					part.CanCollide = false
				end
			end
		end
	end)
end

end)

-- === Управление скоростью ===
local function changeSpeed(amount)
local Character = Player.Character
if not Character then return end

local Humanoid = Character:FindFirstChildOfClass("Humanoid")
if Humanoid then
	local newSpeed = math.clamp(Humanoid.WalkSpeed + amount, 0, MAX_WALKSPEED)
	Humanoid.WalkSpeed = newSpeed
	SpeedLabel.Text = "Speed: " .. math.floor(newSpeed)
end

end

ResetSpeedButton.MouseButton1Click:Connect(function()
local Character = Player.Character
if not Character then return end

local Humanoid = Character:FindFirstChildOfClass("Humanoid")
if Humanoid then
	Humanoid.WalkSpeed = DEFAULT_WALKSPEED
	SpeedLabel.Text = "Speed: " .. DEFAULT_WALKSPEED
	animateButtonScale(ResetSpeedButton, 0.95)
end

end)

PlusButton.MouseButton1Click:Connect(function()
changeSpeed(10)
animateButtonScale(PlusButton, 0.95)
end)

MinusButton.MouseButton1Click:Connect(function()
changeSpeed(-10)
animateButtonScale(MinusButton, 0.95)
end)

-- === Тест кнопка ===
TestButton.MouseButton1Click:Connect(function()
print("Test button pressed!")
animateButtonScale(TestButton, 0.95)
end)

-- === Слежение за скоростью ===
local function setupCharacter(char)
local Humanoid = char:WaitForChild("Humanoid")
SpeedLabel.Text = "Speed: " .. math.floor(Humanoid.WalkSpeed)

local connection
connection = Humanoid:GetPropertyChangedSignal("WalkSpeed"):Connect(function()
	SpeedLabel.Text = "Speed: " .. math.floor(Humanoid.WalkSpeed)
end)

Humanoid.Died:Connect(function()
	if connection then
		connection:Disconnect()
	end
	if InfiniteJumpEnabled then
		InfiniteJumpEnabled = false
		updateJumpButton()
		if JumpConnection then
			JumpConnection:Disconnect()
			JumpConnection = nil
		end
	end
	if NoClip then
		NoClip = false
		updateNoClipButton()
		if NoclipConnection then
			NoclipConnection:Disconnect()
			NoclipConnection = nil
		end
	end
end)

end

-- Инициализация
if Player.Character then
setupCharacter(Player.Character)
setupInfiniteJump()
end

Player.CharacterAdded:Connect(function(char)
setupCharacter(char)
setupInfiniteJump()
end)

-- Активируем прокрутку для телефона
MainScrollingFrame.ScrollingEnabled = true
SettingsScrollingFrame.ScrollingEnabled = true

print("Fire Cheats loaded! Use the gear button to toggle menu.")

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions