local Players = game:GetService("Players")
local player = Players.LocalPlayer
local pGui = player:FindFirstChildOfClass("PlayerGui")
local UserInputService = game:GetService("UserInputService")
local RunService = game:GetService("RunService")
local Workspace = game:GetService("Workspace")
----------------------------------
-- GUI SETUP
----------------------------------
if pGui:FindFirstChild("SimpleCheatGUI") then
pGui.SimpleCheatGUI:Destroy()
end
local ScreenGui = Instance.new("ScreenGui")
ScreenGui.Name = "SimpleCheatGUI"
ScreenGui.ResetOnSpawn = false
ScreenGui.Parent = pGui
local MainFrame = Instance.new("Frame")
MainFrame.Size = UDim2.new(0, 220, 0, 310)
MainFrame.Position = UDim2.new(0.5, -110, 0.4, -155)
MainFrame.BackgroundColor3 = Color3.fromRGB(25, 25, 25)
MainFrame.Active = true
MainFrame.Draggable = true
MainFrame.Parent = ScreenGui
local UICorner = Instance.new("UICorner")
UICorner.CornerRadius = UDim.new(0, 10)
UICorner.Parent = MainFrame
local Title = Instance.new("TextLabel")
Title.Size = UDim2.new(1, 0, 0, 35)
Title.Text = "S-Cheat Menu"
Title.TextScaled = true
Title.TextColor3 = Color3.new(1, 1, 1)
Title.BackgroundColor3 = Color3.fromRGB(40, 40, 40)
Title.Parent = MainFrame
local CheatFrame = Instance.new("Frame")
CheatFrame.Size = UDim2.new(1, 0, 1, -35)
CheatFrame.Position = UDim2.new(0, 0, 0, 35)
CheatFrame.BackgroundTransparency = 1
CheatFrame.Visible = true
CheatFrame.Parent = MainFrame
-- FARBEN
local ColorON = Color3.fromRGB(0, 180, 0)
local ColorOFF = Color3.fromRGB(150, 0, 0)
local function createBtn(text, pos, parent)
local b = Instance.new("TextButton")
b.Size = UDim2.new(0.9, 0, 0, 35)
b.Position = pos
b.Text = text
b.BackgroundColor3 = ColorOFF
b.TextColor3 = Color3.new(1, 1, 1)
b.Font = Enum.Font.SourceSansBold
b.TextSize = 16
b.Parent = parent
local corner = Instance.new("UICorner")
corner.CornerRadius = UDim.new(0, 6)
corner.Parent = b
return b
end
local InfJumpBtn = createBtn("Inf Jump: OFF", UDim2.new(0.05, 0, 0.05, 0), CheatFrame)
local NoClipBtn = createBtn("No-Clip: OFF", UDim2.new(0.05, 0, 0.20, 0), CheatFrame)
local SpeedBtn = createBtn("Speed (3x): OFF", UDim2.new(0.05, 0, 0.35, 0), CheatFrame)
local FreecamBtn = createBtn("Freecam: OFF", UDim2.new(0.05, 0, 0.50, 0), CheatFrame)
local FlyBtn = createBtn("Fly: OFF", UDim2.new(0.05, 0, 0.65, 0), CheatFrame)
----------------------------------
-- THEMES
----------------------------------
local SettingsBtn = Instance.new("TextButton")
SettingsBtn.Size = UDim2.new(0, 30, 0, 30)
SettingsBtn.Position = UDim2.new(0.05, 0, 0.85, 0)
SettingsBtn.Text = "โ๏ธ"
SettingsBtn.TextScaled = true
SettingsBtn.BackgroundTransparency = 1
SettingsBtn.TextColor3 = Color3.new(1,1,1)
SettingsBtn.Parent = CheatFrame
local SettingsPanel = Instance.new("Frame")
SettingsPanel.Size = UDim2.new(0, 200, 0, 180)
SettingsPanel.Position = UDim2.new(1.1, 0, 0, 0)
SettingsPanel.BackgroundColor3 = Color3.fromRGB(30, 30, 30)
SettingsPanel.Visible = false
SettingsPanel.Parent = MainFrame
local function updateAllColors()
local btns = {InfJumpBtn, NoClipBtn, SpeedBtn, FreecamBtn, FlyBtn}
for _, b in pairs(btns) do
local isON = string.find(b.Text, "ON")
b.BackgroundColor3 = isON and ColorON or ColorOFF
b.TextColor3 = (ColorOFF == Color3.new(1,1,1) and not isON) and Color3.new(0,0,0) or Color3.new(1,1,1)
end
end
createBtn("Rot / Grรผn", UDim2.new(0.05, 0, 0.1, 0), SettingsPanel).MouseButton1Click:Connect(function()
ColorON = Color3.fromRGB(0, 180, 0) ColorOFF = Color3.fromRGB(150, 0, 0) updateAllColors()
end)
createBtn("Blau / Gelb", UDim2.new(0.05, 0, 0.4, 0), SettingsPanel).MouseButton1Click:Connect(function()
ColorON = Color3.fromRGB(255, 215, 0) ColorOFF = Color3.fromRGB(0, 100, 255) updateAllColors()
end)
createBtn("Weiร / Schwarz", UDim2.new(0.05, 0, 0.7, 0), SettingsPanel).MouseButton1Click:Connect(function()
ColorON = Color3.new(0, 0, 0) ColorOFF = Color3.new(1, 1, 1) updateAllColors()
end)
SettingsBtn.MouseButton1Click:Connect(function() SettingsPanel.Visible = not SettingsPanel.Visible end)
----------------------------------
-- CHEAT LOGIK
----------------------------------
local camera = Workspace.CurrentCamera
local freecamActive, flyActive, infJumpActive, noclipActive, speedActive = false, false, false, false, false
local camPos, camRotX, camRotY = Vector3.new(0,0,0), 0, 0
local flySpeed, bv, bg = 60, nil, nil
-- RENDERING LOOP (Fly & Freecam)
RunService.RenderStepped:Connect(function(dt)
-- Freecam Logik
if freecamActive then
local moveDir = Vector3.new(0,0,0)
local rotCF = CFrame.Angles(0, camRotY, 0) * CFrame.Angles(camRotX, 0, 0)
if UserInputService:IsKeyDown(Enum.KeyCode.W) then moveDir += rotCF.LookVector end
if UserInputService:IsKeyDown(Enum.KeyCode.S) then moveDir -= rotCF.LookVector end
if UserInputService:IsKeyDown(Enum.KeyCode.D) then moveDir += rotCF.RightVector end
if UserInputService:IsKeyDown(Enum.KeyCode.A) then moveDir -= rotCF.RightVector end
if UserInputService:IsKeyDown(Enum.KeyCode.E) then moveDir += Vector3.new(0,1,0) end
if UserInputService:IsKeyDown(Enum.KeyCode.Q) then moveDir -= Vector3.new(0,1,0) end
camPos = camPos + moveDir * (80 * dt)
camera.CFrame = CFrame.new(camPos) * rotCF
end
-- Fly Logik (Jetzt mit A/D fรผr Links/Rechts)
if flyActive and player.Character and player.Character:FindFirstChild("HumanoidRootPart") then
local root = player.Character.HumanoidRootPart
local mDir = Vector3.new(0,0,0)
local cCF = camera.CFrame
if UserInputService:IsKeyDown(Enum.KeyCode.W) then mDir += cCF.LookVector end
if UserInputService:IsKeyDown(Enum.KeyCode.S) then mDir -= cCF.LookVector end
if UserInputService:IsKeyDown(Enum.KeyCode.D) then mDir += cCF.RightVector end
if UserInputService:IsKeyDown(Enum.KeyCode.A) then mDir -= cCF.RightVector end
if UserInputService:IsKeyDown(Enum.KeyCode.Space) then mDir += Vector3.new(0,1,0) end
if UserInputService:IsKeyDown(Enum.KeyCode.LeftControl) then mDir -= Vector3.new(0,1,0) end
if bv then bv.Velocity = mDir * flySpeed end
if bg then bg.CFrame = cCF end
end
end)
-- Rechtsklick Freecam Steuerung
UserInputService.InputChanged:Connect(function(input)
if freecamActive and input.UserInputType == Enum.UserInputType.MouseMovement then
if UserInputService:IsMouseButtonPressed(Enum.UserInputType.MouseButton2) then
local delta = input.Delta
camRotY = camRotY - (delta.X * 0.004)
camRotX = math.clamp(camRotX - (delta.Y * 0.004), -math.rad(85), math.rad(85))
UserInputService.MouseBehavior = Enum.MouseBehavior.LockCurrentPosition
else
UserInputService.MouseBehavior = Enum.MouseBehavior.Default
end
end
end)
-- PHYSIK LOOP
RunService.Heartbeat:Connect(function()
if not player.Character then return end
local hum = player.Character:FindFirstChildOfClass("Humanoid")
if hum then hum.WalkSpeed = speedActive and 48 or 16 end
if noclipActive then
for _, p in pairs(player.Character:GetDescendants()) do
if p:IsA("BasePart") then p.CanCollide = false end
end
end
end)
----------------------------------
-- BUTTONS
----------------------------------
InfJumpBtn.MouseButton1Click:Connect(function() infJumpActive = not infJumpActive InfJumpBtn.Text = "Inf Jump: " .. (infJumpActive and "ON" or "OFF") updateAllColors() end)
NoClipBtn.MouseButton1Click:Connect(function() noclipActive = not noclipActive NoClipBtn.Text = "No-Clip: " .. (noclipActive and "ON" or "OFF") updateAllColors() end)
SpeedBtn.MouseButton1Click:Connect(function() speedActive = not speedActive SpeedBtn.Text = "Speed (3x): " .. (speedActive and "ON" or "OFF") updateAllColors() end)
FreecamBtn.MouseButton1Click:Connect(function()
freecamActive = not freecamActive
FreecamBtn.Text = "Freecam: " .. (freecamActive and "ON" or "OFF")
updateAllColors()
if freecamActive then
camPos = camera.CFrame.Position
camera.CameraType = Enum.CameraType.Scriptable
else
camera.CameraType = Enum.CameraType.Custom
end
end)
FlyBtn.MouseButton1Click:Connect(function()
flyActive = not flyActive
FlyBtn.Text = "Fly: " .. (flyActive and "ON" or "OFF")
updateAllColors()
local root = player.Character and player.Character:FindFirstChild("HumanoidRootPart")
if flyActive and root then
bv = Instance.new("BodyVelocity", root) bv.MaxForce = Vector3.new(math.huge, math.huge, math.huge)
bg = Instance.new("BodyGyro", root) bg.MaxTorque = Vector3.new(math.huge, math.huge, math.huge)
bg.P = 10000 -- Stabilitรคt
elseif bv then bv:Destroy() bg:Destroy() end
end)
UserInputService.JumpRequest:Connect(function() if infJumpActive and player.Character then local hum = player.Character:FindFirstChildOfClass("Humanoid") if hum then hum:ChangeState(Enum.HumanoidStateType.Jumping) end end end)