epic web swinging script
Key RequiredUniversal

epic web swinging script

Universal Scriptidfkbroidfkbro 11.3K views 6.8K executesUpdated Nov 7, 2025
5.0/ 5(2 votes)
20100% Positive
Lua Script•138 lines (3455 chars)
local Players = game:GetService("Players")
local RunService = game:GetService("RunService")
local UserInputService = game:GetService("UserInputService")
local player = Players.LocalPlayer
local mouse = player:GetMouse()

local character, humanoid, root


local function setupCharacter(char)
	character = char
	humanoid = char:WaitForChild("Humanoid")
	root = char:WaitForChild("HumanoidRootPart")
end

if player.Character then
	setupCharacter(player.Character)
end
player.CharacterAdded:Connect(setupCharacter)


local ropeConstraint
local beam
local webAttach
local swingActive = false


local function getRayParams()
	local params = RaycastParams.new()
	params.FilterType = Enum.RaycastFilterType.Exclude
	params.FilterDescendantsInstances = {character}
	params.IgnoreWater = true
	return params
end


local function createBeam(attach0, attach1)
	local beam = Instance.new("Beam")
	beam.Attachment0 = attach0
	beam.Attachment1 = attach1
	beam.Color = ColorSequence.new(Color3.fromRGB(230, 230, 255), Color3.fromRGB(150, 150, 255))
	beam.Width0 = 0.1
	beam.Width1 = 0.05
	beam.LightEmission = 0.8
	beam.Texture = "rbxassetid://7309400641"
	beam.TextureMode = Enum.TextureMode.Wrap
	beam.TextureSpeed = 3
	beam.FaceCamera = true
	beam.Parent = root
	return beam
end


local function releaseWeb()
	swingActive = false
	if ropeConstraint then ropeConstraint:Destroy() ropeConstraint = nil end
	if beam then beam:Destroy() beam = nil end
	if webAttach then webAttach:Destroy() webAttach = nil end
end


local function fireWeb()
	if swingActive then
		releaseWeb()
		return
	end

	if not root then return end

	local rayParams = getRayParams()
	local origin = root.Position + root.CFrame.LookVector * 2
	local direction = (mouse.Hit.Position - origin).Unit * 300
	local result = workspace:Raycast(origin, direction, rayParams)

	if not result or not result.Instance then return end

	
	local hitPart = result.Instance
	webAttach = Instance.new("Attachment")
	webAttach.Name = "WebAttach"
	webAttach.Position = hitPart.CFrame:PointToObjectSpace(result.Position)
	webAttach.Parent = hitPart

	local playerAttach = Instance.new("Attachment")
	playerAttach.Name = "WebPlayerAttach"
	playerAttach.Parent = root


	ropeConstraint = Instance.new("RopeConstraint")
	ropeConstraint.Attachment0 = webAttach
	ropeConstraint.Attachment1 = playerAttach
	ropeConstraint.Length = (result.Position - root.Position).Magnitude
	ropeConstraint.Visible = false
	ropeConstraint.Thickness = 0.1
	ropeConstraint.Restitution = 0.2
	ropeConstraint.Parent = root

	beam = createBeam(webAttach, playerAttach)

	swingActive = true


	local dir = (result.Position - root.Position).Unit
	root.Velocity = root.Velocity + dir * 50 + Vector3.new(0, 40, 0)
end


UserInputService.InputBegan:Connect(function(input, gp)
	if gp then return end
	if input.UserInputType == Enum.UserInputType.MouseButton1 then
		fireWeb()
	end
end)


RunService.Heartbeat:Connect(function()
	if swingActive and ropeConstraint and webAttach and webAttach.Parent then
		local anchorWorldPos = webAttach.WorldPosition
		local diff = anchorWorldPos - root.Position
		local distance = diff.Magnitude
		local maxLen = ropeConstraint.Length

	
		if distance > maxLen then
			local pull = diff.Unit * (distance - maxLen)
			root.Velocity += pull * 3
		end

		
		if not webAttach.Parent or not webAttach.Parent:IsDescendantOf(workspace) then
			releaseWeb()
		end
	else
		if swingActive then
			releaseWeb()
		end
	end
end)

Features & Information

you can drag unachored parts, if you drive a car and click with the script, you can make it go fucking 1000 mphs. But the main part is being able to fling yourself across buildings like spider man, or just for faster transportation
#universal

Community Comments (2)

HACKMANSCARYHACKMANSCARYNov 8, 2025

ai

Replying to @HACKMANSCARY
idfkbroidfkbroNov 8, 2025

@HACKMANSCARY proof

More Scripts for Universal Scripts