SHOW:
|
|
- or go back to the newest paste.
1 | - | function clerp(c1,c2,al) |
1 | + | |
2 | - | local com1 = {c1.X,c1.Y,c1.Z,c1:toEulerAnglesXYZ()} |
2 | + | |
3 | - | local com2 = {c2.X,c2.Y,c2.Z,c2:toEulerAnglesXYZ()} |
3 | + | |
4 | - | for i,v in pairs(com1) do |
4 | + | |
5 | - | com1[i] = v+(com2[i]-v)*al |
5 | + | |
6 | humanoid = char:findFirstChild("Humanoid") | |
7 | - | return CFrame.new(com1[1],com1[2],com1[3]) * CFrame.Angles(select(4,unpack(com1))) |
7 | + | |
8 | head = char.Head | |
9 | ra = char:findFirstChild("Right Arm") | |
10 | la = char:findFirstChild("Left Arm") | |
11 | rl = char:findFirstChild("Right Leg") | |
12 | ll = char:findFirstChild("Left Leg") | |
13 | rs = torso:findFirstChild("Right Shoulder") | |
14 | ls = torso:findFirstChild("Left Shoulder") | |
15 | rh = torso:findFirstChild("Right Hip") | |
16 | lh = torso:findFirstChild("Left Hip") | |
17 | neck = torso:findFirstChild("Neck") | |
18 | rj = char:findFirstChild("HumanoidRootPart"):findFirstChild("RootJoint") | |
19 | rootpart = char:findFirstChild("HumanoidRootPart") | |
20 | camera = workspace.CurrentCamera | |
21 | anim = char:findFirstChild("Animate") | |
22 | local sound = Instance.new("Sound", char) | |
23 | sound.Volume = 1 | |
24 | sound.Looped = true | |
25 | sound.Name = "Sound" | |
26 | ||
27 | SoundsList = {} | |
28 | ||
29 | function newSound(name, id, pitch, puush) | |
30 | if not puush == true then puush = false end | |
31 | if puush then | |
32 | table.insert(SoundsList, {["Name"]=name, ["ID"]="puush("..id..")", ["Pitch"]=pitch or 1}) | |
33 | else | |
34 | table.insert(SoundsList, {["Name"]=name, ["ID"]=id, ["Pitch"]=pitch or 1}) | |
35 | end | |
36 | end | |
37 | ||
38 | newSound("Saints Row IV Theme (puush asset)", "9jVEX", 1, true) | |
39 | newSound("Lemon Tree - Fool's Garden (puush asset)", "9jVD9", 1, true) | |
40 | newSound("What is Love", "142544487") | |
41 | newSound("Martin Garrix - Animals", "142370129") | |
42 | newSound("The Proclaimers - 500 Miles", "151371405") | |
43 | newSound("Avicii - Wake me up", "142603004") | |
44 | newSound("Hip Hop - Jeff Syndicate", "27697735", 3) | |
45 | newSound("Alice Deejay - Better Off Alone", "142397452") | |
46 | newSound("BBBFF - My Little Pony", "142605535") | |
47 | newSound("Intro - My Little Pony", "142626518") | |
48 | newSound("Bangarang - Skrillex", "142319852") | |
49 | newSound("Surfin' Bird ", "145567707") | |
50 | newSound("You've been trolled", "142633540") | |
51 | newSound('Disco Star - Spongebob video game', '144906669') | |
52 | newSound("Europe - The Final Countdown", "142859512") | |
53 | newSound("LMFAO - Party Rock Anthem", "145262991") | |
54 | newSound("Darude - Sandstorm", "142401311", .53) | |
55 | newSound('Skrillex - Fire', '150137157') | |
56 | newSound('Spongebob - Goofy Goober Rock', '142396943') | |
57 | newSound('The Slenderman song (Comedy)', '142776228') | |
58 | newSound('Avicii - Levels', "148424799") | |
59 | newSound('Erectin\' a river', '145849454') | |
60 | newSound('TTC - Fat cat Adventures [Glitch Hop]', '142808748') | |
61 | newSound('Thrift Shop - Macklemore', '155119191') | |
62 | newSound('Five Nights At Freddys 2 Song', '192043328') | |
63 | ||
64 | local function HSV(H,S,V) | |
65 | H = H % 360 | |
66 | local C = V * S | |
67 | local H2 = H/60 | |
68 | local X = C * (1 - math.abs((H2 %2) -1)) | |
69 | local color = Color3.new(0,0,0) | |
70 | if H2 <= 0 then | |
71 | color = Color3.new(C,0,0) | |
72 | elseif 0 <= H2 and H2 <= 1 then | |
73 | color = Color3.new(C,X,0) | |
74 | elseif 1 <= H2 and H2 <= 2 then | |
75 | color = Color3.new(X,C,0) | |
76 | elseif 2 <= H2 and H2 <= 3 then | |
77 | color = Color3.new(0,C,X) | |
78 | elseif 3 <= H2 and H2 <= 4 then | |
79 | color = Color3.new(0,X,C) | |
80 | elseif 4 <= H2 and H2 <= 5 then | |
81 | color = Color3.new(X,0,C) | |
82 | elseif 5 <= H2 and H2 <= 6 then | |
83 | color = Color3.new(C,0,X) | |
84 | end | |
85 | local m = V - C | |
86 | return Color3.new(color.r + m, color.g + m, color.b + m) | |
87 | end | |
88 | ||
89 | function RemoveDisco() | |
90 | char:findFirstChild'DiscoBox':remove() | |
91 | gui:remove() | |
92 | sound:stop() | |
93 | end | |
94 | ||
95 | function BeginPlacingDisco() | |
96 | -- 1 - DiscoBox | |
97 | local obj1 = Instance.new("Model") | |
98 | obj1.Name = "DiscoBox" | |
99 | obj1.Parent = char | |
100 | ||
101 | -- 2 - DiscTop | |
102 | obj2 = Instance.new("Part") | |
103 | obj2.CFrame = CFrame.new(Vector3.new(-34.5000038, 3.09000182, -48.5)) * CFrame.Angles(-0, 0, -0) | |
104 | obj2.FormFactor = Enum.FormFactor.Custom | |
105 | obj2.TopSurface = Enum.SurfaceType.Smooth | |
106 | obj2.BottomSurface = Enum.SurfaceType.Smooth | |
107 | obj2.Material = Enum.Material.SmoothPlastic | |
108 | obj2.Size = Vector3.new(3, 0.200000003, 3) | |
109 | obj2.BrickColor = BrickColor.new("Dark stone grey") | |
110 | obj2.Friction = 0.30000001192093 | |
111 | obj2.Shape = Enum.PartType.Block | |
112 | obj2.Name = "DiscTop" | |
113 | obj2.Parent = obj1 | |
114 | ||
115 | -- 3 - Mesh | |
116 | obj3 = Instance.new("CylinderMesh") | |
117 | obj3.Scale = Vector3.new(0.200000003, 1.04999995, 0.200000003) | |
118 | obj3.Parent = obj2 | |
119 | ||
120 | -- 4 - Part-to-Part Strong Joint | |
121 | obj4 = Instance.new("ManualWeld") | |
122 | obj4.Part0 = DiscTop | |
123 | obj4.Part1 = Part | |
124 | obj4.Name = "Part-to-Part Strong Joint" | |
125 | obj4.Parent = obj2 | |
126 | ||
127 | -- 5 - Disc | |
128 | obj5 = Instance.new("Part") | |
129 | obj5.CFrame = CFrame.new(Vector3.new(-34.5, 3.08999991, -48.5)) * CFrame.Angles(-0, 0, -0) | |
130 | obj5.FormFactor = Enum.FormFactor.Custom | |
131 | obj5.TopSurface = Enum.SurfaceType.Smooth | |
132 | obj5.BottomSurface = Enum.SurfaceType.Smooth | |
133 | obj5.Material = Enum.Material.Sand | |
134 | obj5.Size = Vector3.new(3, 0.200000003, 3) | |
135 | obj5.BrickColor = BrickColor.new("Black") | |
136 | obj5.Friction = 0.30000001192093 | |
137 | obj5.Shape = Enum.PartType.Block | |
138 | obj5.Name = "Disc" | |
139 | obj5.Parent = obj1 | |
140 | ||
141 | -- 6 - Mesh | |
142 | obj6 = Instance.new("CylinderMesh") | |
143 | obj6.Scale = Vector3.new(0.899999976, 1, 0.899999976) | |
144 | obj6.Parent = obj5 | |
145 | ||
146 | -- 7 - Part-to-Part Strong Joint | |
147 | obj7 = Instance.new("ManualWeld") | |
148 | obj7.Part0 = Disc | |
149 | obj7.Part1 = Part | |
150 | obj7.Name = "Part-to-Part Strong Joint" | |
151 | obj7.Parent = obj5 | |
152 | ||
153 | -- 8 - Part | |
154 | obj8 = Instance.new("Part") | |
155 | obj8.CFrame = CFrame.new(Vector3.new(-37.5, 2.88999987, -49.5)) * CFrame.Angles(-0, 0, -0) | |
156 | obj8.FormFactor = Enum.FormFactor.Custom | |
157 | obj8.TopSurface = Enum.SurfaceType.Smooth | |
158 | obj8.BottomSurface = Enum.SurfaceType.Smooth | |
159 | obj8.Material = Enum.Material.SmoothPlastic | |
160 | obj8.Size = Vector3.new(1, 0.200000003, 1) | |
161 | obj8.BrickColor = BrickColor.new("Mid gray") | |
162 | obj8.Friction = 0.30000001192093 | |
163 | obj8.Shape = Enum.PartType.Block | |
164 | obj8.Parent = obj1 | |
165 | ||
166 | -- 9 - Mesh | |
167 | obj9 = Instance.new("CylinderMesh") | |
168 | obj9.Scale = Vector3.new(0.5, 1.04999995, 0.5) | |
169 | obj9.Parent = obj8 | |
170 | ||
171 | -- 10 - Part-to-Part Strong Joint | |
172 | obj10 = Instance.new("ManualWeld") | |
173 | obj10.Part0 = Part | |
174 | obj10.Part1 = Part | |
175 | obj10.Name = "Part-to-Part Strong Joint" | |
176 | obj10.Parent = obj8 | |
177 | ||
178 | -- 11 - Part | |
179 | obj11 = Instance.new("Part") | |
180 | obj11.CFrame = CFrame.new(Vector3.new(-36.5, 2.88999987, -49.5)) * CFrame.Angles(-0, 0, -0) | |
181 | obj11.FormFactor = Enum.FormFactor.Custom | |
182 | obj11.TopSurface = Enum.SurfaceType.Smooth | |
183 | obj11.BottomSurface = Enum.SurfaceType.Smooth | |
184 | obj11.Material = Enum.Material.SmoothPlastic | |
185 | obj11.Size = Vector3.new(1, 0.200000003, 1) | |
186 | obj11.BrickColor = BrickColor.new("Mid gray") | |
187 | obj11.Friction = 0.30000001192093 | |
188 | obj11.Shape = Enum.PartType.Block | |
189 | obj11.Parent = obj1 | |
190 | ||
191 | -- 12 - Mesh | |
192 | obj12 = Instance.new("CylinderMesh") | |
193 | obj12.Scale = Vector3.new(0.400000006, 1.04999995, 0.400000006) | |
194 | obj12.Parent = obj11 | |
195 | ||
196 | -- 13 - Bar | |
197 | obj13 = Instance.new("Part") | |
198 | obj13.CFrame = CFrame.new(Vector3.new(-37.0000114, 3.09000063, -50.5)) * CFrame.Angles(-0, 0, -0) | |
199 | obj13.FormFactor = Enum.FormFactor.Custom | |
200 | obj13.TopSurface = Enum.SurfaceType.Smooth | |
201 | obj13.BottomSurface = Enum.SurfaceType.Smooth | |
202 | obj13.Material = Enum.Material.SmoothPlastic | |
203 | obj13.Size = Vector3.new(7.99999905, 0.200000003, 1) | |
204 | obj13.BrickColor = BrickColor.new("Really black") | |
205 | obj13.Friction = 0.30000001192093 | |
206 | obj13.Shape = Enum.PartType.Block | |
207 | obj13.Parent = obj1 | |
208 | ||
209 | -- 14 - Part-to-Part Strong Joint | |
210 | obj14 = Instance.new("ManualWeld") | |
211 | obj14.Part0 = Part | |
212 | obj14.Part1 = nil | |
213 | obj14.Name = "Part-to-Part Strong Joint" | |
214 | obj14.Parent = obj13 | |
215 | ||
216 | -- 15 - Part-to-Part Strong Joint | |
217 | obj15 = Instance.new("ManualWeld") | |
218 | obj15.Part0 = Part | |
219 | obj15.Part1 = nil | |
220 | obj15.Name = "Part-to-Part Strong Joint" | |
221 | obj15.Parent = obj13 | |
222 | ||
223 | -- 16 - Mesh | |
224 | obj16 = Instance.new("BlockMesh") | |
225 | obj16.Scale = Vector3.new(0.899999976, 1.04999995, 0.200000003) | |
226 | obj16.Parent = obj13 | |
227 | ||
228 | -- 17 - Box | |
229 | obj17 = Instance.new("Part") | |
230 | obj17.CFrame = CFrame.new(Vector3.new(-37, 1.49000001, -49)) * CFrame.Angles(-0, 0, -0) | |
231 | obj17.FormFactor = Enum.FormFactor.Symmetric | |
232 | obj17.TopSurface = Enum.SurfaceType.Smooth | |
233 | obj17.BottomSurface = Enum.SurfaceType.Smooth | |
234 | obj17.Material = Enum.Material.SmoothPlastic | |
235 | obj17.Size = Vector3.new(8, 3, 4) | |
236 | obj17.BrickColor = BrickColor.new("Dark stone grey") | |
237 | obj17.Friction = 0.30000001192093 | |
238 | obj17.Shape = Enum.PartType.Block | |
239 | obj17.Name = "Box" | |
240 | obj17.Parent = obj1 | |
241 | ||
242 | -- 18 - Part-to-Part Strong Joint | |
243 | obj18 = Instance.new("ManualWeld") | |
244 | obj18.Part0 = Box | |
245 | obj18.Part1 = Part | |
246 | obj18.Name = "Part-to-Part Strong Joint" | |
247 | obj18.Parent = obj17 | |
248 | ||
249 | -- 19 - Part-to-Part Strong Joint | |
250 | obj19 = Instance.new("ManualWeld") | |
251 | obj19.Part0 = Box | |
252 | obj19.Part1 = Disc | |
253 | obj19.Name = "Part-to-Part Strong Joint" | |
254 | obj19.Parent = obj17 | |
255 | ||
256 | -- 20 - Part-to-Part Strong Joint | |
257 | obj20 = Instance.new("ManualWeld") | |
258 | obj20.Part0 = Box | |
259 | obj20.Part1 = Disc2 | |
260 | obj20.Name = "Part-to-Part Strong Joint" | |
261 | obj20.Parent = obj17 | |
262 | ||
263 | -- 21 - Part-to-Part Strong Joint | |
264 | obj21 = Instance.new("ManualWeld") | |
265 | obj21.Part0 = Box | |
266 | obj21.Part1 = DiscTop2 | |
267 | obj21.Name = "Part-to-Part Strong Joint" | |
268 | obj21.Parent = obj17 | |
269 | ||
270 | -- 22 - Part-to-Part Strong Joint | |
271 | obj22 = Instance.new("ManualWeld") | |
272 | obj22.Part0 = Box | |
273 | obj22.Part1 = DiscTop | |
274 | obj22.Name = "Part-to-Part Strong Joint" | |
275 | obj22.Parent = obj17 | |
276 | ||
277 | -- 23 - Part-to-Part Strong Joint | |
278 | obj23 = Instance.new("ManualWeld") | |
279 | obj23.Part0 = Box | |
280 | obj23.Part1 = Part | |
281 | obj23.Name = "Part-to-Part Strong Joint" | |
282 | obj23.Parent = obj17 | |
283 | ||
284 | -- 24 - Part-to-Part Strong Joint | |
285 | obj24 = Instance.new("ManualWeld") | |
286 | obj24.Part0 = Box | |
287 | obj24.Part1 = Part | |
288 | obj24.Name = "Part-to-Part Strong Joint" | |
289 | obj24.Parent = obj17 | |
290 | ||
291 | -- 25 - Part-to-Part Strong Joint | |
292 | obj25 = Instance.new("ManualWeld") | |
293 | obj25.Part0 = Box | |
294 | obj25.Part1 = Part | |
295 | obj25.Name = "Part-to-Part Strong Joint" | |
296 | obj25.Parent = obj17 | |
297 | ||
298 | -- 26 - Box-to-Part Strong Joint | |
299 | obj26 = Instance.new("ManualWeld") | |
300 | obj26.Part0 = Box | |
301 | obj26.Part1 = Slider | |
302 | obj26.Name = "Box-to-Part Strong Joint" | |
303 | obj26.Parent = obj17 | |
304 | ||
305 | -- 27 - Box-to-Part Strong Joint | |
306 | obj27 = Instance.new("ManualWeld") | |
307 | obj27.Part0 = Box | |
308 | obj27.Part1 = Slider2 | |
309 | obj27.Name = "Box-to-Part Strong Joint" | |
310 | obj27.Parent = obj17 | |
311 | ||
312 | -- 28 - Part | |
313 | obj28 = Instance.new("Part") | |
314 | obj28.CFrame = CFrame.new(Vector3.new(-37.5, 2.88999987, -48.5)) * CFrame.Angles(-0, 0, -0) | |
315 | obj28.FormFactor = Enum.FormFactor.Custom | |
316 | obj28.TopSurface = Enum.SurfaceType.Smooth | |
317 | obj28.BottomSurface = Enum.SurfaceType.Smooth | |
318 | obj28.Material = Enum.Material.SmoothPlastic | |
319 | obj28.Size = Vector3.new(1, 0.200000003, 1) | |
320 | obj28.BrickColor = BrickColor.new("Bright red") | |
321 | obj28.Friction = 0.30000001192093 | |
322 | obj28.Shape = Enum.PartType.Block | |
323 | obj28.Parent = obj1 | |
324 | ||
325 | -- 29 - Mesh | |
326 | obj29 = Instance.new("CylinderMesh") | |
327 | obj29.Scale = Vector3.new(0.5, 1.04999995, 0.5) | |
328 | obj29.Parent = obj28 | |
329 | ||
330 | -- 30 - Part-to-Part Strong Joint | |
331 | obj30 = Instance.new("ManualWeld") | |
332 | obj30.Part0 = Part | |
333 | obj30.Part1 = Part | |
334 | obj30.Name = "Part-to-Part Strong Joint" | |
335 | obj30.Parent = obj28 | |
336 | ||
337 | -- 31 - Part-to-Part Strong Joint | |
338 | obj31 = Instance.new("ManualWeld") | |
339 | obj31.Part0 = Part | |
340 | obj31.Part1 = Part | |
341 | obj31.Name = "Part-to-Part Strong Joint" | |
342 | obj31.Parent = obj28 | |
343 | ||
344 | -- 32 - Part | |
345 | obj32 = Instance.new("Part") | |
346 | obj32.CFrame = CFrame.new(Vector3.new(-37, 3.09000087, -50.5)) * CFrame.Angles(-0, 0, -0) | |
347 | obj32.FormFactor = Enum.FormFactor.Custom | |
348 | obj32.TopSurface = Enum.SurfaceType.Smooth | |
349 | obj32.BottomSurface = Enum.SurfaceType.Smooth | |
350 | obj32.Material = Enum.Material.SmoothPlastic | |
351 | obj32.Size = Vector3.new(8, 0.200000003, 1) | |
352 | obj32.BrickColor = BrickColor.new("Dark stone grey") | |
353 | obj32.Friction = 0.30000001192093 | |
354 | obj32.Shape = Enum.PartType.Block | |
355 | obj32.Parent = obj1 | |
356 | ||
357 | -- 33 - Part-to-Part Strong Joint | |
358 | obj33 = Instance.new("ManualWeld") | |
359 | obj33.Part0 = Part | |
360 | obj33.Part1 = Disc | |
361 | obj33.Name = "Part-to-Part Strong Joint" | |
362 | obj33.Parent = obj32 | |
363 | ||
364 | -- 34 - Part-to-Part Strong Joint | |
365 | obj34 = Instance.new("ManualWeld") | |
366 | obj34.Part0 = Part | |
367 | obj34.Part1 = Disc2 | |
368 | obj34.Name = "Part-to-Part Strong Joint" | |
369 | obj34.Parent = obj32 | |
370 | ||
371 | -- 35 - Part-to-Part Strong Joint | |
372 | obj35 = Instance.new("ManualWeld") | |
373 | obj35.Part0 = Part | |
374 | obj35.Part1 = DiscTop2 | |
375 | obj35.Name = "Part-to-Part Strong Joint" | |
376 | obj35.Parent = obj32 | |
377 | ||
378 | -- 36 - Part-to-Part Strong Joint | |
379 | obj36 = Instance.new("ManualWeld") | |
380 | obj36.Part0 = Part | |
381 | obj36.Part1 = DiscTop | |
382 | obj36.Name = "Part-to-Part Strong Joint" | |
383 | obj36.Parent = obj32 | |
384 | ||
385 | -- 37 - Part | |
386 | obj37 = Instance.new("Part") | |
387 | obj37.CFrame = CFrame.new(Vector3.new(-36.5, 2.88999987, -48.5)) * CFrame.Angles(-0, 0, -0) | |
388 | obj37.FormFactor = Enum.FormFactor.Custom | |
389 | obj37.TopSurface = Enum.SurfaceType.Smooth | |
390 | obj37.BottomSurface = Enum.SurfaceType.Smooth | |
391 | obj37.Material = Enum.Material.SmoothPlastic | |
392 | obj37.Size = Vector3.new(1, 0.200000003, 1) | |
393 | obj37.BrickColor = BrickColor.new("Bright red") | |
394 | obj37.Friction = 0.30000001192093 | |
395 | obj37.Shape = Enum.PartType.Block | |
396 | obj37.Parent = obj1 | |
397 | ||
398 | -- 38 - Mesh | |
399 | obj38 = Instance.new("CylinderMesh") | |
400 | obj38.Scale = Vector3.new(0.699999988, 1.04999995, 0.699999988) | |
401 | obj38.Parent = obj37 | |
402 | ||
403 | -- 39 - Part-to-Part Strong Joint | |
404 | obj39 = Instance.new("ManualWeld") | |
405 | obj39.Part0 = Part | |
406 | obj39.Part1 = Part | |
407 | obj39.Name = "Part-to-Part Strong Joint" | |
408 | obj39.Parent = obj37 | |
409 | ||
410 | -- 40 - Part-to-Part Strong Joint | |
411 | obj40 = Instance.new("ManualWeld") | |
412 | obj40.Part0 = Part | |
413 | obj40.Part1 = Part | |
414 | obj40.Name = "Part-to-Part Strong Joint" | |
415 | obj40.Parent = obj37 | |
416 | ||
417 | -- 41 - Part | |
418 | obj41 = Instance.new("Part") | |
419 | obj41.CFrame = CFrame.new(Vector3.new(-37.5, 2.88999963, -47.5)) * CFrame.Angles(-0, 0, -0) | |
420 | obj41.FormFactor = Enum.FormFactor.Custom | |
421 | obj41.TopSurface = Enum.SurfaceType.Smooth | |
422 | obj41.BottomSurface = Enum.SurfaceType.Smooth | |
423 | obj41.Material = Enum.Material.SmoothPlastic | |
424 | obj41.Size = Vector3.new(1, 0.200000003, 1) | |
425 | obj41.BrickColor = BrickColor.new("Bright blue") | |
426 | obj41.Friction = 0.30000001192093 | |
427 | obj41.Shape = Enum.PartType.Block | |
428 | obj41.Parent = obj1 | |
429 | ||
430 | -- 42 - Mesh | |
431 | obj42 = Instance.new("CylinderMesh") | |
432 | obj42.Scale = Vector3.new(0.5, 1.04999995, 0.5) | |
433 | obj42.Parent = obj41 | |
434 | ||
435 | -- 43 - Part-to-Part Strong Joint | |
436 | obj43 = Instance.new("ManualWeld") | |
437 | obj43.Part0 = Part | |
438 | obj43.Part1 = Part | |
439 | obj43.Name = "Part-to-Part Strong Joint" | |
440 | obj43.Parent = obj41 | |
441 | ||
442 | -- 44 - Part | |
443 | obj44 = Instance.new("Part") | |
444 | obj44.CFrame = CFrame.new(Vector3.new(-36.5, 2.88999963, -47.5)) * CFrame.Angles(-0, 0, -0) | |
445 | obj44.FormFactor = Enum.FormFactor.Custom | |
446 | obj44.TopSurface = Enum.SurfaceType.Smooth | |
447 | obj44.BottomSurface = Enum.SurfaceType.Smooth | |
448 | obj44.Material = Enum.Material.SmoothPlastic | |
449 | obj44.Size = Vector3.new(1, 0.200000003, 1) | |
450 | obj44.BrickColor = BrickColor.new("Bright blue") | |
451 | obj44.Friction = 0.30000001192093 | |
452 | obj44.Shape = Enum.PartType.Block | |
453 | obj44.Parent = obj1 | |
454 | ||
455 | -- 45 - Mesh | |
456 | obj45 = Instance.new("CylinderMesh") | |
457 | obj45.Scale = Vector3.new(0.200000003, 1.04999995, 0.200000003) | |
458 | obj45.Parent = obj44 | |
459 | ||
460 | -- 46 - Part-to-Part Strong Joint | |
461 | obj46 = Instance.new("ManualWeld") | |
462 | obj46.Part0 = Part | |
463 | obj46.Part1 = Part | |
464 | obj46.Name = "Part-to-Part Strong Joint" | |
465 | obj46.Parent = obj44 | |
466 | ||
467 | -- 47 - Part | |
468 | obj47 = Instance.new("Part") | |
469 | obj47.CFrame = CFrame.new(Vector3.new(-39.5000038, 2.88999963, -46.5)) * CFrame.Angles(-0, 0, -0) | |
470 | obj47.FormFactor = Enum.FormFactor.Custom | |
471 | obj47.TopSurface = Enum.SurfaceType.Smooth | |
472 | obj47.BottomSurface = Enum.SurfaceType.Smooth | |
473 | obj47.Material = Enum.Material.SmoothPlastic | |
474 | obj47.Size = Vector3.new(3.00000048, 0.200000003, 1) | |
475 | obj47.BrickColor = BrickColor.new("Really black") | |
476 | obj47.Friction = 0.30000001192093 | |
477 | obj47.Shape = Enum.PartType.Block | |
478 | obj47.Parent = obj1 | |
479 | ||
480 | -- 48 - Part-to-Part Strong Joint | |
481 | obj48 = Instance.new("ManualWeld") | |
482 | obj48.Part0 = Part | |
483 | obj48.Part1 = nil | |
484 | obj48.Name = "Part-to-Part Strong Joint" | |
485 | obj48.Parent = obj47 | |
486 | ||
487 | -- 49 - Part-to-Part Strong Joint | |
488 | obj49 = Instance.new("ManualWeld") | |
489 | obj49.Part0 = Part | |
490 | obj49.Part1 = nil | |
491 | obj49.Name = "Part-to-Part Strong Joint" | |
492 | obj49.Parent = obj47 | |
493 | ||
494 | -- 50 - Mesh | |
495 | obj50 = Instance.new("BlockMesh") | |
496 | obj50.Scale = Vector3.new(0.899999976, 1.04999995, 0.200000003) | |
497 | obj50.Parent = obj47 | |
498 | ||
499 | -- 51 - Part | |
500 | obj51 = Instance.new("Part") | |
501 | obj51.CFrame = CFrame.new(Vector3.new(-34.5, 2.88999963, -46.5)) * CFrame.Angles(-0, 0, -0) | |
502 | obj51.FormFactor = Enum.FormFactor.Custom | |
503 | obj51.TopSurface = Enum.SurfaceType.Smooth | |
504 | obj51.BottomSurface = Enum.SurfaceType.Smooth | |
505 | obj51.Material = Enum.Material.SmoothPlastic | |
506 | obj51.Size = Vector3.new(3.00000048, 0.200000003, 1) | |
507 | obj51.BrickColor = BrickColor.new("Really black") | |
508 | obj51.Friction = 0.30000001192093 | |
509 | obj51.Shape = Enum.PartType.Block | |
510 | obj51.Parent = obj1 | |
511 | ||
512 | -- 52 - Part-to-Part Strong Joint | |
513 | obj52 = Instance.new("ManualWeld") | |
514 | obj52.Part0 = Part | |
515 | obj52.Part1 = nil | |
516 | obj52.Name = "Part-to-Part Strong Joint" | |
517 | obj52.Parent = obj51 | |
518 | ||
519 | -- 53 - Part-to-Part Strong Joint | |
520 | obj53 = Instance.new("ManualWeld") | |
521 | obj53.Part0 = Part | |
522 | obj53.Part1 = nil | |
523 | obj53.Name = "Part-to-Part Strong Joint" | |
524 | obj53.Parent = obj51 | |
525 | ||
526 | -- 54 - Mesh | |
527 | obj54 = Instance.new("BlockMesh") | |
528 | obj54.Scale = Vector3.new(0.899999976, 1.04999995, 0.200000003) | |
529 | obj54.Parent = obj51 | |
530 | ||
531 | -- 55 - DiscTop2 | |
532 | obj55 = Instance.new("Part") | |
533 | obj55.CFrame = CFrame.new(Vector3.new(-39.5, 3.09000063, -48.5)) * CFrame.Angles(-0, 0, -0) | |
534 | obj55.FormFactor = Enum.FormFactor.Custom | |
535 | obj55.TopSurface = Enum.SurfaceType.Smooth | |
536 | obj55.BottomSurface = Enum.SurfaceType.Smooth | |
537 | obj55.Material = Enum.Material.SmoothPlastic | |
538 | obj55.Size = Vector3.new(3, 0.200000003, 3) | |
539 | obj55.BrickColor = BrickColor.new("Dark stone grey") | |
540 | obj55.Friction = 0.30000001192093 | |
541 | obj55.Shape = Enum.PartType.Block | |
542 | obj55.Name = "DiscTop2" | |
543 | obj55.Parent = obj1 | |
544 | ||
545 | -- 56 - Mesh | |
546 | obj56 = Instance.new("CylinderMesh") | |
547 | obj56.Scale = Vector3.new(0.200000003, 1.04999995, 0.200000003) | |
548 | obj56.Parent = obj55 | |
549 | ||
550 | -- 57 - Part-to-Part Strong Joint | |
551 | obj57 = Instance.new("ManualWeld") | |
552 | obj57.Part0 = DiscTop2 | |
553 | obj57.Part1 = Part | |
554 | obj57.Name = "Part-to-Part Strong Joint" | |
555 | obj57.Parent = obj55 | |
556 | ||
557 | -- 58 - Disc2 | |
558 | obj58 = Instance.new("Part") | |
559 | obj58.CFrame = CFrame.new(Vector3.new(-39.5, 3.08999991, -48.5)) * CFrame.Angles(-0, 0, -0) | |
560 | obj58.FormFactor = Enum.FormFactor.Custom | |
561 | obj58.TopSurface = Enum.SurfaceType.Smooth | |
562 | obj58.BottomSurface = Enum.SurfaceType.Smooth | |
563 | obj58.Material = Enum.Material.Sand | |
564 | obj58.Size = Vector3.new(3, 0.200000003, 3) | |
565 | obj58.BrickColor = BrickColor.new("Black") | |
566 | obj58.Friction = 0.30000001192093 | |
567 | obj58.Shape = Enum.PartType.Block | |
568 | obj58.Name = "Disc2" | |
569 | obj58.Parent = obj1 | |
570 | ||
571 | -- 59 - Mesh | |
572 | obj59 = Instance.new("CylinderMesh") | |
573 | obj59.Scale = Vector3.new(0.899999976, 1, 0.899999976) | |
574 | obj59.Parent = obj58 | |
575 | ||
576 | -- 60 - Part-to-Part Strong Joint | |
577 | obj60 = Instance.new("ManualWeld") | |
578 | obj60.Part0 = Disc2 | |
579 | obj60.Part1 = Part | |
580 | obj60.Name = "Part-to-Part Strong Joint" | |
581 | obj60.Parent = obj58 | |
582 | ||
583 | -- 61 - Part | |
584 | obj61 = Instance.new("Part") | |
585 | obj61.CFrame = CFrame.new(Vector3.new(-37, 2.69000006, -46.5)) * CFrame.Angles(-0, 0, -0) | |
586 | obj61.FormFactor = Enum.FormFactor.Custom | |
587 | obj61.TopSurface = Enum.SurfaceType.Smooth | |
588 | obj61.BottomSurface = Enum.SurfaceType.Smooth | |
589 | obj61.Material = Enum.Material.SmoothPlastic | |
590 | obj61.Size = Vector3.new(8, 0.600000024, 1) | |
591 | obj61.BrickColor = BrickColor.new("Dark stone grey") | |
592 | obj61.Friction = 0.30000001192093 | |
593 | obj61.Shape = Enum.PartType.Block | |
594 | obj61.Parent = obj1 | |
595 | ||
596 | -- 62 - Slider2 | |
597 | obj62 = Instance.new("Part") | |
598 | obj62.CFrame = CFrame.new(Vector3.new(-38.7000237, 2.89000058, -46.5)) * CFrame.Angles(-0, 0, -0) | |
599 | obj62.FormFactor = Enum.FormFactor.Custom | |
600 | obj62.TopSurface = Enum.SurfaceType.Smooth | |
601 | obj62.BottomSurface = Enum.SurfaceType.Smooth | |
602 | obj62.Material = Enum.Material.SmoothPlastic | |
603 | obj62.Size = Vector3.new(0.200000152, 0.200000003, 1) | |
604 | obj62.BrickColor = BrickColor.new("Dark stone grey") | |
605 | obj62.Friction = 0.30000001192093 | |
606 | obj62.Shape = Enum.PartType.Block | |
607 | obj62.Name = "Slider2" | |
608 | obj62.Parent = obj1 | |
609 | ||
610 | -- 63 - Part-to-Part Strong Joint | |
611 | obj63 = Instance.new("ManualWeld") | |
612 | obj63.Part0 = Slider2 | |
613 | obj63.Part1 = nil | |
614 | obj63.Name = "Part-to-Part Strong Joint" | |
615 | obj63.Parent = obj62 | |
616 | ||
617 | -- 64 - Part-to-Part Strong Joint | |
618 | obj64 = Instance.new("ManualWeld") | |
619 | obj64.Part0 = Slider2 | |
620 | obj64.Part1 = nil | |
621 | obj64.Name = "Part-to-Part Strong Joint" | |
622 | obj64.Parent = obj62 | |
623 | ||
624 | -- 65 - Mesh | |
625 | obj65 = Instance.new("BlockMesh") | |
626 | obj65.Scale = Vector3.new(0.899999976, 1.45000005, 0.5) | |
627 | obj65.Parent = obj62 | |
628 | ||
629 | -- 66 - Slider | |
630 | obj66 = Instance.new("Part") | |
631 | obj66.CFrame = CFrame.new(Vector3.new(-34.6999969, 2.88999987, -46.5)) * CFrame.Angles(-0, 0, -0) | |
632 | obj66.FormFactor = Enum.FormFactor.Custom | |
633 | obj66.TopSurface = Enum.SurfaceType.Smooth | |
634 | obj66.BottomSurface = Enum.SurfaceType.Smooth | |
635 | obj66.Material = Enum.Material.SmoothPlastic | |
636 | obj66.Size = Vector3.new(0.200000152, 0.200000003, 1) | |
637 | obj66.BrickColor = BrickColor.new("Dark stone grey") | |
638 | obj66.Friction = 0.30000001192093 | |
639 | obj66.Shape = Enum.PartType.Block | |
640 | obj66.Name = "Slider" | |
641 | obj66.Parent = obj1 | |
642 | ||
643 | -- 67 - Part-to-Part Strong Joint | |
644 | obj67 = Instance.new("ManualWeld") | |
645 | obj67.Part0 = Slider | |
646 | obj67.Part1 = nil | |
647 | obj67.Name = "Part-to-Part Strong Joint" | |
648 | obj67.Parent = obj66 | |
649 | ||
650 | -- 68 - Part-to-Part Strong Joint | |
651 | obj68 = Instance.new("ManualWeld") | |
652 | obj68.Part0 = Slider | |
653 | obj68.Part1 = nil | |
654 | obj68.Name = "Part-to-Part Strong Joint" | |
655 | obj68.Parent = obj66 | |
656 | ||
657 | -- 69 - Mesh | |
658 | obj69 = Instance.new("BlockMesh") | |
659 | obj69.Scale = Vector3.new(0.899999976, 1.45000005, 0.5) | |
660 | obj69.Parent = obj66 | |
661 | ||
662 | for i,v in pairs(obj1:children()) do | |
663 | v.Anchored = true | |
664 | v.Locked = true | |
665 | end | |
666 | ||
667 | function Recursive(Model) | |
668 | local Stuff = {} | |
669 | local function Recur(Targ) | |
670 | for i,v in pairs(Targ:getChildren()) do | |
671 | table.insert(Stuff,v) | |
672 | Recur(v) | |
673 | end | |
674 | end | |
675 | Recur(Model) | |
676 | return Stuff | |
677 | end | |
678 | ||
679 | function MoveModel(Model,CF) | |
680 | local Center = Model:getModelCFrame() | |
681 | local Offsets = {} | |
682 | for i,v in pairs (Recursive(Model)) do | |
683 | if v:IsA("BasePart") then | |
684 | Offsets[v] = CF*Center:toObjectSpace(v.CFrame) | |
685 | end | |
686 | end | |
687 | ||
688 | for i,v in pairs(Offsets) do | |
689 | i.CFrame = v | |
690 | end | |
691 | end | |
692 | ||
693 | MoveModel(obj1, torso.CFrame*CFrame.new(0,-1.5,-3)) | |
694 | ||
695 | local value = 0 | |
696 | local Slider2CFrame = obj62.CFrame | |
697 | local SliderCFrame = obj66.CFrame | |
698 | local colur = 0 | |
699 | local hue = 0 | |
700 | local DiscoLight = Instance.new('PointLight', obj2) | |
701 | DiscoLight.Range = 0 | |
702 | game:service'RunService'.RenderStepped:connect(function() | |
703 | if obj1.Parent ~= char then return end | |
704 | if sound.IsPlaying then | |
705 | hue = ((hue+5)%360) | |
706 | colur = HSV(hue,.8,.8) | |
707 | DiscoLight.Color = Color3.new(colur.r, colur.g, colur.b) | |
708 | DiscoLight.Range = 60 | |
709 | value = (value % 360) + math.random() | |
710 | obj13.Color = Color3.new(colur.r, colur.g, colur.b) | |
711 | obj58.CFrame = obj58.CFrame * CFrame.Angles(0, .05, 0) | |
712 | obj5.CFrame = obj5.CFrame * CFrame.Angles(0, .05, 0) | |
713 | obj62.CFrame = Slider2CFrame * CFrame.new(math.sin(value)*.25, 0, 0) | |
714 | obj66.CFrame = SliderCFrame * CFrame.new(-math.sin(value)*.25, 0, 0) | |
715 | else | |
716 | DiscoLight.Range = 0 | |
717 | obj13.Color = Color3.new() | |
718 | end | |
719 | end) | |
720 | ||
721 | local function createText(parent, msg, line, size, func) | |
722 | local textLabel | |
723 | if func then | |
724 | textLabel = Instance.new("TextButton", parent) | |
725 | else | |
726 | textLabel = Instance.new("TextLabel", parent) | |
727 | end | |
728 | textLabel.Text = msg | |
729 | textLabel.Name = "List" | |
730 | if size ~= true then | |
731 | textLabel.TextScaled = false | |
732 | textLabel.FontSize = 'Size14' | |
733 | elseif size == true then | |
734 | textLabel.TextScaled = true | |
735 | end | |
736 | textLabel.BackgroundColor = BrickColor.new'Olive' | |
737 | textLabel.BackgroundTransparency = .9 | |
738 | textLabel.TextColor = BrickColor.White() | |
739 | textLabel.TextStrokeTransparency = 0.65 | |
740 | textLabel.Size = UDim2.new(1, 0, 0, 25) | |
741 | textLabel.TextXAlignment = 'Left' | |
742 | textLabel.Position = UDim2.new(0, 0, 0, (line-1)*25) | |
743 | if func then | |
744 | textLabel.MouseButton1Down:connect(function() | |
745 | local r,e = ypcall(function() | |
746 | func(plr) | |
747 | end) | |
748 | if e then print(e) end | |
749 | end) | |
750 | end | |
751 | end | |
752 | ||
753 | gui = Instance.new('ScreenGui', plrgui) | |
754 | gui.Name = 'äMixer' | |
755 | wait() | |
756 | local dragframe = Instance.new('Frame', gui) | |
757 | dragframe.Size = UDim2.new(0, 598, 0, 18) | |
758 | dragframe.BackgroundColor = BrickColor.new'Dark stone grey' | |
759 | dragframe.Position = UDim2.new(0, gui.AbsoluteSize.X - gui.AbsoluteSize.X/2 - 300, 0, 10) | |
760 | dragframe.Active = true | |
761 | dragframe.Draggable = true | |
762 | dragframe.ZIndex = 3 | |
763 | dragframe.BorderSizePixel = 0 | |
764 | local mainframe = Instance.new('Frame', dragframe) | |
765 | mainframe.Size = UDim2.new(0, 600, 0, 415) | |
766 | mainframe.Position = UDim2.new(0, -1, 0, -1) | |
767 | mainframe.BackgroundColor = BrickColor.new'Olive' | |
768 | local CPframe = Instance.new('ScrollingFrame', mainframe) | |
769 | CPframe.Size = UDim2.new(0, 470, 0, 22) | |
770 | CPframe.Position = UDim2.new(0, 130, 0, 50) | |
771 | CPframe.BackgroundColor = BrickColor.new'Dark stone grey' | |
772 | CPframe.ScrollBarThickness = 0 | |
773 | local CP = Instance.new('TextLabel', CPframe) | |
774 | CP.Size = UDim2.new(1,0,0,22) | |
775 | CP.BackgroundTransparency = 1 | |
776 | CP.ZIndex = 7 | |
777 | CP.FontSize = 'Size18' | |
778 | CP.TextColor3 = Color3.new(1,1,1) | |
779 | CP.TextStrokeTransparency = 0 | |
780 | CP.TextXAlignment = 'Left' | |
781 | CP.Text = 'Playing /-/ None' | |
782 | ||
783 | local oldCPframePos | |
784 | ||
785 | local scrollframe = Instance.new('ScrollingFrame', mainframe) | |
786 | scrollframe.Size = UDim2.new(0, 590, 0, 330) | |
787 | scrollframe.Position = UDim2.new(0, 5, 0, 80) | |
788 | scrollframe.BackgroundColor = BrickColor.new'Olive' | |
789 | scrollframe.CanvasSize = UDim2.new(0, 590, 0, 25*#SoundsList) | |
790 | local playbutton = Instance.new('TextButton', mainframe) | |
791 | playbutton.Size = UDim2.new(0, 50, 0, 50) | |
792 | playbutton.Position = UDim2.new(0, 10, 0, 25) | |
793 | playbutton.BackgroundColor3 = Color3.new(0,1,0) | |
794 | playbutton.Text = ">" | |
795 | playbutton.TextScaled = true | |
796 | playbutton.TextColor3 = Color3.new(1,1,1) | |
797 | playbutton.TextStrokeTransparency = 0 | |
798 | playbutton.MouseButton1Down:connect(function() | |
799 | game:service'ContentProvider':Preload(sound.SoundId) | |
800 | sound:play() | |
801 | local r,e = ypcall(function() | |
802 | CP.Text = 'Playing /-/ '..game:service'MarketplaceService':GetProductInfo(sound.SoundId:match("%d+")).Name | |
803 | end) | |
804 | if e then CP.Text = 'Playing /-/ Unknown asset' end | |
805 | wait() | |
806 | CPframe.CanvasSize = UDim2.new(0, CP.TextBounds.X, 0, 0) | |
807 | end) | |
808 | local stopbutton = Instance.new('TextButton', mainframe) | |
809 | stopbutton.Size = UDim2.new(0, 50, 0, 50) | |
810 | stopbutton.Position = UDim2.new(0, 70, 0, 25) | |
811 | stopbutton.BackgroundColor3 = Color3.new(1,0,0) | |
812 | stopbutton.Text = "=" | |
813 | stopbutton.TextScaled = true | |
814 | stopbutton.TextColor3 = Color3.new(1,1,1) | |
815 | stopbutton.TextStrokeTransparency = 0 | |
816 | stopbutton.MouseButton1Down:connect(function() | |
817 | sound:stop() | |
818 | CP.Text = 'Playing /-/ None' | |
819 | CPframe.CanvasPosition = Vector2.new() | |
820 | end) | |
821 | local idbox = Instance.new('TextBox', mainframe) | |
822 | idbox.Size = UDim2.new(0, 100, 0, 22) | |
823 | idbox.Position = UDim2.new(0, 130, 0, 25) | |
824 | idbox.Text = 'Insert ID here' | |
825 | idbox.BackgroundTransparency = .5 | |
826 | idbox.TextScaled = true | |
827 | idbox.TextXAlignment = 'Left' | |
828 | idbox.BackgroundColor3 = BrickColor.new'Olive'.Color | |
829 | idbox.TextColor3 = Color3.new() | |
830 | idbox.TextStrokeTransparency = 0 | |
831 | local submit = Instance.new('TextButton', mainframe) | |
832 | submit.Size = UDim2.new(0, 50, 0, 22) | |
833 | submit.Position = UDim2.new(0, 240, 0, 25) | |
834 | submit.BackgroundColor3 = Color3.new(.2,.5,.4) | |
835 | submit.Text = "Submit ID" | |
836 | submit.TextScaled = false | |
837 | submit.TextColor3 = Color3.new(1,1,1) | |
838 | submit.TextStrokeTransparency = 0 | |
839 | submit.MouseButton1Down:connect(function() | |
840 | if idbox.Text == 'Insert ID here' then return end | |
841 | sound:stop() | |
842 | sound.SoundId = "rbxassetid://"..tonumber(idbox.Text:match("%d+")) | |
843 | newSound(game:service'MarketplaceService':GetProductInfo(idbox.Text:match("%d+")).Name..' /-ID-/ '..idbox.Text:match("%d+"), idbox.Text:match("%d+")) | |
844 | createText(scrollframe, game:service'MarketplaceService':GetProductInfo(idbox.Text:match("%d+")).Name.." /-ID-/ "..idbox.Text:match("%d+"), #scrollframe:children()+1, false, function() sound.SoundId = "rbxassetid://"..idbox.Text:match("%d+") end) | |
845 | scrollframe.CanvasSize = UDim2.new(0, 590, 0, 25*#SoundsList) | |
846 | idbox.Text = 'Insert ID here' | |
847 | end) | |
848 | ||
849 | local minimize = Instance.new('TextButton', dragframe) | |
850 | minimize.Size = UDim2.new(0, 16, 0, 16) | |
851 | minimize.Position = UDim2.new(0, 582, 0, 1) | |
852 | minimize.BackgroundColor = BrickColor.new'Dark stone grey' | |
853 | minimize.Text = '-' | |
854 | minimize.TextYAlignment = 'Bottom' | |
855 | minimize.ZIndex = 3 | |
856 | minimize.TextColor3 = Color3.new(1,1,1) | |
857 | ||
858 | local maximize = Instance.new('TextButton', gui) | |
859 | maximize.Size = UDim2.new(0, 30, 0, 30) | |
860 | maximize.Position = UDim2.new(0, gui.AbsoluteSize.X-30, 0, gui.AbsoluteSize.Y-30) | |
861 | maximize.BackgroundColor = BrickColor.new'Dark stone grey' | |
862 | maximize.Text = '=' | |
863 | maximize.Visible = false | |
864 | maximize.TextColor3 = Color3.new(1,1,1) | |
865 | ||
866 | minimize.MouseButton1Down:connect(function() | |
867 | dragframe.Visible = false | |
868 | maximize.Visible = true | |
869 | end) | |
870 | maximize.MouseButton1Down:connect(function() | |
871 | dragframe.Visible = true | |
872 | maximize.Visible = false | |
873 | end) | |
874 | ||
875 | for i,v in pairs(SoundsList) do | |
876 | createText(scrollframe, v.Name.." /-ID-/ "..v["ID"], i, false, function() sound:stop() sound.SoundId = "rbxassetid://"..v["ID"] sound.Pitch = v["Pitch"] end) | |
877 | end | |
878 | ||
879 | while wait(0) do | |
880 | if CP.TextBounds.X > 470 then | |
881 | if CPframe.CanvasPosition == oldCPframePos and not (CPframe.CanvasPosition.X >= CP.TextBounds.X-471) then | |
882 | CPframe.CanvasPosition = CPframe.CanvasPosition + Vector2.new(1, 0) | |
883 | elseif (CPframe.CanvasPosition.X >= CP.TextBounds.X-471)then | |
884 | wait(3) | |
885 | CPframe.CanvasPosition = Vector2.new() | |
886 | wait(1) | |
887 | end | |
888 | oldCPframePos = CPframe.CanvasPosition | |
889 | end | |
890 | end | |
891 | end | |
892 | ||
893 | ||
894 | mouse.KeyDown:connect(function(k) | |
895 | if k == 'q' then | |
896 | activated = not activated | |
897 | if activated then | |
898 | BeginPlacingDisco() | |
899 | else | |
900 | RemoveDisco() | |
901 | end | |
902 | end | |
903 | end) |