SHOW:
|
|
- or go back to the newest paste.
| 1 | - | Player = game:GetService("Players")dpeanut1
|
| 1 | + | Player = game:GetService("Players")LocalPlayer
|
| 2 | Character = Player.Character | |
| 3 | PlayerGui = Player.PlayerGui | |
| 4 | Backpack = Player.Backpack | |
| 5 | Torso = Character.Torso | |
| 6 | Head = Character.Head | |
| 7 | LeftArm = Character["Left Arm"] | |
| 8 | LeftLeg = Character["Left Leg"] | |
| 9 | RightArm = Character["Right Arm"] | |
| 10 | RightLeg = Character["Right Leg"] | |
| 11 | LS = Torso["Left Shoulder"] | |
| 12 | LH = Torso["Left Hip"] | |
| 13 | RS = Torso["Right Shoulder"] | |
| 14 | RH = Torso["Right Hip"] | |
| 15 | X = 5 -- Size.X of the Path | |
| 16 | Y = 2 -- Size.Y of the Path | |
| 17 | Z = 6 -- Size.Z of the Path | |
| 18 | Longness = 9999999999 -- How long the Path will stay | |
| 19 | velo = 100 | |
| 20 | rot = 0 | |
| 21 | q = Vector3.new(0,0,0) | |
| 22 | ||
| 23 | function laser(to,from) -- MUST BE VECTOR3 | |
| 24 | local las=Instance.new("Part",Workspace)
| |
| 25 | las.Anchored=true | |
| 26 | las.Locked=true | |
| 27 | las.CanCollide=false | |
| 28 | las.TopSurface=0 | |
| 29 | las.BottomSurface=0 | |
| 30 | las.FormFactor = "Custom" | |
| 31 | las.BrickColor=BrickColor.new("Bright orange")
| |
| 32 | las.Size=Vector3.new(1,1,1) | |
| 33 | las.CFrame=CFrame.new((to+from)/2,from)*CFrame.Angles(math.rad(90),0,0) | |
| 34 | game.Debris:AddItem(las,5) | |
| 35 | local msh=Instance.new("SpecialMesh",las)
| |
| 36 | msh.Scale=Vector3.new(1,(to-from).magnitude,1) | |
| 37 | return las | |
| 38 | end | |
| 39 | ||
| 40 | ||
| 41 | color = {BrickColor.new("Bright orange")}
| |
| 42 | selected = math.random(1,#color) | |
| 43 | if (script.Parent.className ~= "HopperBin") then | |
| 44 | Tool = Instance.new("HopperBin")
| |
| 45 | Tool.Parent = Backpack | |
| 46 | Tool.Name = "Air Path" | |
| 47 | script.Parent = Tool | |
| 48 | end | |
| 49 | Bin = script.Parent | |
| 50 | ||
| 51 | hold = false | |
| 52 | LH0 = LH.C0 | |
| 53 | RH0 = RH.C0 | |
| 54 | LS0 = LS.C0 | |
| 55 | RS0 = RS.C0 | |
| 56 | ||
| 57 | function ob1d(mouse) | |
| 58 | hold = true | |
| 59 | Character.Humanoid.PlatformStand = true | |
| 60 | wp = Instance.new("Part")
| |
| 61 | wp.Parent = Character | |
| 62 | wp.Size = Vector3.new(1,0.4,1) | |
| 63 | wp.formFactor = "Plate" | |
| 64 | wp.Transparency = 1 | |
| 65 | bg = Instance.new("BodyGyro")
| |
| 66 | bg.Parent = wp | |
| 67 | bg.maxTorque = Vector3.new(math.huge,math.huge,math.huge) | |
| 68 | bv = Instance.new("BodyVelocity")
| |
| 69 | bv.Parent = wp | |
| 70 | bv.maxForce = Vector3.new(math.huge,math.huge,math.huge) | |
| 71 | w = Instance.new("Weld")
| |
| 72 | w.Parent = Torso | |
| 73 | w.Part0 = Torso | |
| 74 | w.Part1 = wp | |
| 75 | RH.C0 = CFrame.new(.25,-1.25,0) * CFrame.Angles(0,math.pi+math.pi/2,0) * CFrame.Angles(math.pi/8,0,0) | |
| 76 | LH.C0 = CFrame.new(-.75,-1,0) * CFrame.Angles(0,math.pi+math.pi/2,0) * CFrame.Angles(-math.pi/8,0,0) | |
| 77 | RS.C0 = CFrame.new(2,.75,0) * CFrame.Angles(0,math.pi+math.pi/2,0) * CFrame.Angles(math.pi/4,0,0) | |
| 78 | LS.C0 = CFrame.new(-1.25,0,0) * CFrame.Angles(0,math.pi+math.pi/2,0) * CFrame.Angles(-math.pi/4,0,0) | |
| 79 | while hold == true do | |
| 80 | bv.velocity = (mouse.Hit.lookVector*velo) | |
| 81 | if rot == -1 then | |
| 82 | bg.cframe = CFrame.new(Torso.Position,mouse.Hit.p) * CFrame.Angles(0,0--[[math.pi/2]],math.pi/4) | |
| 83 | elseif rot == 1 then | |
| 84 | bg.cframe = CFrame.new(Torso.Position,mouse.Hit.p) * CFrame.Angles(0,0--[[math.pi/2]],-math.pi/4) | |
| 85 | elseif rot == 0 then | |
| 86 | bg.cframe = CFrame.new(Torso.Position,mouse.Hit.p) * CFrame.Angles(0,math.pi/2,0) | |
| 87 | elseif rot == 2 then | |
| 88 | bg.cframe = CFrame.new(Torso.Position,mouse.Hit.p) * CFrame.Angles(0,0,math.pi) | |
| 89 | elseif rot == -2 then | |
| 90 | bg.cframe = CFrame.new(Torso.Position,mouse.Hit.p) * CFrame.Angles(0,math.pi,0) | |
| 91 | end | |
| 92 | Character.Humanoid.PlatformStand = true | |
| 93 | local part = Instance.new("Part")
| |
| 94 | part.Parent = Character | |
| 95 | part.Size = Vector3.new(X,Y,Z) | |
| 96 | part.formFactor = "Symmetric" | |
| 97 | part.Anchored = true | |
| 98 | part.Transparency = 1 | |
| 99 | part.Velocity = mouse.Hit.lookVector*velo | |
| 100 | part.CFrame = Torso.CFrame * CFrame.new(0,-3.5,0) | |
| 101 | part.CFrame = CFrame.new(part.Position,mouse.Hit.p) | |
| 102 | part.CFrame = part.CFrame + part.CFrame.lookVector * 2.5 | |
| 103 | laser(q,part.Position) | |
| 104 | q = part.Position | |
| 105 | part.TopSurface = 0 | |
| 106 | part.BottomSurface = 0 | |
| 107 | if rot == -1 then | |
| 108 | part.CFrame = part.CFrame * CFrame.Angles(0,0,math.pi/4) | |
| 109 | elseif rot == 1 then | |
| 110 | part.CFrame = part.CFrame * CFrame.Angles(0,0,-math.pi/4) | |
| 111 | elseif rot == 2 then | |
| 112 | part.CFrame = part.CFrame * CFrame.Angles(0,0,math.pi) | |
| 113 | --[[elseif rot == -2 then | |
| 114 | part.CFrame = part.CFrame * CFrame.Angles(0,math.pi,0) ]] | |
| 115 | end | |
| 116 | part.Transparency = 1 | |
| 117 | part.BrickColor = color[selected] | |
| 118 | coroutine.resume(coroutine.create(function() | |
| 119 | wait(Longness) | |
| 120 | part:remove() | |
| 121 | end)) | |
| 122 | wait() | |
| 123 | end | |
| 124 | end | |
| 125 | ||
| 126 | function ob1u(mouse) | |
| 127 | hold = false | |
| 128 | LH.C0 = LH0 | |
| 129 | RH.C0 = RH0 | |
| 130 | LS.C0 = LS0 | |
| 131 | RS.C0 = RS0 | |
| 132 | Character.Humanoid.PlatformStand = false | |
| 133 | wp:remove() | |
| 134 | end | |
| 135 | ||
| 136 | buttonhold = false | |
| 137 | ||
| 138 | function key(key) | |
| 139 | if key == "q" then | |
| 140 | wait() | |
| 141 | buttonhold = true | |
| 142 | rot = -1 | |
| 143 | velo = velo/1.5 | |
| 144 | end | |
| 145 | if key == "e" then | |
| 146 | wait() | |
| 147 | rot = 1 | |
| 148 | velo = velo/1.5 | |
| 149 | buttonhold = true | |
| 150 | end | |
| 151 | if key == "r" then | |
| 152 | wait() | |
| 153 | rot = 2 | |
| 154 | velo = velo/1.5 | |
| 155 | end | |
| 156 | if key == "f" then | |
| 157 | wait() | |
| 158 | rot = -2 | |
| 159 | velo = velo/1.5 | |
| 160 | end | |
| 161 | ||
| 162 | end | |
| 163 | ||
| 164 | function key2(key) | |
| 165 | if key == "e" or key == "q" or key == "r" or key == "f" then | |
| 166 | buttonhold = false | |
| 167 | rot = 0 | |
| 168 | velo = velo*1.5 | |
| 169 | end | |
| 170 | if key == "z" then | |
| 171 | velo = 150 | |
| 172 | elseif key == "x" then | |
| 173 | velo = 300 | |
| 174 | end | |
| 175 | end | |
| 176 | ||
| 177 | function s(mouse) | |
| 178 | mouse.Button1Down:connect(function() ob1d(mouse) end) | |
| 179 | mouse.Button1Up:connect(function() ob1u(mouse) end) | |
| 180 | mouse.KeyDown:connect(key) | |
| 181 | mouse.KeyUp:connect(key2) | |
| 182 | end | |
| 183 | function ds(mouse) | |
| 184 | end | |
| 185 | Bin.Selected:connect(s) | |
| 186 | Bin.Deselected:connect(ds) |