Run it
Copy the script and paste it into your executor.
players = :()
rs = :()
uis = :()
db = :()
plr = players.LocalPlayer
mouse = plr:()
char = plr.Character plr.CharacterAdded:()
hrp = char:()
hum = char:()
mouse.TargetFilter = char
func = .DOITNOW
func
env = getfenv ()
env
func = env.DOITNOW
func
()
i, v (char:())
v:()
name = v.Name:()
name:()
v:()
v.Transparency =
v.CanCollide =
v:()
v:()
v:()
v:()
body = .()
body.Name =
body.Size = .(, , )
body.CanCollide =
body.CFrame = hrp.CFrame
body.Parent = char
bodymesh = .()
bodymesh.MeshId =
bodymesh.TextureId =
bodymesh.Scale = .(, , )
bodymesh.Parent = body
weld = .()
weld.Part0 = hrp
weld.Part1 = body
weld.Parent = body
exhaust = .()
exhaust.Name =
exhaust.Size = .(, , )
exhaust.Transparency =
exhaust.CanCollide =
exhaust.Parent = char
exhaustWeld = .()
exhaustWeld.Part0 = body
exhaustWeld.Part1 = exhaust
exhaustWeld.Parent = exhaust
exhaust.Position = body.Position + .(, , )
smoke = .()
smoke.Enabled =
smoke.Size =
smoke.RiseVelocity =
smoke.Opacity =
smoke.Parent = exhaust
cannon = .()
cannon.Name =
cannon.Size = .(, , )
cannon.CanCollide =
cannon.Parent = char
cannonmesh = .()
cannonmesh.MeshId =
cannonmesh.TextureId =
cannonmesh.Scale = .(, , )
cannonmesh.Parent = cannon
motor = .()
motor.Part0 = body
motor.Part1 = cannon
motor.C0 = .(, , )
motor.C1 = .(, , )
motor.Parent = body
hum.MaxHealth =
hum.Health =
mouse.Button1Down:(()
hum.Health <=
ball = .()
ball.Shape = .PartType.Ball
ball.Size = .(, , )
ball.BrickColor = BrickColor.()
ball.CFrame = cannon.CFrame * .(, , -)
ball.AssemblyLinearVelocity = cannon.CFrame.LookVector *
ball.Parent =
hitconn
hitconn = ball.Touched:((hit)
hit:(char) hit == ball
exp = .()
exp.Position = ball.Position
exp.BlastRadius =
exp.Parent =
hit.Parent:()
hit.Parent.Humanoid:()
hit.Name ~= hit.Name ~=
hit.Anchored =
hitconn:()
ball:()
)
db:(ball, )
)
hrp.Anchored =
movespeed =
turnspeed =
conn
conn = rs.RenderStepped:(()
char.Parent hum.Health <=
.CurrentCamera.CameraSubject = hum
conn
conn:()
.CurrentCamera.CameraSubject = body
movez =
uis:(.KeyCode.W) movez = -
uis:(.KeyCode.S) movez =
roty =
uis:(.KeyCode.A) roty = turnspeed
uis:(.KeyCode.D) roty = -turnspeed
movez ~= roty ~=
smoke.Enabled =
smoke.Enabled =
nextCFrame = hrp.CFrame * .(, , movez * movespeed) * .(, roty, )
rayParam = RaycastParams.()
rayParam.FilterDescendantsInstances = {char}
rayParam.FilterType = .RaycastFilterType.Exclude
ray = :(nextCFrame.Position + .(, , ), .(, -, ), rayParam)
ray
hrp.CFrame = .(ray.Position + .(, , )) * (nextCFrame - nextCFrame.Position)
hrp.CFrame = nextCFrame
targetpos = mouse.Hit.Position
relative = (body.CFrame * .(, , )):(targetpos)
motor.C0 = .(, , ) * .(.zero, relative)
)
Universal