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