Run it
Copy the script and paste it into your executor.
Players = :()
Workspace = :()
Debris = :()
UserInputService = :()
RunService = :()
TweenService = :()
player = Players.LocalPlayer
backpack = player:()
gui = player:()
tool = .()
tool.Name =
tool.RequiresHandle =
tool.Parent = backpack
screenGui = .()
screenGui.Name =
screenGui.ResetOnSpawn =
screenGui.Enabled =
screenGui.Parent = gui
(name, size, pos, color, text)
b = .()
b.Name = name
b.Size = size
b.Position = pos
b.BackgroundColor3 = color
b.Text = text
b.TextScaled =
b.ZIndex =
b.Parent = screenGui
b
btnSwing = (, .(,,,), .(,,,), .(,,), )
btnZip = (, .(,,,), .(,,,), .(,,), )
btnSling = (, .(,,,), .(,,,), .(,,), )
btnWall = (, .(,,,), .(,,,), .(,,), )
btnTeto = (, .(,,,), .(,,,), .(,,), )
.(, btnWall).CornerRadius = .(,)
.(, btnTeto).CornerRadius = .(,)
btnSubir = (, .(,,,), .(,,,), .(,,), )
btnSubir.Visible =
arrows = .(, screenGui)
arrows.Size = .(,,,)
arrows.BackgroundTransparency =
arrows.Visible =
(pos, txt)
b = .()
b.Size = .(,,,)
b.Position = pos
b.Text = txt
b.TextScaled =
b.BackgroundColor3 = .(,,)
b.TextColor3 = .(,,)
b.Parent = arrows
b
up = (.(,,,), )
down = (.(,,,), )
left = (.(,,,), )
right = (.(,,,), )
()
c = player.Character player.CharacterAdded:()
c, c:(), c:()
SWING_ANIM_ID =
CLIMB_ANIM_ID =
swingTrack, climbTrack
(hum)
animator = hum:()
animator
animator = .()
animator.Parent = hum
swingAnim = .()
swingAnim.AnimationId = SWING_ANIM_ID
swingTrack = animator:(swingAnim)
swingTrack.Priority = .AnimationPriority.Action
swingTrack.Looped =
climbAnim = .()
climbAnim.AnimationId = CLIMB_ANIM_ID
climbTrack = animator:(climbAnim)
climbTrack.Priority = .AnimationPriority.Action
climbTrack.Looped =
wristShooters = {}
()
_, s (wristShooters)
s s:()
wristShooters = {}
(hand, offset)
hand
shooter = .()
shooter.Name =
shooter.Size = .(, , )
shooter.Color = .(, , )
shooter.Material = .Material.Metal
shooter.CanCollide =
shooter.Massless =
shooter.Parent = hand
weld = .()
weld.Part0 = hand
weld.Part1 = shooter
weld.C0 = offset
weld.Parent = shooter
detail = .()
detail.Size = .(, , )
detail.Color = .(, , )
detail.Material = .Material.Neon
detail.CanCollide =
detail.Massless =
detail.Parent = shooter
detailWeld = .()
detailWeld.Part0 = shooter
detailWeld.Part1 = detail
detailWeld.C0 = .(, , -)
detailWeld.Parent = detail
.(wristShooters, shooter)
.(wristShooters, detail)
(char)
()
rightHand = char:() char:()
leftHand = char:() char:()
(rightHand, .(, -, ) * .(.(-), .(), ))
(leftHand, .(-, -, ) * .(.(-), .(-), ))
(char, hrp)
hum = char:()
hum
hum.PlatformStand =
webSound = .()
webSound.SoundId =
webSound.Volume =
webSound.Parent = hrp
webSound:()
Debris:(webSound, )
cocoonParts = {}
numParts =
i = , numParts
part = .()
part.Name =
part.Size = .(, , )
part.Color = .(, , )
part.Material = .Material.SmoothPlastic
part.CanCollide =
part.Anchored =
part.CastShadow =
part.Parent = Workspace
theta = .(.(, ))
phi = .(.(, ))
radius =
offset = .(
radius * .(phi) * .(theta),
radius * .(phi) * ,
radius * .(phi) * .(theta)
)
part.CFrame = .(hrp.Position + offset)
.(cocoonParts, part)
tween = TweenService:(part, TweenInfo.(, .EasingStyle.Quad, .EasingDirection.Out), {
Size = .(, , )
})
tween:()
.()
explodeSound = .()
explodeSound.SoundId =
explodeSound.Volume =
explodeSound.Pitch =
explodeSound.Parent = hrp
explodeSound:()
Debris:(explodeSound, )
_, part (cocoonParts)
part part.Parent
part.Anchored =
dir = (part.Position - hrp.Position).Unit
bv = .()
bv.MaxForce = .(, , )
bv.Velocity = dir * .(, ) + .(, .(, ), )
bv.Parent = part
Debris:(bv, )
Debris:(part, )
.()
hum
hum.PlatformStand =
swinging =
rope, anchor, att0, att1, align
handBeams = {}
swingConn
lastSwingVelocity = .zero
swingHandCycle =
()
_, b (handBeams)
b b:()
handBeams = {}
(char, targetAttachment, mode)
()
leftHand = char:() char:()
rightHand = char:() char:()
(hand)
hand
a1 = .(, hand)
hb = .()
hb.Attachment0 = targetAttachment
hb.Attachment1 = a1
hb.Width0 =
hb.Width1 =
hb.Color = ColorSequence.(.(,,))
hb.FaceCamera =
hb.LightEmission =
hb.Parent = hand
.(handBeams, hb)
.(handBeams, a1)
mode ==
(rightHand)
mode ==
(leftHand)
(leftHand)
(rightHand)
()
swinging
swinging =
char, hrp, hum = ()
hum.PlatformStand =
swingTrack (hum)
swingTrack swingTrack:()
webSound = .()
webSound.SoundId =
webSound.Volume =
webSound.Parent = hrp
webSound:()
Debris:(webSound, )
anchor = .(, Workspace)
anchor.Anchored =
anchor.Transparency =
anchor.CanCollide =
anchor.Size = .(,,)
anchor.Position = hrp.Position + hrp.CFrame.LookVector * + .(, , )
att0 = .(, anchor)
att1 = .(, hrp)
rope = .(, hrp)
rope.Attachment0 = att0
rope.Attachment1 = att1
rope.Length = (anchor.Position - hrp.Position).Magnitude
rope.Thickness =
rope.Visible =
mode = swingHandCycle %
(char, att0, mode)
swingHandCycle = swingHandCycle +
align = .(, hrp)
align.Attachment0 = att1
align.Responsiveness =
align.MaxTorque =
hrp.AssemblyLinearVelocity = hrp.AssemblyLinearVelocity + hrp.CFrame.LookVector *
swingConn = RunService.Heartbeat:(()
hrp hrp.Parent
lastSwingVelocity = hrp.AssemblyLinearVelocity
dir = (anchor.Position - hrp.Position).Unit
vel = hrp.AssemblyLinearVelocity
radial = dir * vel:(dir)
tangential = vel - radial
hrp.AssemblyLinearVelocity = tangential + .(, -.Gravity * , )
)
()
swinging
swinging =
swingConn swingConn:()
swingTrack swingTrack.IsPlaying swingTrack:()
_, hrp, hum = ()
hum.PlatformStand =
hrp lastSwingVelocity.Magnitude >
boostDirection = lastSwingVelocity.Unit
finalDir = (boostDirection + hrp.CFrame.LookVector * ).Unit
hrp.AssemblyLinearVelocity = hrp.AssemblyLinearVelocity + finalDir * + .(, , )
()
rope rope:()
anchor anchor:()
align align:()
lastSwingVelocity = .zero
btnZip.MouseButton1Down:(()
()
char, hrp = ()
zipAnchor = .()
zipAnchor.Anchored =
zipAnchor.CanCollide =
zipAnchor.Transparency =
zipAnchor.Size = .(,,)
zipAnchor.Position = hrp.Position + hrp.CFrame.LookVector * + .(,,)
zipAnchor.Parent = Workspace
att0 = .(, zipAnchor)
att1 = .(, hrp)
leftHand = char:() char:()
rightHand = char:() char:()
extra = {}
_, hand ({leftHand, rightHand})
hand
a1 = .(, hand)
hb = .()
hb.Attachment0 = att0
hb.Attachment1 = a1
hb.Width0 =
hb.Width1 =
hb.Color = ColorSequence.(.(,,))
hb.FaceCamera =
hb.LightEmission =
hb.Parent = hand
.(extra, hb)
.(extra, a1)
Debris:(zipAnchor, )
Debris:(att1, )
_, v (extra) Debris:(v, )
webSound = .()
webSound.SoundId =
webSound.Volume =
webSound.Parent = hrp
webSound:()
Debris:(webSound, )
bv = .(, hrp)
bv.MaxForce = .(,,)
bv.Velocity = hrp.CFrame.LookVector * + .(,,)
Debris:(bv, )
)
climbing =
moveDir = .zero
vel, gyro
(char, hrp)
params = RaycastParams.()
params.FilterDescendantsInstances = {char}
params.FilterType = .RaycastFilterType.Blacklist
_, dir ({
hrp.CFrame.LookVector,
-hrp.CFrame.LookVector,
hrp.CFrame.RightVector,
-hrp.CFrame.RightVector
})
hit = Workspace:(hrp.Position, dir * , params)
hit hit
()
climbing
()
climbing =
btnWall.BackgroundColor3 = .(,,)
arrows.Visible =
btnSubir.Visible =
char, hrp, hum = ()
hum.PlatformStand =
climbTrack (hum)
climbTrack climbTrack:()
vel = .(, hrp)
vel.MaxForce = .(,,)
gyro = .(, hrp)
gyro.MaxTorque = .(,,)
gyro.P =
.(()
climbing
.()
hit = (char, hrp)
hit
face = -hit.Normal
rightVec = face:(.(,,)).Unit
upVec = rightVec:(face).Unit
vel.Velocity = (rightVec * moveDir.X + upVec * moveDir.Y) * + face *
gyro.CFrame = .(hrp.Position, hrp.Position + face)
vel.Velocity = .zero
)
()
climbing
climbing =
arrows.Visible =
btnSubir.Visible =
btnWall.BackgroundColor3 = .(,,)
climbTrack climbTrack.IsPlaying climbTrack:()
_, _, hum = ()
hum.PlatformStand =
vel vel:()
gyro gyro:()
moveDir = .zero
ceilingMode =
ceilingRope, ceilingAnchor, ceilingAtt0, ceilingAtt1
ceilingConn
()
ceilingMode
ceilingMode =
ceilingConn ceilingConn:()
climbTrack climbTrack.IsPlaying climbTrack:()
_, _, hum = ()
hum.PlatformStand =
()
ceilingRope ceilingRope:()
ceilingAnchor ceilingAnchor:()
arrows.Visible =
btnTeto.BackgroundColor3 = .(,,)
moveDir = .zero
()
ceilingMode
()
()
char, hrp, hum = ()
params = RaycastParams.()
params.FilterDescendantsInstances = {char}
params.FilterType = .RaycastFilterType.Blacklist
hit = Workspace:(hrp.Position, .(, , ), params)
hit
ceilingMode =
btnTeto.BackgroundColor3 = .(,,)
arrows.Visible =
hum.PlatformStand =
climbTrack (hum)
climbTrack climbTrack:()
webSound = .()
webSound.SoundId =
webSound.Volume =
webSound.Parent = hrp
webSound:()
Debris:(webSound, )
ceilingAnchor = .(, Workspace)
ceilingAnchor.Anchored =
ceilingAnchor.Transparency =
ceilingAnchor.CanCollide =
ceilingAnchor.Size = .(,,)
ceilingAnchor.Position = hit.Position
ceilingAtt0 = .(, ceilingAnchor)
ceilingAtt1 = .(, hrp)
ceilingRope = .(, hrp)
ceilingRope.Attachment0 = ceilingAtt0
ceilingRope.Attachment1 = ceilingAtt1
ceilingRope.Length = (hit.Position - hrp.Position).Magnitude
ceilingRope.Thickness =
ceilingRope.Visible =
(char, ceilingAtt0, )
ceilingConn = RunService.Heartbeat:(()
ceilingMode hrp hrp.Parent
moveDir.Y >
ceilingRope.Length = .(, ceilingRope.Length - )
moveDir.Y <
ceilingRope.Length = .(, ceilingRope.Length + )
)
slingActive =
slingAnchor
slingBeams = {}
()
_, v (slingBeams)
v v:()
slingBeams = {}
()
slingActive
slingActive =
btnSling.BackgroundColor3 = .(,,)
()
slingAnchor slingAnchor:()
slingAnchor =
()
()
()
()
()
char, hrp = ()
slingActive =
btnSling.BackgroundColor3 = .(,,)
slingAnchor = .()
slingAnchor.Anchored =
slingAnchor.CanCollide =
slingAnchor.Transparency =
slingAnchor.Size = .(,,)
slingAnchor.Position = hrp.Position + hrp.CFrame.LookVector * + .(, , )
slingAnchor.Parent = Workspace
att0 = .(, slingAnchor)
leftHand = char:() char:()
rightHand = char:() char:()
_, hand ({leftHand, rightHand})
hand
a1 = .(, hand)
hb = .()
hb.Attachment0 = att0
hb.Attachment1 = a1
hb.Width0 =
hb.Width1 =
hb.Color = ColorSequence.(.(,,))
hb.FaceCamera =
hb.LightEmission =
hb.Parent = hand
.(slingBeams, hb)
.(slingBeams, a1)
webSound = .()
webSound.SoundId =
webSound.Volume =
webSound.Parent = hrp
webSound:()
Debris:(webSound, )
hrp.AssemblyLinearVelocity = hrp.AssemblyLinearVelocity * + (-hrp.CFrame.LookVector * + .(, , ))
()
slingActive
_, hrp = ()
bv = .(, hrp)
bv.MaxForce = .(, , )
bv.Velocity = hrp.CFrame.LookVector * + .(, , )
Debris:(bv, )
webSound = .()
webSound.SoundId =
webSound.Volume =
webSound.Parent = hrp
webSound:()
Debris:(webSound, )
()
btnSling.MouseButton1Click:(()
slingActive
()
()
)
btnSubir.MouseButton1Down:(()
climbing
()
_, hrp = ()
bv = .(, hrp)
bv.MaxForce = .(,,)
bv.Velocity = .(,,) + hrp.CFrame.LookVector *
Debris:(bv, )
)
(b, d)
b.MouseButton1Down:(() moveDir = d )
b.MouseButton1Up:(() moveDir = .zero )
b.MouseLeave:(() moveDir = .zero )
(up, .(,,))
(down, .(,-,))
(left, .(-,,))
(right, .(,,))
btnSwing.MouseButton1Down:(startSwing)
btnSwing.MouseButton1Up:(stopSwing)
btnSwing.MouseLeave:(stopSwing)
btnWall.MouseButton1Click:(()
climbing () ()
)
btnTeto.MouseButton1Click:(()
ceilingMode
()
()
)
tool.Equipped:(()
char, hrp = ()
.(()
(char, hrp)
screenGui.Enabled =
(char)
)
)
tool.Unequipped:(()
screenGui.Enabled =
()
()
()
()
()
()
)
UserInputService.JumpRequest:(()
climbing ()
ceilingMode ()
slingActive ()
)
player.CharacterAdded:(()
()
()
()
()
()
()
swingTrack =
climbTrack =
swingHandCycle =
screenGui.Enabled =
)
()
Universal