Run it
Copy the script and paste it into your executor.
Players = :()
UserInputService = :()
RunService = :()
player = Players.LocalPlayer
character = player.Character player.CharacterAdded:()
humanoid
hrp
camera = .CurrentCamera
KEY = .KeyCode.Z
SETTINGS = {
MOVE_SPEED = ,
JUMP_POWER = ,
TRAIL_INTERVAL = ,
FALL_ACCEL = ,
MAX_FALL_SPEED = ,
}
PROJ_SETTINGS = {
SIZE = .(, , ),
COLOR = .(, , ),
MATERIAL = .Material.Neon,
}
TRAIL_SETTINGS = {
SIZE = .(, , ),
COLOR = .(, , ),
MATERIAL = .Material.Neon,
}
isActive =
projPart =
trailTimer =
savedPositions = {}
savedTrails = {}
velocityY =
canJump =
(char)
character = char
humanoid = char:()
hrp = char:()
(character)
player.CharacterAdded:((char)
(char)
isActive
()
)
(cframe)
p = .(, )
p.Size = PROJ_SETTINGS.SIZE
p.CFrame = cframe
p.Anchored =
p.CanCollide =
p.Material = PROJ_SETTINGS.MATERIAL
p.Color = PROJ_SETTINGS.COLOR
p.CustomPhysicalProperties = PhysicalProperties.(,,)
p.Name =
p
(cframe)
t = .(, )
t.Size = TRAIL_SETTINGS.SIZE
t.CFrame = cframe
t.Anchored =
t.CanCollide =
t.Material = TRAIL_SETTINGS.MATERIAL
t.Color = TRAIL_SETTINGS.COLOR
t.Name =
.(savedTrails, t)
t
()
isActive
humanoid hrp
isActive =
trailTimer =
velocityY =
canJump =
savedPositions = {}
savedTrails = {}
humanoid.WalkSpeed =
humanoid.JumpPower =
hrp.Anchored =
projPart = (hrp.CFrame)
()
isActive
isActive =
projPart
_, cf (savedPositions)
hrp
hrp.CFrame = cf
.()
humanoid hrp
humanoid.WalkSpeed =
humanoid.JumpPower =
hrp.Anchored =
projPart
projPart:()
projPart =
_, trailPart (savedTrails)
trailPart trailPart.Parent
trailPart:()
savedTrails = {}
savedPositions = {}
UserInputService.InputBegan:((input, gp)
gp
input.KeyCode == KEY
()
)
UserInputService.InputEnded:((input, gp)
gp
input.KeyCode == KEY
()
)
RunService.Heartbeat:((delta)
isActive projPart
look = camera.CFrame.LookVector
right = camera.CFrame.RightVector
moveVec = .()
UserInputService:(.KeyCode.W)
moveVec = moveVec + .(look.X, , look.Z)
UserInputService:(.KeyCode.S)
moveVec = moveVec - .(look.X, , look.Z)
UserInputService:(.KeyCode.A)
moveVec = moveVec - .(right.X, , right.Z)
UserInputService:(.KeyCode.D)
moveVec = moveVec + .(right.X, , right.Z)
moveVec.Magnitude >
moveVec = moveVec.Unit * SETTINGS.MOVE_SPEED
UserInputService:(.KeyCode.Space) canJump
velocityY = SETTINGS.JUMP_POWER
canJump =
velocityY = velocityY - SETTINGS.FALL_ACCEL * delta
velocityY < -SETTINGS.MAX_FALL_SPEED
velocityY = -SETTINGS.MAX_FALL_SPEED
newPos = projPart.Position + .(moveVec.X * delta, velocityY * delta, moveVec.Z * delta)
projPart.CFrame = .(newPos)
projPart.Position.Y <= (hrp hrp.Position.Y ) +
velocityY =
canJump =
trailTimer = trailTimer + delta
trailTimer >= SETTINGS.TRAIL_INTERVAL
.(savedPositions, projPart.CFrame)
(projPart.CFrame)
trailTimer =
)
bind on button z

Universal