SHOW:
|
|
- or go back to the newest paste.
1 | - | Player = game:GetService("Players")dpeanut1 |
1 | + | Player = game:GetService("Players")Tabby_Cxt |
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) |