Run it
Copy the script and paste it into your executor.
Players = :()
RunService = :()
Debris = :()
Workspace = :()
player = Players.LocalPlayer
playerGui = player:()
oldGui = playerGui:()
oldGui oldGui:()
SWING_ANIM =
swingLaunch =
swingRelease =
swingDistance =
swingHeight =
swingGravity =
SWING_SOUND =
ZIP_SOUND =
CLIMB_ANIM =
PUNCH_BUTTON_IMAGE =
HANG_ANIM =
swinging =
swingStep =
zipStep =
climbing =
climbEnabled =
swingConn =
swingAnchor =
swingRope =
swingTrack =
climbConn =
climbTrack =
climbVelocity =
climbAlign =
climbAttachment =
webs = {}
ikList = {}
gripAtt =
SUITS = {
[] = { Shirt = , Pants = },
[] = { Shirt = , Pants = },
[] = { Shirt = , Pants = },
[] = { Shirt = , Pants = },
}
selectedSuit =
outfitEnabled =
originalOutfits = ({}, { __mode = })
(char)
originalOutfits[char]
shirt = char:()
pants = char:()
originalOutfits[char] = {
shirtObject = shirt,
shirtTemplate = shirt shirt.ShirtTemplate ,
pantsObject = pants,
pantsTemplate = pants pants.PantsTemplate ,
}
(char)
char char.Parent
suit = SUITS[selectedSuit]
suit suit.Shirt == suit.Pants ==
(char)
shirt = char:()
shirt
shirt = .()
shirt.Parent = char
shirt.ShirtTemplate = suit.Shirt
pants = char:()
pants
pants = .()
pants.Parent = char
pants.PantsTemplate = suit.Pants
(char)
char
original = originalOutfits[char]
original
outfitEnabled =
currentShirt = char:()
original.shirtObject
original.shirtObject.Parent ~= char
original.shirtObject.Parent = char
original.shirtObject.ShirtTemplate = original.shirtTemplate
currentShirt currentShirt ~= original.shirtObject
currentShirt:()
currentShirt
currentShirt:()
currentPants = char:()
original.pantsObject
original.pantsObject.Parent ~= char
original.pantsObject.Parent = char
original.pantsObject.PantsTemplate = original.pantsTemplate
currentPants currentPants ~= original.pantsObject
currentPants:()
currentPants
currentPants:()
outfitEnabled =
webWing =
webWingConn =
webWingObjects = {}
webWingIK = {}
webWingAlign =
webWingAttachment =
webWingHeadLook =
webWingRightHip =
webWingLeftHip =
webWingRightHipOriginal =
webWingLeftHipOriginal =
WEB_WING_SOUND =
webWingSound =
WEB_SHOT_TEXTURE =
GROUND_WEB_TEXTURE =
WEB_SHOT_SOUND =
webShotObjects = {}
webShotIK = {}
webShotPose =
abilityMode =
punchStep =
lastPunchTime =
punching =
punchConn =
punchObjects = {}
punchGeneration =
savedPunchHumanoidState =
kickTrack =
()
char = player.Character player.CharacterAdded:()
hrp = char:()
hum = char:()
char, hrp, hum
(char)
hum = char:()
hum.UseJumpPower =
hum.JumpPower =
player.Character .(applyJump, player.Character)
player.CharacterAdded:((char)
.()
(char)
outfitEnabled (char)
)
(hum)
animator = hum:()
animator
animator = .()
animator.Parent = hum
animator
(char, side)
side ==
char:() char:()
char:() char:()
(char, side)
side ==
char:() char:() char:()
char:() char:() char:()
(char, name)
motor = char:(name, )
motor motor:() motor
(char, name, cf)
motor = (char, name)
motor motor.Transform = cf
(char)
char
names = {
, , , ,
, , , ,
, , , ,
, ,
}
_, name (names)
(char, name, .identity)
(char)
(char, , .(.(-), .(), .()))
(char, , .(.(-), .(-), .(-)))
(char, , .(.(), , ))
(char, , .(.(), , ))
(char)
(char, , .(.(), .(), .(-)))
(char, , .(.(), .(-), .()))
(char, , .(.(-), , ))
(char, , .(.(-), , ))
()
_, obj (webs) obj obj.Parent obj:()
.(webs)
()
_, ik (ikList) ik ik.Parent ik:()
.(ikList)
(hrp, id)
sound = .()
sound.SoundId = id
sound.Volume =
sound.Parent = hrp
sound:()
Debris:(sound, )
(char, targetAtt, side)
hand = (char, side)
hand targetAtt
handAtt = .()
handAtt.Name =
handAtt.Parent = hand
beam = .()
beam.Attachment0 = targetAtt
beam.Attachment1 = handAtt
beam.Width0 =
beam.Width1 =
beam.Texture =
beam.TextureMode = .TextureMode.Wrap
beam.TextureLength =
beam.Color = ColorSequence.(.(, , ))
beam.LightEmission =
beam.FaceCamera =
beam.Parent = hand
.(webs, beam)
.(webs, handAtt)
(char, hum, side, targetAtt)
hand = (char, side)
root = (char, side)
hand root targetAtt
ik = .()
ik.Name = .. side
ik.Type = .IKControlType.Position
ik.EndEffector = hand
ik.ChainRoot = root
ik.Target = targetAtt
ik.Weight =
ik.SmoothTime =
ik.Parent = hum
.(ikList, ik)
gui = .()
gui.Name =
gui.ResetOnSpawn =
gui.IgnoreGuiInset =
gui.Parent = playerGui
(name, pos, imageId)
b = .()
b.Name = name
b.Size = .(, )
b.Position = pos
b.BackgroundColor3 = .(, , )
b.Image = imageId
b.ScaleType = .ScaleType.Fit
b.Parent = gui
c = .()
c.CornerRadius = .(, )
c.Parent = b
s = .()
s.Color = .(, , )
s.Thickness =
s.Parent = b
b
btnClimb = (, .(, , , ), )
btnSwing = (, .(, , , ), )
btnZip = (, .(, , , ), )
btnWing = (, .(, , , ), )
btnWebShot = (, .(, , , ), )
btnWebShot.Visible =
btnPunch = (, .(, , , ), PUNCH_BUTTON_IMAGE)
btnPunch.Visible =
btnHang = (, .(, , , ), )
btnHang.Visible =
btnJump = (, .(, -, , -), )
btnJump.AnchorPoint = .(, )
btnJump.Size = .(, )
btnMode = .()
btnMode.Name =
btnMode.Size = .(, )
btnMode.Position = .(, , , )
btnMode.BackgroundColor3 = .(, , )
btnMode.Text =
btnMode.TextScaled =
btnMode.Font = .Font.SourceSansBold
btnMode.Parent = gui
.(, btnMode).CornerRadius = .(, )
modeStroke = .()
modeStroke.Color = .(, , )
modeStroke.Thickness =
modeStroke.Parent = btnMode
btnSwingConfig = .()
btnSwingConfig.Name =
btnSwingConfig.Size = .(, )
btnSwingConfig.Position = .(, , , )
btnSwingConfig.BackgroundColor3 = .(, , )
btnSwingConfig.Text =
btnSwingConfig.TextScaled =
btnSwingConfig.Font = .Font.SourceSansBold
btnSwingConfig.ZIndex =
btnSwingConfig.Parent = gui
.(, btnSwingConfig).CornerRadius = .(, )
swingConfigStroke = .()
swingConfigStroke.Color = .(, , )
swingConfigStroke.Thickness =
swingConfigStroke.Parent = btnSwingConfig
swingMenu = .()
swingMenu.Name =
swingMenu.Size = .(, , , )
swingMenu.Position = .(, , , )
swingMenu.BackgroundColor3 = .(, , )
swingMenu.BorderSizePixel =
swingMenu.Visible =
swingMenu.ZIndex =
swingMenu.Parent = gui
.(, swingMenu).CornerRadius = .(, )
swingMenuStroke = .()
swingMenuStroke.Color = .(, , )
swingMenuStroke.Thickness =
swingMenuStroke.Parent = swingMenu
swingTitle = .()
swingTitle.Size = .(, , , )
swingTitle.BackgroundTransparency =
swingTitle.Text =
swingTitle.TextColor3 = .(, , )
swingTitle.TextScaled =
swingTitle.Font = .Font.GothamBold
swingTitle.ZIndex =
swingTitle.Parent = swingMenu
swingRows = {
{ name = , get = () swingLaunch , set = (v) swingLaunch = v , min = , max = , step = },
{ name = , get = () swingRelease , set = (v) swingRelease = v , min = , max = , step = },
{ name = , get = () swingDistance , set = (v) swingDistance = v , min = , max = , step = },
{ name = , get = () swingHeight , set = (v) swingHeight = v , min = , max = , step = },
{ name = , get = () .(swingGravity * ) , set = (v) swingGravity = v / , min = , max = , step = },
}
i, row (swingRows)
y = + (i - ) *
label = .()
label.Size = .(, , , )
label.Position = .(, , , y)
label.BackgroundTransparency =
label.Text = row.name
label.TextColor3 = .(, , )
label.TextScaled =
label.Font = .Font.GothamBold
label.TextXAlignment = .TextXAlignment.Left
label.ZIndex =
label.Parent = swingMenu
value = .()
value.Size = .(, , , )
value.Position = .(, , , y)
value.BackgroundTransparency =
value.Text = (row.())
value.TextColor3 = .(, , )
value.TextScaled =
value.Font = .Font.GothamBold
value.ZIndex =
value.Parent = swingMenu
()
value.Text = (row.())
minus = .()
minus.Size = .(, )
minus.Position = .(, , , y)
minus.BackgroundColor3 = .(, , )
minus.Text =
minus.TextScaled =
minus.Font = .Font.GothamBold
minus.TextColor3 = .(, , )
minus.ZIndex =
minus.Parent = swingMenu
.(, minus).CornerRadius = .(, )
plus = .()
plus.Size = .(, )
plus.Position = .(, , , y)
plus.BackgroundColor3 = .(, , )
plus.Text =
plus.TextScaled =
plus.Font = .Font.GothamBold
plus.TextColor3 = .(, , )
plus.ZIndex =
plus.Parent = swingMenu
.(, plus).CornerRadius = .(, )
minus.Activated:(()
row.(.(row.() - row.step, row.min, row.max))
()
)
plus.Activated:(()
row.(.(row.() + row.step, row.min, row.max))
()
)
btnSwingConfig.Activated:(()
swingMenu.Visible = swingMenu.Visible
)
btnOutfit = .()
btnOutfit.Name =
btnOutfit.Size = .(, )
btnOutfit.Position = .(, , , )
btnOutfit.BackgroundColor3 = .(, , )
btnOutfit.Text =
btnOutfit.TextScaled =
btnOutfit.Font = .Font.SourceSansBold
btnOutfit.Parent = gui
.(, btnOutfit).CornerRadius = .(, )
outfitStroke = .()
outfitStroke.Color = .(, , )
outfitStroke.Thickness =
outfitStroke.Parent = btnOutfit
btnSuitSettings = .()
btnSuitSettings.Name =
btnSuitSettings.Size = .(, )
btnSuitSettings.Position = .(, , , )
btnSuitSettings.BackgroundColor3 = .(, , )
btnSuitSettings.Text =
btnSuitSettings.TextScaled =
btnSuitSettings.Font = .Font.SourceSansBold
btnSuitSettings.Parent = gui
.(, btnSuitSettings).CornerRadius = .(, )
settingsStroke = .()
settingsStroke.Color = .(, , )
settingsStroke.Thickness =
settingsStroke.Parent = btnSuitSettings
suitMenu = .()
suitMenu.Name =
suitMenu.Size = .(, , , )
suitMenu.Position = .(, , , )
suitMenu.BackgroundColor3 = .(, , )
suitMenu.BorderSizePixel =
suitMenu.ZIndex =
suitMenu.Parent = gui
.(, suitMenu).CornerRadius = .(, )
menuStroke = .()
menuStroke.Color = .(, , )
menuStroke.Thickness =
menuStroke.Parent = suitMenu
title = .()
title.Name =
title.Size = .(, , , )
title.BackgroundTransparency =
title.Text =
title.TextColor3 = .(, , )
title.TextScaled =
title.Font = .Font.GothamBold
title.ZIndex =
title.Parent = suitMenu
titleStroke = .()
titleStroke.Color = .(, , )
titleStroke.Thickness =
titleStroke.Parent = title
suitNames = { , , , }
suitColors = {
.(, , ),
.(, , ),
.(, , ),
.(, , ),
}
suitAccents = {
.(, , ),
.(, , ),
.(, , ),
.(, , ),
}
cardWidth =
cardGap =
i, suitName (suitNames)
card = .()
card.Name = suitName:(, )
card.Size = .(cardWidth, , , )
card.Position = .( + (i - ) * (cardWidth + cardGap), , , )
card.BackgroundTransparency =
card.ZIndex =
card.Parent = suitMenu
square = .()
square.Name =
square.Size = .(, , , )
square.BackgroundColor3 = suitColors[i]
square.Text =
square.AutoButtonColor =
square.ZIndex =
square.Parent = card
.(, square).CornerRadius = .(, )
squareStroke = .()
squareStroke.Color = suitAccents[i]
squareStroke.Thickness =
squareStroke.Parent = square
stripe = .()
stripe.Name =
stripe.Size = .(, , , )
stripe.Position = .(, , , -)
stripe.BackgroundColor3 = suitAccents[i]
stripe.BorderSizePixel =
stripe.ZIndex =
stripe.Parent = square
label = .()
label.Name =
label.Size = .(, , , )
label.Position = .(, -, , )
label.BackgroundTransparency =
label.Text = suitName
label.TextColor3 = .(, , )
label.TextScaled =
label.TextWrapped =
label.Font = .Font.GothamBold
label.ZIndex =
label.Parent = card
square.Activated:(()
selectedSuit = suitName
suitMenu.Visible =
char = player.Character
char
outfitEnabled =
(char)
)
btnSuitSettings.Activated:(()
suitMenu.Visible =
)
btnOutfit.Activated:(()
char = player.Character
char
outfitEnabled
(char)
outfitEnabled =
(char)
)
btnMode.MouseButton1Down:(()
abilityMode ==
abilityMode =
btnClimb.Visible =
btnSwing.Visible =
btnZip.Visible =
btnWing.Visible =
btnWebShot.Visible =
btnPunch.Visible =
btnHang.Visible =
abilityMode =
btnClimb.Visible =
btnSwing.Visible =
btnZip.Visible =
btnWing.Visible =
btnWebShot.Visible =
btnPunch.Visible =
btnHang.Visible =
)
()
char, hrp = ()
params = RaycastParams.()
params.FilterType = .RaycastFilterType.Exclude
params.FilterDescendantsInstances = { char }
params.IgnoreWater =
up = Workspace:(hrp.Position, .(, , ), params)
up up.Normal.Y < -
up,
flatLook = .(hrp.CFrame.LookVector.X, , hrp.CFrame.LookVector.Z)
flatLook.Magnitude >
lip = Workspace:(hrp.Position + .(, , ), flatLook.Unit * + .(, , ), params)
lip lip.Normal.Y < -
lip,
directions = {
hrp.CFrame.LookVector,
-hrp.CFrame.LookVector,
hrp.CFrame.RightVector,
-hrp.CFrame.RightVector,
}
closestResult =
closestDistance = .huge
_, direction (directions)
result = Workspace:(hrp.Position, direction * , params)
result .(result.Normal.Y) <
distance = (result.Position - hrp.Position).Magnitude
distance < closestDistance
closestDistance = distance
closestResult = result
closestResult
closestResult,
,
()
climbing
climbing =
climbConn climbConn:(); climbConn =
climbTrack
climbTrack.IsPlaying climbTrack:()
climbTrack =
climbVelocity climbVelocity:(); climbVelocity =
climbAlign climbAlign:(); climbAlign =
climbAttachment climbAttachment:(); climbAttachment =
_, hrp, hum = ()
hum.AutoRotate =
hum.PlatformStand =
hrp.AssemblyLinearVelocity = .zero
()
climbing climbEnabled
_, hrp, hum = ()
wall = ()
wall
climbing =
hum.AutoRotate =
hum.PlatformStand =
animator = (hum)
anim = .()
anim.AnimationId = CLIMB_ANIM
climbTrack = animator:(anim)
climbTrack.Priority = .AnimationPriority.Action4
climbTrack.Looped =
climbTrack:()
hum:(.HumanoidStateType.Climbing)
climbAttachment = .()
climbAttachment.Name =
climbAttachment.Parent = hrp
climbVelocity = .()
climbVelocity.Name =
climbVelocity.MaxForce = .huge
climbVelocity.RelativeTo = .ActuatorRelativeTo.World
climbVelocity.VectorVelocity = .zero
climbVelocity.Attachment0 = climbAttachment
climbVelocity.Parent = hrp
climbAlign = .()
climbAlign.Name =
climbAlign.Mode = .OrientationAlignmentMode.OneAttachment
climbAlign.MaxTorque = .huge
climbAlign.Responsiveness =
climbAlign.RigidityEnabled =
climbAlign.Attachment0 = climbAttachment
climbAlign.Parent = hrp
climbConn = RunService.RenderStepped:(()
climbing
hrp.Parent ();
surface, kind = ()
surface ();
normal = surface.Normal
camera = Workspace.CurrentCamera
cameraForward = camera.CFrame.LookVector
cameraRight = camera.CFrame.RightVector
move = hum.MoveDirection
kind ==
hum.PlatformStand =
planar = .(move.X, , move.Z)
speed =
planar.Magnitude >
planar = planar.Unit
speed =
planar = .(cameraForward.X, , cameraForward.Z)
planar.Magnitude >
planar = planar.Unit
planar = .(, , -)
climbVelocity.VectorVelocity = planar * speed + .(, , )
climbAlign.CFrame = .(.zero, .(, , ), planar)
hum.PlatformStand =
horizontal = .(move.X, , move.Z)
vertical =
horizontal.Magnitude > vertical = horizontal:(cameraForward)
up = .(, , )
wallRight = cameraRight - normal * cameraRight:(normal)
wallRight.Magnitude > wallRight = wallRight.Unit
climbVelocity.VectorVelocity = up * vertical * + wallRight * move:(wallRight) * - normal *
facing = -normal
look = .(facing.X, , facing.Z)
look.Magnitude > climbAlign.CFrame = .(.zero, look.Unit)
hum:() ~= .HumanoidStateType.Climbing hum:(.HumanoidStateType.Climbing)
)
btnClimb.MouseButton1Down:(()
climbEnabled = climbEnabled
climbEnabled
() ()
()
)
()
swinging
swinging =
swingConn swingConn:(); swingConn =
swingTrack swingTrack.IsPlaying swingTrack:()
()
()
char, hrp, hum = ()
(char)
hum.PlatformStand =
hum.JumpPower =
hrp.AssemblyLinearVelocity += hrp.CFrame.LookVector * swingRelease
swingRope swingRope:(); swingRope =
swingAnchor swingAnchor:(); swingAnchor =
gripAtt =
swingStep +=
swingStep > swingStep =
()
swinging
swinging =
char, hrp, hum = ()
hum.PlatformStand =
animator = (hum)
swingTrack
swingTrack:()
swingTrack =
anim = .()
anim.AnimationId = SWING_ANIM
swingTrack = animator:(anim)
swingTrack.Priority = .AnimationPriority.Action4
swingTrack.Looped =
swingTrack:()
(hrp, SWING_SOUND)
swingAnchor = .()
swingAnchor.Name =
swingAnchor.Anchored =
swingAnchor.CanCollide =
swingAnchor.Transparency =
swingAnchor.Size = .(, , )
swingAnchor.Position = hrp.Position + hrp.CFrame.LookVector * swingDistance + .(, swingHeight, )
swingAnchor.Parent = Workspace
a0 = .()
a0.Parent = swingAnchor
a1 = .()
a1.Parent = hrp
swingRope = .()
swingRope.Attachment0 = a0
swingRope.Attachment1 = a1
swingRope.Length = (swingAnchor.Position - hrp.Position).Magnitude
swingRope.Visible =
swingRope.Parent = hrp
swingStep ==
(char, a0, )
(char, hum, , a0)
swingStep ==
(char, a0, )
(char, hum, , a0)
(char, a0, )
(char, a0, )
(char, hum, , a0)
(char, hum, , a0)
hrp.AssemblyLinearVelocity += hrp.CFrame.LookVector * swingLaunch
swingConn = RunService.Heartbeat:(()
swinging hrp.Parent swingAnchor swingAnchor.Parent
offset = swingAnchor.Position - hrp.Position
offset.Magnitude <
dir = offset.Unit
vel = hrp.AssemblyLinearVelocity
radial = dir * vel:(dir)
hrp.AssemblyLinearVelocity = (vel - radial) + .(, -Workspace.Gravity * swingGravity, )
)
btnZip.MouseButton1Down:(()
()
char, hrp, hum = ()
sides
zipStep == sides = { }
zipStep == sides = { }
sides = { , }
tip = .()
tip.Name =
tip.Anchored =
tip.CanCollide =
tip.Transparency =
tip.Size = .(, , )
tip.Position = hrp.Position + hrp.CFrame.LookVector * + .(, , )
tip.Parent = Workspace
tipAtt = .()
tipAtt.Parent = tip
_, side (sides)
(char, tipAtt, side)
(char, hum, side, tipAtt)
animator = (hum)
zipAnim = .()
zipAnim.AnimationId =
zipTrack = animator:(zipAnim)
zipTrack.Priority = .AnimationPriority.Action4
zipTrack.Looped =
zipTrack:()
(hrp, ZIP_SOUND)
push = .()
push.MaxForce = .(, , )
push.Velocity = hrp.CFrame.LookVector * + .(, , )
push.Parent = hrp
Debris:(tip, )
Debris:(push, )
.(, ()
()
()
)
.(, ()
zipTrack zipTrack.IsPlaying
zipTrack:()
char char.Parent (char)
)
zipStep +=
zipStep > zipStep =
)
()
webShotPose =
_, obj (webShotObjects) obj obj.Parent obj:()
.(webShotObjects)
_, ik (webShotIK) ik ik.Parent ik:()
.(webShotIK)
char = player.Character
char (char)
(position, normal)
part = .()
part.Name =
part.Anchored =
part.CanCollide =
part.CanTouch =
part.CanQuery =
part.Transparency =
part.Size = .(, , )
up = normal.Unit
forward = .(, , -)
.(up:(forward)) > forward = .(, , )
forward = (forward - up * forward:(up)).Unit
part.CFrame = .(position + up * , position + up * + forward, up)
part.Parent = Workspace
decal = .()
decal.Texture = GROUND_WEB_TEXTURE
decal.Face = .NormalId.Top
decal.Parent = part
.(webShotObjects, part)
Debris:(part, )
(char, startPosition, direction)
projectile = .()
projectile.Name =
projectile.Anchored =
projectile.CanCollide =
projectile.CanTouch =
projectile.CanQuery =
projectile.Transparency =
projectile.Size = .(, , )
projectile.Position = startPosition
projectile.Parent = Workspace
.(webShotObjects, projectile)
frontAttachment = .()
frontAttachment.Parent = projectile
webVisual = .()
webVisual.Name =
webVisual.Anchored =
webVisual.CanCollide =
webVisual.CanTouch =
webVisual.CanQuery =
webVisual.Transparency =
webVisual.Size = .(, , )
webVisual.Position = startPosition - direction *
webVisual.Parent = Workspace
.(webShotObjects, webVisual)
backAttachment = .()
backAttachment.Parent = webVisual
beam = .()
beam.Attachment0 = backAttachment
beam.Attachment1 = frontAttachment
beam.Width0 =
beam.Width1 =
beam.Texture = WEB_SHOT_TEXTURE
beam.TextureMode = .TextureMode.Wrap
beam.TextureLength =
beam.Color = ColorSequence.(.(, , ))
beam.LightEmission =
beam.FaceCamera =
beam.Segments =
beam.Parent = webVisual
.(webShotObjects, beam)
velocity = direction.Unit *
position = startPosition
previousPosition = position
elapsed =
gravity = .(, -, )
connection
connection = RunService.Heartbeat:((dt)
projectile.Parent connection:();
elapsed += dt
velocity += gravity * dt
previousPosition = position
position += velocity * dt
params = RaycastParams.()
params.FilterType = .RaycastFilterType.Exclude
params.FilterDescendantsInstances = { char, projectile, webVisual }
params.IgnoreWater =
result = Workspace:(previousPosition, position - previousPosition, params)
result result.Normal.Y >
connection:()
projectile.Position = result.Position
(result.Position, result.Normal)
projectile:()
webVisual:()
projectile.Position = position
webVisual.Position = position - direction.Unit *
elapsed >
connection:()
projectile:()
webVisual:()
)
()
char, hrp, hum = ()
()
webShotPose =
direction = hrp.CFrame.LookVector.Unit
rightTarget = .()
rightTarget.Name =
rightTarget.Position = .(, , -)
rightTarget.Parent = hrp
.(webShotObjects, rightTarget)
leftTarget = .()
leftTarget.Name =
leftTarget.Position = .(-, , -)
leftTarget.Parent = hrp
.(webShotObjects, leftTarget)
rightHand = (char, )
rightRoot = (char, )
rightHand rightRoot
ik = .()
ik.Name =
ik.Type = .IKControlType.Position
ik.EndEffector = rightHand
ik.ChainRoot = rightRoot
ik.Target = rightTarget
ik.Weight =
ik.SmoothTime =
ik.Parent = hum
.(webShotIK, ik)
leftHand = (char, )
leftRoot = (char, )
leftHand leftRoot
ik = .()
ik.Name =
ik.Type = .IKControlType.Position
ik.EndEffector = leftHand
ik.ChainRoot = leftRoot
ik.Target = leftTarget
ik.Weight =
ik.SmoothTime =
ik.Parent = hum
.(webShotIK, ik)
(char)
.()
char.Parent ();
rightHand = (char, )
leftHand = (char, )
rightPosition = rightHand rightHand.Position (hrp.Position + hrp.CFrame.RightVector + .(, , ))
leftPosition = leftHand leftHand.Position (hrp.Position - hrp.CFrame.RightVector + .(, , ))
(hrp, WEB_SHOT_SOUND)
(char, rightPosition, direction)
(char, leftPosition, direction)
.(, ()
webShotPose =
_, ik (webShotIK) ik ik.Parent ik:()
.(webShotIK)
rightTarget rightTarget.Parent rightTarget:()
leftTarget leftTarget.Parent leftTarget:()
char char.Parent (char)
)
btnWebShot.MouseButton1Down:(() () )
hanging =
hangObjects = {}
hangTrack =
()
hanging
hanging =
hangTrack hangTrack.IsPlaying
hangTrack:()
hangTrack =
_, obj (hangObjects)
obj obj.Parent obj:()
.(hangObjects)
char, hrp, hum = ()
(char)
hum.PlatformStand =
hum.AutoRotate =
hrp.AssemblyLinearVelocity = .(, -, )
()
hanging
()
char, hrp, hum = ()
hanging =
hum.PlatformStand =
hum.AutoRotate =
animator = (hum)
anim = .()
anim.AnimationId = HANG_ANIM
hangTrack = animator:(anim)
hangTrack.Priority = .AnimationPriority.Action4
hangTrack.Looped =
hangTrack:()
params = RaycastParams.()
params.FilterType = .RaycastFilterType.Exclude
params.FilterDescendantsInstances = { char }
params.IgnoreWater =
hit = Workspace:(hrp.Position, .(, , ), params)
anchorPos = hit (hit.Position - .(, , )) (hrp.Position + .(, , ))
anchor = .()
anchor.Name =
anchor.Anchored =
anchor.CanCollide =
anchor.Transparency =
anchor.Size = .(, , )
anchor.Position = anchorPos
anchor.Parent = Workspace
.(hangObjects, anchor)
topAtt = .()
topAtt.Parent = anchor
lower = char:() hrp
legAtt = .()
legAtt.Name =
legAtt.Position = .(, , )
legAtt.Parent = lower
.(hangObjects, legAtt)
web = .()
web.Attachment0 = topAtt
web.Attachment1 = legAtt
web.Width0 =
web.Width1 =
web.Texture =
web.TextureMode = .TextureMode.Wrap
web.TextureLength =
web.Color = ColorSequence.(.(, , ))
web.LightEmission =
web.FaceCamera =
web.Parent = lower
.(hangObjects, web)
att = .()
att.Parent = hrp
.(hangObjects, att)
alignPos = .()
alignPos.Mode = .PositionAlignmentMode.OneAttachment
alignPos.Attachment0 = att
alignPos.MaxForce = .huge
alignPos.Responsiveness =
alignPos.Position = anchorPos - .(, , )
alignPos.Parent = hrp
.(hangObjects, alignPos)
alignOri = .()
alignOri.Mode = .OrientationAlignmentMode.OneAttachment
alignOri.Attachment0 = att
alignOri.MaxTorque = .huge
alignOri.Responsiveness =
alignOri.CFrame = hrp.CFrame
alignOri.Parent = hrp
.(hangObjects, alignOri)
btnHang.MouseButton1Down:(()
hanging
()
()
)
()
state = savedPunchHumanoidState
savedPunchHumanoidState =
state state.humanoid state.humanoid.Parent
state.humanoid.AutoRotate = state.autoRotate
state.humanoid.PlatformStand = state.platformStand
state.platformStand
state.humanoid:(.HumanoidStateType.GettingUp)
()
punchGeneration +=
punchConn
punchConn:()
punchConn =
_, obj (punchObjects)
obj obj.Parent obj:()
.(punchObjects)
kickTrack kickTrack.IsPlaying
kickTrack:()
kickTrack =
()
punching =
char = player.Character
char (char)
(char, hum)
()
punching =
savedPunchHumanoidState = {
humanoid = hum,
autoRotate = hum.AutoRotate,
platformStand = hum.PlatformStand,
}
punchGeneration
(side)
punching
char, hrp, hum = ()
hum.Health <=
generation = (char, hum)
startTime = .()
sign = side == -
other = side ==
target = .()
target.Name =
target.Parent = hrp
.(punchObjects, target)
hand = (char, side)
root = (char, side)
hand root
ik = .()
ik.Name = .. side
ik.Type = .IKControlType.Position
ik.EndEffector = hand
ik.ChainRoot = root
ik.Target = target
ik.Weight =
ik.SmoothTime =
ik.Parent = hum
.(punchObjects, ik)
spinAttachment = .()
spinAttachment.Name =
spinAttachment.Parent = hrp
.(punchObjects, spinAttachment)
spin = .()
spin.Name =
spin.Attachment0 = spinAttachment
spin.RelativeTo = .ActuatorRelativeTo.World
spin.MaxTorque =
spin.AngularVelocity = .zero
spin.Parent = hrp
.(punchObjects, spin)
hum.AutoRotate =
punchConn = RunService.Heartbeat:(()
generation ~= punchGeneration
char.Parent hrp.Parent hum.Health <=
()
t = .() - startTime
t <
target.Position = .(sign * , , )
(char, , .(.(), .(-sign * ), .(sign * )))
(char, side .. , .(.(-), .(sign * ), .(-sign * )))
(char, side .. , .(.(-), , .(sign * )))
(char, other .. , .(.(), .(-sign * ), .(sign * )))
(char, other .. , .(.(-), , ))
(char, , .(.(-), , .()))
(char, , .(.(-), , .(-)))
(char, , .(.(), , ))
(char, , .(.(), , ))
spin.MaxTorque =
t <
target.Position = .(sign * , , -)
(char, , .(.(-), .(sign * ), .(-sign * )))
(char, side .. , .(.(), .(sign * ), .(-sign * )))
(char, side .. , .(.(-), , ))
(char, other .. , .(.(), .(-sign * ), .(sign * )))
(char, other .. , .(.(-), , ))
(char, , .(.(), , .()))
(char, , .(.(-), , .(-)))
(char, , .(.(-), , ))
(char, , .(.(), , ))
spin.MaxTorque =
t <
target.Position = .(sign * , , -)
(char, , .(.(-), .(sign * ), .(-sign * )))
(char, side .. , .(.(), .(sign * ), .(-sign * )))
(char, side .. , .(.(-), , ))
(char, other .. , .(.(), .(-sign * ), .(sign * )))
(char, other .. , .(.(-), , ))
(char, , .(.(), , .()))
(char, , .(.(-), , .(-)))
(char, , .(.(-), , ))
(char, , .(.(), , ))
t <
hrp.AssemblyLinearVelocity = hrp.CFrame.LookVector * + .(, .(hrp.AssemblyLinearVelocity.Y, ), )
spin.MaxTorque =
t <
target.Position = .(sign * , , -)
(char, , .(.(), .(-sign * ), .(sign * )))
(char, side .. , .(.(), .(sign * ), .(-sign * )))
(char, side .. , .(.(-), , ))
(char, other .. , .(.(), .(-sign * ), .(sign * )))
(char, other .. , .(.(-), , ))
(char, , .(.(-), , .()))
(char, , .(.(), , .(-)))
(char, , .(.(), , ))
(char, , .(.(), , ))
spin.MaxTorque =
t <
target.Position = .(sign * , , -)
(char, , .(.(), .(-sign * ), ))
(char, side .. , .(.(), .(sign * ), .(-sign * )))
(char, side .. , .(.(-), , ))
(char, other .. , .(.(), .(-sign * ), .(sign * )))
(char, other .. , .(.(-), , ))
(char, , .identity)
(char, , .identity)
(char, , .identity)
(char, , .identity)
spin.MaxTorque =
()
)
()
punching
char, hrp, hum = ()
hum.Health <=
generation = (char, hum)
hum.AutoRotate =
hum.PlatformStand =
animator = (hum)
anim = .()
anim.AnimationId =
kickTrack = animator:(anim)
kickTrack.Priority = .AnimationPriority.Action4
kickTrack.Looped =
kickTrack:()
length = kickTrack.Length
length <=
length =
.(length + , ()
generation ~= punchGeneration
()
)
btnPunch.MouseButton1Down:(()
now = ()
now - lastPunchTime > punchStep =
lastPunchTime = now
punching
punchStep ==
()
punchStep ==
()
()
punchStep +=
punchStep > punchStep =
)
(hrp, name, position)
attachment = .()
attachment.Name = name
attachment.Position = position
attachment.Parent = hrp
.(webWingObjects, attachment)
attachment
(target, hand)
target hand
handAttachment = .()
handAttachment.Name =
handAttachment.Parent = hand
beam = .()
beam.Attachment0 = target
beam.Attachment1 = handAttachment
beam.Width0 =
beam.Width1 =
beam.Texture =
beam.TextureMode = .TextureMode.Wrap
beam.TextureLength =
beam.Color = ColorSequence.(.(, , ))
beam.LightEmission =
beam.FaceCamera =
beam.Parent = hand
.(webWingObjects, handAttachment)
.(webWingObjects, beam)
()
webWing
webWing =
webWingSound
webWingSound:()
webWingSound:()
webWingSound =
webWingConn webWingConn:(); webWingConn =
_, ik (webWingIK) ik ik.Parent ik:()
.(webWingIK)
_, obj (webWingObjects) obj obj.Parent obj:()
.(webWingObjects)
webWingAlign webWingAlign:(); webWingAlign =
webWingAttachment webWingAttachment:(); webWingAttachment =
webWingRightHip webWingRightHip.Parent webWingRightHip.Transform = webWingRightHipOriginal .identity
webWingLeftHip webWingLeftHip.Parent webWingLeftHip.Transform = webWingLeftHipOriginal .identity
webWingRightHip =
webWingLeftHip =
webWingRightHipOriginal =
webWingLeftHipOriginal =
webWingHeadLook =
char, _, hum = ()
(char)
hum.AutoRotate =
hum.PlatformStand =
()
webWing ();
char, hrp, hum = ()
hum.FloorMaterial ~= .Material.Air
webWing =
webWingSound = .()
webWingSound.Name =
webWingSound.SoundId = WEB_WING_SOUND
webWingSound.Volume =
webWingSound.Looped =
webWingSound.Parent = hrp
webWingSound:()
hum.AutoRotate =
hum.PlatformStand =
rightArmTarget = (hrp, , .(, , ))
leftArmTarget = (hrp, , .(-, , ))
rightUpperLeg = char:()
leftUpperLeg = char:()
rightUpperLeg
hip = rightUpperLeg:()
hip hip:() webWingRightHip = hip; webWingRightHipOriginal = hip.Transform
leftUpperLeg
hip = leftUpperLeg:()
hip hip:() webWingLeftHip = hip; webWingLeftHipOriginal = hip.Transform
rightHand = (char, )
rightArmRoot = (char, )
rightHand rightArmRoot
ik = .()
ik.Name =
ik.Type = .IKControlType.Position
ik.EndEffector = rightHand
ik.ChainRoot = rightArmRoot
ik.Target = rightArmTarget
ik.Weight =
ik.SmoothTime =
ik.Parent = hum
.(webWingIK, ik)
leftHand = (char, )
leftArmRoot = (char, )
leftHand leftArmRoot
ik = .()
ik.Name =
ik.Type = .IKControlType.Position
ik.EndEffector = leftHand
ik.ChainRoot = leftArmRoot
ik.Target = leftArmTarget
ik.Weight =
ik.SmoothTime =
ik.Parent = hum
.(webWingIK, ik)
(rightArmTarget, rightHand)
(leftArmTarget, leftHand)
webWingAttachment = .()
webWingAttachment.Name =
webWingAttachment.Parent = hrp
webWingAlign = .()
webWingAlign.Name =
webWingAlign.Mode = .OrientationAlignmentMode.OneAttachment
webWingAlign.Attachment0 = webWingAttachment
webWingAlign.MaxTorque = .huge
webWingAlign.Responsiveness =
webWingAlign.RigidityEnabled =
webWingAlign.Parent = hrp
head = char:()
upper = char:() char:()
webWingHeadLook = .()
webWingHeadLook.Name =
webWingHeadLook.Parent = hrp
.(webWingObjects, webWingHeadLook)
head upper
ik = .()
ik.Name =
ik.Type = .IKControlType.LookAt
ik.EndEffector = head
ik.ChainRoot = upper
ik.Target = webWingHeadLook
ik.Weight =
ik.SmoothTime =
ik.Parent = hum
.(webWingIK, ik)
webWingConn = RunService.RenderStepped:(()
webWing
hrp.Parent ();
camera = Workspace.CurrentCamera
camera
cameraLook = camera.CFrame.LookVector
forward = .(cameraLook.X, , cameraLook.Z)
forward.Magnitude <
forward = forward.Unit
hrp.AssemblyLinearVelocity = forward * + .(, -, )
webWingAlign.CFrame = .(.zero, .(, -, ), forward)
(char)
webWingRightHip webWingRightHip.Parent
webWingRightHip.Transform = .(.(-), .(), .())
webWingLeftHip webWingLeftHip.Parent
webWingLeftHip.Transform = .(.(-), .(-), .(-))
webWingHeadLook webWingHeadLook.Parent head
webWingHeadLook.WorldPosition = head.Position + forward * + .(, , )
)
btnWing.MouseButton1Down:(()
webWing () ()
)
btnSwing.MouseButton1Down:(startSwing)
btnSwing.MouseButton1Up:(stopSwing)
btnSwing.MouseLeave:(stopSwing)
chargingJump =
jumpCharge =
jumpChargeConn =
jumpBar =
jumpFill =
savedWalkSpeed =
()
touchGui = playerGui:()
touchGui
jumpButton = touchGui:(, )
jumpButton
jumpButton.Visible =
.(()
gui.Parent
()
.()
)
()
jumpBar jumpBar.Parent
jumpBar:()
jumpBar =
jumpFill =
()
char, hrp = ()
jumpBar jumpBar.Parent
jumpBar = .()
jumpBar.Name =
jumpBar.Size = .(, )
jumpBar.StudsOffset = .(, , )
jumpBar.AlwaysOnTop =
jumpBar.LightInfluence =
jumpBar.Parent = hrp
bg = .()
bg.Size = .(, )
bg.BackgroundColor3 = .(, , )
bg.BorderSizePixel =
bg.Parent = jumpBar
.(, bg).CornerRadius = .(, )
stroke = .()
stroke.Color = .(, , )
stroke.Thickness =
stroke.Parent = bg
jumpFill = .()
jumpFill.Size = .(, )
jumpFill.BackgroundColor3 = .(, , )
jumpFill.BorderSizePixel =
jumpFill.Parent = bg
.(, jumpFill).CornerRadius = .(, )
accent = .()
accent.Size = .(, , , )
accent.Position = .(, , , -)
accent.BackgroundColor3 = .(, , )
accent.BorderSizePixel =
accent.Parent = bg
(alpha)
jumpFill
jumpFill.Size = .(.(alpha, , ), )
jumpFill.BackgroundColor3 = .(, , ):(.(, , ), alpha)
()
chargingJump
chargingJump =
jumpChargeConn
jumpChargeConn:()
jumpChargeConn =
_, hrp, hum = ()
power = + jumpCharge *
look = .(hrp.CFrame.LookVector.X, , hrp.CFrame.LookVector.Z)
look.Magnitude <
look = .(, , -)
look = look.Unit
hum.UseJumpPower =
hum.JumpPower = power
hum.WalkSpeed = savedWalkSpeed
hum:(.HumanoidStateType.Jumping)
hrp.AssemblyLinearVelocity = look * ( + jumpCharge * ) + .(, power * , )
()
jumpCharge =
.(, ()
hum hum.Parent
hum.JumpPower =
)
()
chargingJump
chargingJump =
jumpCharge =
_, _, hum = ()
savedWalkSpeed = hum.WalkSpeed
hum.WalkSpeed = savedWalkSpeed +
()
()
startTime = .()
jumpChargeConn = RunService.Heartbeat:(()
chargingJump
jumpCharge = .((.() - startTime) / , , )
(jumpCharge)
)
btnJump.MouseButton1Down:(startChargeJump)
btnJump.MouseButton1Up:(releaseChargeJump)
btnJump.MouseLeave:(releaseChargeJump)
RunService.Stepped:(()
char = player.Character
char
webWing (char)
webShotPose (char)
punching
)
player.CharacterAdded:(()
swinging ()
climbing ()
webWing ()
()
()
hanging ()
()
chargingJump =
char = player.Character
char
hum = char:()
hum hum.WalkSpeed =
climbEnabled =
swingStep =
zipStep =
punchStep =
abilityMode =
btnClimb.Visible =
btnSwing.Visible =
btnZip.Visible =
btnWing.Visible =
btnWebShot.Visible =
btnPunch.Visible =
btnHang.Visible =
)
()Trust me, its really the best Spider-Man mobile script this time im not lying, features: web swing with animation, web zip with animation, wall crawl with animation, charge jump, web wing, combat button (worst thing on da script) web shot, hang pose, Suit Selection with: 2007 black suit, tobey suit, Andrew suit and tom suit. And Web swing config.