-- Spider-Man Swing z przyklejaniem do graczy i max 1 aktywną web (Delta Android) local player = game.Players.LocalPlayer local mouse = player:GetMouse() local uis = game:GetService("UserInputService") local ts = game:GetService("TweenService") local workspace = game:GetService("Workspace") local root = player.Character:WaitForChild("HumanoidRootPart") local targetPos = nil local targetPlayer = nil local currentWeb = nil local tweenLoop = nil local swinging = false local spiderEnabled = false -- stan trybu -- === GUI === local gui = Instance.new("ScreenGui") gui.Parent = player:WaitForChild("PlayerGui") local button = Instance.new("TextButton") button.Size = UDim2.new(0, 100, 0, 40) button.Position = UDim2.new(0, 20, 0, 200) button.Text = "Spider: OFF" button.BackgroundColor3 = Color3.fromRGB(30, 30, 30) button.TextColor3 = Color3.fromRGB(255, 255, 255) button.Font = Enum.Font.SourceSansBold button.TextSize = 18 button.Parent = gui -- === Funkcja tworzenia sieci (maks 1 naraz) === local function createWeb(startPos, endPos) -- usuń poprzednią sieć if currentWeb then currentWeb:Destroy() end currentWeb = Instance.new("Folder") currentWeb.Name = "SpiderWeb" currentWeb.Parent = workspace local p1 = Instance.new("Part") p1.Anchored = true p1.CanCollide = false p1.Transparency = 1 p1.CFrame = CFrame.new(startPos) p1.Parent = currentWeb local p2 = Instance.new("Part") p2.Anchored = true p2.CanCollide = false p2.Transparency = 1 p2.CFrame = CFrame.new(endPos) p2.Parent = currentWeb local a1 = Instance.new("Attachment", p1) local a2 = Instance.new("Attachment", p2) local beam = Instance.new("Beam") 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) beam.Parent = currentWeb end -- === Tween krok po kroku === local function tweenToTarget(pos) if not player.Character or not player.Character:FindFirstChild("HumanoidRootPart") then return end local hrp = player.Character.HumanoidRootPart if tweenLoop then task.cancel(tweenLoop) end tweenLoop = task.spawn(function() while swinging and hrp and (hrp.Position - pos).Magnitude > 5 do local dir = (pos - hrp.Position).Unit local step = dir * 18 local tween = ts:Create(hrp, TweenInfo.new(0.35, Enum.EasingStyle.Linear), { CFrame = hrp.CFrame + step }) tween:Play() tween.Completed:Wait() end if hrp and (hrp.Position - pos).Magnitude <= 5 then if currentWeb then currentWeb:Destroy() currentWeb = nil end targetPos = nil targetPlayer = nil swinging = false end if tweenLoop then task.cancel(tweenLoop) tweenLoop = nil end end) end -- === Start swing === local function useWeb() if not spiderEnabled or swinging then return end swinging = true local endPos = targetPos if targetPlayer and targetPlayer.Character and targetPlayer.Character:FindFirstChild("HumanoidRootPart") then endPos = targetPlayer.Character.HumanoidRootPart.Position end createWeb(root.Position, endPos) tweenToTarget(endPos) end -- === Stop ręczny / przy wyłączeniu Spider Mode === local function stopWeb() swinging = false targetPos = nil targetPlayer = nil if tweenLoop then task.cancel(tweenLoop) tweenLoop = nil end if currentWeb then currentWeb:Destroy() currentWeb = nil end local hum = player.Character and player.Character:FindFirstChildOfClass("Humanoid") if hum then hum.Sit = false end end -- === Kliknięcie w świecie lub gracza === mouse.Button1Down:Connect(function() if not spiderEnabled then return end local target = mouse.Target if target and target.Parent then local plr = game.Players:GetPlayerFromCharacter(target.Parent) if plr and plr ~= player then targetPlayer = plr targetPos = nil else targetPlayer = nil targetPos = mouse.Hit.Position end else targetPlayer = nil targetPos = mouse.Hit.Position end useWeb() end) -- === Input klawisza X do zatrzymania === uis.InputBegan:Connect(function(input, gpe) if gpe then return end if input.KeyCode == Enum.KeyCode.X then stopWeb() end end) -- === Przycisk GUI === button.MouseButton1Click:Connect(function() spiderEnabled = not spiderEnabled local hum = player.Character and player.Character:FindFirstChildOfClass("Humanoid") if spiderEnabled then button.Text = "Spider: ON" button.BackgroundColor3 = Color3.fromRGB(0, 170, 0) if hum then hum.Sit = true end else button.Text = "Spider: OFF" button.BackgroundColor3 = Color3.fromRGB(170, 0, 0) stopWeb() end end)