Run it
Copy the script and paste it into your executor.
Players = :()
UserInputService = :()
RunService = :()
MAX_WEB_DISTANCE =
MIN_TARGET_SIZE =
ROPE_THICKNESS =
ROPE_SLACK =
MIN_ROPE_LENGTH =
REEL_IN_SPEED =
LET_OUT_SPEED =
LAUNCH_BOOST_MULTIPLIER =
SWING_THRUST =
MAX_SWING_SPEED =
SLIDE_MIN_SPEED =
SLIDE_FRICTION =
SLIDE_MAX_DURATION =
SWING_HAND_HEIGHT =
ORIENTATION_MAX_TORQUE =
ORIENTATION_RESPONSIVENESS =
WEB_TRAVEL_SPEED =
WEB_TRAVEL_MIN_TIME =
WEB_TRAVEL_MAX_TIME =
GROUND_CHECK_DISTANCE =
player = Players.LocalPlayer
mouse = player:()
actions = {
Shoot = {name = , input = .UserInputType.MouseButton1},
Release = {name = , input = .KeyCode.F},
ReelIn = {name = , input = .KeyCode.E},
LetOut = {name = , input = .KeyCode.Q},
}
scriptEnabled =
character, humanoid, rootPart
activeWebs = {}
reeling, lettingOut = ,
sliding =
slideVelocity = .()
slideEndTime =
ragdollOrientationAttachment =
ragdollAlignOrientation =
travelToken =
currentTravelPart =
()
travelToken = travelToken +
currentTravelPart
currentTravelPart:()
currentTravelPart =
(entry)
entry.rope entry.rope:()
entry.attachment0 entry.attachment0:()
entry.attachment1 entry.attachment1:()
()
ragdollAlignOrientation ragdollAlignOrientation.Parent
rootPart
orientationAttachment = .()
orientationAttachment.Name =
orientationAttachment.Parent = rootPart
alignOrientation = .()
alignOrientation.Name =
alignOrientation.Mode = .OrientationAlignmentMode.OneAttachment
alignOrientation.Attachment0 = orientationAttachment
alignOrientation.RigidityEnabled =
alignOrientation.MaxTorque = ORIENTATION_MAX_TORQUE
alignOrientation.Responsiveness = ORIENTATION_RESPONSIVENESS
alignOrientation.CFrame = rootPart.CFrame
alignOrientation.Parent = rootPart
ragdollOrientationAttachment = orientationAttachment
ragdollAlignOrientation = alignOrientation
humanoid
humanoid.AutoRotate =
()
ragdollAlignOrientation ragdollAlignOrientation:()
ragdollOrientationAttachment ragdollOrientationAttachment:()
ragdollAlignOrientation =
ragdollOrientationAttachment =
humanoid
humanoid.AutoRotate =
()
_, entry (activeWebs)
(entry)
activeWebs = {}
(newCharacter)
activeWebs = {}
sliding =
ragdollOrientationAttachment =
ragdollAlignOrientation =
()
character = newCharacter
humanoid = character:()
rootPart = character:()
humanoid.Died:(destroyAllWebs)
(player.Character player.CharacterAdded:())
player.CharacterAdded:(onCharacterAdded)
(hitPart, hitPosition)
hitPart hitPart:()
hitPart:(character)
hitPart.Anchored
ancestorModel = hitPart:()
ancestorModel Players:(ancestorModel)
size = hitPart.Size
.(size.X, size.Y, size.Z) < MIN_TARGET_SIZE
(hitPosition - rootPart.Position).Magnitude > MAX_WEB_DISTANCE
()
vel = rootPart.AssemblyLinearVelocity
horizontal = .(vel.X, , vel.Z)
horizontal.Magnitude >
boosted = horizontal * LAUNCH_BOOST_MULTIPLIER
boosted.Magnitude > MAX_SWING_SPEED
boosted = boosted.Unit * MAX_SWING_SPEED
rootPart.AssemblyLinearVelocity = .(boosted.X, vel.Y, boosted.Z)
(hitPart, hitPosition)
scriptEnabled
rootPart rootPart.Parent
anchorAttachment = .()
anchorAttachment.Name =
anchorAttachment.Parent = hitPart
anchorAttachment.WorldPosition = hitPosition
playerAttachment = .()
playerAttachment.Name =
playerAttachment.Position = .(, SWING_HAND_HEIGHT, )
playerAttachment.Parent = rootPart
distance = (hitPosition - rootPart.Position).Magnitude
rope = .()
rope.Name =
rope.Attachment0 = playerAttachment
rope.Attachment1 = anchorAttachment
rope.Length = .(distance * ROPE_SLACK, MIN_ROPE_LENGTH)
rope.Restitution =
rope.Visible =
rope.Color = BrickColor.()
rope.Thickness = ROPE_THICKNESS
rope.Parent = rootPart
.(activeWebs, {
rope = rope,
attachment0 = playerAttachment,
attachment1 = anchorAttachment,
})
()
()
scriptEnabled
rootPart rootPart.Parent
hitPart = mouse.Target
hit = mouse.Hit
hitPart hit
hitPosition = hit.Position
(hitPart, hitPosition)
()
()
sliding =
()
humanoid
humanoid:(.HumanoidStateType.Physics)
travelToken = travelToken +
myToken = travelToken
startPosition = rootPart.Position + .(, SWING_HAND_HEIGHT, )
travelDistance = (hitPosition - startPosition).Magnitude
travelTime = .(travelDistance / WEB_TRAVEL_SPEED, WEB_TRAVEL_MIN_TIME, WEB_TRAVEL_MAX_TIME)
travelPart = .()
travelPart.Name =
travelPart.Anchored =
travelPart.CanCollide =
travelPart.CanQuery =
travelPart.CanTouch =
travelPart.CastShadow =
travelPart.Material = .Material.Neon
travelPart.Color = .(, , )
travelPart.Size = .(ROPE_THICKNESS, ROPE_THICKNESS, )
travelPart.CFrame = .(startPosition, hitPosition)
travelPart.Parent =
currentTravelPart = travelPart
.(()
elapsed =
elapsed < travelTime
travelToken ~= myToken
elapsed = elapsed + RunService.Heartbeat:()
alpha = .(elapsed / travelTime, , )
tip = startPosition:(hitPosition, alpha)
length = .((tip - startPosition).Magnitude, )
travelPart.Size = .(ROPE_THICKNESS, ROPE_THICKNESS, length)
travelPart.CFrame = .(startPosition, tip) * .(, , -length / )
travelToken ~= myToken
travelPart:()
currentTravelPart =
(hitPart, hitPosition)
)
()
hadWeb = #activeWebs >
vel = (rootPart rootPart.AssemblyLinearVelocity) .()
horizontal = .(vel.X, , vel.Z)
()
()
hadWeb
horizontal.Magnitude >= SLIDE_MIN_SPEED
sliding =
slideVelocity = horizontal
slideEndTime = () + SLIDE_MAX_DURATION
sliding =
actionHandlers = {
Shoot = shootWeb,
Release = releaseWebs,
ReelIn = () reeling = ,
LetOut = () lettingOut = ,
}
actionHandlersEnded = {
ReelIn = () reeling = ,
LetOut = () lettingOut = ,
}
RunService.Heartbeat:((dt)
scriptEnabled
humanoid rootPart
reeling lettingOut
_, entry (activeWebs)
rope = entry.rope
rope rope.Parent
reeling
rope.Length = .(MIN_ROPE_LENGTH, rope.Length - REEL_IN_SPEED * dt)
lettingOut
rope.Length = .(MAX_WEB_DISTANCE, rope.Length + LET_OUT_SPEED * dt)
#activeWebs >
moveDir = humanoid.MoveDirection
moveDir.Magnitude >
vel = rootPart.AssemblyLinearVelocity
newVel = vel + moveDir * SWING_THRUST * dt
horizontal = .(newVel.X, , newVel.Z)
horizontal.Magnitude > MAX_SWING_SPEED
horizontal = horizontal.Unit * MAX_SWING_SPEED
newVel = .(horizontal.X, newVel.Y, horizontal.Z)
rootPart.AssemblyLinearVelocity = newVel
ragdollAlignOrientation
#activeWebs == humanoid.FloorMaterial ~= .Material.Air
()
humanoid:() == .HumanoidStateType.Physics
humanoid:(.HumanoidStateType.Landed)
humanoid:() ~= .HumanoidStateType.Physics
humanoid:(.HumanoidStateType.Physics)
look = rootPart.CFrame.LookVector
flatLook = .(look.X, , look.Z)
flatLook.Magnitude >
ragdollAlignOrientation.CFrame = .(rootPart.Position, rootPart.Position + flatLook)
sliding
() > slideEndTime slideVelocity.Magnitude <
sliding =
slideVelocity = slideVelocity * .(, - SLIDE_FRICTION * dt)
vel = rootPart.AssemblyLinearVelocity
rootPart.AssemblyLinearVelocity = .(slideVelocity.X, vel.Y, slideVelocity.Z)
)
playerGui = player:()
screenGui = .()
screenGui.Name =
screenGui.ResetOnSpawn =
screenGui.IgnoreGuiInset =
screenGui.Parent = playerGui
panel = .()
panel.Name =
panel.AutomaticSize = .AutomaticSize.Y
panel.Size = .(, , , )
panel.Position = .(, , , )
panel.AnchorPoint = .(, )
panel.BackgroundColor3 = .(, , )
panel.BackgroundTransparency =
panel.BorderSizePixel =
panel.Visible =
panel.Parent = screenGui
.(, panel).CornerRadius = .(, )
stroke = .()
stroke.Color = .(, , )
stroke.Transparency =
stroke.Parent = panel
outerLayout = .()
outerLayout.SortOrder = .SortOrder.LayoutOrder
outerLayout.Padding = .(, )
outerLayout.Parent = panel
padding = .()
padding.PaddingTop = .(, )
padding.PaddingBottom = .(, )
padding.PaddingLeft = .(, )
padding.PaddingRight = .(, )
padding.Parent = panel
header = .()
header.Name =
header.Size = .(, , , )
header.BackgroundTransparency =
header.LayoutOrder =
header.Parent = panel
title = .()
title.Size = .(, -, , )
title.BackgroundTransparency =
title.Text =
title.TextColor3 = .(, , )
title.Font = .Font.GothamBold
title.TextSize =
title.TextXAlignment = .TextXAlignment.Left
title.Parent = header
minimizeButton = .()
minimizeButton.Name =
minimizeButton.Size = .(, , , )
minimizeButton.Position = .(, -, , )
minimizeButton.BackgroundColor3 = .(, , )
minimizeButton.BorderSizePixel =
minimizeButton.Text =
minimizeButton.TextColor3 = .(, , )
minimizeButton.Font = .Font.GothamBold
minimizeButton.TextSize =
minimizeButton.Parent = header
.(, minimizeButton).CornerRadius = .(, )
closeButton = .()
closeButton.Name =
closeButton.Size = .(, , , )
closeButton.Position = .(, -, , )
closeButton.BackgroundColor3 = .(, , )
closeButton.BorderSizePixel =
closeButton.Text =
closeButton.TextColor3 = .(, , )
closeButton.Font = .Font.GothamBold
closeButton.TextSize =
closeButton.Parent = header
.(, closeButton).CornerRadius = .(, )
content = .()
content.Name =
content.AutomaticSize = .AutomaticSize.Y
content.Size = .(, , , )
content.BackgroundTransparency =
content.LayoutOrder =
content.Parent = panel
contentLayout = .()
contentLayout.SortOrder = .SortOrder.LayoutOrder
contentLayout.Padding = .(, )
contentLayout.Parent = content
toggleRow = .()
toggleRow.Size = .(, , , )
toggleRow.BackgroundTransparency =
toggleRow.LayoutOrder =
toggleRow.Parent = content
toggleLabel = .()
toggleLabel.Size = .(, , , )
toggleLabel.BackgroundTransparency =
toggleLabel.Text =
toggleLabel.TextColor3 = .(, , )
toggleLabel.Font = .Font.Gotham
toggleLabel.TextSize =
toggleLabel.TextXAlignment = .TextXAlignment.Left
toggleLabel.Parent = toggleRow
toggleButton = .()
toggleButton.Size = .(, , , )
toggleButton.Position = .(, , , )
toggleButton.BackgroundColor3 = .(, , )
toggleButton.BorderSizePixel =
toggleButton.Text =
toggleButton.TextColor3 = .(, , )
toggleButton.Font = .Font.GothamBold
toggleButton.TextSize =
toggleButton.Parent = toggleRow
.(, toggleButton).CornerRadius = .(, )
(state)
scriptEnabled = state
scriptEnabled
toggleButton.Text =
toggleButton.BackgroundColor3 = .(, , )
toggleButton.Text =
toggleButton.BackgroundColor3 = .(, , )
reeling, lettingOut = ,
sliding =
()
()
()
humanoid
humanoid:(.HumanoidStateType.Freefall)
toggleButton.MouseButton1Click:(()
( scriptEnabled)
)
(bound)
bound
bound == .UserInputType.MouseButton1
bound == .UserInputType.MouseButton2
bound == .UserInputType.MouseButton3
bound.EnumType == .KeyCode bound.Name
(bound)
rowsOrder = {, , , }
bindButtons = {}
i, key (rowsOrder)
action = actions[key]
row = .()
row.Size = .(, , , )
row.BackgroundTransparency =
row.LayoutOrder = i
row.Parent = content
label = .()
label.Size = .(, , , )
label.BackgroundTransparency =
label.Text = action.name
label.TextColor3 = .(, , )
label.Font = .Font.Gotham
label.TextSize =
label.TextXAlignment = .TextXAlignment.Left
label.TextTruncate = .TextTruncate.AtEnd
label.Parent = row
bindBtn = .()
bindBtn.Size = .(, , , )
bindBtn.Position = .(, , , )
bindBtn.BackgroundColor3 = .(, , )
bindBtn.BorderSizePixel =
bindBtn.TextColor3 = .(, , )
bindBtn.Font = .Font.GothamBold
bindBtn.TextSize =
bindBtn.Text = (action.input)
bindBtn.Parent = row
.(, bindBtn).CornerRadius = .(, )
bindButtons[key] = bindBtn
minimized =
(state)
minimized = state
content.Visible = minimized
minimizeButton.Text = minimized
minimizeButton.MouseButton1Click:(()
( minimized)
)
()
panel.Visible =
()
closeButton.MouseButton1Click:(closePanel)
dragging =
dragInput, dragStart, startPos
(input)
delta = input.Position - dragStart
panel.Position = .(
startPos.X.Scale, startPos.X.Offset + delta.X,
startPos.Y.Scale, startPos.Y.Offset + delta.Y
)
header.InputBegan:((input)
input.UserInputType == .UserInputType.MouseButton1
input.UserInputType == .UserInputType.Touch
dragging =
dragStart = input.Position
startPos = panel.Position
input.Changed:(()
input.UserInputState == .UserInputState.End
dragging =
)
)
header.InputChanged:((input)
input.UserInputType == .UserInputType.MouseMovement
input.UserInputType == .UserInputType.Touch
dragInput = input
)
UserInputService.InputChanged:((input)
input == dragInput dragging
(input)
)
listeningFor =
(actionKey)
listeningFor
bindButtons[listeningFor].Text = (actions[listeningFor].input)
listeningFor = actionKey
bindButtons[actionKey].Text =
key, btn (bindButtons)
btn.MouseButton1Click:(()
(key)
)
(input)
input.UserInputType == .UserInputType.Keyboard
input.KeyCode == .KeyCode.Unknown
input.KeyCode
input.UserInputType == .UserInputType.MouseButton1
input.UserInputType == .UserInputType.MouseButton2
input.UserInputType == .UserInputType.MouseButton3
input.UserInputType
(io, bound)
bound
(bound) ~=
bound.EnumType == .KeyCode
io.KeyCode == bound
bound.EnumType == .UserInputType
io.UserInputType == bound
UserInputService.InputBegan:((input, gameProcessed)
listeningFor
input.UserInputType == .UserInputType.Keyboard input.KeyCode == .KeyCode.Escape
actions[listeningFor].input =
bindButtons[listeningFor].Text =
listeningFor =
newBind = (input)
newBind
otherKey, otherAction (actions)
otherKey ~= listeningFor otherAction.input == newBind
otherAction.input =
bindButtons[otherKey]
bindButtons[otherKey].Text =
actions[listeningFor].input = newBind
bindButtons[listeningFor].Text = (newBind)
bindButtons[listeningFor].Text = (actions[listeningFor].input)
listeningFor =
gameProcessed
key, action (actions)
action.input (input, action.input) actionHandlers[key]
actionHandlers[key]()
)
UserInputService.InputEnded:((input, _gameProcessed)
key, action (actions)
action.input (input, action.input) actionHandlersEnded[key]
actionHandlersEnded[key]()
)Become spiderman inside of any roblox game!