
Keyless

--[[
WARNING: Heads up! This script has not been verified by ScriptBlox. Use at your own risk!
]]
-- Where is .Citzen :(
local Players = game:GetService("Players")
local UserInputService = game:GetService("UserInputService")
local RunService = game:GetService("RunService")
local TweenService = game:GetService("TweenService")
local player = Players.LocalPlayer
local character = player.Character or player.CharacterAdded:Wait()
local humanoidRootPart = character:WaitForChild("HumanoidRootPart")
local humanoid = character:WaitForChild("Humanoid")
local BOOST_COOLDOWN = 3
local BOOST_FORCE = 120
local BLOCK_SPEED = 250
local BLOCK_LIFETIME = 4
local BLOCK_OFFSET = Vector3.new(0, 0, 3.5)
local BLOCK_SIZE = Vector3.new(2.5, 2.5, 2.5)
local BLOCK_COLOR = Color3.fromRGB(255, 60, 60)
local TRAIL_COLOR1 = Color3.fromRGB(255, 100, 0)
local TRAIL_COLOR2 = Color3.fromRGB(255, 255, 0)
-- Variavel
local canBoost = true
local block = nil
local weld = nil
local isBoosting = false
local function criarBloco()
if block then block:Destroy() end
block = Instance.new("Part")
block.Name = "BoostBlock"
block.Size = BLOCK_SIZE
block.BrickColor = BrickColor.new("Really red")
block.Material = Enum.Material.Neon
block.Color = BLOCK_COLOR
block.CastShadow = true
block.CanCollide = false
block.Anchored = false
block.Parent = workspace
local attachment0 = Instance.new("Attachment", block)
attachment0.Position = Vector3.new(0, BLOCK_SIZE.Y / 2, 0)
local attachment1 = Instance.new("Attachment", block)
attachment1.Position = Vector3.new(0, -BLOCK_SIZE.Y / 2, 0)
local trail = Instance.new("Trail")
trail.Attachment0 = attachment0
trail.Attachment1 = attachment1
trail.Lifetime = 0.3
trail.MinLength = 0
trail.Color = ColorSequence.new({
ColorSequenceKeypoint.new(0, TRAIL_COLOR1),
ColorSequenceKeypoint.new(1, TRAIL_COLOR2),
})
trail.Transparency = NumberSequence.new({
NumberSequenceKeypoint.new(0, 0),
NumberSequenceKeypoint.new(1, 1),
})
trail.Parent = block
local light = Instance.new("PointLight")
light.Color = BLOCK_COLOR
light.Brightness = 3
light.Range = 12
light.Parent = block
weld = Instance.new("Weld")
weld.Part0 = humanoidRootPart
weld.Part1 = block
weld.C0 = CFrame.new(BLOCK_OFFSET)
weld.Parent = humanoidRootPart
end
local camera = workspace.CurrentCamera
local function cameraShake(intensidade, duracao)
local t = 0
local conn
conn = RunService.RenderStepped:Connect(function(dt)
t = t + dt
if t >= duracao then
conn:Disconnect()
return
end
local forca = intensidade * (1 - t / duracao)
camera.CFrame = camera.CFrame * CFrame.Angles(
math.rad((math.random() - 0.5) * forca),
math.rad((math.random() - 0.5) * forca),
0
)
end)
end
local function spawnParticulas(parte)
local emitter = Instance.new("ParticleEmitter")
emitter.Color = ColorSequence.new({
ColorSequenceKeypoint.new(0, TRAIL_COLOR1),
ColorSequenceKeypoint.new(0.5, BLOCK_COLOR),
ColorSequenceKeypoint.new(1, Color3.fromRGB(50, 0, 0)),
})
emitter.LightEmission = 0.8
emitter.LightInfluence = 0.2
emitter.Size = NumberSequence.new({
NumberSequenceKeypoint.new(0, 0.5),
NumberSequenceKeypoint.new(1, 0),
})
emitter.Lifetime = NumberRange.new(0.3, 0.6)
emitter.Speed = NumberRange.new(8, 20)
emitter.Rate = 80
emitter.SpreadAngle = Vector2.new(60, 60)
emitter.Parent = parte
task.delay(0.15, function()
emitter.Enabled = false
game:GetService("Debris"):AddItem(emitter, 1)
end)
end
-- Main fuction to activate boost
local function ativarBoost()
if not canBoost or isBoosting then return end
if not block or not block.Parent then return end
if humanoid.Health <= 0 then return end
canBoost = false
isBoosting = true
if weld then
weld:Destroy()
weld = nil
end
block.CanCollide = true
local direcaoFrente = humanoidRootPart.CFrame.LookVector
local bodyVelocity = Instance.new("BodyVelocity")
bodyVelocity.Velocity = direcaoFrente * BLOCK_SPEED
bodyVelocity.MaxForce = Vector3.new(1e5, 1e5, 1e5)
bodyVelocity.P = 1e4
bodyVelocity.Parent = block
spawnParticulas(block)
local playerBoost = Instance.new("BodyVelocity")
playerBoost.Velocity = direcaoFrente * BOOST_FORCE + Vector3.new(0, 18, 0)
playerBoost.MaxForce = Vector3.new(1e5, 1e5, 1e5)
playerBoost.P = 1e4
playerBoost.Parent = humanoidRootPart
cameraShake(3, 0.35)
task.delay(0.18, function()
if playerBoost and playerBoost.Parent then
playerBoost:Destroy()
end
end)
task.delay(0.5, function()
if bodyVelocity and bodyVelocity.Parent then
bodyVelocity:Destroy()
end
end)
local blocoRef = block
task.delay(BLOCK_LIFETIME, function()
if blocoRef and blocoRef.Parent then
local tween = TweenService:Create(blocoRef, TweenInfo.new(0.4), {
Transparency = 1,
Size = Vector3.new(0.1, 0.1, 0.1),
})
tween:Play()
tween.Completed:Connect(function()
blocoRef:Destroy()
end)
end
end)
block = nil
task.delay(BOOST_COOLDOWN, function()
isBoosting = false
canBoost = true
criarBloco()
if block then
block.Transparency = 1
local tween = TweenService:Create(block, TweenInfo.new(0.3), {
Transparency = 0,
})
tween:Play()
end
end)
end
-- Input btw
UserInputService.InputBegan:Connect(function(input, gameProcessed)
if gameProcessed then return end
if input.KeyCode == Enum.KeyCode.E then
ativarBoost()
end
end)
local screenGui = Instance.new("ScreenGui")
screenGui.Name = "BoostUI"
screenGui.ResetOnSpawn = false
screenGui.Parent = player.PlayerGui
local frame = Instance.new("Frame")
frame.Size = UDim2.new(0, 200, 0, 40)
frame.Position = UDim2.new(0.5, -100, 0.85, 0)
frame.BackgroundColor3 = Color3.fromRGB(20, 20, 20)
frame.BorderSizePixel = 0
frame.Parent = screenGui
local corner = Instance.new("UICorner", frame)
corner.CornerRadius = UDim.new(0, 8)
local bar = Instance.new("Frame")
bar.Size = UDim2.new(1, 0, 1, 0)
bar.BackgroundColor3 = BLOCK_COLOR
bar.BorderSizePixel = 0
bar.Parent = frame
local barCorner = Instance.new("UICorner", bar)
barCorner.CornerRadius = UDim.new(0, 8)
local label = Instance.new("TextLabel")
label.Size = UDim2.new(1, 0, 1, 0)
label.BackgroundTransparency = 1
label.Text = "Allowed to boost"
label.TextColor3 = Color3.new(1, 1, 1)
label.Font = Enum.Font.GothamBold
label.TextScaled = true
label.Parent = frame
RunService.RenderStepped:Connect(function()
if canBoost then
bar.Size = UDim2.new(1, 0, 1, 0)
bar.BackgroundColor3 = BLOCK_COLOR
label.Text = "Allowed to boost"
label.TextTransparency = 0
else
label.Text = "Cooldown to dont get ban"
label.TextTransparency = 0.3
bar.BackgroundColor3 = Color3.fromRGB(80, 80, 80)
end
end)
criarBloco()
player.CharacterAdded:Connect(function(newChar)
character = newChar
humanoidRootPart = newChar:WaitForChild("HumanoidRootPart")
humanoid = newChar:WaitForChild("Humanoid")
block = nil
weld = nil
canBoost = true
isBoosting = false
task.wait(0.5)
criarBloco()
end)
Can u make more of this please but with a gui with a toggable button
And make the boost cooldown boost force and block speed and block lifetime customizable on the gui pls I beg u