Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- wait(0.03)
- local player = game.Players.LocalPlayer
- local mouse = player:GetMouse()
- local char
- repeat char = player.Character wait(0.03) until char
- --lasso stuff
- local makelasso = function(endpos)
- local lasso = Instance.new("SelectionPointLasso",char)
- lasso.Color = BrickColor.new("Really black")
- lasso.Humanoid = char.Humanoid
- lasso.Point = endpos
- return lasso
- end
- --\lasso stuff
- --bodpos stuff
- local bodypos = Instance.new("BodyPosition",char.Torso)
- bodypos.maxForce = Vector3.new()
- --weight stuff
- local weight = 0
- local fatness = char:GetChildren()
- for i = 1,#fatness do
- if fatness[i]:IsA("BasePart") then
- weight = weight + fatness[i]:GetMass()*192.6
- elseif fatness[i]:IsA("Hat") and fatness[i]:FindFirstChild("Handle") then
- weight = weight + fatness[i].Handle:GetMass()*192.6
- end
- end
- fatness = nil
- --\weightstuff
- --\bodpos stuff
- --bodvel stuff
- local bv = Instance.new("BodyVelocity",char.Head)
- bv.maxForce = Vector3.new()
- --\bodvel stuff
- --bodgyro stuff
- local bodygyro = Instance.new("BodyGyro",char.Torso)
- bodygyro.maxTorque = Vector3.new()
- local setgyro = false
- --\bodgyro stuff
- --are grapples active?and gas
- local q,qlocation = false,Vector3.new()
- local e,elocation = false,Vector3.new()
- local qlasso,elasso = nil,nil
- local gas = false
- --\are grapples active?and gas
- mouse.KeyDown:connect(function(key)
- if key == "q" and not q then
- if (mouse.Hit.p-char.Torso.Position).magnitude > 200 then return end
- q = true
- qlocation = mouse.Hit.p
- if mouse.Target and e then
- bodypos.position = mouse.Hit.p:lerp(bodypos.position,0.5)
- bodypos.maxForce = Vector3.new(4000,weight+4000,4000)
- setgyro = false
- if not qlasso then
- qlasso = makelasso(qlocation)
- end
- elseif mouse.Target then
- bodypos.position = mouse.Hit.p
- bodypos.maxForce = Vector3.new(3500,weight+3500,3500)
- setgyro = true
- if not qlasso then
- qlasso = makelasso(qlocation)
- end
- end
- elseif key == "e" and not e then
- if (mouse.Hit.p-char.Torso.Position).magnitude > 200 then return end
- e = true
- elocation = mouse.Hit.p
- if mouse.Target and q then
- bodypos.position = mouse.Hit.p:lerp(bodypos.position,0.5)
- bodypos.maxForce = Vector3.new(4000,weight+4000,4000)
- setgyro = false
- if not elasso then
- elasso = makelasso(elocation)
- end
- elseif mouse.Target then
- bodypos.position = mouse.Hit.p
- bodypos.maxForce = Vector3.new(3500,weight+3500,3500)
- setgyro = true
- if not elasso then
- elasso = makelasso(elocation)
- end
- end
- elseif key:byte() == 32 and not gas then
- gas = true
- bv.velocity = char.Torso.CFrame.lookVector.unit * 350
- bv.maxForce = Vector3.new(4000,weight+4000,4000)
- local gasblock = Instance.new("Smoke",char.Torso)
- gasblock.RiseVelocity = 8
- gasblock.Size = 0.1
- Delay(2,function()
- gasblock:Destroy()
- bv.maxForce = Vector3.new()
- gas = false
- end)
- elseif key:byte() == 50 then
- char.Humanoid.PlatformStand = not char.Humanoid.PlatformStand
- end
- end)
- mouse.KeyUp:connect(function(key)
- if key == "q" then
- q = false
- if not e then
- bodypos.maxForce = Vector3.new()
- setgyro = false
- else
- bodypos.position = elocation
- end
- if qlasso then
- game:GetService("Debris"):AddItem(qlasso,0)
- qlasso = nil
- if not q and not e then
- char.Torso.Velocity = char.Torso.Velocity + Vector3.new(0,70,0)
- end
- end
- elseif key == "e" then
- e = false
- if not q then
- bodypos.maxForce = Vector3.new()
- setgyro = false
- else
- bodypos.position = qlocation
- end
- if elasso then
- game:GetService("Debris"):AddItem(elasso,0)
- elasso = nil
- if not q and not e then
- char.Torso.Velocity = char.Torso.Velocity + Vector3.new(0,70,0)
- end
- end
- end
- end)
- char.Torso.Friction = 0
- while wait() do
- bodygyro.maxTorque = setgyro and Vector3.new(3000,3000,3000) or Vector3.new()
- bodygyro.cframe = CFrame.new(char.Torso.Position,bodypos.position)
- end
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement