Spider Man
Key RequiredUniversal

Spider Man

Universal Scriptskirvishiskirvishi 15.9K views 16K executesUpdated Jul 14, 2025
Unrated
00
Lua Script•209 lines (6722 chars)
loadstring([[
-- Services
local Players = game:GetService("Players")
local TweenService = game:GetService("TweenService")
local UserInputService = game:GetService("UserInputService")
local RunService = game:GetService("RunService")
local Debris = game:GetService("Debris")

local player = Players.LocalPlayer
local camera = workspace.CurrentCamera

-- States
local autoPull, noclip, webPhysics, spiderMode = false, false, false, false
local targetPos, currentWeb = nil, nil

-- GUI
local guiMain, panelFrame, btnAuto, btnNoclip, btnSpider, subButtons = nil

local function buildGui()
    if guiMain then guiMain:Destroy() end
    guiMain = Instance.new("ScreenGui", player:WaitForChild("PlayerGui"))
    guiMain.ResetOnSpawn = false

    panelFrame = Instance.new("Frame")
    panelFrame.Size = UDim2.new(0, 210, 0, 260)
    panelFrame.Position = UDim2.new(0.1, 0, 0.4, 0)
    panelFrame.BackgroundColor3 = Color3.fromRGB(30, 30, 30)
    panelFrame.BackgroundTransparency = 0.2
    panelFrame.Active = true
    panelFrame.Parent = guiMain

    -- Make whole panel draggable (mobile + desktop)
    local dragging = false
    local dragStartPos = nil
    local startPos = nil

    panelFrame.InputBegan:Connect(function(input)
        if input.UserInputType == Enum.UserInputType.Touch or input.UserInputType == Enum.UserInputType.MouseButton1 then
            dragging = true
            dragStartPos = input.Position
            startPos = panelFrame.Position
            input.Changed:Connect(function()
                if input.UserInputState == Enum.UserInputState.End then
                    dragging = false
                end
            end)
        end
    end)

    panelFrame.InputChanged:Connect(function(input)
        if dragging and (input.UserInputType == Enum.UserInputType.Touch or input.UserInputType == Enum.UserInputType.MouseMovement) then
            local delta = input.Position - dragStartPos
            panelFrame.Position = UDim2.new(startPos.X.Scale, startPos.X.Offset + delta.X,
                                            startPos.Y.Scale, startPos.Y.Offset + delta.Y)
        end
    end)

    -- Button creator
    local function mk(text, y)
        local btn = Instance.new("TextButton", panelFrame)
        btn.Size = UDim2.new(1, -10, 0, 40)
        btn.Position = UDim2.new(0, 5, 0, y)
        btn.Text = text
        btn.BackgroundColor3 = Color3.fromRGB(70, 70, 70)
        btn.TextColor3 = Color3.new(1, 1, 1)
        btn.Font = Enum.Font.SourceSansBold
        btn.TextSize = 18
        return btn
    end

    btnAuto = mk("Auto Walk: OFF", 10)
    btnNoclip = mk("Noclip: OFF", 60)
    btnSpider = mk("🕷 Spider‑Man Mode", 110)
    local btnWebPull = mk("Web Pull: OFF", 160)
    local btnWebPhys = mk("Web Physics: OFF", 210)

    subButtons = {btnWebPull, btnWebPhys}
    for _, b in ipairs(subButtons) do
        b.Visible = false
    end

    btnSpider.MouseButton1Click:Connect(function()
        spiderMode = not spiderMode
        for _, b in ipairs(subButtons) do
            b.Visible = spiderMode
        end
    end)

    btnAuto.MouseButton1Click:Connect(function()
        autoPull = not autoPull
        btnAuto.Text = "Auto Walk: " .. (autoPull and "ON" or "OFF")
        btnAuto.BackgroundColor3 = autoPull and Color3.fromRGB(0, 120, 255) or Color3.fromRGB(70, 70, 70)
    end)

    btnNoclip.MouseButton1Click:Connect(function()
        noclip = not noclip
        btnNoclip.Text = "Noclip: " .. (noclip and "ON" or "OFF")
    end)

    btnWebPull.MouseButton1Click:Connect(function()
        webPhysics = false
        autoPull = true
        btnWebPull.Text = "Web Pull: ON"
        btnWebPhys.Text = "Web Physics: OFF"
    end)

    btnWebPhys.MouseButton1Click:Connect(function()
        webPhysics = true
        autoPull = false
        btnWebPhys.Text = "Web Physics: ON"
        btnWebPull.Text = "Web Pull: OFF"
    end)
end

local function createWeb(startPos, endPos)
    if currentWeb then currentWeb:Destroy() end
    local p1 = Instance.new("Part", workspace)
    p1.Anchored = true
    p1.CanCollide = false
    p1.Transparency = 1
    p1.CFrame = CFrame.new(startPos)
    local p2 = Instance.new("Part", workspace)
    p2.Anchored = true
    p2.CanCollide = false
    p2.Transparency = 1
    p2.CFrame = CFrame.new(endPos)
    local a1 = Instance.new("Attachment", p1)
    local a2 = Instance.new("Attachment", p2)
    local beam = Instance.new("Beam", p1)
    beam.Attachment0 = a1
    beam.Attachment1 = a2
    beam.Width0 = 2
    beam.Width1 = 2
    beam.LightEmission = 1
    beam.Texture = "rbxassetid://446111271"
    beam.TextureMode = Enum.TextureMode.Stretch
    beam.TextureLength = 1
    beam.TextureSpeed = 2
    beam.Color = ColorSequence.new(Color3.new(1, 1, 1))
    beam.Transparency = NumberSequence.new(0.05)
    currentWeb = Instance.new("Folder", workspace)
    p1.Parent = currentWeb
    p2.Parent = currentWeb
end

local function useWeb()
    if not targetPos then
        return
    end
    local char = player.Character or player.CharacterAdded:Wait()
    local root = char:WaitForChild("HumanoidRootPart")
    createWeb(root.Position, targetPos)
    if webPhysics then
        local bv = Instance.new("BodyVelocity", root)
        bv.MaxForce = Vector3.new(1e6, 1e6, 1e6)
        bv.Velocity = (targetPos - root.Position).Unit * 100
        Debris:AddItem(bv, 0.5)
    elseif autoPull then
        local tw = TweenService:Create(root, TweenInfo.new(0.6, Enum.EasingStyle.Quad), {
            CFrame = CFrame.new(targetPos + Vector3.new(0, 3, 0))
        })
        tw:Play()
    end
end

UserInputService.InputBegan:Connect(function(input, processed)
    if processed then
        return
    end
    if
        input.UserInputType == Enum.UserInputType.Touch
        or input.UserInputType == Enum.UserInputType.MouseButton1
    then
        local ray = camera:ScreenPointToRay(input.Position.X, input.Position.Y)
        local rp = RaycastParams.new()
        rp.FilterDescendantsInstances = {player.Character}
        rp.FilterType = Enum.RaycastFilterType.Blacklist
        local hit = workspace:Raycast(ray.Origin, ray.Direction * 500, rp)
        if hit then
            targetPos = hit.Position
            useWeb()
        end
    end
end)

RunService.RenderStepped:Connect(function()
    local char = player.Character
    if char then
        if noclip then
            for _, p in pairs(char:GetDescendants()) do
                if p:IsA("BasePart") then
                    p.CanCollide = false
                end
            end
        end
    end
end)

player.CharacterAdded:Connect(function()
    wait(1)
    buildGui()
    if targetPos then
        wait(0.5)
        useWeb()
    end
end)

buildGui()
]])()

Features & Information

• Draggable GUI Panel: Drag the entire control panel anywhere on screen (works on mobile & desktop) • Auto Walk Toggle: Moves your character automatically to the last tapped/clicked location • Noclip Toggle: Turns off collision for your character’s parts so you can move through walls • Spider-Man Mode Toggle: Shows/hides Spider-Man related options: • Web Pull Toggle: Moves your character instantly to the targeted point with a smooth tween effect • Web Physics Toggle: Moves your character to the targeted point using physics-based velocity for a swinging effect
#Universal#SpiderMan#Auto walk

Community Comments (0)

No comments yet for this script.

More Scripts for Universal Scripts