View difference between Paste ID: bLNK0LZX and gBUxER2b
SHOW: | | - or go back to the newest paste.
1
------[[Kirby Morph made by: DoogleFox]]-------------------------------------------------------------------------------------------------------------------------------------------------
2
3
user = "TrystinGB" 
4
5
if script.Parent.className ~= "HopperBin" then 
6
bin = Instance.new("HopperBin") 
7
bin.Parent = game.Players[user].Backpack 
8
bin.Name = "Kirby" 
9
script.Parent = bin 
10
end 
11
12
bin = script.Parent 
13
14
m = Instance.new("Model") 
15
m.Parent = bin.Parent.Parent.Character 
16
m.Name = "KirbyMorph" 
17
18
p = Instance.new("Part") 
19
p.Parent = m 
20
p.Name = "MainBody" 
21
p.formFactor = ("Symmetric") 
22
p.Size = Vector3.new(4,4,4) 
23
p.CFrame = bin.Parent.Parent.Character.Torso.CFrame 
24
p.BrickColor = BrickColor.new("Light reddish violet") 
25
p.Locked = true 
26
p.CanCollide = true 
27
p.Shape = ("Ball") 
28
p.TopSurface = ("Smooth") 
29
p.BottomSurface = ("Smooth") 
30
31
d = Instance.new("Decal") 
32
d.Parent = p 
33
d.Face = ("Front") 
34
d.Texture = ("http://www.roblox.com/asset/?id=5732750") 
35
36
w = Instance.new("Weld") 
37
w.Parent = p 
38
w.Name = "BodyWeld" 
39
w.Part0 = p 
40
w.Part1 = bin.Parent.Parent.Character.Torso 
41
w.C0 = CFrame.new(0,0.2,0) 
42
43
a1 = Instance.new("Part") 
44
a1.Parent = m 
45
a1.Name = "Left Arm" 
46
a1.formFactor = ("Symmetric") 
47
a1.Size = Vector3.new(2,2,2) 
48
a1.CFrame = bin.Parent.Parent.Character["Left Arm"].CFrame 
49
a1.BrickColor = BrickColor.new("Light reddish violet") 
50
a1.Locked = true 
51
a1.CanCollide = true 
52
a1.Shape = ("Ball") 
53
a1.TopSurface = ("Smooth") 
54
a1.BottomSurface = ("Smooth") 
55
56
a1w = Instance.new("Weld") 
57
a1w.Parent = a1 
58
a1w.Name = "ArmWeld1" 
59
a1w.Part0 = a1 
60
a1w.Part1 = bin.Parent.Parent.Character["Left Arm"] 
61
a1w.C0 = CFrame.new(0.2,0.2,0) 
62
63
a2 = Instance.new("Part") 
64
a2.Parent = m 
65
a2.Name = "Right Arm" 
66
a2.formFactor = ("Symmetric") 
67
a2.Size = Vector3.new(2,2,2) 
68
a2.CFrame = bin.Parent.Parent.Character["Left Arm"].CFrame 
69
a2.BrickColor = BrickColor.new("Light reddish violet") 
70
a2.Locked = true 
71
a2.CanCollide = true 
72
a2.Shape = ("Ball") 
73
a2.TopSurface = ("Smooth") 
74
a2.BottomSurface = ("Smooth") 
75
76
a2w = Instance.new("Weld") 
77
a2w.Parent = a2 
78
a2w.Name = "ArmWeld2" 
79
a2w.Part0 = a2 
80
a2w.Part1 = bin.Parent.Parent.Character["Right Arm"] 
81
a2w.C0 = CFrame.new(-0.2,0.2,0) 
82
83
l = Instance.new("Part") 
84
l.Parent = m 
85
l.Name = "Left Leg" 
86
l.formFactor = ("Symmetric") 
87
l.Size = Vector3.new(2,2,2) 
88
l.CFrame = bin.Parent.Parent.Character["Left Leg"].CFrame 
89
l.BrickColor = BrickColor.new("Dusty Rose") 
90
l.Locked = true 
91
l.CanCollide = true 
92
l.Shape = ("Ball") 
93
l.TopSurface = ("Smooth") 
94
l.BottomSurface = ("Smooth") 
95
96
lm = Instance.new("SpecialMesh") 
97
lm.Parent = l 
98
lm.Name = "LegMesh" 
99
lm.MeshType = ("Sphere") 
100
lm.Scale = Vector3.new(0.9,0.9,1.2) 
101
102
lw = Instance.new("Weld") 
103
lw.Parent = l 
104
lw.Name = "LegWeld" 
105
lw.Part0 = l 
106
lw.Part1 = bin.Parent.Parent.Character["Left Leg"] 
107
lw.C0 = CFrame.new(0.25,0.2,0) 
108
109
l2 = Instance.new("Part") 
110
l2.Parent = m 
111
l2.Name = "Right Leg" 
112
l2.formFactor = ("Symmetric") 
113
l2.Size = Vector3.new(2,2,2) 
114
l2.CFrame = bin.Parent.Parent.Character["Right Leg"].CFrame 
115
l2.BrickColor = BrickColor.new("Dusty Rose") 
116
l2.Locked = true 
117
l2.CanCollide = true 
118
l2.Shape = ("Ball") 
119
l2.TopSurface = ("Smooth") 
120
l2.BottomSurface = ("Smooth") 
121
122
l2m = Instance.new("SpecialMesh") 
123
l2m.Parent = l2 
124
l2m.Name = "LegMesh" 
125
l2m.MeshType = ("Sphere") 
126
l2m.Scale = Vector3.new(0.9,0.9,1.2) 
127
128
l2w = Instance.new("Weld") 
129
l2w.Parent = l2 
130
l2w.Name = "LegWeld2" 
131
l2w.Part0 = l2 
132
l2w.Part1 = bin.Parent.Parent.Character["Right Leg"] 
133
l2w.C0 = CFrame.new(-0.25,0.2,0) 
134
135
c = bin.Parent.Parent.Character:GetChildren() 
136
for i = 1, #c do 
137
if c[i].className == "Part" then 
138
c[i].Transparency = 1 
139
end 
140
end 
141
for ii = 1, #c do 
142
if c[ii].className == "Hat" then 
143
c[ii]:remove() 
144
end 
145
end 
146
wait() 
147
if bin.Parent.Parent.Character.Head:findFirstChild("face") ~= nil then 
148
bin.Parent.Parent.Character.Head:findFirstChild("face"):remove() 
149
end 
150
151
152
---------------------------------------------------------------------------------------------------------------------
153
154
155
156
bp = Instance.new("BodyPosition") 
157
bp.Parent = bin 
158
bp.maxForce = Vector3.new(2000,2000,2000) 
159
160
enabled = true 
161
function onButton1Down(mouse) 
162
if mouse.Target ~= nil then 
163
if mouse.Target.Parent:findFirstChild("Humanoid") ~= nil then 
164
if enabled == true then 
165
enabled = false 
166
name = mouse.Target.Parent.Name 
167
bp.Parent = mouse.Target.Parent:findFirstChild("Torso") 
168
mouse.Target.Parent.Humanoid.PlatformStand = true 
169
bp.position = bin.Parent.Parent.Character.Torso.Position 
170
function touch(hit) 
171
if hit.Name == "MainBody" then 
172
parts = workspace[name]:GetChildren() 
173
for i = 1, #parts do 
174
if parts[i].className == "Part" then 
175
parts[i]:remove() 
176
end 
177
enabled = true 
178
end 
179
else 
180
wait() 
181
end 
182
end 
183
mouse.Target.Parent:findFirstChild("Torso").Touched:connect(touch) 
184
else 
185
wait() 
186
end 
187
end 
188
end 
189
end 
190
191
bin.Selected:connect(function(mouse) 
192
mouse.Icon = "rbxasset://textures\\GunCursor.png" 
193
mouse.Button1Down:connect(function() onButton1Down(mouse) end) 
194
end)
195
196
--//====================================================\\--
197
--||	this part was		   CREATED BY SHACKLUSTER, and then copied into this kirby script by trystingb
198
--\\====================================================//--
199
200
201
202
wait(0.2)
203
204
205
206
Player = game:GetService("Players").LocalPlayer
207
PlayerGui = Player.PlayerGui
208
Cam = workspace.CurrentCamera
209
Backpack = Player.Backpack
210
Character = Player.Character
211
Humanoid = Character.Humanoid
212
Mouse = Player:GetMouse()
213
RootPart = Character["HumanoidRootPart"]
214
Torso = Character["Torso"]
215
Head = Character["Head"]
216
RightArm = Character["Right Arm"]
217
LeftArm = Character["Left Arm"]
218
RightLeg = Character["Right Leg"]
219
LeftLeg = Character["Left Leg"]
220
RootJoint = RootPart["RootJoint"]
221
Neck = Torso["Neck"]
222
RightShoulder = Torso["Right Shoulder"]
223
LeftShoulder = Torso["Left Shoulder"]
224
RightHip = Torso["Right Hip"]
225
LeftHip = Torso["Left Hip"]
226
local sick = Instance.new("Sound",Torso)
227-
sick.SoundId = "rbxassetid://12222242"
227+
sick.SoundId = "rbxassetid://608846300"
228
sick.Looped = true
229
sick.Pitch = 1
230
sick.Volume = 10
231
local succing = {}
232
233
IT = Instance.new
234
CF = CFrame.new
235
VT = Vector3.new
236
RAD = math.rad
237
C3 = Color3.new
238
UD2 = UDim2.new
239
BRICKC = BrickColor.new
240
ANGLES = CFrame.Angles
241
EULER = CFrame.fromEulerAnglesXYZ
242
COS = math.cos
243
ACOS = math.acos
244
SIN = math.sin
245
ASIN = math.asin
246
ABS = math.abs
247
MRANDOM = math.random
248
FLOOR = math.floor
249
250
function CreateMesh(MESH, PARENT, MESHTYPE, MESHID, TEXTUREID, SCALE, OFFSET)
251
	local NEWMESH = IT(MESH)
252
	if MESH == "SpecialMesh" then
253
		NEWMESH.MeshType = MESHTYPE
254
		if MESHID ~= "nil" and MESHID ~= "" then
255
			NEWMESH.MeshId = "http://www.roblox.com/asset/?id="..MESHID
256
		end
257
		if TEXTUREID ~= "nil" and TEXTUREID ~= "" then
258
			NEWMESH.TextureId = "http://www.roblox.com/asset/?id="..TEXTUREID
259
		end
260
	end
261
	NEWMESH.Offset = OFFSET or VT(0, 0, 0)
262
	NEWMESH.Scale = SCALE
263
	NEWMESH.Parent = PARENT
264
	return NEWMESH
265
end
266
267
function CreatePart(FORMFACTOR, PARENT, MATERIAL, REFLECTANCE, TRANSPARENCY, BRICKCOLOR, NAME, SIZE)
268
	local NEWPART = IT("Part")
269
	NEWPART.formFactor = FORMFACTOR
270
	NEWPART.Reflectance = REFLECTANCE
271
	NEWPART.Transparency = TRANSPARENCY
272
	NEWPART.CanCollide = false
273
	NEWPART.Locked = true
274
	NEWPART.BrickColor = BRICKC(tostring(BRICKCOLOR))
275
	NEWPART.Name = NAME
276
	NEWPART.Size = SIZE
277
	NEWPART.Position = Torso.Position
278
	NEWPART.Material = MATERIAL
279
	NEWPART:BreakJoints()
280
	NEWPART.Parent = PARENT
281
	return NEWPART
282
end
283
284
285
--//=================================\\
286
--||		  CUSTOMIZATION
287
--\\=================================//
288
289
Class_Name = "Template"
290
Weapon_Name = "Add-ons"
291
292
Custom_Colors = {
293
	Custom_Color_1 = BRICKC("Institutional white"); --1st color for the weapon.
294
	Custom_Color_2 = BRICKC("Institutional white"); --2nd color for the weapon.
295
296
	Custom_Color_3 = BRICKC("Institutional white"); --Color for the abilities.
297
	Custom_Color_4 = BRICKC("Institutional white"); --Color for the secondary bar.
298
	Custom_Color_5 = BRICKC("Institutional white"); --Color for the mana bar.
299
	Custom_Color_6 = BRICKC("Institutional white"); --Color for the health bar.
300
	Custom_Color_7 = BRICKC("Institutional white"); --Color for the stun bar.
301
302
	Custom_Color_8 = BRICKC("Institutional white"); --Background for the mana bar.
303
	Custom_Color_9 = BRICKC("Institutional white"); --Background for the secondary mana bar.
304
	Custom_Color_10 = BRICKC("Institutional white"); --Background for the stun bar.
305
	Custom_Color_11 = BRICKC("Institutional white"); --Background for the health bar.
306
	Custom_Color_12 = BRICKC("Institutional white"); --Background for the abilities.
307
}
308
309
310
Player_Size = 1 --Size of the player.
311
Animation_Speed = 3
312
Frame_Speed = 1 / 60 -- (1 / 30) OR (1 / 60)
313
314
local Speed = 16
315
local Effects2 = {}
316
317
--//=================================\\
318
--|| 	  END OF CUSTOMIZATION
319
--\\=================================//
320
321
	local function weldBetween(a, b)
322
	    local weldd = Instance.new("ManualWeld")
323
	    weldd.Part0 = a
324
	    weldd.Part1 = b
325
	    weldd.C0 = CFrame.new()
326
	    weldd.C1 = b.CFrame:inverse() * a.CFrame
327
	    weldd.Parent = a
328
	    return weldd
329
	end
330
331
function createaccessory(attachmentpart,mesh,texture,scale,offset,color)
332
local acs = Instance.new("Part")
333
acs.CanCollide = false
334
acs.Anchored = false
335
acs.Size = Vector3.new(0,0,0)
336
acs.CFrame = attachmentpart.CFrame
337
acs.Parent = Character
338
acs.BrickColor = color
339
    local meshs = Instance.new("SpecialMesh")
340
    meshs.MeshId = mesh
341
    meshs.TextureId = texture
342
    meshs.Parent = acs
343
    meshs.Scale = scale
344
    meshs.Offset = offset
345
weldBetween(attachmentpart,acs)
346
end
347
348
function createbodypart(TYPE,COLOR,PART,OFFSET,SIZE)
349
if TYPE == "Gem" then
350
	local acs = CreatePart(3, Character, "Plastic", 0, 0, COLOR, "Part", VT(0,0,0))
351
	acs.Anchored = false
352
    acs.CanCollide = false
353
	acs.CFrame = PART.CFrame
354
	local acs2 = CreateMesh("SpecialMesh", acs, "FileMesh", "9756362", "", SIZE, OFFSET)
355
weldBetween(PART,acs)
356
elseif TYPE == "Skull" then
357
	local acs = CreatePart(3, Character, "Plastic", 0, 0, COLOR, "Part", VT(0,0,0))
358
	acs.Anchored = false
359
    acs.CanCollide = false
360
	acs.CFrame = PART.CFrame
361
	local acs2 = CreateMesh("SpecialMesh", acs, "FileMesh", "4770583", "", SIZE, OFFSET)
362
weldBetween(PART,acs)
363
elseif TYPE == "Eye" then
364
	local acs = CreatePart(3, Character, "Neon", 0, 0, COLOR, "Part", VT(0,0,0))
365
	acs.Anchored = false
366
    acs.CanCollide = false
367
	acs.CFrame = PART.CFrame
368
	local acs2 = CreateMesh("SpecialMesh", acs, "Sphere", "", "", SIZE, OFFSET)
369
weldBetween(PART,acs)
370
end
371
end
372
373
--//=================================\\
374
--|| 	      USEFUL VALUES
375
--\\=================================//
376
377
local ROOTC0 = CF(0, 0, 0) * ANGLES(RAD(-90), RAD(0), RAD(180))
378
local NECKC0 = CF(0, 1, 0) * ANGLES(RAD(-90), RAD(0), RAD(180))
379
local RIGHTSHOULDERC0 = CF(-0.5, 0, 0) * ANGLES(RAD(0), RAD(90), RAD(0))
380
local LEFTSHOULDERC0 = CF(0.5, 0, 0) * ANGLES(RAD(0), RAD(-90), RAD(0))
381
local CO1 = 0
382
local CO2 = 0
383
local CO3 = 0
384
local CO4 = 0
385
local CHANGEDEFENSE = 0
386
local CHANGEDAMAGE = 0
387
local CHANGEMOVEMENT = 0
388
local ANIM = "Idle"
389
local ATTACK = false
390
local EQUIPPED = false
391
local HOLD = false
392
local COMBO = 1
393
local LASTPOINT = nil
394
local BLCF = nil
395
local SCFR = nil
396
local STAGGERHITANIM = false
397
local STAGGERANIM = false
398
local STUNANIM = false
399
local CRITCHANCENUMBER = 0
400
local IDLENUMBER = 0
401
local DONUMBER = 0
402
local HANDIDLE = false
403
local SINE = 0
404
local CHANGE = 2 / Animation_Speed
405
local WALKINGANIM = false
406
local WALK = 0
407
local DISABLEJUMPING = false
408
local HASBEENBLOCKED = false
409
local STUNDELAYNUMBER = 0
410
local MANADELAYNUMBER = 0
411
local SECONDARYMANADELAYNUMBER = 0
412
local ROBLOXIDLEANIMATION = IT("Animation")
413
ROBLOXIDLEANIMATION.Name = "Roblox Idle Animation"
414
ROBLOXIDLEANIMATION.AnimationId = "http://www.roblox.com/asset/?id=180435571"
415
--ROBLOXIDLEANIMATION.Parent = Humanoid
416
local WEAPONGUI = IT("ScreenGui", nil)
417
WEAPONGUI.Name = "Weapon GUI"
418
local WEAPONTOOL = IT("HopperBin", nil)
419
WEAPONTOOL.Name = Weapon_Name
420
local Weapon = IT("Model")
421
Weapon.Name = Weapon_Name
422
local Effects = IT("Folder", Weapon)
423
Effects.Name = "Effects"
424
local ANIMATOR = Humanoid.Animator
425
local ANIMATE = Character.Animate
426
local HITPLAYERSOUNDS = {--[["199149137", "199149186", "199149221", "199149235", "199149269", "199149297"--]]"263032172", "263032182", "263032200", "263032221", "263032252", "263033191"}
427
local HITARMORSOUNDS = {"199149321", "199149338", "199149367", "199149409", "199149452"}
428
local HITWEAPONSOUNDS = {"199148971", "199149025", "199149072", "199149109", "199149119"}
429
local HITBLOCKSOUNDS = {"199148933", "199148947"}
430
local UNANCHOR = true
431
local MAGICPARTICLE = "655109389"
432
433
--//=================================\\
434
--\\=================================//
435
436
437
--//=================================\\
438
--|| 	     DEBUFFS / BUFFS
439
--\\=================================//
440
441
local DEFENSECHANGE1 = IT("NumberValue", ChangeStat)
442
DEFENSECHANGE1.Name = "ChangeDefense"
443
DEFENSECHANGE1.Value = 0
444
445
local MOVEMENTCHANGE1 = IT("NumberValue", nil)
446
MOVEMENTCHANGE1.Name = "ChangeMovement"
447
MOVEMENTCHANGE1.Value = 0
448
449
--//=================================\\
450
--\\=================================//
451
452
453
454
455
456
--//=================================\\
457
--|| SAZERENOS' ARTIFICIAL HEARTBEAT
458
--\\=================================//
459
460
ArtificialHB = Instance.new("BindableEvent", script)
461
ArtificialHB.Name = "ArtificialHB"
462
463
script:WaitForChild("ArtificialHB")
464
465
frame = Frame_Speed
466
tf = 0
467
allowframeloss = false
468
tossremainder = false
469
lastframe = tick()
470
script.ArtificialHB:Fire()
471
472
game:GetService("RunService").Heartbeat:connect(function(s, p)
473
	tf = tf + s
474
	if tf >= frame then
475
		if allowframeloss then
476
			script.ArtificialHB:Fire()
477
			lastframe = tick()
478
		else
479
			for i = 1, math.floor(tf / frame) do
480
				script.ArtificialHB:Fire()
481
			end
482
		lastframe = tick()
483
		end
484
		if tossremainder then
485
			tf = 0
486
		else
487
			tf = tf - frame * math.floor(tf / frame)
488
		end
489
	end
490
end)
491
492
--//=================================\\
493
--\\=================================//
494
495
496
497
498
499
--//=================================\\
500
--|| 	      SOME FUNCTIONS
501
--\\=================================//
502
503
function Raycast(POSITION, DIRECTION, RANGE, IGNOREDECENDANTS)
504
	return workspace:FindPartOnRay(Ray.new(POSITION, DIRECTION.unit * RANGE), IGNOREDECENDANTS)
505
end
506
507
function PositiveAngle(NUMBER)
508
	if NUMBER >= 0 then
509
		NUMBER = 0
510
	end
511
	return NUMBER
512
end
513
514
function NegativeAngle(NUMBER)
515
	if NUMBER <= 0 then
516
		NUMBER = 0
517
	end
518
	return NUMBER
519
end
520
521
function Swait(NUMBER)
522
	if NUMBER == 0 or NUMBER == nil then
523
		ArtificialHB.Event:wait()
524
	else
525
		for i = 1, NUMBER do
526
			ArtificialHB.Event:wait()
527
		end
528
	end
529
end
530
531
function CreateLabel(PARENT, TEXT, TEXTCOLOR, TEXTFONTSIZE, TEXTFONT, TRANSPARENCY, BORDERSIZEPIXEL, STROKETRANSPARENCY, NAME)
532
	local label = IT("TextLabel")
533
	label.BackgroundTransparency = 1
534
	label.Size = UD2(1, 0, 1, 0)
535
	label.Position = UD2(0, 0, 0, 0)
536
	label.TextColor3 = C3(255, 255, 255)
537
	label.TextStrokeTransparency = STROKETRANSPARENCY
538
	label.TextTransparency = TRANSPARENCY
539
	label.FontSize = TEXTFONTSIZE
540
	label.Font = TEXTFONT
541
	label.BorderSizePixel = BORDERSIZEPIXEL
542
	label.TextScaled = true
543
	label.Text = TEXT
544
	label.Name = NAME
545
	label.Parent = PARENT
546
	return label
547
end
548
549
function NoOutlines(PART)
550
	PART.TopSurface, PART.BottomSurface, PART.LeftSurface, PART.RightSurface, PART.FrontSurface, PART.BackSurface = 10, 10, 10, 10, 10, 10
551
end
552
553
554
function CreateWeldOrSnapOrMotor(TYPE, PARENT, PART0, PART1, C0, C1)
555
	local NEWWELD = IT(TYPE)
556
	NEWWELD.Part0 = PART0
557
	NEWWELD.Part1 = PART1
558
	NEWWELD.C0 = C0
559
	NEWWELD.C1 = C1
560
	NEWWELD.Parent = PARENT
561
	return NEWWELD
562
end
563
564
function CreateSound(ID, PARENT, VOLUME, PITCH)
565
	local NEWSOUND = nil
566
	coroutine.resume(coroutine.create(function()
567
		NEWSOUND = IT("Sound", PARENT)
568
		NEWSOUND.Volume = VOLUME
569
		NEWSOUND.Pitch = PITCH
570
		NEWSOUND.SoundId = "http://www.roblox.com/asset/?id="..ID
571
		Swait()
572
		NEWSOUND:play()
573
		game:GetService("Debris"):AddItem(NEWSOUND, 10)
574
	end))
575
	return NEWSOUND
576
end
577
578
--//=================================\\
579
--\\=================================//
580
581
582
--//=================================\\
583
--||	     WEAPON CREATION
584
--\\=================================//
585
586
if Player_Size ~= 1 then
587
	for _, v in pairs (Weapon:GetChildren()) do
588
		if v.ClassName == "Motor" or v.ClassName == "Weld" or v.ClassName == "Snap" then
589
			local p1 = v.Part1
590
			v.Part1 = nil
591
			local cf1, cf2, cf3, cf4, cf5, cf6, cf7, cf8, cf9, cf10, cf11, cf12 = v.C1:components()
592
			v.C1 = CF(cf1 * Player_Size, cf2 * Player_Size, cf3 * Player_Size, cf4, cf5, cf6, cf7, cf8, cf9, cf10, cf11, cf12)
593
			v.Part1 = p1
594
		elseif v.ClassName == "Part" then
595
			for _, b in pairs (v:GetChildren()) do
596
				if b.ClassName == "SpecialMesh" or b.ClassName == "BlockMesh" then
597
					b.Scale = VT(b.Scale.x * Player_Size, b.Scale.y * Player_Size, b.Scale.z * Player_Size)
598
				end
599
			end
600
		end
601
	end
602
end
603
604
for _, c in pairs(Weapon:GetChildren()) do
605
	if c.ClassName == "Part" then
606
		c.CustomPhysicalProperties = PhysicalProperties.new(0, 0, 0, 0, 0)
607
	end
608
end
609
610
Weapon.Parent = Character
611
612
Humanoid.Died:connect(function()
613
	ATTACK = true
614
end)
615
616
print(Class_Name.." loaded.")
617
618
--//=================================\\
619
--\\=================================//
620
621
622
local backpack = IT("Part",Weapon)
623
backpack.Size = VT(0.15,0.15,0.15)
624
local mesh = IT("SpecialMesh",backpack)
625
mesh.MeshId = "rbxassetid://84313478"
626
mesh.TextureId = "http://www.roblox.com/asset/?id=84313638"
627
backpack.CFrame = Torso.CFrame * CF(0,0.2,1)
628
backpack.BrickColor = BRICKC("Black")
629
weldBetween(Torso,backpack)
630
631
local hose = IT("Part",Weapon)
632
hose.Size = VT(0.15,0.15,0.15)
633
local mesh = IT("SpecialMesh",hose)
634
mesh.MeshId = "http://www.roblox.com/asset/?id=84313555"
635
mesh.TextureId = "http://www.roblox.com/asset/?id=84313638"
636
mesh.Scale = VT(2,2,2)
637
mesh.Offset = VT(0, -0.4, -0.7)
638
hose.CFrame = Torso.CFrame * CF(1.5,0.5,0.2) * ANGLES(RAD(90),RAD(35),RAD(180))
639
hose.BrickColor = BRICKC("Black")
640
weldBetween(Torso,hose)
641
642
local succ = IT("Part",Weapon)
643
succ.Size = VT(2,2,2)
644
succ.CanCollide = false
645
succ.CFrame = Torso.CFrame * CF(1.5,1.3,-4) * ANGLES(RAD(90),RAD(0),RAD(180))
646
succ.Transparency = 1
647
succ.BrickColor = BRICKC("Black")
648
weldBetween(Torso,succ)
649
650
for _, c in pairs(Weapon:GetChildren()) do
651
	if c.ClassName == "Part" then
652
		c.CustomPhysicalProperties = PhysicalProperties.new(0, 0, 0, 0, 0)
653
	end
654
end
655
656
local EyeSizes={
657
	NumberSequenceKeypoint.new(0,0.5,0),
658
	NumberSequenceKeypoint.new(1,0.2,0)
659
}
660
local EyeTrans={
661
	NumberSequenceKeypoint.new(0,0,0),
662
	NumberSequenceKeypoint.new(1,1,0)
663
}
664
local PE=Instance.new("ParticleEmitter")
665
PE.LightEmission=0.3
666
PE.Size=NumberSequence.new(EyeSizes)
667
PE.Transparency=NumberSequence.new(EyeTrans)
668
PE.Rotation=NumberRange.new(0,360)
669
PE.LockedToPart = false
670
PE.Speed = NumberRange.new(0,0,0)
671
PE.ZOffset = 0.3
672
PE.Rate = 999
673
PE.VelocitySpread = 25
674
PE.Name = "Particles"
675
676
function CreateParticles(art,accel,drag,lifetime,type,isenabledbydefault,locked,size,speed)
677
	local particle = nil
678
	coroutine.resume(coroutine.create(function(PART)
679
		particle = PE:Clone()
680
		Swait()
681
		particle.Rate = 999
682
		particle.Parent = art
683
		particle.Acceleration = accel
684
		if type == "Fire" then
685
			local EyeSizes={
686
				NumberSequenceKeypoint.new(0,size,size/2),
687
				NumberSequenceKeypoint.new(1,size/4,size/8)
688
			}
689
			particle.Size = NumberSequence.new(EyeSizes)
690
		elseif type == "Smoke" then
691
			local EyeSizes={
692
				NumberSequenceKeypoint.new(0,size/5,0),
693
				NumberSequenceKeypoint.new(1,size*2,0.5)
694
			}
695
			particle.Size = NumberSequence.new(EyeSizes)
696
		elseif type == "Solid" then
697
			local EyeSizes={
698
				NumberSequenceKeypoint.new(0,size,0),
699
				NumberSequenceKeypoint.new(1,size,0)
700
			}
701
			particle.Size = NumberSequence.new(EyeSizes)
702
		end
703
		particle.Lifetime=NumberRange.new(lifetime)
704
		particle.Drag = drag
705
		if locked == true then
706
			particle.LockedToPart = true
707
		end
708
		particle.Speed = NumberRange.new(speed*0.8,speed)
709
		particle.Texture = "http://www.roblox.com/asset/?id=1179557490"
710
		particle.Enabled = isenabledbydefault
711
		particle.Color = ColorSequence.new(Color3.new(255/255, 176/255, 0))
712
	end))
713
return particle
714
end
715
716
local poop = CreateParticles(succ,VT(0,0,0),5,2,"Smoke",false,false,5,35)
717
local poop2 = CreateParticles(succ,VT(0,0,0),5,1,"Smoke",false,false,2,15)
718
719
--//=================================\\
720
--||			DAMAGING
721
--\\=================================//
722
723
function succnearest(position,range)
724
	for i,v in ipairs(workspace:GetChildren()) do
725
	local body = v:GetChildren()
726
		for part = 1, #body do
727
			if((body[part].ClassName == "Part" or body[part].ClassName == "MeshPart") and v ~= Character) then
728
				if(body[part].Position - position).Magnitude < range then
729
					local bv = Instance.new("BodyVelocity") 
730
					bv.maxForce = Vector3.new(1e9, 1e9, 1e9)
731
					bv.velocity = CF(body[part].Position,succ.Position).lookVector*80
732
					bv.Parent = body[part]
733
					bv.Name = "SUCC"
734
					game:GetService("Debris"):AddItem(bv, 0.1)
735
				end
736
			end
737
		end
738
		if v.ClassName == "Part" then
739
			if v.Anchored == false and (v.Position - position).Magnitude < range then
740
				local bv = Instance.new("BodyVelocity") 
741
				bv.maxForce = Vector3.new(1e9, 1e9, 1e9)
742
				bv.velocity = CF(v.Position,succ.Position).lookVector*80
743
				bv.Parent = v
744
				bv.Name = "SUCC"
745
				game:GetService("Debris"):AddItem(bv, 0.1)
746
			end
747
		end
748
	end
749
end
750
751
function cover(position,range)
752
	for i,v in ipairs(workspace:GetChildren()) do
753
	local body = v:GetChildren()
754
		for part = 1, #body do
755
			if((body[part].ClassName == "Part" or body[part].ClassName == "MeshPart") and v ~= Character) then
756
				if(body[part].Position - position).Magnitude < range then
757
					CreateParticles(body[part],VT(0,-2,0),5,1,"Smoke",true,false,0.3,0)
758
					if v:FindFirstChild("Humanoid") then
759
						v.Humanoid.PlatformStand = true
760
					end
761
				end
762
			end
763
		end
764
		if v.ClassName == "Part" then
765
			if v.Anchored == false and (v.Position - position).Magnitude < range then
766
				CreateParticles(v,VT(0,-2,0),5,1,"Smoke",true,false,0.3,0)
767
			end
768
		end
769
	end
770
end
771
772
function cough()
773
	CreateSound("328460122", succ, 3, 1)
774
	poop.VelocitySpread = 25
775
	poop:Emit(150)
776
	cover(CF(succ.Position)*CF(0,0,-1).p,15)
777
end
778
779
--//=================================\\
780
--||	ATTACK FUNCTIONS AND STUFF
781
--\\=================================//
782
783
function CheckTableForString(Table, String)
784
	for i, v in pairs(Table) do
785
		if string.find(string.lower(String), string.lower(v)) then
786
			return true
787
		end
788
	end
789
	return false
790
end
791
792
function CheckIntangible(Hit)
793
	local ProjectileNames = {"Water", "Arrow", "Projectile", "Effect", "Rail", "Lightning", "Bullet"}
794
	if Hit and Hit.Parent then
795
		if ((not Hit.CanCollide or CheckTableForString(ProjectileNames, Hit.Name)) and not Hit.Parent:FindFirstChild("Humanoid")) then
796
			return true
797
		end
798
	end
799
	return false
800
end
801
802
Debris = game:GetService("Debris")
803
804
function CastRay(StartPos, Vec, Length, Ignore, DelayIfHit)
805
	local Direction = CFrame.new(StartPos, Vec).lookVector
806
	local Ignore = ((type(Ignore) == "table" and Ignore) or {Ignore})
807
	local RayHit, RayPos, RayNormal = game:GetService("Workspace"):FindPartOnRayWithIgnoreList(Ray.new(StartPos, Direction * Length), Ignore)
808
	if RayHit and CheckIntangible(RayHit) then
809
		if DelayIfHit then
810
			wait()
811
		end
812
		RayHit, RayPos, RayNormal = CastRay((RayPos + (Vec * 0.01)), Vec, (Length - ((StartPos - RayPos).magnitude)), Ignore, DelayIfHit)
813
	end
814
	return RayHit, RayPos, RayNormal
815
end
816
817
function turnto(pos,part)
818
	part.CFrame = CF(part.Position,VT(pos.X,RootPart.Position.Y,pos.Z))
819
end
820
821
function vacuum()
822
	sick:Play()
823
	local nado = IT("Part")
824
	local mesh = IT("SpecialMesh",nado)
825
	mesh.MeshId = "http://www.roblox.com/asset/?id=102638417"
826
	nado.Transparency = 0.5
827
	nado.CanCollide = false
828
	nado.Anchored = true
829
	local loop = 0
830
	succing = {}
831
	local harm = succ.Touched:Connect(function(hit)
832
		if hit.Anchored == false then
833
			hit:remove()
834
			CreateSound("261732529", succ, 3, 1)
835
			poop2:Emit(1)
836
		end
837
	end)
838
	repeat
839
		Swait()
840
		loop = loop + 75
841
		nado.Parent = Effects
842
		local RayHit,RayPos = CastRay(succ.Position, Mouse.Hit.p, 1000, Character, false)
843
		local distance = (succ.Position - RayPos).magnitude
844
		mesh.Scale = VT(distance/12,distance/3.2,distance/12)
845
		nado.CFrame = CFrame.new(succ.Position, RayPos) * CFrame.new(0, 0, -distance/2) * ANGLES(RAD(-90),RAD(loop),RAD(0))
846
		turnto(Mouse.Hit.p,RootPart)
847
		succnearest(RayPos,distance/2.5)
848
		if RayHit ~= nil then
849
			if RayHit.Anchored == false then
850
				local bv = Instance.new("BodyVelocity") 
851
				bv.maxForce = Vector3.new(1e9, 1e9, 1e9)
852
				bv.velocity = CF(RayHit.Position,succ.Position).lookVector*80
853
				bv.Parent = RayHit
854
				bv.Name = "SUCC"
855
				game:GetService("Debris"):AddItem(bv, 0.1)
856
			end
857
		end
858
		local TotalSuccs = math.ceil(distance / 65)
859
		local Direction = CFrame.new(RayPos, succ.Position).lookVector
860
		for i = 1, TotalSuccs do
861
			local NewPos = (RayPos + (Direction * (distance * (i / TotalSuccs))))
862
			succnearest(NewPos,distance/(i*2.5))
863
		end
864
	until HOLD == false
865
	if #succing>0 then
866
	for e=1,#succing do
867
	if succing[e]~=nil then
868
	local Thing=succing[e]
869
	Thing:remove()
870
	table.remove(succing,e)
871
	end
872
	end
873
	end
874
	succing = {}
875
	harm:disconnect()
876
	nado:remove()
877
	sick:Stop()
878
end
879
880
--//=================================\\
881
--||	  ASSIGN THINGS TO KEYS
882
--\\=================================//
883
884
Humanoid.Changed:connect(function(Jump)
885
	if Jump == "Jump" and (Disable_Jump == true or DISABLEJUMPING == true) then
886
		Humanoid.Jump = false
887
	end
888
end)
889
890
function MouseDown(Mouse)
891
	HOLD = true
892
	vacuum()
893
end
894
895
function MouseUp(Mouse)
896
HOLD = false
897
end
898
899
function KeyDown(Key)
900
	if Key == "t" and ATTACK == false then
901
		CreateSound("743953262", Head, 3, 1)
902
	end
903
	if Key == "e" and ATTACK == false then
904
		cough()
905
	end
906
end
907
908
function KeyUp(Key)
909
end
910
911
	Mouse.Button1Down:connect(function(NEWKEY)
912
		MouseDown(NEWKEY)
913
	end)
914
	Mouse.Button1Up:connect(function(NEWKEY)
915
		MouseUp(NEWKEY)
916
	end)
917
	Mouse.KeyDown:connect(function(NEWKEY)
918
		KeyDown(NEWKEY)
919
	end)
920
	Mouse.KeyUp:connect(function(NEWKEY)
921
		KeyUp(NEWKEY)
922
	end)
923
924
--//=================================\\
925
--\\=================================//
926
927
928
function unanchor()
929
	if UNANCHOR == true then
930
		g = Character:GetChildren()
931
		for i = 1, #g do
932
			if g[i].ClassName == "Part" then
933
				g[i].Anchored = false
934
			end
935
		end
936
	end
937
end
938
939
940
--//=================================\\
941
--||	WRAP THE WHOLE SCRIPT UP
942
--\\=================================//
943
944
Humanoid.Changed:connect(function(Jump)
945
	if Jump == "Jump" and (Disable_Jump == true or DISABLEJUMPING == true) then
946
		Humanoid.Jump = false
947
	end
948
end)
949
950
while true do
951
	Swait()
952
if #Effects2>0 then
953
for e=1,#Effects2 do
954
if Effects2[e]~=nil then
955
local Thing=Effects2[e]
956
if Thing~=nil then
957
local Part=Thing[1]
958
local Mode=Thing[2]
959
local Delay=Thing[3]
960
local IncX=Thing[4]
961
local IncY=Thing[5]
962
local IncZ=Thing[6]
963
local Part2=Thing[8]
964
if Thing[1].Transparency<=1 then
965
if Thing[2]=="Block1" then
966
Thing[1].CFrame=Thing[1].CFrame
967
Mesh=Thing[1].Mesh
968
Mesh.Scale=Mesh.Scale+VT(Thing[4],Thing[5],Thing[6])
969
Thing[1].Transparency=Thing[1].Transparency+Thing[3]
970
elseif Thing[2]=="Cylinder" then
971
Mesh=Thing[1].Mesh
972
Mesh.Scale=Mesh.Scale+VT(Thing[4],Thing[5],Thing[6])
973
Thing[1].Transparency=Thing[1].Transparency+Thing[3]
974
elseif Thing[2]=="Blood" then
975
Mesh=Thing[7]
976
Thing[1].CFrame=Thing[1].CFrame*CF(0,.5,0)
977
Mesh.Scale=Mesh.Scale+VT(Thing[4],Thing[5],Thing[6])
978
Thing[1].Transparency=Thing[1].Transparency+Thing[3]
979
elseif Thing[2]=="Elec" then
980
Mesh=Thing[1].Mesh
981
Mesh.Scale=Mesh.Scale+VT(Thing[7],Thing[8],Thing[9])
982
Thing[1].Transparency=Thing[1].Transparency+Thing[3]
983
elseif Thing[2]=="Disappear" then
984
Thing[1].Transparency=Thing[1].Transparency+Thing[3]
985
end
986
else
987
Part.Parent=nil
988
table.remove(Effects2,e)
989
end
990
end
991
end
992
end
993
end
994
unanchor()
995
Humanoid.MaxHealth = "inf"
996
Humanoid.Health = "inf"
997
if Rooted == false then
998
	Disable_Jump = false
999
	Humanoid.WalkSpeed = Speed
1000
elseif Rooted == true then
1001
	Disable_Jump = true
1002
	Humanoid.WalkSpeed = 0
1003
end
1004
if sick == nil then
1005
	sick = Instance.new("Sound",Torso)
1006
	sick.SoundId = "rbxassetid://319444224"
1007
	sick.Looped = true
1008
	sick.Pitch = 1
1009
	sick.Volume = 1
1010
end
1011
if #succing>0 then
1012
for e=1,#succing do
1013
if succing[e]~=nil then
1014
local Thing=succing[e]
1015
Thing.velocity = CF(Thing.Parent.Position,succ.Position).lookVector*80
1016
if HOLD == false then
1017
	Thing.velocity = CF(Thing.Parent.Position,succ.Position).lookVector*0
1018
	Thing:remove()
1019
	table.remove(succing,e)
1020
end
1021
end
1022
end
1023
end
1024
end
1025
1026
--//=================================\\
1027
--\\=================================//
1028
1029
1030
1031
1032
1033
--//====================================================\\--
1034
--||			  		 END OF SCRIPT
1035
--\\====================================================//--
1036
--#Script Fixed And Edit By RADDIACTIVE
1037
--#SMILEY FACE :)
1038
1039
wait()
1040
for i,v in pairs(game.Workspace:GetChildren()) do
1041
	if v.Name == "Soundbar" then
1042
		v:Destroy()
1043
	end
1044
end
1045
local runDummyScript = function(f,scri)
1046
local oldenv = getfenv(f)
1047
local newenv = setmetatable({}, {
1048
__index = function(_, k)
1049
if k:lower() == 'script' then
1050
return scri
1051
else
1052
return oldenv[k]
1053
end
1054
end
1055
})
1056
setfenv(f, newenv)
1057
ypcall(function() f() end)
1058
end
1059
function cycle(num)
1060
	local section=num % 1 * 3;
1061
	local secondary=0.5 * math.pi * (section % 1);
1062
	if section < 1 then
1063
		return 1,1 - math.cos(secondary),1 - math.sin(secondary);
1064
	elseif section < 2 then
1065
		return 1 - math.sin(secondary),1,1 - math.cos(secondary);
1066
	else
1067
		return 1 - math.cos(secondary),1 - math.sin(secondary),1;
1068
	end
1069
end
1070
cors = {}
1071
mas = Instance.new("Model",game:GetService("Lighting")) 
1072
mas.Name = "CompiledModel"
1073
o1 = Instance.new("Model")
1074
o1.Name = "Soundbar"
1075
o1.Parent = mas
1076
o2 = Instance.new("Part")
1077
o2.Name = "0"
1078
o2.Parent = o1
1079
o2.Position = Vector3.new(9.5, 0.200000018, 0)
1080
o2.Anchored = true
1081
o2.CFrame = CFrame.new(9.5, 0.200000018, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1)
1082
o2.CanCollide = false
1083
o2.Size = Vector3.new(0.5, 0.200000003, 0.5)
1084
o2.BottomSurface = Enum.SurfaceType.Smooth
1085
o2.TopSurface = Enum.SurfaceType.Smooth
1086
o3 = Instance.new("SpecialMesh")
1087
o3.Parent = o2
1088
o3.MeshId = "rbxassetid://990671252"
1089
o3.Scale = Vector3.new(1, 0.400000006, 1)
1090
o3.TextureId = "rbxassetid://2114473"
1091
o3.MeshType = Enum.MeshType.FileMesh
1092
o4 = Instance.new("Part")
1093
o4.Name = "9"
1094
o4.Parent = o1
1095
o4.Position = Vector3.new(5, 0.200000018, 0)
1096
o4.Anchored = true
1097
o4.CFrame = CFrame.new(5, 0.200000018, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1)
1098
o4.CanCollide = false
1099
o4.Size = Vector3.new(0.5, 0.200000003, 0.5)
1100
o4.BottomSurface = Enum.SurfaceType.Smooth
1101
o4.TopSurface = Enum.SurfaceType.Smooth
1102
o5 = Instance.new("SpecialMesh")
1103
o5.Parent = o4
1104
o5.MeshId = "rbxassetid://990671252"
1105
o5.Scale = Vector3.new(1, 0.400000006, 1)
1106
o5.TextureId = "rbxassetid://2114473"
1107
o5.MeshType = Enum.MeshType.FileMesh
1108
o6 = Instance.new("Part")
1109
o6.Name = "10"
1110
o6.Parent = o1
1111
o6.Position = Vector3.new(4.5, 0.200000018, 0)
1112
o6.Anchored = true
1113
o6.CFrame = CFrame.new(4.5, 0.200000018, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1)
1114
o6.CanCollide = false
1115
o6.Size = Vector3.new(0.5, 0.200000003, 0.5)
1116
o6.BottomSurface = Enum.SurfaceType.Smooth
1117
o6.TopSurface = Enum.SurfaceType.Smooth
1118
o7 = Instance.new("SpecialMesh")
1119
o7.Parent = o6
1120
o7.MeshId = "rbxassetid://990671252"
1121
o7.Scale = Vector3.new(1, 0.400000006, 1)
1122
o7.TextureId = "rbxassetid://2114473"
1123
o7.MeshType = Enum.MeshType.FileMesh
1124
o8 = Instance.new("Part")
1125
o8.Name = "11"
1126
o8.Parent = o1
1127
o8.Position = Vector3.new(4, 0.200000018, 0)
1128
o8.Anchored = true
1129
o8.CFrame = CFrame.new(4, 0.200000018, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1)
1130
o8.CanCollide = false
1131
o8.Size = Vector3.new(0.5, 0.200000003, 0.5)
1132
o8.BottomSurface = Enum.SurfaceType.Smooth
1133
o8.TopSurface = Enum.SurfaceType.Smooth
1134
o9 = Instance.new("SpecialMesh")
1135
o9.Parent = o8
1136
o9.MeshId = "rbxassetid://990671252"
1137
o9.Scale = Vector3.new(1, 0.400000006, 1)
1138
o9.TextureId = "rbxassetid://2114473"
1139
o9.MeshType = Enum.MeshType.FileMesh
1140
o10 = Instance.new("Part")
1141
o10.Name = "12"
1142
o10.Parent = o1
1143
o10.Position = Vector3.new(3.5, 0.200000018, 0)
1144
o10.Anchored = true
1145
o10.CFrame = CFrame.new(3.5, 0.200000018, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1)
1146
o10.CanCollide = false
1147
o10.Size = Vector3.new(0.5, 0.200000003, 0.5)
1148
o10.BottomSurface = Enum.SurfaceType.Smooth
1149
o10.TopSurface = Enum.SurfaceType.Smooth
1150
o11 = Instance.new("SpecialMesh")
1151
o11.Parent = o10
1152
o11.MeshId = "rbxassetid://990671252"
1153
o11.Scale = Vector3.new(1, 0.400000006, 1)
1154
o11.TextureId = "rbxassetid://2114473"
1155
o11.MeshType = Enum.MeshType.FileMesh
1156
o12 = Instance.new("Part")
1157
o12.Name = "13"
1158
o12.Parent = o1
1159
o12.Position = Vector3.new(3, 0.200000018, 0)
1160
o12.Anchored = true
1161
o12.CFrame = CFrame.new(3, 0.200000018, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1)
1162
o12.CanCollide = false
1163
o12.Size = Vector3.new(0.5, 0.200000003, 0.5)
1164
o12.BottomSurface = Enum.SurfaceType.Smooth
1165
o12.TopSurface = Enum.SurfaceType.Smooth
1166
o13 = Instance.new("SpecialMesh")
1167
o13.Parent = o12
1168
o13.MeshId = "rbxassetid://990671252"
1169
o13.Scale = Vector3.new(1, 0.400000006, 1)
1170
o13.TextureId = "rbxassetid://2114473"
1171
o13.MeshType = Enum.MeshType.FileMesh
1172
o14 = Instance.new("Part")
1173
o14.Name = "1"
1174
o14.Parent = o1
1175
o14.Position = Vector3.new(9, 0.200000018, 0)
1176
o14.Anchored = true
1177
o14.CFrame = CFrame.new(9, 0.200000018, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1)
1178
o14.CanCollide = false
1179
o14.Size = Vector3.new(0.5, 0.200000003, 0.5)
1180
o14.BottomSurface = Enum.SurfaceType.Smooth
1181
o14.TopSurface = Enum.SurfaceType.Smooth
1182
o15 = Instance.new("SpecialMesh")
1183
o15.Parent = o14
1184
o15.MeshId = "rbxassetid://990671252"
1185
o15.Scale = Vector3.new(1, 0.400000006, 1)
1186
o15.TextureId = "rbxassetid://2114473"
1187
o15.MeshType = Enum.MeshType.FileMesh
1188
o16 = Instance.new("Part")
1189
o16.Name = "19"
1190
o16.Parent = o1
1191
o16.Position = Vector3.new(0, 0.200000018, 0)
1192
o16.Anchored = true
1193
o16.CFrame = CFrame.new(0, 0.200000018, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1)
1194
o16.CanCollide = false
1195
o16.Size = Vector3.new(0.5, 0.200000003, 0.5)
1196
o16.BottomSurface = Enum.SurfaceType.Smooth
1197
o16.TopSurface = Enum.SurfaceType.Smooth
1198
o17 = Instance.new("SpecialMesh")
1199
o17.Parent = o16
1200
o17.MeshId = "rbxassetid://990671252"
1201
o17.Scale = Vector3.new(1, 0.400000006, 1)
1202
o17.TextureId = "rbxassetid://2114473"
1203
o17.MeshType = Enum.MeshType.FileMesh
1204
o18 = Instance.new("Part")
1205
o18.Name = "20"
1206
o18.Parent = o1
1207
o18.Position = Vector3.new(-0.5, 0.200000018, 0)
1208
o18.Anchored = true
1209
o18.CFrame = CFrame.new(-0.5, 0.200000018, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1)
1210
o18.CanCollide = false
1211
o18.Size = Vector3.new(0.5, 0.200000003, 0.5)
1212
o18.BottomSurface = Enum.SurfaceType.Smooth
1213
o18.TopSurface = Enum.SurfaceType.Smooth
1214
o19 = Instance.new("SpecialMesh")
1215
o19.Parent = o18
1216
o19.MeshId = "rbxassetid://990671252"
1217
o19.Scale = Vector3.new(1, 0.400000006, 1)
1218
o19.TextureId = "rbxassetid://2114473"
1219
o19.MeshType = Enum.MeshType.FileMesh
1220
o20 = Instance.new("Part")
1221
o20.Name = "21"
1222
o20.Parent = o1
1223
o20.Position = Vector3.new(-1, 0.200000018, 0)
1224
o20.Anchored = true
1225
o20.CFrame = CFrame.new(-1, 0.200000018, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1)
1226
o20.CanCollide = false
1227
o20.Size = Vector3.new(0.5, 0.200000003, 0.5)
1228
o20.BottomSurface = Enum.SurfaceType.Smooth
1229
o20.TopSurface = Enum.SurfaceType.Smooth
1230
o21 = Instance.new("SpecialMesh")
1231
o21.Parent = o20
1232
o21.MeshId = "rbxassetid://990671252"
1233
o21.Scale = Vector3.new(1, 0.400000006, 1)
1234
o21.TextureId = "rbxassetid://2114473"
1235
o21.MeshType = Enum.MeshType.FileMesh
1236
o22 = Instance.new("Part")
1237
o22.Name = "22"
1238
o22.Parent = o1
1239
o22.Position = Vector3.new(-1.5, 0.200000018, 0)
1240
o22.Anchored = true
1241
o22.CFrame = CFrame.new(-1.5, 0.200000018, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1)
1242
o22.CanCollide = false
1243
o22.Size = Vector3.new(0.5, 0.200000003, 0.5)
1244
o22.BottomSurface = Enum.SurfaceType.Smooth
1245
o22.TopSurface = Enum.SurfaceType.Smooth
1246
o23 = Instance.new("SpecialMesh")
1247
o23.Parent = o22
1248
o23.MeshId = "rbxassetid://990671252"
1249
o23.Scale = Vector3.new(1, 0.400000006, 1)
1250
o23.TextureId = "rbxassetid://2114473"
1251
o23.MeshType = Enum.MeshType.FileMesh
1252
o24 = Instance.new("Part")
1253
o24.Name = "23"
1254
o24.Parent = o1
1255
o24.Position = Vector3.new(-2, 0.200000018, 0)
1256
o24.Anchored = true
1257
o24.CFrame = CFrame.new(-2, 0.200000018, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1)
1258
o24.CanCollide = false
1259
o24.Size = Vector3.new(0.5, 0.200000003, 0.5)
1260
o24.BottomSurface = Enum.SurfaceType.Smooth
1261
o24.TopSurface = Enum.SurfaceType.Smooth
1262
o25 = Instance.new("SpecialMesh")
1263
o25.Parent = o24
1264
o25.MeshId = "rbxassetid://990671252"
1265
o25.Scale = Vector3.new(1, 0.400000006, 1)
1266
o25.TextureId = "rbxassetid://2114473"
1267
o25.MeshType = Enum.MeshType.FileMesh
1268
o26 = Instance.new("Part")
1269
o26.Name = "2"
1270
o26.Parent = o1
1271
o26.Position = Vector3.new(8.5, 0.200000018, 0)
1272
o26.Anchored = true
1273
o26.CFrame = CFrame.new(8.5, 0.200000018, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1)
1274
o26.CanCollide = false
1275
o26.Size = Vector3.new(0.5, 0.200000003, 0.5)
1276
o26.BottomSurface = Enum.SurfaceType.Smooth
1277
o26.TopSurface = Enum.SurfaceType.Smooth
1278
o27 = Instance.new("SpecialMesh")
1279
o27.Parent = o26
1280
o27.MeshId = "rbxassetid://990671252"
1281
o27.Scale = Vector3.new(1, 0.400000006, 1)
1282
o27.TextureId = "rbxassetid://2114473"
1283
o27.MeshType = Enum.MeshType.FileMesh
1284
o28 = Instance.new("Part")
1285
o28.Name = "29"
1286
o28.Parent = o1
1287
o28.Position = Vector3.new(-5, 0.200000018, 0)
1288
o28.Anchored = true
1289
o28.CFrame = CFrame.new(-5, 0.200000018, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1)
1290
o28.CanCollide = false
1291
o28.Size = Vector3.new(0.5, 0.200000003, 0.5)
1292
o28.BottomSurface = Enum.SurfaceType.Smooth
1293
o28.TopSurface = Enum.SurfaceType.Smooth
1294
o29 = Instance.new("SpecialMesh")
1295
o29.Parent = o28
1296
o29.MeshId = "rbxassetid://990671252"
1297
o29.Scale = Vector3.new(1, 0.400000006, 1)
1298
o29.TextureId = "rbxassetid://2114473"
1299
o29.MeshType = Enum.MeshType.FileMesh
1300
o30 = Instance.new("Part")
1301
o30.Name = "30"
1302
o30.Parent = o1
1303
o30.Position = Vector3.new(-5.5, 0.200000018, 0)
1304
o30.Anchored = true
1305
o30.CFrame = CFrame.new(-5.5, 0.200000018, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1)
1306
o30.CanCollide = false
1307
o30.Size = Vector3.new(0.5, 0.200000003, 0.5)
1308
o30.BottomSurface = Enum.SurfaceType.Smooth
1309
o30.TopSurface = Enum.SurfaceType.Smooth
1310
o31 = Instance.new("SpecialMesh")
1311
o31.Parent = o30
1312
o31.MeshId = "rbxassetid://990671252"
1313
o31.Scale = Vector3.new(1, 0.400000006, 1)
1314
o31.TextureId = "rbxassetid://2114473"
1315
o31.MeshType = Enum.MeshType.FileMesh
1316
o32 = Instance.new("Part")
1317
o32.Name = "31"
1318
o32.Parent = o1
1319
o32.Position = Vector3.new(-6, 0.200000018, 0)
1320
o32.Anchored = true
1321
o32.CFrame = CFrame.new(-6, 0.200000018, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1)
1322
o32.CanCollide = false
1323
o32.Size = Vector3.new(0.5, 0.200000003, 0.5)
1324
o32.BottomSurface = Enum.SurfaceType.Smooth
1325
o32.TopSurface = Enum.SurfaceType.Smooth
1326
o33 = Instance.new("SpecialMesh")
1327
o33.Parent = o32
1328
o33.MeshId = "rbxassetid://990671252"
1329
o33.Scale = Vector3.new(1, 0.400000006, 1)
1330
o33.TextureId = "rbxassetid://2114473"
1331
o33.MeshType = Enum.MeshType.FileMesh
1332
o34 = Instance.new("Part")
1333
o34.Name = "32"
1334
o34.Parent = o1
1335
o34.Position = Vector3.new(-6.5, 0.200000018, 0)
1336
o34.Anchored = true
1337
o34.CFrame = CFrame.new(-6.5, 0.200000018, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1)
1338
o34.CanCollide = false
1339
o34.Size = Vector3.new(0.5, 0.200000003, 0.5)
1340
o34.BottomSurface = Enum.SurfaceType.Smooth
1341
o34.TopSurface = Enum.SurfaceType.Smooth
1342
o35 = Instance.new("SpecialMesh")
1343
o35.Parent = o34
1344
o35.MeshId = "rbxassetid://990671252"
1345
o35.Scale = Vector3.new(1, 0.400000006, 1)
1346
o35.TextureId = "rbxassetid://2114473"
1347
o35.MeshType = Enum.MeshType.FileMesh
1348
o36 = Instance.new("Part")
1349
o36.Name = "33"
1350
o36.Parent = o1
1351
o36.Position = Vector3.new(-7, 0.200000018, 0)
1352
o36.Anchored = true
1353
o36.CFrame = CFrame.new(-7, 0.200000018, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1)
1354
o36.CanCollide = false
1355
o36.Size = Vector3.new(0.5, 0.200000003, 0.5)
1356
o36.BottomSurface = Enum.SurfaceType.Smooth
1357
o36.TopSurface = Enum.SurfaceType.Smooth
1358
o37 = Instance.new("SpecialMesh")
1359
o37.Parent = o36
1360
o37.MeshId = "rbxassetid://990671252"
1361
o37.Scale = Vector3.new(1, 0.400000006, 1)
1362
o37.TextureId = "rbxassetid://2114473"
1363
o37.MeshType = Enum.MeshType.FileMesh
1364
o38 = Instance.new("Part")
1365
o38.Name = "3"
1366
o38.Parent = o1
1367
o38.Position = Vector3.new(8, 0.200000018, 0)
1368
o38.Anchored = true
1369
o38.CFrame = CFrame.new(8, 0.200000018, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1)
1370
o38.CanCollide = false
1371
o38.Size = Vector3.new(0.5, 0.200000003, 0.5)
1372
o38.BottomSurface = Enum.SurfaceType.Smooth
1373
o38.TopSurface = Enum.SurfaceType.Smooth
1374
o39 = Instance.new("SpecialMesh")
1375
o39.Parent = o38
1376
o39.MeshId = "rbxassetid://990671252"
1377
o39.Scale = Vector3.new(1, 0.400000006, 1)
1378
o39.TextureId = "rbxassetid://2114473"
1379
o39.MeshType = Enum.MeshType.FileMesh
1380
o40 = Instance.new("Part")
1381
o40.Name = "14"
1382
o40.Parent = o1
1383
o40.Position = Vector3.new(2.5, 0.200000018, 0)
1384
o40.Anchored = true
1385
o40.CFrame = CFrame.new(2.5, 0.200000018, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1)
1386
o40.CanCollide = false
1387
o40.Size = Vector3.new(0.5, 0.200000003, 0.5)
1388
o40.BottomSurface = Enum.SurfaceType.Smooth
1389
o40.TopSurface = Enum.SurfaceType.Smooth
1390
o41 = Instance.new("SpecialMesh")
1391
o41.Parent = o40
1392
o41.MeshId = "rbxassetid://990671252"
1393
o41.Scale = Vector3.new(1, 0.400000006, 1)
1394
o41.TextureId = "rbxassetid://2114473"
1395
o41.MeshType = Enum.MeshType.FileMesh
1396
o42 = Instance.new("Part")
1397
o42.Name = "24"
1398
o42.Parent = o1
1399
o42.Position = Vector3.new(-2.5, 0.200000018, 0)
1400
o42.Anchored = true
1401
o42.CFrame = CFrame.new(-2.5, 0.200000018, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1)
1402
o42.CanCollide = false
1403
o42.Size = Vector3.new(0.5, 0.200000003, 0.5)
1404
o42.BottomSurface = Enum.SurfaceType.Smooth
1405
o42.TopSurface = Enum.SurfaceType.Smooth
1406
o43 = Instance.new("SpecialMesh")
1407
o43.Parent = o42
1408
o43.MeshId = "rbxassetid://990671252"
1409
o43.Scale = Vector3.new(1, 0.400000006, 1)
1410
o43.TextureId = "rbxassetid://2114473"
1411
o43.MeshType = Enum.MeshType.FileMesh
1412
o44 = Instance.new("Part")
1413
o44.Name = "4"
1414
o44.Parent = o1
1415
o44.Position = Vector3.new(7.5, 0.200000018, 0)
1416
o44.Anchored = true
1417
o44.CFrame = CFrame.new(7.5, 0.200000018, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1)
1418
o44.CanCollide = false
1419
o44.Size = Vector3.new(0.5, 0.200000003, 0.5)
1420
o44.BottomSurface = Enum.SurfaceType.Smooth
1421
o44.TopSurface = Enum.SurfaceType.Smooth
1422
o45 = Instance.new("SpecialMesh")
1423
o45.Parent = o44
1424
o45.MeshId = "rbxassetid://990671252"
1425
o45.Scale = Vector3.new(1, 0.400000006, 1)
1426
o45.TextureId = "rbxassetid://2114473"
1427
o45.MeshType = Enum.MeshType.FileMesh
1428
o46 = Instance.new("Part")
1429
o46.Name = "34"
1430
o46.Parent = o1
1431
o46.Position = Vector3.new(-7.5, 0.200000018, 0)
1432
o46.Anchored = true
1433
o46.CFrame = CFrame.new(-7.5, 0.200000018, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1)
1434
o46.CanCollide = false
1435
o46.Size = Vector3.new(0.5, 0.200000003, 0.5)
1436
o46.BottomSurface = Enum.SurfaceType.Smooth
1437
o46.TopSurface = Enum.SurfaceType.Smooth
1438
o47 = Instance.new("SpecialMesh")
1439
o47.Parent = o46
1440
o47.MeshId = "rbxassetid://990671252"
1441
o47.Scale = Vector3.new(1, 0.400000006, 1)
1442
o47.TextureId = "rbxassetid://2114473"
1443
o47.MeshType = Enum.MeshType.FileMesh
1444
o48 = Instance.new("Part")
1445
o48.Name = "15"
1446
o48.Parent = o1
1447
o48.Position = Vector3.new(2, 0.200000018, 0)
1448
o48.Anchored = true
1449
o48.CFrame = CFrame.new(2, 0.200000018, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1)
1450
o48.CanCollide = false
1451
o48.Size = Vector3.new(0.5, 0.200000003, 0.5)
1452
o48.BottomSurface = Enum.SurfaceType.Smooth
1453
o48.TopSurface = Enum.SurfaceType.Smooth
1454
o49 = Instance.new("SpecialMesh")
1455
o49.Parent = o48
1456
o49.MeshId = "rbxassetid://990671252"
1457
o49.Scale = Vector3.new(1, 0.400000006, 1)
1458
o49.TextureId = "rbxassetid://2114473"
1459
o49.MeshType = Enum.MeshType.FileMesh
1460
o50 = Instance.new("Part")
1461
o50.Name = "25"
1462
o50.Parent = o1
1463
o50.Position = Vector3.new(-3, 0.200000018, 0)
1464
o50.Anchored = true
1465
o50.CFrame = CFrame.new(-3, 0.200000018, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1)
1466
o50.CanCollide = false
1467
o50.Size = Vector3.new(0.5, 0.200000003, 0.5)
1468
o50.BottomSurface = Enum.SurfaceType.Smooth
1469
o50.TopSurface = Enum.SurfaceType.Smooth
1470
o51 = Instance.new("SpecialMesh")
1471
o51.Parent = o50
1472
o51.MeshId = "rbxassetid://990671252"
1473
o51.Scale = Vector3.new(1, 0.400000006, 1)
1474
o51.TextureId = "rbxassetid://2114473"
1475
o51.MeshType = Enum.MeshType.FileMesh
1476
o52 = Instance.new("Part")
1477
o52.Name = "5"
1478
o52.Parent = o1
1479
o52.Position = Vector3.new(7, 0.200000018, 0)
1480
o52.Anchored = true
1481
o52.CFrame = CFrame.new(7, 0.200000018, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1)
1482
o52.CanCollide = false
1483
o52.Size = Vector3.new(0.5, 0.200000003, 0.5)
1484
o52.BottomSurface = Enum.SurfaceType.Smooth
1485
o52.TopSurface = Enum.SurfaceType.Smooth
1486
o53 = Instance.new("SpecialMesh")
1487
o53.Parent = o52
1488
o53.MeshId = "rbxassetid://990671252"
1489
o53.Scale = Vector3.new(1, 0.400000006, 1)
1490
o53.TextureId = "rbxassetid://2114473"
1491
o53.MeshType = Enum.MeshType.FileMesh
1492
o54 = Instance.new("Part")
1493
o54.Name = "35"
1494
o54.Parent = o1
1495
o54.Position = Vector3.new(-8, 0.200000018, 0)
1496
o54.Anchored = true
1497
o54.CFrame = CFrame.new(-8, 0.200000018, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1)
1498
o54.CanCollide = false
1499
o54.Size = Vector3.new(0.5, 0.200000003, 0.5)
1500
o54.BottomSurface = Enum.SurfaceType.Smooth
1501
o54.TopSurface = Enum.SurfaceType.Smooth
1502
o55 = Instance.new("SpecialMesh")
1503
o55.Parent = o54
1504
o55.MeshId = "rbxassetid://990671252"
1505
o55.Scale = Vector3.new(1, 0.400000006, 1)
1506
o55.TextureId = "rbxassetid://2114473"
1507
o55.MeshType = Enum.MeshType.FileMesh
1508
o56 = Instance.new("Part")
1509
o56.Name = "16"
1510
o56.Parent = o1
1511
o56.Position = Vector3.new(1.5, 0.200000018, 0)
1512
o56.Anchored = true
1513
o56.CFrame = CFrame.new(1.5, 0.200000018, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1)
1514
o56.CanCollide = false
1515
o56.Size = Vector3.new(0.5, 0.200000003, 0.5)
1516
o56.BottomSurface = Enum.SurfaceType.Smooth
1517
o56.TopSurface = Enum.SurfaceType.Smooth
1518
o57 = Instance.new("SpecialMesh")
1519
o57.Parent = o56
1520
o57.MeshId = "rbxassetid://990671252"
1521
o57.Scale = Vector3.new(1, 0.400000006, 1)
1522
o57.TextureId = "rbxassetid://2114473"
1523
o57.MeshType = Enum.MeshType.FileMesh
1524
o58 = Instance.new("Part")
1525
o58.Name = "6"
1526
o58.Parent = o1
1527
o58.Position = Vector3.new(6.5, 0.200000018, 0)
1528
o58.Anchored = true
1529
o58.CFrame = CFrame.new(6.5, 0.200000018, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1)
1530
o58.CanCollide = false
1531
o58.Size = Vector3.new(0.5, 0.200000003, 0.5)
1532
o58.BottomSurface = Enum.SurfaceType.Smooth
1533
o58.TopSurface = Enum.SurfaceType.Smooth
1534
o59 = Instance.new("SpecialMesh")
1535
o59.Parent = o58
1536
o59.MeshId = "rbxassetid://990671252"
1537
o59.Scale = Vector3.new(1, 0.400000006, 1)
1538
o59.TextureId = "rbxassetid://2114473"
1539
o59.MeshType = Enum.MeshType.FileMesh
1540
o60 = Instance.new("Part")
1541
o60.Name = "26"
1542
o60.Parent = o1
1543
o60.Position = Vector3.new(-3.5, 0.200000018, 0)
1544
o60.Anchored = true
1545
o60.CFrame = CFrame.new(-3.5, 0.200000018, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1)
1546
o60.CanCollide = false
1547
o60.Size = Vector3.new(0.5, 0.200000003, 0.5)
1548
o60.BottomSurface = Enum.SurfaceType.Smooth
1549
o60.TopSurface = Enum.SurfaceType.Smooth
1550
o61 = Instance.new("SpecialMesh")
1551
o61.Parent = o60
1552
o61.MeshId = "rbxassetid://990671252"
1553
o61.Scale = Vector3.new(1, 0.400000006, 1)
1554
o61.TextureId = "rbxassetid://2114473"
1555
o61.MeshType = Enum.MeshType.FileMesh
1556
o62 = Instance.new("Part")
1557
o62.Name = "36"
1558
o62.Parent = o1
1559
o62.Position = Vector3.new(-8.5, 0.200000018, 0)
1560
o62.Anchored = true
1561
o62.CFrame = CFrame.new(-8.5, 0.200000018, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1)
1562
o62.CanCollide = false
1563
o62.Size = Vector3.new(0.5, 0.200000003, 0.5)
1564
o62.BottomSurface = Enum.SurfaceType.Smooth
1565
o62.TopSurface = Enum.SurfaceType.Smooth
1566
o63 = Instance.new("SpecialMesh")
1567
o63.Parent = o62
1568
o63.MeshId = "rbxassetid://990671252"
1569
o63.Scale = Vector3.new(1, 0.400000006, 1)
1570
o63.TextureId = "rbxassetid://2114473"
1571
o63.MeshType = Enum.MeshType.FileMesh
1572
o64 = Instance.new("Part")
1573
o64.Name = "17"
1574
o64.Parent = o1
1575
o64.Position = Vector3.new(1, 0.200000018, 0)
1576
o64.Anchored = true
1577
o64.CFrame = CFrame.new(1, 0.200000018, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1)
1578
o64.CanCollide = false
1579
o64.Size = Vector3.new(0.5, 0.200000003, 0.5)
1580
o64.BottomSurface = Enum.SurfaceType.Smooth
1581
o64.TopSurface = Enum.SurfaceType.Smooth
1582
o65 = Instance.new("SpecialMesh")
1583
o65.Parent = o64
1584
o65.MeshId = "rbxassetid://990671252"
1585
o65.Scale = Vector3.new(1, 0.400000006, 1)
1586
o65.TextureId = "rbxassetid://2114473"
1587
o65.MeshType = Enum.MeshType.FileMesh
1588
o66 = Instance.new("Part")
1589
o66.Name = "27"
1590
o66.Parent = o1
1591
o66.Position = Vector3.new(-4, 0.200000018, 0)
1592
o66.Anchored = true
1593
o66.CFrame = CFrame.new(-4, 0.200000018, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1)
1594
o66.CanCollide = false
1595
o66.Size = Vector3.new(0.5, 0.200000003, 0.5)
1596
o66.BottomSurface = Enum.SurfaceType.Smooth
1597
o66.TopSurface = Enum.SurfaceType.Smooth
1598
o67 = Instance.new("SpecialMesh")
1599
o67.Parent = o66
1600
o67.MeshId = "rbxassetid://990671252"
1601
o67.Scale = Vector3.new(1, 0.400000006, 1)
1602
o67.TextureId = "rbxassetid://2114473"
1603
o67.MeshType = Enum.MeshType.FileMesh
1604
o68 = Instance.new("Part")
1605
o68.Name = "7"
1606
o68.Parent = o1
1607
o68.Position = Vector3.new(6, 0.200000018, 0)
1608
o68.Anchored = true
1609
o68.CFrame = CFrame.new(6, 0.200000018, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1)
1610
o68.CanCollide = false
1611
o68.Size = Vector3.new(0.5, 0.200000003, 0.5)
1612
o68.BottomSurface = Enum.SurfaceType.Smooth
1613
o68.TopSurface = Enum.SurfaceType.Smooth
1614
o69 = Instance.new("SpecialMesh")
1615
o69.Parent = o68
1616
o69.MeshId = "rbxassetid://990671252"
1617
o69.Scale = Vector3.new(1, 0.400000006, 1)
1618
o69.TextureId = "rbxassetid://2114473"
1619
o69.MeshType = Enum.MeshType.FileMesh
1620
o70 = Instance.new("Part")
1621
o70.Name = "37"
1622
o70.Parent = o1
1623
o70.Position = Vector3.new(-9, 0.200000018, 0)
1624
o70.Anchored = true
1625
o70.CFrame = CFrame.new(-9, 0.200000018, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1)
1626
o70.CanCollide = false
1627
o70.Size = Vector3.new(0.5, 0.200000003, 0.5)
1628
o70.BottomSurface = Enum.SurfaceType.Smooth
1629
o70.TopSurface = Enum.SurfaceType.Smooth
1630
o71 = Instance.new("SpecialMesh")
1631
o71.Parent = o70
1632
o71.MeshId = "rbxassetid://990671252"
1633
o71.Scale = Vector3.new(1, 0.400000006, 1)
1634
o71.TextureId = "rbxassetid://2114473"
1635
o71.MeshType = Enum.MeshType.FileMesh
1636
o72 = Instance.new("Part")
1637
o72.Name = "8"
1638
o72.Parent = o1
1639
o72.Position = Vector3.new(5.5, 0.200000018, 0)
1640
o72.Anchored = true
1641
o72.CFrame = CFrame.new(5.5, 0.200000018, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1)
1642
o72.CanCollide = false
1643
o72.Size = Vector3.new(0.5, 0.200000003, 0.5)
1644
o72.BottomSurface = Enum.SurfaceType.Smooth
1645
o72.TopSurface = Enum.SurfaceType.Smooth
1646
o73 = Instance.new("SpecialMesh")
1647
o73.Parent = o72
1648
o73.MeshId = "rbxassetid://990671252"
1649
o73.Scale = Vector3.new(1, 0.400000006, 1)
1650
o73.TextureId = "rbxassetid://2114473"
1651
o73.MeshType = Enum.MeshType.FileMesh
1652
o74 = Instance.new("Part")
1653
o74.Name = "18"
1654
o74.Parent = o1
1655
o74.Position = Vector3.new(0.5, 0.200000018, 0)
1656
o74.Anchored = true
1657
o74.CFrame = CFrame.new(0.5, 0.200000018, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1)
1658
o74.CanCollide = false
1659
o74.Size = Vector3.new(0.5, 0.200000003, 0.5)
1660
o74.BottomSurface = Enum.SurfaceType.Smooth
1661
o74.TopSurface = Enum.SurfaceType.Smooth
1662
o75 = Instance.new("SpecialMesh")
1663
o75.Parent = o74
1664
o75.MeshId = "rbxassetid://990671252"
1665
o75.Scale = Vector3.new(1, 0.400000006, 1)
1666
o75.TextureId = "rbxassetid://2114473"
1667
o75.MeshType = Enum.MeshType.FileMesh
1668
o76 = Instance.new("Part")
1669
o76.Name = "28"
1670
o76.Parent = o1
1671
o76.Position = Vector3.new(-4.5, 0.200000018, 0)
1672
o76.Anchored = true
1673
o76.CFrame = CFrame.new(-4.5, 0.200000018, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1)
1674
o76.CanCollide = false
1675
o76.Size = Vector3.new(0.5, 0.200000003, 0.5)
1676
o76.BottomSurface = Enum.SurfaceType.Smooth
1677
o76.TopSurface = Enum.SurfaceType.Smooth
1678
o77 = Instance.new("SpecialMesh")
1679
o77.Parent = o76
1680
o77.MeshId = "rbxassetid://990671252"
1681
o77.Scale = Vector3.new(1, 0.400000006, 1)
1682
o77.TextureId = "rbxassetid://2114473"
1683
o77.MeshType = Enum.MeshType.FileMesh
1684
o78 = Instance.new("Part")
1685
o78.Name = "38"
1686
o78.Parent = o1
1687
o78.Position = Vector3.new(-9.5, 0.200000018, 0)
1688
o78.Anchored = true
1689
o78.CFrame = CFrame.new(-9.5, 0.200000018, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1)
1690
o78.CanCollide = false
1691
o78.Size = Vector3.new(0.5, 0.200000003, 0.5)
1692
o78.BottomSurface = Enum.SurfaceType.Smooth
1693
o78.TopSurface = Enum.SurfaceType.Smooth
1694
o79 = Instance.new("SpecialMesh")
1695
o79.Parent = o78
1696
o79.MeshId = "rbxassetid://990671252"
1697
o79.Scale = Vector3.new(1, 0.400000006, 1)
1698
o79.TextureId = "rbxassetid://2114473"
1699
o79.MeshType = Enum.MeshType.FileMesh
1700
o80 = Instance.new("SpecialMesh")
1701
o80.Parent = o1
1702
o80.MeshId = "rbxassetid://990671252"
1703
o80.Scale = Vector3.new(40, 0.400000006, 2)
1704
o80.TextureId = "rbxassetid://2114473"
1705
o80.VertexColor = Vector3.new(0, 0, 0)
1706
o80.MeshType = Enum.MeshType.FileMesh
1707
mas.Parent = workspace
1708
mas:MakeJoints()
1709
local mas1 = mas:GetChildren()
1710
for i=1,#mas1 do
1711
	mas1[i].Parent = game.Players.LocalPlayer.Character
1712
	ypcall(function() mas1[i]:MakeJoints() end)
1713
end
1714
mas:Destroy()
1715
for i=1,#cors do
1716
coroutine.resume(cors[i])
1717
end
1718
1719
local Height=20 -- Max height of the bars
1720
local plr=game.Players.LocalPlayer
1721
1722
o81 = Instance.new("Sound")
1723
o81.Parent = plr.Character.Torso
1724
o81.SoundId = "rbxassetid://508162596"
1725
o81.Volume = 3
1726
o81.Looped = true
1727
1728
-- Objects
1729
-- Objects
1730
1731
local MusicGui = Instance.new("ScreenGui")
1732
local MainFrame = Instance.new("Frame")
1733
local SongName = Instance.new("TextLabel")
1734
local SavedSongs = Instance.new("TextLabel")
1735
local OpenSaved = Instance.new("TextButton")
1736
local Play = Instance.new("TextButton")
1737
local Searchcat = Instance.new("TextBox")
1738
local ID = Instance.new("TextBox")
1739
local Search = Instance.new("TextButton")
1740
local Pause = Instance.new("TextButton")
1741
local Resume = Instance.new("TextButton")
1742
local Close = Instance.new("TextButton")
1743
local CurrentVolume = Instance.new("TextLabel")
1744
local VolUp = Instance.new("TextButton")
1745
local VolDown = Instance.new("TextButton")
1746
local Playlist = Instance.new("TextLabel")
1747
local check = Instance.new("TextButton")
1748
local skip = Instance.new("TextButton")
1749
local forward = Instance.new("TextButton")
1750
local rewind = Instance.new("TextButton")
1751
local previous = Instance.new("TextButton")
1752
local stime = Instance.new("TextLabel")
1753
local Settings = Instance.new("TextButton")
1754
local SavedList = Instance.new("Frame")
1755
local fav = Instance.new("TextButton")
1756
local close = Instance.new("TextButton")
1757
local song = Instance.new("TextButton")
1758
local Favs = Instance.new("Frame")
1759
local Title = Instance.new("TextLabel")
1760
local close_2 = Instance.new("TextButton")
1761
local Open = Instance.new("TextButton")
1762
1763
-- Properties
1764
MusicGui.Name = "Music Gui"
1765
MusicGui.Parent = game.Players.LocalPlayer.PlayerGui
1766
1767
MainFrame.Name = "MainFrame"
1768
MainFrame.Parent = MusicGui
1769
MainFrame.BackgroundColor3 = Color3.new(0, 0, 0)
1770
MainFrame.BackgroundTransparency = 0.34999999403954
1771
MainFrame.BorderColor3 = Color3.new(0.403922, 0.403922, 0.403922)
1772
MainFrame.BorderSizePixel = 5
1773
MainFrame.Position = UDim2.new(0, 0, 0.349999994, 0)
1774
MainFrame.Size = UDim2.new(0.250000003, 0, 0.349999994, 0)
1775
1776
SongName.Name = "SongName"
1777
SongName.Parent = MainFrame
1778
SongName.BackgroundColor3 = Color3.new(0, 0, 0)
1779
SongName.Position = UDim2.new(0.100000001, 0, 0.100000001, 0)
1780
SongName.Size = UDim2.new(0.699999988, 0, 0.100000001, 0)
1781
SongName.Font = Enum.Font.SourceSans
1782
SongName.FontSize = Enum.FontSize.Size14
1783
SongName.Text = "Song"
1784
SongName.TextColor3 = Color3.new(1, 1, 1)
1785
SongName.TextScaled = true
1786
SongName.TextWrapped = true
1787
SongName.TextXAlignment = Enum.TextXAlignment.Left
1788
1789
SavedSongs.Name = "SavedSongs"
1790
SavedSongs.Parent = MainFrame
1791
SavedSongs.BackgroundColor3 = Color3.new(0, 0, 0)
1792
SavedSongs.Position = UDim2.new(0.100000001, 0, 0.400000006, 0)
1793
SavedSongs.Size = UDim2.new(0.699999988, 0, 0.100000001, 0)
1794
SavedSongs.Font = Enum.Font.SourceSans
1795
SavedSongs.FontSize = Enum.FontSize.Size14
1796
SavedSongs.Text = "Saved"
1797
SavedSongs.TextColor3 = Color3.new(1, 1, 1)
1798
SavedSongs.TextScaled = true
1799
SavedSongs.TextWrapped = true
1800
SavedSongs.TextXAlignment = Enum.TextXAlignment.Left
1801
1802
OpenSaved.Name = "OpenSaved"
1803
OpenSaved.Parent = MainFrame
1804
OpenSaved.BackgroundColor3 = Color3.new(0, 0, 0)
1805
OpenSaved.Position = UDim2.new(0.800000012, 0, 0.400000006, 0)
1806
OpenSaved.Size = UDim2.new(0.100000001, 0, 0.100000001, 0)
1807
OpenSaved.Font = Enum.Font.SourceSans
1808
OpenSaved.FontSize = Enum.FontSize.Size14
1809
OpenSaved.Text = ">"
1810
OpenSaved.TextColor3 = Color3.new(1, 1, 1)
1811
OpenSaved.TextScaled = true
1812
OpenSaved.TextWrapped = true
1813
1814
Play.Name = "Play"
1815
Play.Parent = MainFrame
1816
Play.BackgroundColor3 = Color3.new(0, 0, 0)
1817
Play.Position = UDim2.new(0.819999993, 0, 0.25, 0)
1818
Play.Size = UDim2.new(0.100000001, 0, 0.100000001, 0)
1819
Play.Font = Enum.Font.SourceSans
1820
Play.FontSize = Enum.FontSize.Size14
1821
Play.Text = "Play"
1822
Play.TextColor3 = Color3.new(1, 1, 1)
1823
Play.TextScaled = true
1824
Play.TextWrapped = true
1825
1826
Searchcat.Name = "Searchcat"
1827
Searchcat.Parent = MainFrame
1828
Searchcat.BackgroundColor3 = Color3.new(0, 0, 0)
1829
Searchcat.Position = UDim2.new(0.100000001, 0, 0.550000012, 0)
1830
Searchcat.Selectable = false
1831
Searchcat.Size = UDim2.new(0.699999988, 0, 0.100000001, 0)
1832
Searchcat.Font = Enum.Font.SourceSans
1833
Searchcat.FontSize = Enum.FontSize.Size14
1834
Searchcat.Text = "Search"
1835
Searchcat.TextColor3 = Color3.new(1, 1, 1)
1836
Searchcat.TextScaled = true
1837
Searchcat.TextWrapped = true
1838
Searchcat.TextXAlignment = Enum.TextXAlignment.Left
1839
1840
ID.Name = "ID"
1841
ID.Parent = MainFrame
1842
ID.BackgroundColor3 = Color3.new(0, 0, 0)
1843
ID.Position = UDim2.new(0.100000001, 0, 0.25, 0)
1844
ID.Selectable = false
1845
ID.Size = UDim2.new(0.699999988, 0, 0.100000001, 0)
1846
ID.Font = Enum.Font.SourceSans
1847
ID.FontSize = Enum.FontSize.Size14
1848
ID.Text = "ID"
1849
ID.TextColor3 = Color3.new(1, 1, 1)
1850
ID.TextScaled = true
1851
ID.TextWrapped = true
1852
ID.TextXAlignment = Enum.TextXAlignment.Left
1853
1854
Search.Name = "Search"
1855
Search.Parent = MainFrame
1856
Search.BackgroundColor3 = Color3.new(0, 0, 0)
1857
Search.Position = UDim2.new(0.819999993, 0, 0.550000012, 0)
1858
Search.Size = UDim2.new(0.100000001, 0, 0.100000001, 0)
1859
Search.Font = Enum.Font.SourceSans
1860
Search.FontSize = Enum.FontSize.Size14
1861
Search.Text = "Search"
1862
Search.TextColor3 = Color3.new(1, 1, 1)
1863
Search.TextScaled = true
1864
Search.TextWrapped = true
1865
1866
Pause.Name = "Pause"
1867
Pause.Parent = MainFrame
1868
Pause.BackgroundColor3 = Color3.new(0, 0, 0)
1869
Pause.Position = UDim2.new(0.425000012, 0, 0.699999988, 0)
1870
Pause.Size = UDim2.new(0.100000001, 0, 0.100000001, 0)
1871
Pause.Font = Enum.Font.SourceSans
1872
Pause.FontSize = Enum.FontSize.Size14
1873
Pause.Text = "Pause"
1874
Pause.TextColor3 = Color3.new(1, 1, 1)
1875
Pause.TextScaled = true
1876
Pause.TextWrapped = true
1877
1878
Resume.Name = "Resume"
1879
Resume.Parent = MainFrame
1880
Resume.BackgroundColor3 = Color3.new(0, 0, 0)
1881
Resume.Position = UDim2.new(0.550000012, 0, 0.699999988, 0)
1882
Resume.Size = UDim2.new(0.100000001, 0, 0.100000001, 0)
1883
Resume.Font = Enum.Font.SourceSans
1884
Resume.FontSize = Enum.FontSize.Size14
1885
Resume.Text = "Play"
1886
Resume.TextColor3 = Color3.new(1, 1, 1)
1887
Resume.TextScaled = true
1888
Resume.TextWrapped = true
1889
1890
Close.Name = "Close"
1891
Close.Parent = MainFrame
1892
Close.BackgroundColor3 = Color3.new(0, 0, 0)
1893
Close.Position = UDim2.new(0.949999988, 0, 0, 0)
1894
Close.Size = UDim2.new(0.0500000007, 0, 1, 0)
1895
Close.Font = Enum.Font.SourceSans
1896
Close.FontSize = Enum.FontSize.Size14
1897
Close.Text = "<"
1898
Close.TextColor3 = Color3.new(1, 1, 1)
1899
Close.TextWrapped = true
1900
1901
CurrentVolume.Name = "CurrentVolume"
1902
CurrentVolume.Parent = MainFrame
1903
CurrentVolume.BackgroundColor3 = Color3.new(0, 0, 0)
1904
CurrentVolume.Position = UDim2.new(0.699999988, 0, 0.699999988, 0)
1905
CurrentVolume.Size = UDim2.new(0.100000001, 0, 0.100000001, 0)
1906
CurrentVolume.Font = Enum.Font.SourceSans
1907
CurrentVolume.FontSize = Enum.FontSize.Size14
1908
CurrentVolume.Text = "0"
1909
CurrentVolume.TextColor3 = Color3.new(1, 1, 1)
1910
1911
VolUp.Name = "VolUp"
1912
VolUp.Parent = MainFrame
1913
VolUp.BackgroundColor3 = Color3.new(0, 0, 0)
1914
VolUp.Position = UDim2.new(0.800000012, 0, 0.699999988, 0)
1915
VolUp.Size = UDim2.new(0.0500000007, 0, 0.100000001, 0)
1916
VolUp.Font = Enum.Font.SourceSans
1917
VolUp.FontSize = Enum.FontSize.Size14
1918
VolUp.Text = "+"
1919
VolUp.TextColor3 = Color3.new(1, 1, 1)
1920
VolUp.TextScaled = true
1921
VolUp.TextWrapped = true
1922
1923
VolDown.Name = "VolDown"
1924
VolDown.Parent = MainFrame
1925
VolDown.BackgroundColor3 = Color3.new(0, 0, 0)
1926
VolDown.Position = UDim2.new(0.675000012, 0, 0.699999988, 0)
1927
VolDown.Size = UDim2.new(0.0500000007, 0, 0.100000001, 0)
1928
VolDown.Font = Enum.Font.SourceSans
1929
VolDown.FontSize = Enum.FontSize.Size14
1930
VolDown.Text = "-"
1931
VolDown.TextColor3 = Color3.new(1, 1, 1)
1932
VolDown.TextScaled = true
1933
VolDown.TextWrapped = true
1934
1935
Playlist.Name = "Playlist"
1936
Playlist.Parent = MainFrame
1937
Playlist.BackgroundColor3 = Color3.new(1, 1, 1)
1938
Playlist.BackgroundTransparency = 1
1939
Playlist.Position = UDim2.new(0.350000006, 0, 0.850000024, 0)
1940
Playlist.Size = UDim2.new(0.300000012, 0, 0.100000001, 0)
1941
Playlist.Font = Enum.Font.SourceSans
1942
Playlist.FontSize = Enum.FontSize.Size14
1943
Playlist.Text = "Playlist"
1944
Playlist.TextColor3 = Color3.new(1, 1, 1)
1945
Playlist.TextScaled = true
1946
Playlist.TextWrapped = true
1947
1948
check.Name = "check"
1949
check.Parent = MainFrame
1950
check.BackgroundColor3 = Color3.new(0, 0, 0)
1951
check.Position = UDim2.new(0.649999976, 0, 0.870000005, 0)
1952
check.Size = UDim2.new(0.0500000007, 0, 0.0700000003, 0)
1953
check.Font = Enum.Font.SourceSans
1954
check.FontSize = Enum.FontSize.Size14
1955
check.Text = ""
1956
check.TextColor3 = Color3.new(1, 1, 1)
1957
1958
skip.Name = "skip"
1959
skip.Parent = MainFrame
1960
skip.BackgroundColor3 = Color3.new(0, 0, 0)
1961
skip.BorderColor3 = Color3.new(0, 0, 0)
1962
skip.Position = UDim2.new(0.310000002, 0, 0.699999988, 0)
1963
skip.Size = UDim2.new(0.0500000007, 0, 0.100000001, 0)
1964
skip.Font = Enum.Font.SourceSans
1965
skip.FontSize = Enum.FontSize.Size14
1966
skip.Text = ">>"
1967
skip.TextColor3 = Color3.new(1, 1, 1)
1968
skip.TextScaled = true
1969
skip.TextWrapped = true
1970
1971
forward.Name = "forward"
1972
forward.Parent = MainFrame
1973
forward.BackgroundColor3 = Color3.new(0, 0, 0)
1974
forward.Position = UDim2.new(0.239999995, 0, 0.699999988, 0)
1975
forward.Size = UDim2.new(0.0500000007, 0, 0.100000001, 0)
1976
forward.Font = Enum.Font.SourceSans
1977
forward.FontSize = Enum.FontSize.Size14
1978
forward.Text = ">"
1979
forward.TextColor3 = Color3.new(1, 1, 1)
1980
forward.TextScaled = true
1981
forward.TextWrapped = true
1982
1983
rewind.Name = "rewind"
1984
rewind.Parent = MainFrame
1985
rewind.BackgroundColor3 = Color3.new(0, 0, 0)
1986
rewind.Position = UDim2.new(0.170000002, 0, 0.699999988, 0)
1987
rewind.Size = UDim2.new(0.0500000007, 0, 0.100000001, 0)
1988
rewind.Font = Enum.Font.SourceSans
1989
rewind.FontSize = Enum.FontSize.Size14
1990
rewind.Text = "<"
1991
rewind.TextColor3 = Color3.new(1, 1, 1)
1992
rewind.TextScaled = true
1993
rewind.TextWrapped = true
1994
1995
previous.Name = "previous"
1996
previous.Parent = MainFrame
1997
previous.BackgroundColor3 = Color3.new(0, 0, 0)
1998
previous.Position = UDim2.new(0.100000001, 0, 0.699999988, 0)
1999
previous.Size = UDim2.new(0.0500000007, 0, 0.100000001, 0)
2000
previous.Font = Enum.Font.SourceSans
2001
previous.FontSize = Enum.FontSize.Size14
2002
previous.Text = "<<"
2003
previous.TextColor3 = Color3.new(1, 1, 1)
2004
previous.TextScaled = true
2005
previous.TextWrapped = true
2006
2007
stime.Name = "time"
2008
stime.Parent = MainFrame
2009
stime.BackgroundColor3 = Color3.new(1, 1, 1)
2010
stime.BackgroundTransparency = 1
2011
stime.Position = UDim2.new(0.100000001, 0, 0.850000024, 0)
2012
stime.Size = UDim2.new(0.300000012, 0, 0.100000001, 0)
2013
stime.Font = Enum.Font.SourceSans
2014
stime.FontSize = Enum.FontSize.Size14
2015
stime.Text = "--:--:--/--:--:--"
2016
stime.TextColor3 = Color3.new(1, 1, 1)
2017
2018
Settings.Name = "Settings"
2019
Settings.Parent = MainFrame
2020
Settings.BackgroundColor3 = Color3.new(0, 0, 0)
2021
Settings.Position = UDim2.new(0.720000029, 0, 0.850000024, 0)
2022
Settings.Size = UDim2.new(0.200000003, 0, 0.100000001, 0)
2023
Settings.Font = Enum.Font.SourceSans
2024
Settings.FontSize = Enum.FontSize.Size14
2025
Settings.Text = "Settings"
2026
Settings.TextColor3 = Color3.new(1, 1, 1)
2027
Settings.TextScaled = true
2028
Settings.TextWrapped = true
2029
2030
SavedList.Name = "SavedList"
2031
SavedList.Parent = MusicGui
2032
SavedList.BackgroundColor3 = Color3.new(0, 0, 0)
2033
SavedList.BackgroundTransparency = 0.25
2034
SavedList.Position = UDim2.new(0.2,0,-1.1,0)
2035
SavedList.Size = UDim2.new(0.200000003, 0, 1, 0)
2036
2037
fav.Name = "fav"
2038
fav.Parent = SavedList
2039
fav.BackgroundColor3 = Color3.new(0, 0, 0)
2040
fav.BorderColor3 = Color3.new(0.243137, 0.243137, 0.243137)
2041
fav.Size = UDim2.new(1, 0, 0.0250000004, 0)
2042
fav.Font = Enum.Font.SourceSans
2043
fav.FontSize = Enum.FontSize.Size14
2044
fav.Text = "Favorites"
2045
fav.TextColor3 = Color3.new(1, 1, 1)
2046
fav.TextScaled = true
2047
fav.TextWrapped = true
2048
2049
close.Name = "close"
2050
close.Parent = SavedList
2051
close.BackgroundColor3 = Color3.new(0, 0, 0)
2052
close.BorderColor3 = Color3.new(0.243137, 0.243137, 0.243137)
2053
close.Position = UDim2.new(0, 0, 0.975000024, 0)
2054
close.Size = UDim2.new(1, 0, 0.0250000004, 0)
2055
close.Font = Enum.Font.SourceSans
2056
close.FontSize = Enum.FontSize.Size14
2057
close.Text = "^"
2058
close.TextColor3 = Color3.new(1, 1, 1)
2059
close.TextScaled = true
2060
close.TextWrapped = true
2061
2062
Favs.Name = "Favs"
2063
Favs.Parent = MusicGui
2064
Favs.BackgroundColor3 = Color3.new(0, 0, 0)
2065
Favs.BackgroundTransparency = 0.25
2066
Favs.Position = UDim2.new(0.4,0,-0.5,0)
2067
Favs.Size = UDim2.new(0.150000006, 0, 0.400000006, 0)
2068
2069
Title.Name = "Title"
2070
Title.Parent = Favs
2071
Title.BackgroundColor3 = Color3.new(0, 0, 0)
2072
Title.BorderColor3 = Color3.new(0.407843, 0.407843, 0.407843)
2073
Title.Size = UDim2.new(1, 0, 0.0599999987, 0)
2074
Title.Font = Enum.Font.SourceSans
2075
Title.FontSize = Enum.FontSize.Size14
2076
Title.Text = "Favorites"
2077
Title.TextColor3 = Color3.new(1, 1, 1)
2078
Title.TextScaled = true
2079
Title.TextWrapped = true
2080
2081
close_2.Name = "close"
2082
close_2.Parent = Favs
2083
close_2.BackgroundColor3 = Color3.new(0, 0, 0)
2084
close_2.BorderColor3 = Color3.new(0.243137, 0.243137, 0.243137)
2085
close_2.Position = UDim2.new(0, 0, 0.939999998, 0)
2086
close_2.Size = UDim2.new(1, 0, 0.0599999987, 0)
2087
close_2.Font = Enum.Font.SourceSans
2088
close_2.FontSize = Enum.FontSize.Size14
2089
close_2.Text = "^"
2090
close_2.TextColor3 = Color3.new(1, 1, 1)
2091
close_2.TextScaled = true
2092
close_2.TextWrapped = true
2093
2094
Open.Name = "Open"
2095
Open.Parent = MusicGui
2096
Open.BackgroundColor3 = Color3.new(0, 0, 0)
2097
Open.Position = UDim2.new(-0.5, 0, 0.349999994, 0)
2098
Open.Size = UDim2.new(0.00999999978, 0, 0.300000012, 0)
2099
Open.Font = Enum.Font.SourceSans
2100
Open.FontSize = Enum.FontSize.Size14
2101
Open.Text = ">"
2102
Open.TextColor3 = Color3.new(1, 1, 1)
2103
Open.TextWrapped = true
2104
wait()
2105
2106
gui = game.Players.LocalPlayer.PlayerGui['Music Gui']
2107
favs = gui.Favs
2108
saved = gui.SavedList
2109
favopen = saved.fav
2110
main = gui.MainFrame
2111
mid = main.ID
2112
search = main.Search
2113
ops = main.OpenSaved
2114
play = main.Play
2115
resume = main.Resume
2116
pause = main.Pause
2117
name = main.SongName
2118
closegui = main.Close
2119
closesave = saved.close
2120
closefav = favs.close
2121
open = gui.Open
2122
vol = main.CurrentVolume
2123
vold = main.VolDown
2124
volu = main.VolUp
2125
check = main.check
2126
list = {}
2127
2128
2129
2130
close = function()
2131
	main:TweenPosition(UDim2.new(-0.4,0,0.35,0),"Out","Back",2,true)
2132
	open:TweenPosition(UDim2.new(0,0,0.35,0),"Out","Back",1,true)
2133
	if saved.Position ~= UDim2.new(0.2,0,-1.1,0) then do
2134
		saved:TweenPosition(UDim2.new(0.2,0,-1.1,0),"Out","Back",2,true)
2135
	end
2136
	if favs.Position ~= UDim2.new(0.4,0,-0.5,0) then do
2137
		favs:TweenPosition(UDim2.new(0.4,0,-0.5,0), "Out","Back",2,true)
2138
	end
2139
	end
2140
	end
2141
end
2142
2143
openmain = function()
2144
	main:TweenPosition(UDim2.new(0,0,0.35,0),"Out","Back",1,true)
2145
	open:TweenPosition(UDim2.new(-0.2,0,0.35,0),'Out',"Back",1,true)
2146
end
2147
2148
closesaved = function()
2149
	saved:TweenPosition(UDim2.new(0.2,0,-1.1,0),"Out","Back",2,true)
2150
	if favs.Position ~= UDim2.new(0.4,0,-0.5,0) then do
2151
		favs:TweenPosition(UDim2.new(0.4,0,-0.5,0),"Out","Back",2,true)
2152
	end
2153
end
2154
end
2155
2156
closefavs = function()
2157
	favs:TweenPosition(UDim2.new(0.4,0,-0.5,0),"Out","Back",2,true)
2158
end
2159
2160
opensaved = function()
2161
	saved:TweenPosition(UDim2.new(0.2,0,0,0),"Out","Back",2,true)
2162
end
2163
2164
favoriteopen = function()
2165
	favs:TweenPosition(UDim2.new(0.4,0,0,0),"Out","Back",2,true)
2166
end
2167
2168
open.MouseButton1Down:Connect(openmain)
2169
favopen.MouseButton1Down:connect(favoriteopen)
2170
ops.MouseButton1Down:Connect(opensaved)
2171
closefav.MouseButton1Down:Connect(closefavs)
2172
closegui.MouseButton1Down:connect(close)
2173
closesave.MouseButton1Down:connect(closesaved)
2174
2175
local Soundbar=game.Players.LocalPlayer.Character.Soundbar
2176
local Sound=plr.Character.Torso.Sound
2177
local Bars={}	for i,v in next,Soundbar:children() do
2178
					if v:IsA'BasePart' then
2179
						table.insert(Bars,v)
2180
					end
2181
				end Height=Height*2
2182
local nBars,Tweens=#Bars-1,{}
2183
2184
-- EASING FUNCTIONS --
2185
local function quadIn(t,b,c,d) t=t/d; return c*t*t+b; end;
2186
local function quadOut(t,b,c,d) t=t/d; return -c*t*(t-2)+b; end;
2187
local function Quad(obj,val,ease,d)
2188
	local t,f,con,nt,st,sd=tick()
2189
	Tweens[obj]=t -- Set identifier
2190
	st=obj.Scale.Y -- Start Value
2191
	sd=val-st -- Change in Value
2192
	f=ease=='In' and quadIn or quadOut -- Choose between Out/In
2193
	con=game:GetService'RunService'.RenderStepped:connect(function() nt=tick()-t
2194
		if Tweens[obj]~=t then -- Check for override
2195
			con:disconnect()
2196
			return
2197
		end
2198
		local nv=math.max(.2,f(math.min(d,nt),st,sd,d)) -- New Value
2199
		obj.Scale=Vector3.new(.9,nv,.9)
2200
		obj.Offset=Vector3.new(0,nv/4,0)
2201
		obj.VertexColor=Vector3.new(cycle(tick()))
2202
		if nt>d then -- Easing done?
2203
			con:disconnect()
2204
			if ease~='In' then
2205
				Quad(obj,.2,'In',.3) -- Drop the bar
2206
			end
2207
		end
2208
	end)
2209
end
2210
2211
-- BAR MANIPULATION --
2212
local function CheckSet(N,S,D) -- Number, Scale, Direction
2213
	local nS=Soundbar[tostring(N)].Mesh.Scale.Y
2214
	if S>nS then
2215
		Set(N,nS+(S-nS)/3,D)
2216
	end
2217
end
2218
2219
function Set(N,S,D) -- Number, Scale, Direction
2220
	Quad(Soundbar[tostring(N)].Mesh,S,'Out',.1) -- Grabs the bar and tweens
2221
	if N>0 and D~=1 then -- Checks left for smaller bars to manipulate
2222
		CheckSet(N-1,S,-1)
2223
	end
2224
	if N<nBars and D~=-1 then -- Checks right...
2225
		CheckSet(N+1,S,1)
2226
	end
2227
end
2228
2229
-- RENDER LOOP --
2230
local MPL,PL,curr=0 curr=Sound.SoundId
2231
spawn(function()
2232
game:service'RunService'.RenderStepped:connect(function()
2233
	PL=Sound.PlaybackLoudness
2234
	if Sound.IsPlaying and PL==PL then -- Sound is playing & PlaybackLoudness is not undefined
2235
		if curr~=Sound.SoundId then MPL=0 -- Reset the relative Max PlaybackLoudness on song change
2236
			curr=Sound.SoundId
2237
		end
2238
		MPL=math.max(PL,MPL) PL=PL/MPL -- Normalize PL based on relative Max PlaybackLoudness
2239
		if PL==PL then
2240
			Set(math.floor(PL*nBars),PL*Height*1) -- Modify bar relative to PlaybackLoudness
2241
		end
2242
	end
2243
end)
2244
end)
2245
2246
local Locked
2247
2248
2249
idinput = function()
2250
	local midcurrent = mid.Text
2251
	Sound:Stop()
2252
	Sound.SoundId='rbxassetid://'..midcurrent..''
2253
	Sound:Play()
2254
end
2255
2256
volup = function()
2257
	Sound.Volume = Sound.Volume + 1
2258
end
2259
2260
voldown = function()
2261
	Sound.Volume = Sound.Volume - 1
2262
end
2263
2264
updateinfo = function()
2265
	vol.Text = ""..Sound.Volume..""
2266
	stime.Text = ""..(math.floor(Sound.TimePosition)).."/"..(math.floor(Sound.TimeLength))..""
2267
end
2268
2269
local function Chat(plr,msg)
2270
	if msg:sub(1,6):lower()=='sound/' and (not Locked or plr.Name=='FangxWulf') then
2271
		local id=tonumber(msg:match'%d+')
2272
		if not id then return end
2273
		Sound:Stop()
2274
		Sound.SoundId='rbxassetid://'..msg:match'%d+'
2275
		Sound:Play()
2276
	elseif msg:lower()=='lock/' and plr.Name=='FangxWulf' then
2277
		Locked=not Locked
2278
	end
2279
end
2280
songs = 0
2281
2282
newsong = function(name,id)
2283
	songs = songs+1
2284
	song = Instance.new('TextButton',saved)
2285
	song.Name = ""..name..""
2286
	song.BackgroundColor3 = Color3.new(0, 0, 0)
2287
	song.Position = UDim2.new(0, 0, ((0.035 * songs)-0.035)+0.03, 0)
2288
	song.Size = UDim2.new(1, 0, 0.0350, 0)
2289
	song.Font = Enum.Font.SourceSans
2290
	song.FontSize = Enum.FontSize.Size14
2291
	song.Text = ""..name..""
2292
	song.TextColor3 = Color3.new(1, 1, 1)
2293
	ID = Instance.new("IntValue",song)
2294
	ID.Name = "ID"
2295
	ID.Value = ""..id..""
2296
	list[""..songs..""] = ""..id..""
2297
end
2298
2299
pauses = function()
2300
	Sound:Pause()
2301
end
2302
2303
plays = function()
2304
	Sound:Resume()
2305
end
2306
2307
2308
local CRot = 1
2309
local rad,sin,ceil=math.rad,math.sin,math.ceil
2310
2311
local p = game.Players.LocalPlayer
2312
	p.Chatted:connect(function(m)
2313
		Chat(p,m)
2314
	end)
2315
	
2316
Sound:Play()
2317
2318
local Parts = {}
2319
for Index,v in pairs(o1:children'') do
2320
	if v:IsA'Part' then
2321
		table.insert(Parts,v)
2322
	end
2323
end
2324
2325
	spawn(function()
2326
game:service'RunService'.RenderStepped:connect(function()
2327
	for Index,v in pairs(o1:children'') do
2328
		if v:IsA'Part' then
2329
v.CFrame = CFrame.new(plr.Character.Torso.Position)
2330
								*CFrame.Angles(0,rad((360/#Parts*Index+(tick())*60/(#Parts ~= 0 and #Parts or 1))%360),0)
2331
								*CFrame.new(0, -3, (5+#Parts)*.35+v.Size.X)
2332
								*CFrame.Angles(0,90+CRot,0)
2333
							end
2334
				end
2335
		end)
2336
	end)
2337
----playlist settings----
2338
pl = false
2339
pls = 1
2340
checkedp = function()
2341
	if pl == false then
2342
		pl = true
2343
		check.Text = "X"
2344
	else
2345
		pl = false
2346
		check.Text = ""
2347
	end
2348
end
2349
2350
plnext = function()
2351
	print'pass'
2352
	if pl == true then
2353
		print'pass2'
2354
		Sound.SoundId = "rbxassetid://"..list[''..pls..'']..""
2355
--		if pls < #list then
2356
			pls = pls +1
2357
--		else
2358
--			pls = 1
2359
		end
2360
	end
2361
--end
2362
2363
skips = function()
2364
	if pl == true then
2365
		Sound:Stop()
2366
		pls = pls + 1
2367
		Sound.SoundId = 'rbxassetid://'..list[''..pls..'']..''
2368
		Sound:Play()
2369
	end
2370
end
2371
2372
previouss = function()
2373
	if pl == true then
2374
		Sound:Stop()
2375
		pls = pls - 1
2376
		Sound.SoundId = 'rbxassetid://'..list[''..pls..'']..''
2377
		Sound:Play()
2378
	end
2379
end
2380
2381
ff = function()
2382
	Sound.TimePosition = Sound.TimePosition + 10
2383
	stime.Text = ""..(math.floor(Sound.TimePosition)).."/"..(math.floor(Sound.TimeLength))..""
2384
end
2385
2386
rw = function()
2387
	Sound.TimePosition = Sound.TimePosition - 10
2388
	stime.Text = ""..(math.floor(Sound.TimePosition)).."/"..(math.floor(Sound.TimeLength))..""
2389
end
2390
---------------------------------------------
2391
2392
skip.MouseButton1Down:connect(skips)
2393
rewind.MouseButton1Down:connect(rw)
2394
forward.MouseButton1Down:connect(ff)
2395
Sound.DidLoop:connect(plnext)
2396
Sound.Changed:connect(updateinfo)
2397
volu.MouseButton1Down:connect(volup)
2398
vold.MouseButton1Down:connect(voldown)
2399
play.MouseButton1Down:connect(idinput)
2400
pause.MouseButton1Down:Connect(pauses)
2401
resume.MouseButton1Down:Connect(plays)
2402
check.MouseButton1Down:connect(checkedp)
2403
------------------------Songs--------------------------------
2404
newsong("Life Goes On", 573853447)
2405
newsong("You'll Be Alright", 574538568)
2406
newsong("About You", 574539049)
2407
newsong("Starlights", 573894805)
2408
newsong("The Deeper Meaning", 574544171)
2409
newsong("The Pursuit", 573934790)
2410
newsong("About You", 574539049)
2411
newsong("Start Again", 574543658)
2412
newsong("All I Know", 573935454)
2413
newsong("God Mode", 539616479)
2414
2415
2416
2417
-------------------------------------------------------------
2418
2419
2420
for i,v in pairs(saved:GetChildren()) do
2421
   if v.Name ~= "close" and v.Name ~= "fav" then
2422
		v.MouseButton1Down:Connect(function()
2423
			mid.Text = v.ID.Value
2424
		end)
2425
	end
2426
end
2427
2428
for i,v in pairs(list)do
2429
	print(v)
2430
end
2431
--// SaviOS by SavageMunkey
2432
2433
local Host = game:service'Players'.LocalPlayer
2434
local PlayerMouse = Host:GetMouse()
2435
local Character = Host.Character
2436
2437
pcall(function()
2438
	Character.Humanoid['SaviOS'..Host.Name].Disabled=true
2439
	Character.Humanoid['SaviOS'..Host.Name]:Destroy()
2440
end)
2441
script.Name='SaviOS'..Host.Name
2442
2443
local lrs = game:service'RunService'.RenderStepped
2444
local ud,c3 = UDim2.new,Color3.new
2445
2446
local OS
2447
OS = {
2448
	Backgrounds={263065080,122603145,510593355,167312453,119945204,38397690,167312682,192050536,152026398,167312652,120582545,167493039,274050234,454292754,466900315,177053058,229293848,122646263,159102803,321434238,120214481,120480107,129805827,251350099,134993390,294851220,91427420,159103087,161729354,451983167,111563465,224033486,159103552,490565976,419023708,159111488,254890271,72090809,148038665,201380429,235907960,118966085,184001465,158549839,135040161,569012987,124111954,617785055,127976057,157765107,172813012,261956734,229544221,381428334,141204418,130675970,114611763,569627808,165460147,165460277,123128917,65246335,113000488,210624979,86219936,542893768,485873381,133109970,147298379,147297851,133461415,248254225,542822127,536363798,167312652,542895503,89552732,65151650,101805028,103684980,385601310,57939071,304922993,13511519,473575489,256418140,136004272,46076174,497195310,28143702,158772801,557860938,483527125,125134380,129296064,436986440,331063936,162704842,108531974,156021502,546688542,192509200,193859832,78289792,339807971,156513166,305407040,363144648,60043055,621825797,621828236,179089950,501279669,403674379,275918945,247421728,126655771,478203228,25719408,50358414,7460070,415408253,91215756,85243064,135112694,161131570,684101235,467373053,65891746,24960278,318592132,424415675,17266396,64198567,230444445,156269405,179089950,248285466,202899851,156314932,151133945,514648696,};
2449
	Properties = {'AllowClientInsertModels','BrickColor','Color','ShowDevelopmentGui','ResetPlayerGuiOnSpawn','Parent','CustomPhysicalProperties','WaterColor','WaterTransparency','WaterWaveSize','WaterWaveSpeed','AllowThirdPartySales','FilteringEnabled','StreamingEnabled','Gravity','FallenPartsDestroyHeight','Archivable','AbsolutePosition','AbsoluteSize','AccountAge','AccountAgeReplicate','Active','Adornee','AllowAmbientOcclusion','AllowTeamChangeOnTouch','AluminumQuality','AlwaysOnTop','Ambient','AmbientReverb','Anchored','Angularvelocity','AnimationId','Archivable','AreHingesDetected','AttachmentForward','AttachmentPoint','AttachmentPos','AttachmentRight','AttachmentUp','AutoAssignable','AutoButtonColor','AutoColorCharacters','AvailablePhysicalMemory','Axes','BackgroundColor','BackgroundColor3','BackgroundTransparency','BackSurface','BaseTextureId','BaseUrl','Bevel','Roundness','BinType','BlastPressure','BlastRadius','C0','C1','HeadColor','LeftArmColor','RightArmColor','LeftLegColor','RightLegColor','HumanoidRootPartColor','BodyColor','BodyPart','BorderColor','BorderColor3','BorderSizePixel','BottomSurface','BrickColor','Brightness','Browsable','BubbleChat','BubbleChatLifetime','BubbleChatMaxBubbles','Bulge','Button1DownConnectionCount','Button1UpConnectionCount','Button2DownConnectionCount','Button2UpConnectionCount','C0','C1','CameraMode','CameraSubject','CameraType','CanBeDropped','CanCollide','CartoonFactor','CastShadows','CelestialBodiesShown','CFrame','Cframe','Character','CharacterAppearance','CharacterAutoLoads','ChatScrollLength','ClassicChat','ClassName','ClearTextOnFocus','ClipsDescendants','CollisionSoundEnabled','CollisionSoundVolume','Color','ColorShift_Top','ColorShift_Bottom','Bottom','Top','ConstrainedValue','Contro'..'llingHumanoid','ControlMode','ConversationDistance','CoordinateFrame','CorrodedMetalQuality','CPU','CpuCount','CpuSpeed','CreatorId','CreatorType','CurrentAngle','CurrentCamera','CycleOffset','D','DataCap','DataComplexity','DataComplexityLimit','DataCost','DataReady','Deprecated','DeselectedConnectionCount','DesiredAngle','DiamondPlateQuality','Disabled','DistanceFactor','DistributedGameTime','DopplerScale','Draggable','DraggingV1','Duration','EditorFont','EditorFontSize','EditorTabWidth','ElapsedTime','Elasticity','Enabled','ExplosionType','ExtentsOffset','F0','F1','F2','F3','Face','FaceId','Faces','FieldOfView','Focus','FogColor','FogEnd','FogStart','Font','FontSize','Force','FormFactor','Friction','From','FrontSurface','GearGenreSetting','Genre','GeographicLatitude','GfxCard', 'GlobalShadows','Graphic','GrassQuality','Grip','GripForward','GripPos','GripRight','GripUp','Guest','HeadsUpDisplay','Health','Heat','Hit','Humanoid','IceQuality','Icon','IdleConnectionCount','Image','InitialPrompt','InOut','InUse','IsPaused','IsPlaying','JobId','Jump','KeyDownConnectionCount','KeyUpConnectionCount','LeftLeg','LeftRight','LeftSurface','LinkedSource','LocalPlayer','Location','Locked','LODX','LODY','Looped','Material','MaxActivationDistance','MaxCollisionSounds','MaxExtents','MaxForce','MaxHealth','MaxItems','MaxPlayers','MaxSpeed','MaxThrust','MaxTorque','MaxValue','MaxVelocity','MembershipType','MembershipTypeReplicate','MeshId','MeshType','MinValue','Modal','MouseButton1ClickConnectionCount','MouseButton1DownConnectionCount','MouseButton1UpConnectionCount','MouseButton2ClickConnectionCount','MouseButton2DownConnectionCount','MouseButton2UpConnectionCount','MouseDelta','MouseDragConnectionCount','MouseEnterConnectionCount','MouseHit','MouseLeaveConnectionCount','MouseLock','MouseMovedConnectionCount','MouseTarget','MouseTargetFilter','MouseTargetSurface','MoveConnectionCount','MoveState','MultiLine','Name','NameOcclusion','NetworkOw'..'ner','Neutral','NumPlayers','Offset','Opacity','Origin','OsPlatform','OsVer','OutdoorAmbient','OverlayTextureId','P','PantsTemplate','ParamA','ParamB','Parent','PrimaryPart','Part','Part0','Part1','Pitch','PixelShaderModel','PlaceId','PlasticQuality','PlatformStand','PlayCount','PlayerToHideFrom','PlayOnRemove','Point','Port','Position','Preliminary','PrimaryPart','PrivateWorkingSetBytes','Purpose','RAM','Reflectance','ReplicatedSelectedConnectionCount','ResizeableFaces','ResizeIncrement','Resolution','ResponseDialog','RightLeg','RightSurface','RiseVelocity','RobloxLocked','RobloxVersion','RolloffScale','RotVelocity','Scale','Score','ScriptsDisabled','SecondaryColor','Selected','ShadowColor','Shape','Shiny','ShirtTemplate','ShowDeprecatedObjects','ShowDevelopmentGui','ShowPreliminaryObjects','Sides','Sit','Size','SizeConstraint','SizeOffset','SkinColor','SkyboxBk','SkyboxDn','SkyboxFt','SkyboxLf','SkyboxRt','SkyboxUp','SlateQuality','SoundId','Source','SparkleColor','Specular','StarCount','Steer','StickyWheels','StudsBetweenTextures','StudsOffset','StudsPerTileU','StudsPerTileV','Style','Summary','SuperSa'..'feChatReplicate','Surface','Surface0','Surface1','SurfaceInput','Target','TargetFilter','TargetOffset','TargetPoint','TargetRadius','TargetSurface','TeamColor','Terrain','Text','TextBounds','TextColor','TextColor3','TextFits','TextScaled','TextStrokeColor3','TextStrokeTransparency','TextTransparency','Texture','TextureId','TextureSize','TextWrap','TextWrapped','TextXAlignment','TextYAlignment','Throttle','ThrustD','ThrustP','Ticket','Time','TimeOfDay','To','Tone','ToolTip','TopBottom','TopSurface','Torque','HumanoidRootPart','Transparency','TrussDetail','TurnD','TurnP','TurnSpeed','UnitRay','UserDialog','UserId','Value','Version','VertexColor','VideoCaptureEnabled','VideoMemory','VideoQuality','ViewSizeX','ViewSizeY','Visible','Volume','WalkDirection','WalkSpeed','WalkToPart','WalkToPoint','WheelBackwardConnectionCount','WheelForwardConnectionCount','WindowSize','WireRadius','WoodQuality','X','Y','Z'};
2450
	DecalAssets={200182847};
2451
	--//49,51,51,55,115,97,118
2452
	Sounds = {
2453
		319758951,485859421,191035676,142312040,165065112,166471137,208240682,226788368,193399717,
2454
		274427825,155949200,209864226,211626338,232560219,172427188,180115728,170968526,
2455
		148492408,177956804,132399469,218530627,234627720,182411115,188712851,176454530,
2456
		685204898,736225554,267915404,180795185,263998927,181428192,266427268,215974232,
2457
		177297354,248794208,262158959,282890395,252612142,252614631,252613867,203275374,
2458
		244763119,169898604,173060483,181065299,294185225,657230380,574818336,
2459
	};
2460
	RecentlyUsedPrograms={};
2461
	UIs={};
2462
	Logins={
2463
		{'SavageMunkey','abcd12',Color3.new(.1,.1,.1),Color3.new(1,1,1),497195310};--167312453};
2464
		{'Artiecsal','sookithearth',c3(0,0,0),c3(1,1,1),122646263},
2465
		{'Luke_Ames','xXfatphonesXx',c3(.5,0,0),c3(1,1,1),621828236},
2466
		{'Lord_Azure','AzureIsGay',c3(.3,0,0),c3(1,1,1),215152878},
2467
	};
2468
	Administrators={
2469
		'SavageMunkey',
2470
		'Aeodile',
2471
	};
2472
	Effects={};
2473
	Functions={};
2474
	Assets={};
2475
	Apps={
2476
		Qeued={};
2477
		Generated={};
2478
		Open={};
2479
	};
2480
	Settings={
2481
		Fonts = {
2482
			Header = 'Code',
2483
			Sub_Header = 'Highway',
2484
		}; 
2485
	};
2486
};
2487
2488
Functions = OS.Functions
2489
Effects = OS.Effects
2490
2491
OS.GenCode = math.random()*9e5
2492
2493
local CurrentPlayerData=nil
2494
local Official=true
2495
2496
function Functions:ConvertColor3(r,g,b)
2497
	return c3(1-(1/r),1-(10/g),1-(10/b)) --//derped
2498
end
2499
2500
function Functions:ReturnObjectProperties(Object)
2501
	assert(pcall(function() 
2502
		assert(game.IsA(Object,'Instance')) 
2503
	end),'Should be ROBLOX instance')
2504
	local Returns = {}
2505
	for _, Value in next, OS.Properties do
2506
		if pcall(function() return Object[Value] end) and (type(Object[Value]) ~= 'userdata' or not Object:FindFirstChild(Value)) then
2507
			Returns[Value] = Object[Value]
2508
		end
2509
	end
2510
	 return Returns
2511
end;
2512
2513
--print(Functions:ConvertColor3(170, 0, 255))
2514
2515
function Functions:GrabHostData()
2516
	local PlayerData=nil
2517
	local Found=0
2518
	for Index, Data in next, OS.Logins do
2519
		if Data[1] == tostring(Host) then
2520
			PlayerData=Data
2521
			Found=Found+1
2522
		end
2523
	end
2524
	if PlayerData then
2525
		CurrentPlayerData=PlayerData
2526
	else
2527
		Official=false
2528
		CurrentPlayerData={Host.Name,Host.Name:lower():sub(0,5)..'12'..math.random(-50,50),c3(.25,.25,.25),c3(1,1,1),OS.Backgrounds[math.random(1,#OS.Backgrounds)]};
2529
		script:Destroy()
2530
	end
2531
	if Found > 1 then
2532
		error('Found more than one('..Found..') data tables for '..Host.Name,2)
2533
	end
2534
end
2535
2536
Functions:GrabHostData()
2537
2538
table.foreach(CurrentPlayerData,print)
2539
2540
function Functions:GetPlayerImg(User)
2541
    local ID = 'http://www.roblox.com/Thumbs/Avatar.ashx?x=150&y=200&Format=Png&username='..tostring(User)
2542
	 return ID
2543
end
2544
2545
ypcall(function()
2546
	--workspace['mon-mon']:Destroy()
2547
end)
2548
2549
local Monitor, G, MainFrame
2550
function Functions:MakeMonitor()
2551
	pcall(function() workspace['mon-mon'..Host.Name]:Destroy() end)
2552
	local sc=Instance.new('Script', workspace)
2553
	sc.Name='mon-mon'..Host.Name
2554
	OS.Assets.FScript=sc
2555
	Monitor = Instance.new('Part', sc)
2556
	Monitor.Size = Vector3.new(24,14,.1)
2557
	Monitor.Anchored = true
2558
	Monitor.Locked=true
2559
	Monitor.Transparency=0
2560
	Monitor.Color=Color3.new(1,1,1)
2561
	Monitor.Material='Neon'
2562
	Monitor.Name='mon-mon'
2563
	Instance.new('SurfaceLight',Monitor).Face='Back'
2564
	Monitor.CanCollide = false
2565
	Monitor.TopSurface,Monitor.BottomSurface=0,0
2566
	local Flat = Instance.new('BlockMesh', Monitor)
2567
	Flat.Scale = Vector3.new(1,1,0)
2568
	spawn(function()
2569
		for i = 0,1.025,.025 do
2570
			--Monitor.Transparency = 1.3-i
2571
			lrs:wait()
2572
		end
2573
	end)
2574
end
2575
2576
function Functions:MakeNewUi(Type)
2577
	local Ui = Instance.new(Type)
2578
	
2579
	local function TypeIsA(Table, Goal)
2580
		for i,v in next, Table do
2581
			if v:lower()==Type:lower() then
2582
				Goal(Ui)
2583
			end
2584
		end
2585
	end
2586
	
2587
	Ui.ClipsDescendants = true
2588
	Ui.Size = ud(1,0,1,0)
2589
	Ui.BackgroundTransparency = 1
2590
	TypeIsA({'TextButton'}, function(tUi)
2591
		Ui.AutoButtonColor = false
2592
	end)
2593
	Ui.BackgroundColor3 = CurrentPlayerData[3]
2594
	Ui.BorderSizePixel = 0
2595
	TypeIsA({'ImageLabel','ImageButton'}, function(tUi)
2596
		
2597
	end)
2598
	TypeIsA({'TextButton','TextLabel','TextBox'}, function(tUi)
2599
		tUi.TextColor3 = CurrentPlayerData[4]
2600
		tUi.Font = OS.Settings.Fonts.Header
2601
		tUi.Text=''
2602
		tUi.FontSize = Enum.FontSize.Size18
2603
	end)
2604
	delay(.1,function()
2605
		OS.UIs[Ui.Name]={Ui,true}
2606
		local oUi=Ui
2607
		spawn(function()
2608
			repeat lrs:wait() until Ui.Parent == nil 
2609
			OS.UIs[oUi.Name]={nil,false}
2610
		end)
2611
	end)
2612
	Ui.ZIndex=7
2613
	return Ui
2614
end
2615
2616
function Functions:Center(Ui)
2617
	local co={Ui.Size.X.Offset/2,
2618
				Ui.Size.Y.Offset/2};
2619
	return ud(.5,-co[1],.5,-co[2])
2620
end
2621
2622
function Functions:CenterOffset(Ui, Offset)
2623
	local co={Ui.Size.X.Scale,
2624
				Ui.Size.X.Offset/2,
2625
				  Ui.Size.Y.Scale,
2626
				    Ui.Size.Y.Offset/2
2627
	};
2628
	return ud(.5+Offset.X.Scale,-co[2]+Offset.X.Offset,.5+Offset.Y.Scale,-co[4]+Offset.Y.Offset)
2629
end
2630
2631
local TypeDebs={};
2632
function Effects:Type(Ui, Text, Type, Delay)
2633
	TypeDebs[Ui]=false
2634
	if Type == 'In' then
2635
		local Continue = true
2636
		for i = 0,#Text do
2637
			if TypeDebs[Ui] then
2638
				Continue = false
2639
				return
2640
			end
2641
			if not Continue then 
2642
				return
2643
			end
2644
			Ui.Text = Text:sub(0,i)..'|'
2645
			wait(Delay)
2646
		end
2647
		Ui.Text = Text
2648
	elseif Type == 'Out' then
2649
		local Continue = true
2650
		for i = 0,#Text do
2651
			if TypeDebs[Ui] then
2652
				Continue = false
2653
				return
2654
			end
2655
			if not Continue then 
2656
				return
2657
			end
2658
			Ui.Text = Text:sub(0,1-i)..'|'
2659
			wait(Delay)
2660
		end
2661
		Ui.Text = Text
2662
	else
2663
		error'Please enter a TransitionType (Out, In)'
2664
	end
2665
end
2666
2667
function Functions:Sound(Id ,Rmv)
2668
	local snd=Instance.new('Sound', Character:WaitForChild'Head' or Monitor or workspace)
2669
	if Rmv then
2670
		for index,o in next, snd.Parent:children() do
2671
			if o:IsA'Sound' and o ~= snd then
2672
				o:Stop()
2673
				o:Destroy()
2674
			end
2675
		end
2676
	end
2677
	snd.EmitterSize=20
2678
	snd.SoundId=Functions:Asset(Id)
2679
	snd.Volume=.6
2680
	delay(8,function()
2681
		if not snd.Looped and snd.IsPlaying==false then
2682
			snd:Stop()
2683
			snd:Destroy()
2684
		end
2685
	end)
2686
	return snd
2687
end
2688
2689
function Effects:Underline(Ui, YOffset, XThickness, YThickness, Color, Fade)
2690
	local Label = Functions:MakeNewUi('TextLabel')
2691
	Label.BackgroundColor3 = Color
2692
	Label.BackgroundTransparency=.2
2693
	Label.Size = ud(0,0,0,YThickness)
2694
	Label.Position = Functions:CenterOffset(Label, ud(0,0,0,YOffset))
2695
	Label.Parent = Ui
2696
	Label.ZIndex = 9
2697
	if Fade then
2698
		Label.BackgroundTransparency = 1
2699
		delay(.5,function()
2700
			Label:TweenSizeAndPosition(ud(0,XThickness,0,YThickness),Functions:CenterOffset(Label,ud(0,-XThickness/2,0,YOffset)),'Out','Back',1,true)
2701
		end)
2702
		for i = 0,1.025,.025 do
2703
			Label.BackgroundTransparency = (1.2 - i)
2704
			lrs:wait()
2705
		end
2706
	else
2707
		Label.Size = ud(0,XThickness,0,YThickness)
2708
		Label.Position = Functions:CenterOffset(Label, ud(0,0,0,YOffset))
2709
	end
2710
	return Label
2711
end
2712
2713
function Functions:Asset(Id)
2714
	return 'rbxassetid://'..Id
2715
end
2716
2717
function Functions:PlayerImage(User)
2718
    return 'http://www.roblox.com/Thumbs/Avatar.ashx?x=150&y=200&Format=Png&username='..tostring(User)
2719
end
2720
2721
function Functions:LoginScreenGui(Size,ltbl,Fade)
2722
	if Host.PlayerGui:FindFirstChild'nomnompw' then
2723
	end
2724
	local limit=16
2725
	local SGui = Instance.new('ScreenGui', Host.PlayerGui)
2726
	SGui.Name='nomnompw'
2727
	local Box = Functions:MakeNewUi('TextBox')
2728
	Box.ClearTextOnFocus=true
2729
	Box.TextColor3 = CurrentPlayerData[3]
2730
	Box.TextStrokeTransparency=.9
2731
	Box.Size=Size
2732
	Box.Text = 'Enter your Password'
2733
	Box.Position=Functions:Center(Box)
2734
	Box.BackgroundTransparency=1
2735
	Box.TextStrokeColor3=CurrentPlayerData[3]
2736
	Box.Parent=SGui
2737
	Box.BackgroundColor3 = CurrentPlayerData[4]
2738
	local enabled=true
2739
	if Fade then
2740
		Box.Position = Functions:CenterOffset(Box,ud(0,0,-.4,0))
2741
		for i = 0,1,.05 do
2742
			Box.BackgroundTransparency=1-i
2743
			lrs:wait()
2744
		end
2745
		Box:CaptureFocus()
2746
	end
2747
	local ev
2748
	ev=Box.Focused:connect(function()
2749
		--ev:disconnect()
2750
		Box.ClearTextOnFocus=false
2751
	end)
2752
	local ev2
2753
	local lt=''
2754
	ev2=Box.FocusLost:connect(function()
2755
		if #Box.Text < 1 or Box.Text == 'Enter your Password' then
2756
			Box.Text='Enter your Password'
2757
			Box.ClearTextOnFocus=true
2758
		end
2759
		if Box.Text==CurrentPlayerData[2] then
2760
			ev:disconnect()
2761
			ev2:disconnect()
2762
			Box.Active=false
2763
			Box:TweenPosition(Functions:CenterOffset(Box,ud(0,0,-.55,0)),'Out','Linear',.5,true)
2764
			Box.TextStrokeTransparency=1
2765
			for i = 0,1,.05 do
2766
				Box.BackgroundTransparency=i
2767
				Box.TextTransparency=i
2768
				lrs:wait()
2769
			end
2770
			lt=Box.Text
2771
			SGui:Destroy()
2772
		end
2773
	end)
2774
	Box.BackgroundTransparency=0
2775
	if ltbl.loop then
2776
		while SGui.Parent and enabled do
2777
			lt=Box.Text
2778
			if #Box.Text>limit and Box.Text ~= 'Enter your Password' then
2779
				Box:ReleaseFocus()
2780
				Box.Active=false
2781
				local bft=Box.Text
2782
				Box.Text='Password '..limit..' character limit.'
2783
				wait(2)
2784
				Box.Text=bft:sub(0,limit)
2785
				Box.Active=true
2786
				Box:CaptureFocus()
2787
			end
2788
			if #Box.Text>1 and Box.Text ~= 'Enter your Password' then
2789
				local nt=''
2790
				ltbl.ui.Text=nt
2791
				for i = 1,#Box.Text do
2792
					nt=nt..'*'
2793
				end
2794
				ltbl.ui.Text=nt
2795
			elseif #Box.Text==0 then
2796
				if Box.Text ~= 'Enter your Password' then
2797
					Box.Text='Enter your Password'
2798
					ltbl.ui.Text='Enter your Password'
2799
					Box:ReleaseFocus()
2800
					Box.ClearTextOnFocus=true
2801
				end
2802
			end
2803
			lrs:wait()
2804
		end
2805
	end
2806
	return lt
2807
end
2808
2809
function Functions:IfRegistered(Player, Function)
2810
	local Bool = false
2811
	for Index, Data in next, OS.Logins do
2812
		local user=Data[1]
2813
		local pass=Data[2]
2814
		if user == tostring(Player) then
2815
			Bool = true
2816
		end
2817
	end
2818
	Function(Bool)
2819
end
2820
2821
function Functions:CreateProgram(Name, Id, Nick, Description, Click)
2822
	table.insert(OS.Apps.Qeued,{tostring(Name), tonumber(Id), tostring(NickName), tostring(Description), Click})
2823
end;
2824
2825
local Search
2826
function Functions:Search(Parent, Function)
2827
	for Index, Object in next, Parent:children() do
2828
		pcall(function()
2829
			Function(Object)
2830
		end)
2831
		Functions:Search(Object, Function)
2832
	end
2833
end
2834
2835
function Functions:ShowChar()
2836
	OS.Functions:Search(Character, function(Object)
2837
		if (Object:IsA'BasePart' or Object:IsA'Decal') and Object.Name ~='HumanoidRootPart' then
2838
			Object.Transparency = 0
2839
		end
2840
	end)
2841
end
2842
2843
function Functions:HideChar()
2844
	OS.Functions:Search(Character, function(Object)
2845
		if (Object:IsA'BasePart' or Object:IsA'Decal') and Object.Name ~='HumanoidRootPart' then
2846
			Object.Transparency = 1
2847
		end
2848
	end)
2849
end
2850
2851
local Notes={};
2852
Functions:CreateProgram('Notepad++', 43360681, 'N++', 'Notepad for your... "personal" needs?', function(HF,TF,CF)
2853
	local tb = Functions:MakeNewUi('TextButton')
2854
	tb.Parent=CF
2855
	tb.TextWrapped=true
2856
	table.insert(Notes,tb)
2857
	tb.Text = 'Notepad; '..#Notes
2858
	tb.TextColor3=CurrentPlayerData[3]
2859
	tb.BackgroundColor3=CurrentPlayerData[4]
2860
	tb.Font=OS.Settings.Fonts.Sub_Header
2861
	tb.TextStrokeTransparency=.9
2862
	tb.TextStrokeColor3=CurrentPlayerData[3]
2863
	tb.TextXAlignment='Left'
2864
	tb.TextYAlignment='Top'
2865
	local SGui
2866
	tb.MouseButton1Click:connect(function()
2867
		pcall(function()
2868
			SGui:Destroy()
2869
		end)
2870
		if Host.PlayerGui:FindFirstChild'nomnoemnp' then Host.PlayerGui:FindFirstChild'nomnoemnp':Destroy() end
2871
		SGui = Instance.new('ScreenGui', Host.PlayerGui)
2872
		SGui.Name='nomnoemnp'
2873
		local Box = Functions:MakeNewUi('TextBox')
2874
		Box.ClearTextOnFocus=false
2875
		Box.TextColor3 = CurrentPlayerData[3]
2876
		Box.TextStrokeTransparency=.9
2877
		Box.Size=ud(1,0,1,0)
2878
		Box.Position=ud(-1,0,0,0)
2879
		Box.Text = tb.Text
2880
		Box.Visible = false
2881
		Box.TextXAlignment='Left'
2882
		--Box.MultiLine=true
2883
		Box.TextYAlignment='Top'
2884
		Box.BackgroundTransparency=1
2885
		Box.TextStrokeColor3=CurrentPlayerData[3]
2886
		Box.Parent=SGui
2887
		Box.BackgroundColor3 = CurrentPlayerData[4]
2888
		Box:CaptureFocus()
2889
		Box.FocusLost:connect(function()
2890
			SGui:Destroy()
2891
		end)
2892
		local isub = '|'
2893
		local l=false
2894
		spawn(function()
2895
			if tb.Text:sub(#tb.Text,#tb.Text)=='|' then
2896
				tb.Text=tb.Text:sub(1,#tb.Text-1)
2897
			end
2898
			local canc = false
2899
			spawn(function()
2900
				while not canc do
2901
					wait(.6)
2902
					l=not l
2903
					if l == true then
2904
						isub='|'
2905
					else
2906
						isub=''
2907
					end
2908
				end
2909
			end)
2910
			repeat
2911
				tb.Text=Box.Text..isub
2912
				lrs:wait()
2913
			until SGui.Parent ~= Host.PlayerGui
2914
			if l then
2915
				tb.Text=tb.Text:sub(1,#tb.Text-1)
2916
			end
2917
			--print'canc'
2918
			canc=true
2919
			SGui=nil
2920
		end)
2921
	end)
2922
end)
2923
--script.Parent=Host.PlayerGui
2924
2925
Functions:CreateProgram('Calculator', 45545182, 'Calc', 'Math stuff man', function(HF,TF,CF)
2926
	HF.Size = UDim2.new(0,150,0,300)
2927
end)
2928
2929
local osEVENT = game:service'SoundService':FindFirstChild'osEVENT'
2930
if osEVENT==nil then
2931
	osEVENT = Instance.new('RemoteEvent',game:service'SoundService')
2932
	osEVENT.Name='osEVENT'
2933
end
2934
2935
if game.PlaceId == 691043264 then
2936
	Functions:CreateProgram('Lua', 71157241, 'LUA', 'Execute stuff...', function(HF,TF,CF)
2937
		local tb = Functions:MakeNewUi('TextButton')
2938
		tb.Parent=CF
2939
		tb.TextWrapped=true
2940
		tb.Text = ''
2941
		tb.TextColor3=CurrentPlayerData[3]
2942
		tb.BackgroundColor3=CurrentPlayerData[4]
2943
		tb.Font=OS.Settings.Fonts.Sub_Header
2944
		tb.Size=ud(.6,0,.9,0)
2945
		tb.TextXAlignment='Left'
2946
		tb.TextYAlignment='Top'
2947
	
2948
		local run = Functions:MakeNewUi('TextButton')
2949
		run.Parent=CF
2950
		run.Text = 'Run Script'
2951
		run.BackgroundTransparency=0
2952
		run.TextColor3=CurrentPlayerData[4]
2953
		run.BackgroundColor3=CurrentPlayerData[3]
2954
		run.Font=OS.Settings.Fonts.Header
2955
		run.Position=ud(0,0,.95,0)
2956
		run.TextSize=11
2957
		run.Size=ud(.6,0,.05,0)
2958
2959
		local cleartb = Functions:MakeNewUi('TextButton')
2960
		cleartb.Parent=CF
2961
		cleartb.Text = 'Clear Text'
2962
		cleartb.BackgroundTransparency=0
2963
		cleartb.TextColor3=CurrentPlayerData[4]
2964
		cleartb.BackgroundColor3=CurrentPlayerData[3]
2965
		cleartb.Font=OS.Settings.Fonts.Header
2966
		cleartb.Position=ud(0,0,.9,0)
2967
		cleartb.TextSize=11
2968
		cleartb.Size=ud(.6,0,.05,0)
2969
2970
		local ipos = 0
2971
		local timefromlast=0
2972
		local longestx=0
2973
		
2974
		local clear = Functions:MakeNewUi('TextButton')
2975
		clear.Parent=CF
2976
		clear.Text = 'Clear Output'
2977
		clear.BackgroundTransparency=0
2978
		clear.TextColor3=CurrentPlayerData[4]
2979
		clear.BackgroundColor3=CurrentPlayerData[3]
2980
		clear.Font=OS.Settings.Fonts.Header
2981
		clear.Position=ud(.6,0,.95,0)
2982
		clear.TextSize=11
2983
		clear.Size=ud(.4,0,.05,0)
2984
	
2985
		local output = Functions:MakeNewUi('ScrollingFrame')
2986
		output.Parent=CF
2987
		output.BackgroundColor3=CurrentPlayerData[3]
2988
		output.Position=ud(.6,0,0,0)
2989
		output.BackgroundTransparency=0
2990
		output.Size=ud(.4,0,.95,0)
2991
2992
		function op(argz)
2993
			local txt,code,clr = argz[1],argz[2],argz[3]
2994
			clr=clr or Color3.new(1,1,1)
2995
			txt=' > '..txt or 'NO_TEXT'
2996
			--print(txt,code,clr)
2997
			local is = (tostring(code)==tostring(OS.GenCode))
2998
			if is then
2999
				timefromlast=0
3000
				local lbl = Functions:MakeNewUi('TextLabel')
3001
				lbl.Parent=output
3002
				lbl.Position=ud(0,0,0,ipos)
3003
				lbl.TextSize=10
3004
				if #txt > longestx then
3005
					longextx=#txt
3006
				end
3007
				--txt=txt:gsub('\n','')
3008
				lbl.TextColor3 = clr
3009
				lbl.TextWrapped=true
3010
				local count=0
3011
				local notting=true
3012
				lbl.TextXAlignment='Left'
3013
				lbl.Text = txt
3014
				lbl.BackgroundTransparency=1
3015
				lbl.Size=ud(33,0,0,lbl.TextBounds.Y+5)
3016
				ipos=ipos+lbl.TextBounds.Y+2
3017
				spawn(function()
3018
					while notting do
3019
						lrs:wait()
3020
						count=count+1
3021
						local asx=output.AbsoluteSize.X
3022
						local tbx=lbl.TextBounds.X
3023
						--print(tbx,asx)
3024
						if tbx > asx then
3025
							lbl.Text=lbl.Text:sub(1+(asx*(count-1)),asx*count)..'\n'..lbl.Text:sub((asx*count)+1)
3026
						else
3027
							notting=false
3028
						end
3029
					end
3030
				end)
3031
				lbl.Size=ud(1,0,0,lbl.TextBounds.Y+5)
3032
			end
3033
		end
3034
3035
		op({'Hello world!', OS.GenCode, Color3.new(1,1,1)})
3036
3037
		clear.MouseButton1Click:connect(function()
3038
			output:ClearAllChildren()
3039
			ipos=0
3040
			longestx=0
3041
			timefromlast=0
3042
			op({'Cleared output', OS.GenCode, BrickColor.new'Dark green'.Color})
3043
		end)
3044
3045
		cleartb.MouseButton1Click:connect(function()
3046
			tb.Text=''
3047
			pcall(function()
3048
				SGui.Text=''
3049
			end)
3050
		end)
3051
3052
		local oev = osEVENT.OnClientEvent:connect(function(Argz)
3053
			op(Argz)
3054
		end)
3055
3056
		spawn(function()
3057
			local ii=0
3058
			repeat lrs:wait() 
3059
				timefromlast=timefromlast+.05
3060
				ii=Functions:IntegerLerp(ii,ipos,.15) 
3061
				if timefromlast < 5 then
3062
					output.CanvasSize=ud(0,longestx,0,ii)
3063
					output.CanvasPosition=Vector2.new(0,ii)
3064
				end
3065
			until run.Parent ~= CF
3066
			oev:disconnect()
3067
			--print'dis'
3068
		end)
3069
	
3070
		run.MouseButton1Click:connect(function()
3071
			local lscode = [[
3072
				local owner = game:service'Players':WaitForChild(']]..Host.Name..[[')
3073
				local event = game:service'SoundService':WaitForChild'osEVENT'
3074
				local code = ]]..OS.GenCode..[[
3075
				function print(...)
3076
					local Data, Return = {...}, ""
3077
	                for Index,Value in pairs(Data) do
3078
	                	Return = Return .. tostring(Value) .. (Index < #Data and ", " or "")
3079
	                end
3080
	                event:FireClient(owner,{Return,code,Color3.new(1,1,1)})
3081
                end
3082
                function warn(...)
3083
					local Data, Return = {...}, ""
3084
	                for Index,Value in pairs(Data) do
3085
	                	Return = Return .. tostring(Value) .. (Index < #Data and ", " or "")
3086
	                end
3087
	                event:FireClient(owner,{Return,code,Color3.new(1,.5,0)})
3088
                end
3089
                function ferror(...)
3090
					local Data, Return = {...}, ""
3091
	                for Index,Value in pairs(Data) do
3092
	                	Return = Return .. tostring(Value) .. (Index < #Data and ", " or "")
3093
	                end
3094
	                event:FireClient(owner,{Return,code,Color3.new(.8,0,0)})
3095
                end
3096
                delay(20,function()
3097
                	event:FireClient(owner,{'Auto removed script - delay ; 20',code,BrickColor.new'Dark green'.Color})
3098
					script:Destroy()
3099
				end)
3100
				local script = workspace:WaitForChild(']]..tostring(OS.Assets.FScript.Name)..[[')
3101
			]]
3102
			local formattedcode = [[
3103
				pcall(function()
3104
					local Success, Error = pcall(function() 
3105
						]]..tb.Text..[[ 
3106
					end)
3107
					if not Success then
3108
						local err = Error
3109
						err=err:gsub('ScriptBuilderScript','OS.sb')
3110
						err=err:gsub('544','1')
3111
						ferror(err)
3112
						local stacks = debug.traceback()
3113
						stacks=stacks:gsub('ScriptBuilderScript','OS.sb')
3114
						event:FireClient(owner,{stacks,code,BrickColor.new'Bright blue'.Color})
3115
					else
3116
						event:FireClient(owner,{'Ran script',code,BrickColor.new'Bright blue'.Color})
3117
					end
3118
				end)
3119
			]]
3120
			NS(lscode..'\n\n'..formattedcode, workspace)
3121
		end)
3122
		
3123
		local SGui
3124
		tb.MouseButton1Click:connect(function()
3125
			pcall(function()
3126
				SGui:Destroy()
3127
			end)
3128
			if Host.PlayerGui:FindFirstChild'nomnoemnp' then Host.PlayerGui:FindFirstChild'nomnoemnp':Destroy() end
3129
			SGui = Instance.new('ScreenGui', Host.PlayerGui)
3130
			SGui.Name='nomnoemnp'
3131
			local Box = Functions:MakeNewUi('TextBox')
3132
			Box.ClearTextOnFocus=false
3133
			Box.TextColor3 = CurrentPlayerData[3]
3134
			Box.TextStrokeTransparency=.9
3135
			Box.Size=ud(1,0,1,0)
3136
			Box.Position=ud(-1,0,0,0)
3137
			Box.Text = tb.Text
3138
			Box.Visible = false
3139
			Box.TextXAlignment='Left'
3140
			--Box.MultiLine=true
3141
			Box.TextYAlignment='Top'
3142
			Box.BackgroundTransparency=1
3143
			Box.TextStrokeColor3=CurrentPlayerData[3]
3144
			Box.Parent=SGui
3145
			Box.BackgroundColor3 = CurrentPlayerData[4]
3146
			Box:CaptureFocus()
3147
			Box.FocusLost:connect(function()
3148
				SGui:Destroy()
3149
			end)
3150
			local isub = '|'
3151
			local l=false
3152
			spawn(function()
3153
				if tb.Text:sub(#tb.Text,#tb.Text)=='|' then
3154
					tb.Text=tb.Text:sub(1,#tb.Text-1)
3155
				end
3156
				local canc = false
3157
				spawn(function()
3158
					while not canc do
3159
						wait(.6)
3160
						l=not l
3161
						if l == true then
3162
							isub='|'
3163
						else
3164
							isub=''
3165
						end
3166
					end
3167
				end)
3168
				repeat
3169
					tb.Text=Box.Text..isub
3170
					lrs:wait()
3171
				until SGui.Parent ~= Host.PlayerGui
3172
				if l then
3173
					tb.Text=tb.Text:sub(1,#tb.Text-1)
3174
				end
3175
				canc=true
3176
				SGui=nil
3177
			end)
3178
		end)
3179
	end)
3180
end
3181
3182
Functions:CreateProgram('Settings',485882401,'Sett','Also self explanitory...',function(HF,TF,CF)
3183
end)
3184
3185
spawn(function()
3186
	local nw={};
3187
	for i,v in next, OS.Backgrounds do
3188
		delay(math.random()*5,function()
3189
			nw[#nw+1]=v
3190
		end)
3191
	end
3192
	repeat wait() until #nw==#OS.Backgrounds
3193
	wait(.5)
3194
	OS.Backgrounds=nw
3195
	Functions:Notification('Formatted OS.Backgrounds', 4)
3196
end)
3197
3198
spawn(function()
3199
	local nw={};
3200
	for i,v in next, OS.Sounds do
3201
		delay(math.random()*5,function()
3202
			nw[#nw+1]=v
3203
		end)
3204
	end
3205
	repeat wait() until #nw==#OS.Sounds
3206
	wait(.5)
3207
	OS.Sounds=nw
3208
	Functions:Notification('Formatted OS.Sounds', 4)
3209
end)
3210
3211
Functions:CreateProgram('Gallery', 152445445, 'Images', 'View your favorite, saved, and default images', function(HF,TF,CF)
3212
	local title = Functions:MakeNewUi('TextLabel')
3213
	title.TextColor3 = CurrentPlayerData[3]
3214
	title.TextStrokeTransparency=1
3215
	title.Size=ud(1,0,.1,0)
3216
	title.Text = 'Gallery - '..#OS.Backgrounds..' assets total'
3217
	title.TextXAlignment='Center'
3218
	title.TextYAlignment='Center'
3219
	title.Font = OS.Settings.Fonts.Header
3220
	title.BackgroundTransparency=1
3221
	title.Parent=CF
3222
	title.BackgroundColor3 = CurrentPlayerData[4]
3223
3224
	spawn(function()
3225
		wait(1)
3226
		Effects:Underline(title, 15, 300, 2, CurrentPlayerData[3], true)
3227
	end)
3228
3229
	local scroll = Functions:MakeNewUi('ScrollingFrame')
3230
	scroll.Size=ud(1,0,.9,0)
3231
	scroll.Position = ud(0,0,.1,0)
3232
	scroll.BackgroundTransparency=0
3233
	scroll.TopImage=Functions:Asset(317839361)
3234
	scroll.MidImage=Functions:Asset(317839361)
3235
	scroll.BottomImage=Functions:Asset(317839361)
3236
	scroll.ScrollBarThickness = 5
3237
	scroll.Parent=CF
3238
	scroll.BackgroundColor3 = CurrentPlayerData[4]
3239
3240
	local Loaded = 0
3241
	local o,d = 0,0
3242
	local curbg = nil
3243
	local bgs={};
3244
	for i, Id in next, OS.Backgrounds do
3245
		--local Market = game:service'MarketplaceService'
3246
		--local Asset = Market:GetProductInfo(Id)
3247
		
3248
		local Img = Functions:MakeNewUi('ImageButton')
3249
		Img.Image = Functions:Asset(Id)
3250
		local scl = 2
3251
		local add = .005
3252
		local sx,sy=(.089*scl),(.05*scl)
3253
		Img.Size=ud(sx,0,0,34*2)
3254
		Img.Position = ud(((sx+add)*o)+.05,0,0,((36*2)*d))
3255
		o=o+1
3256
		game:service'RunService'.RenderStepped:wait()
3257
		if sx*(o+1) >= 1 then
3258
			d=d+1
3259
			o=0
3260
			scroll.CanvasSize=ud(0,0,0,((36*2)*d))
3261
		end
3262
		Img.BackgroundColor3 = scroll.BackgroundColor3
3263
		Img.BorderColor3 = CurrentPlayerData[3]
3264
		Img.ImageTransparency=1
3265
		Img.MouseButton1Down:connect(function()
3266
			curbg = Img
3267
			OS.Assets.Background.Image=Functions:Asset(Id)
3268
		end)
3269
		Img.Parent=scroll
3270
3271
		spawn(function()
3272
			for i = 0,1.05,.05 do
3273
				Img.ImageTransparency=1-i
3274
				game:service'RunService'.RenderStepped:wait()
3275
			end
3276
		end)
3277
		bgs[#bgs+1]=Img
3278
	end
3279
	while #bgs > 0 do
3280
		lrs:wait()
3281
		for i,Img in next, bgs do
3282
			if Img == nil or Img.Parent == nil then
3283
				table.remove(bgs,i)
3284
			else
3285
				if curbg == Img then
3286
					Img.BorderSizePixel = 2
3287
				else
3288
					Img.BorderSizePixel=0
3289
				end
3290
			end
3291
		end
3292
	end
3293
end)
3294
3295
Functions:CreateProgram('Explorer', 27854793, 'Expl', 'Explore the game\'s children', function(HF,TF,CF)
3296
	local funcs = {};
3297
	local title = Functions:MakeNewUi('TextLabel')
3298
	title.TextColor3 = CurrentPlayerData[3]
3299
	title.TextStrokeTransparency=1
3300
	title.Size=ud(1,0,.2,0)
3301
	title.Text = 'Services'
3302
	title.TextXAlignment='Center'
3303
	title.TextYAlignment='Center'
3304
	title.BackgroundTransparency=1
3305
	title.Parent=CF
3306
	title.BackgroundColor3 = CurrentPlayerData[4]
3307
3308
	spawn(function()
3309
		wait(1)
3310
		Effects:Underline(title, 15, 80, 2, CurrentPlayerData[3], true)
3311
	end)
3312
3313
	local scroll = Functions:MakeNewUi('ScrollingFrame')
3314
	scroll.Size=ud(.8,0,.8,0)
3315
	scroll.Position = ud(.1,0,.2,0)
3316
	scroll.BackgroundTransparency=1
3317
	scroll.TopImage=Functions:Asset(317839361)
3318
	scroll.MidImage=Functions:Asset(317839361)
3319
	scroll.BottomImage=Functions:Asset(317839361)
3320
	scroll.ScrollBarThickness = 5
3321
	scroll.Parent=CF
3322
	scroll.BackgroundColor3 = CurrentPlayerData[4]
3323
3324
	function funcs:w()
3325
		return wait(.05)
3326
	end
3327
3328
	local buttons={};
3329
	local t = 0
3330
	function funcs:clearscroll()
3331
		t=t+1
3332
		buttons={};
3333
		for i,v in next, scroll:children() do
3334
			--funcs:w()
3335
			pcall(function()
3336
				spawn(function()
3337
					v:TweenPosition(ud(1,0,v.Position.Y.Scale,v.Position.Y.Offset),'Out','Quint',2,true)
3338
					for i = 0,1.05,.05 do
3339
						pcall(function()
3340
							v.TextTransparency=v.TextTransparency+.05
3341
						end)
3342
						pcall(function()
3343
							v.BackgroundTransparency=v.BackgroundTransparency+.05
3344
						end)
3345
						pcall(function()
3346
							v.TextStrokeTransparency=v.TextStrokeTransparency+.05
3347
						end)
3348
						lrs:wait()
3349
					end
3350
					v:Destroy()
3351
				end)
3352
			end)
3353
		end
3354
		wait(2)
3355
	end
3356
3357
	function funcs:bt(i,txt,func)
3358
		delay(0,function()
3359
			if t == i then
3360
				--funcs:w()
3361
				local button = Functions:MakeNewUi('TextButton')
3362
				local index = #buttons
3363
				buttons[index+1]=button
3364
				local y = 22*(index)
3365
				scroll.CanvasSize=ud(0,0,0,y)
3366
				button.TextColor3 = CurrentPlayerData[3]
3367
				button.TextStrokeTransparency=.9
3368
				button.Size=ud(1,0,0,20)
3369
				button.Position=ud(1,0,0,y)
3370
				button.Text = txt
3371
				button.TextXAlignment='Left'
3372
				button.TextTransparency=1
3373
				button.TextSize = 12
3374
				button.Font=OS.Settings.Fonts.Header
3375
				--button.TextYAlignment='Top'
3376
				button.BackgroundTransparency=.6
3377
				button.TextStrokeColor3=CurrentPlayerData[3]
3378
				button.Parent=scroll
3379
				button.BackgroundColor3 = CurrentPlayerData[4]
3380
				spawn(function()
3381
					button:TweenPosition(ud(0,0,0,y),'Out','Quint',.5,true)
3382
					for i = 0,1.05,.05 do
3383
						button.TextTransparency=1-i
3384
						lrs:wait()
3385
					end
3386
				end)
3387
				local ev
3388
				ev=button.MouseButton1Click:connect(function()
3389
					ev:disconnect()
3390
					func(button)
3391
				end)
3392
				return button
3393
			else
3394
				return nil
3395
			end
3396
		end)
3397
	end
3398
	
3399
	function funcs:showoptions(obj)
3400
		funcs:clearscroll()
3401
		local st = t
3402
		if obj:IsA'Instance' then
3403
			title.Text = obj:GetFullName()
3404
			if #obj:children() > 0 then
3405
				local expl=funcs:bt(st,'Explore',function()
3406
					funcs:showchildren(obj)
3407
				end)
3408
			end
3409
			pcall(function()
3410
				if obj ~= game and obj.Parent ~= game then
3411
					local expl=funcs:bt(st,'Destroy',function()
3412
						local par = obj.Parent
3413
						local pn = obj.Name
3414
						pcall(function()
3415
							obj:Destroy()
3416
						end)
3417
						funcs:clearscroll()
3418
						local nst = t
3419
						funcs:bt(nst,'Return to '..pn..'\'s parent object',function()
3420
							funcs:showchildren(par)
3421
						end)
3422
						funcs:bt(nst,'Destroyed '..pn,function()
3423
						end)
3424
					end)
3425
				end
3426
			end)
3427
			if obj ~= game then
3428
				local tag = 'Return to '..obj.Parent.Name..'\'s children'
3429
				if obj.Parent==game then
3430
					tag='Return to explorable services'
3431
				end
3432
				local ret=funcs:bt(st,tag,function()
3433
					funcs:showchildren(obj.Parent)
3434
				end)
3435
			elseif obj.Parent == game then
3436
				funcs:showservs()
3437
			end
3438
			local sprops=funcs:bt(st,'Show Properties',function()
3439
				funcs:clearscroll()
3440
				local st2 = t
3441
				local rett=funcs:bt(st2,'Return to options for '..obj.Name,function()
3442
					funcs:showoptions(obj)
3443
				end)
3444
				local Props = Functions:ReturnObjectProperties(obj)
3445
				Props['Children'] = #obj:children()
3446
				for index, value in next, Props do
3447
					local prop=funcs:bt(st2,tostring(index)..': '..tostring(value),function()
3448
					end)
3449
				end
3450
			end)
3451
		end
3452
	end
3453
	
3454
	function funcs:showchildren(prnt)
3455
		funcs:clearscroll()
3456
		local st = t
3457
		if prnt:IsA'Instance' then
3458
			local back=funcs:bt(st,'Show me options for '..prnt.Name,function()
3459
				funcs:showoptions(prnt)
3460
			end)
3461
			for i,v in next, prnt:children() do
3462
				pcall(function()
3463
					if prnt:IsA'Instance' then
3464
						local sub=' - '..v.ClassName
3465
						pcall(function()
3466
							if prnt==game then
3467
								sub=''
3468
							end
3469
						end)
3470
						local child=funcs:bt(st,v.Name..sub,function()
3471
							funcs:showoptions(v)
3472
						end)
3473
					end
3474
				end)
3475
			end
3476
		end
3477
	end
3478
	function funcs:showservs()
3479
		funcs:clearscroll()
3480
		local st = t
3481
		local servs = {};
3482
		for i,v in next, game:children() do
3483
			pcall(function()
3484
				if #v:children() > 0 then
3485
					table.insert(servs,v)
3486
				end
3487
			end)
3488
		end
3489
		local child=funcs:bt(st,'SHOW ME ALL THE DAMN SERVICES!',function()
3490
			funcs:showoptions(game)
3491
		end)
3492
		for i,v in next, servs do
3493
			local child = funcs:bt(st,v.Name,function()
3494
				funcs:showoptions(v)
3495
			end)
3496
		end
3497
	end
3498
	funcs:showservs()
3499
end)
3500
3501
local Audios={};
3502
local CurrentPlaying = nil
3503
function Functions:AddSound(Id)
3504
	for Index, Sound in next, Audios do
3505
		if Sound:IsA'Sound' then
3506
			Sound:Stop()
3507
			Sound.PlayOnRemove=false
3508
		end
3509
	end
3510
	local Sound = Instance.new('Sound', Monitor)
3511
	Sound.SoundId=Functions:Asset(Id)
3512
	Sound.Volume=.9
3513
	CurrentPlaying = Sound
3514
	table.insert(Audios, Sound)
3515
	return Sound
3516
end
3517
3518
function Functions:IntegerLerp(a,b,c)
3519
	return a + (b - a) * c;
3520
end
3521
3522
Functions:CreateProgram('Messenger',485845332,'MGR','Self explanitory... idiot', function(HF,TF,CF)
3523
end)
3524
3525
local cur = nil
3526
local curSound = nil
3527
Functions:CreateProgram('SmAudio', 64646186, 'SmA', 'An archive of selected music just for you ;) with extra features as well', function(HF,TF,CF)
3528
	local title = Functions:MakeNewUi('TextLabel')
3529
	title.TextColor3 = CurrentPlayerData[3]
3530
	title.TextStrokeTransparency=1
3531
	title.Size=ud(1,0,.2,0)
3532
	title.Text = 'SmAudio Alpha'
3533
	title.TextXAlignment='Center'
3534
	title.TextYAlignment='Center'
3535
	title.Font = OS.Settings.Fonts.Header
3536
	title.BackgroundTransparency=1
3537
	title.Parent=CF
3538
	title.BackgroundColor3 = CurrentPlayerData[4]
3539
3540
	spawn(function()
3541
		wait(1)
3542
		Effects:Underline(title, 15, 80, 2, CurrentPlayerData[3], true)
3543
	end)
3544
3545
	local scroll = Functions:MakeNewUi('ScrollingFrame')
3546
	scroll.Size=ud(.8,0,.8,0)
3547
	scroll.Position = ud(.1,0,.2,0)
3548
	scroll.BackgroundTransparency=0
3549
	scroll.TopImage=Functions:Asset(317839361)
3550
	scroll.MidImage=Functions:Asset(317839361)
3551
	scroll.BottomImage=Functions:Asset(317839361)
3552
	scroll.ScrollBarThickness = 5
3553
	scroll.Parent=CF
3554
	scroll.BackgroundColor3 = CurrentPlayerData[4]
3555
3556
	local max = 0
3557
	spawn(function()
3558
		local y = 0
3559
		repeat game:service'RunService'.RenderStepped:wait() 
3560
			y=Functions:IntegerLerp(y,max,.02)
3561
			--print(max)
3562
			--print(y)
3563
			--scroll.CanvasSize=ud(0,0,0,y)
3564
		until CF.Parent == nil
3565
	end)
3566
	
3567
	local play,pause,sound = Functions:Asset(745599404),Functions:Asset(745599001),Functions:Asset(176572847)
3568
3569
	local Loaded = 0
3570
	for i, Id in next, OS.Sounds do
3571
		delay((math.random()/(math.random()+.2))*3, function()
3572
			local Market = game:service'MarketplaceService'
3573
			local Asset = Market:GetProductInfo(Id)
3574
			
3575
			local Song = Functions:MakeNewUi('ImageButton')
3576
			Song.Parent=scroll
3577
			Song.Image = play
3578
			local clr=CurrentPlayerData[3]
3579
			local clr2=CurrentPlayerData[4]
3580
			Song.BackgroundColor3=clr
3581
			Song.Size=ud(0,45,0,45)
3582
			Song.BackgroundTransparency=1
3583
	
3584
			local y = (Song.Size.Y.Offset+2)*(i-1)
3585
			max=max+(Song.Size.Y.Offset+2)
3586
			local x = Song.Size.X.Offset
3587
3588
			local author = Functions:MakeNewUi('TextLabel')
3589
			author.TextColor3 = CurrentPlayerData[3]
3590
			author.Size=ud(1,-x+10,0,20)
3591
			author.Position = ud(0,x+10,0,y)
3592
			author.Text = 'Author  '..Asset.Creator.Name..' ; '..Asset.Creator.Id
3593
			author.TextXAlignment='Left'
3594
			author.TextYAlignment='Center'
3595
			author.TextSize = 16
3596
			author.Font = OS.Settings.Fonts.Header
3597
			author.BackgroundTransparency=1
3598
			author.TextTransparency=1
3599
			author.Parent=scroll
3600
			author.BackgroundColor3 = CurrentPlayerData[3]
3601
3602
			local name = Functions:MakeNewUi('TextLabel')
3603
			name.TextColor3 = CurrentPlayerData[3]
3604
			name.Size=ud(1,-x+10,0,20)
3605
			name.Position = ud(0,x+10,0,y+(author.TextSize+2))
3606
			name.Text = 'Name  '..Asset.Name
3607
			name.TextXAlignment='Left'
3608
			name.TextYAlignment='Center'
3609
			name.TextSize = 12
3610
			name.TextTransparency=1
3611
			name.Font = OS.Settings.Fonts.Header
3612
			name.BackgroundTransparency=1
3613
			name.Parent=scroll
3614
			name.BackgroundColor3 = CurrentPlayerData[3]
3615
3616
			local desc = Functions:MakeNewUi('TextLabel')
3617
			desc.TextColor3 = CurrentPlayerData[3]
3618
			local alg = (((name.TextBounds.X+author.TextBounds.X)/1.5)+(10+(author.TextSize+name.TextSize)))
3619
			desc.Size=ud(1,-x-(alg+scroll.ScrollBarThickness),0,46)
3620
			desc.Position = ud(1,0,0,y-1)
3621
			desc.Text = Asset.Creator.Name..': '..Asset.Description
3622
			desc.BorderSizePixel=0
3623
			desc.BorderColor3 = CurrentPlayerData[3]
3624
			desc.TextWrapped=true
3625
			desc.TextXAlignment='Left'
3626
			desc.TextTransparency=1
3627
			desc.TextYAlignment='Top'
3628
			desc.TextSize = 12
3629
			desc.Font = OS.Settings.Fonts.Header
3630
			desc.BackgroundTransparency=1
3631
			desc.Parent=scroll
3632
			desc.BackgroundColor3 = scroll.BackgroundColor3
3633
			desc.ClipsDescendants=false
3634
3635
			local line = Functions:MakeNewUi('TextLabel')
3636
			line.TextColor3 = CurrentPlayerData[3]
3637
			line.Size=ud(0,1,1,0)
3638
			line.Position = ud(0,-4,0,0)
3639
			line.Text = ''
3640
			line.BackgroundTransparency=0
3641
			line.BackgroundColor3 = CurrentPlayerData[3]
3642
			line.Parent=desc
3643
3644
			if Asset.Description=='Audio' or Asset.Description=='RenderMesh' then
3645
				desc:Destroy()
3646
			else
3647
				desc:TweenPosition(ud(0,x+alg,0,y-1),'Out','Quint',1,true)
3648
			end
3649
			
3650
			Song.Position = ud(0,-x,0,y)
3651
			
3652
			Song.ZIndex=8
3653
			Song.MouseEnter:connect(function()
3654
				local t=clr2
3655
				local tt=.15
3656
				clr=c3(t.r-tt,t.b-tt,t.g-tt)
3657
				clr2=CurrentPlayerData[3]
3658
			end)
3659
			Song.MouseLeave:connect(function()
3660
				clr=CurrentPlayerData[3]
3661
				clr2=CurrentPlayerData[4]
3662
			end)
3663
			
3664
			Song.MouseButton1Click:connect(function()
3665
				if cur == Song then
3666
					curSound:Pause()
3667
					cur=nil
3668
				else
3669
					cur=Song
3670
					curSound = Functions:AddSound(Id)
3671
					curSound.Looped = true
3672
					curSound:Play()
3673
					clr=CurrentPlayerData[3]
3674
					clr2=CurrentPlayerData[4]
3675
				end
3676
			end)
3677
3678
			spawn(function()
3679
				for i = 0,1.05,.05 do
3680
					desc.TextTransparency=1-i
3681
					desc.BackgroundTransparency=1-i
3682
					name.TextTransparency=1-i
3683
					author.TextTransparency=1-i
3684
					game:service'RunService'.RenderStepped:wait() 
3685
				end
3686
			end)
3687
			
3688
			spawn(function()
3689
				repeat game:service'RunService'.RenderStepped:wait() 
3690
					if cur == Song then
3691
						Song.Image = pause
3692
					else
3693
						Song.Image = play
3694
					end
3695
					Song.BackgroundColor3=Song.BackgroundColor3:lerp(clr,.25)
3696
					Song.ImageColor3=Song.ImageColor3:lerp(clr2,.25)
3697
				until CF.Parent == nil
3698
			end)
3699
			Song:TweenPosition(ud(0,0,0,y),'Out','Quint',.5,true)
3700
			Loaded = Loaded + 1
3701
		end)
3702
	end
3703
	local ii=0
3704
	repeat 
3705
		wait() 
3706
		title.Text = 'Loading Assets #'..Loaded 
3707
		ii=Functions:IntegerLerp(ii,max+10,.04)
3708
		scroll.CanvasSize=ud(0,0,0,ii)
3709
		scroll.CanvasPosition=Vector2.new(0,ii)
3710
	until Loaded == #OS.Sounds
3711
	title.Text = 'SmAudio Beta'
3712
end)
3713
3714
function Functions:GeneratePrograms(Distance)
3715
	--print'k'
3716
	local Over, Down=0,0
3717
	for Index, Data in next, OS.Apps.Qeued do
3718
		if Down > 7 then 
3719
			return
3720
		end
3721
		local maximized,ump,ums
3722
		lrs:wait()
3723
		local Icon = Functions:MakeNewUi('ImageButton')
3724
		Icon.Image=Functions:PlayerImage(Host)
3725
		Icon.Parent=MainFrame
3726
		Icon.BackgroundColor3=CurrentPlayerData[4]
3727
		Icon.Image=Functions:Asset(Data[2])
3728
		Icon.Size=ud(0,50,0,50)
3729
		Icon.ZIndex=2
3730
		Icon.ImageTransparency=0
3731
		local IconName = Functions:MakeNewUi('TextLabel')
3732
		IconName.Font=OS.Settings.Fonts.Header
3733
		IconName.Parent=Icon
3734
		IconName.TextYAlignment='Bottom'
3735
		IconName.TextSize = 10
3736
		IconName.Text= Data[1]
3737
		IconName.Size=ud(1,0,0,20)
3738
		IconName.Position=ud(0,0,1,-20)
3739
		IconName.ZIndex=2
3740
		local bgtp = 1
3741
		Icon.MouseEnter:connect(function()
3742
			bgtp=.5
3743
		end)
3744
		Icon.MouseLeave:connect(function()
3745
			bgtp=1
3746
		end)
3747
		local oi = bgtp
3748
		lrs:connect(function()
3749
			oi=Functions:IntegerLerp(oi,bgtp,.3)
3750
			Icon.BackgroundTransparency=oi
3751
		end)
3752
		OS.Apps.Generated[Data[1]]=Icon
3753
		if Over >= 13 then
3754
			Down = Down + 1
3755
			Over = 0
3756
		end
3757
		Icon.Position=ud(0,15+(60*(Over)),0,15+(60*(Down)))
3758
		Over = Over + 1
3759
		Icon.ZIndex=2
3760
		local oic
3761
		oic=Icon.MouseButton1Click:connect(function()
3762
			local AlreadyOpen=false
3763
			for Index, Ting in next, OS.Apps.Open do
3764
				for i = 1,#Ting do
3765
					if Data[i] == Ting[i] then
3766
						AlreadyOpen=true
3767
					end
3768
				end
3769
			end
3770
			if AlreadyOpen then
3771
				warn'nop'
3772
				return
3773
			end
3774
			table.insert(OS.Apps.Open,{Data[1],Data[2],Data[3]})
3775
			OS.RecentlyUsedPrograms[Data[4]]=Data
3776
			local HolderFrame = Functions:MakeNewUi('Frame')
3777
			HolderFrame.ZIndex=3
3778
			HolderFrame.BackgroundTransparency=0
3779
			HolderFrame.BorderSizePixel=.1
3780
			HolderFrame.BorderColor3=CurrentPlayerData[3]
3781
			HolderFrame.Size=ud(0,600,0,400)
3782
			HolderFrame.Name='HF'
3783
			HolderFrame.BackgroundColor3=CurrentPlayerData[3]
3784
			HolderFrame.Position = Functions:Center(HolderFrame)
3785
			HolderFrame.Parent = MainFrame
3786
			maximized,ump,ums=false,HolderFrame.Position,HolderFrame.Size
3787
			local function Enable()
3788
				for i,gui in next, MainFrame:children() do
3789
					if gui:IsA'ImageButton' then
3790
						gui.Visible=true
3791
					end
3792
				end
3793
			end
3794
			local function Disable()
3795
				for i,gui in next, MainFrame:children() do
3796
					if gui:IsA'ImageButton' then
3797
						gui.Visible=false
3798
					end
3799
				end
3800
			end
3801
			
3802
			local ev1
3803
			ev1=HolderFrame.MouseEnter:connect(function()
3804
				--print'k1'
3805
				Disable()
3806
			end)
3807
			local ev2
3808
			ev2=HolderFrame.MouseLeave:connect(function()
3809
				--print'k2'
3810
				Enable()
3811
			end)
3812
			local InfoFrame = Functions:MakeNewUi('Frame')
3813
			InfoFrame.ZIndex=4
3814
			InfoFrame.BackgroundTransparency=0
3815
			InfoFrame.Size=ud(1,0,0,15)
3816
			InfoFrame.Name='TF'
3817
			InfoFrame.BackgroundColor3=CurrentPlayerData[3]
3818
			for i = 1,3 do
3819
				i=i
3820
				local CButt = Functions:MakeNewUi('ImageButton')
3821
				CButt.Image=Functions:Asset(625953771)
3822
				CButt.Parent=InfoFrame
3823
				CButt.ImageTransparency=.15
3824
				local OCF
3825
				--505680534
3826
				spawn(function()
3827
					local up=.75
3828
					local r,g,b=0,0,0
3829
					if (i==1) then
3830
						r,g,b=.8,.01,.01
3831
					elseif (i==2) then
3832
						r,g,b=.95,.95,0
3833
					elseif (i==3) then
3834
						r,g,b=0,.7,0
3835
					end
3836
					CButt.ImageColor3 = c3(r,g,b)
3837
					CButt.MouseEnter:connect(function()
3838
						for i = 0,1,.1 do
3839
							CButt.ImageColor3 = CButt.ImageColor3:lerp(c3(r+up,g+up,b+up),.13)
3840
							lrs:wait()
3841
						end
3842
					end)
3843
					CButt.MouseLeave:connect(function()
3844
						for i = 0,1,.1 do
3845
							CButt.ImageColor3 = CButt.ImageColor3:lerp(c3(r,g,b),.13)
3846
							lrs:wait()
3847
						end
3848
					end)
3849
				end)
3850
				--if not OCF then OCF=function()print'missing func'end;end
3851
				if (i==1) then
3852
					r,g,b=.8,.01,.01
3853
					local evv
3854
					ev1:disconnect()
3855
					ev2:disconnect()
3856
					evv=CButt.MouseButton1Click:connect(function()
3857
						for Index, Ting in next, OS.Apps.Open do
3858
							if Data[1] == Ting[1] then
3859
								table.remove(OS.Apps.Open, Index)
3860
							end
3861
						end
3862
						evv:disconnect()
3863
						local pos = HolderFrame.Position
3864
						HolderFrame.Active=false
3865
						HolderFrame:Destroy()
3866
					end)
3867
				elseif (i==2) then
3868
					r,g,b=.95,.95,0
3869
					local evv
3870
					evv=CButt.MouseButton1Click:connect(function()
3871
						if maximized then
3872
							HolderFrame:TweenSizeAndPosition(ums,ump,'Out','Sine',.3,true)
3873
							maximized=false
3874
						else
3875
							HolderFrame:TweenSizeAndPosition(ud(1,2,1,-50),ud(0,-1,0,-1),'Out','Quint',.3,true)
3876
							maximized=true
3877
						end
3878
					end)
3879
				elseif (i==3) then
3880
					r,g,b=0,.7,0
3881
					local evv
3882
					ev1:disconnect()
3883
					ev2:disconnect()
3884
					for Index, Ting in next, OS.Apps.Open do
3885
						if Data[1] == Ting[1] then
3886
							table.remove(OS.Apps.Open, Index)
3887
						end
3888
					end
3889
					evv=CButt.MouseButton1Click:connect(function()
3890
						evv:disconnect()
3891
						HolderFrame:TweenSizeAndPosition(ud(0,50,0,50),Icon.Position,'Out','Quint',.5,true)
3892
						wait(.2)
3893
						HolderFrame:Destroy()
3894
					end)
3895
					--Functions:AddToTaskBar(Data[1],Data[2],{ump,ums})
3896
				end
3897
				--CButt.MouseButton1Click:connect(OCF)
3898
				CButt.Size=ud(0,12,0,12)
3899
				CButt.Position=Functions:CenterOffset(CButt,ud(.5,-(15*i),0,0))
3900
				--CButt:TweenPosition(Functions:CenterOffset(CButt,ud(0,0,0,-50),'Out','Back',1,true))
3901
			end
3902
			InfoFrame.Parent = HolderFrame
3903
			local InfoIcon = Functions:MakeNewUi('ImageButton')
3904
			InfoIcon.Parent=InfoFrame
3905
			InfoIcon.Image=Functions:Asset(Data[2])
3906
			InfoIcon.Size=ud(0,12,0,12)
3907
			InfoIcon.ImageTransparency=0
3908
			InfoIcon.Position=ud(0,2,0,3)
3909
			InfoIcon.ZIndex=4
3910
			local InfoText = Functions:MakeNewUi('TextButton')
3911
			InfoText.BackgroundTransparency=.5
3912
			InfoText.FontSize='Size12'
3913
			InfoText.Parent=InfoFrame
3914
			InfoText.TextXAlignment='Left'
3915
			InfoText.Text= Data[1]--..'  \  '..Data[4]--'*C:\Users\\'..Host.Name..''
3916
			InfoText.Size=ud(1,-40,1,0)
3917
			InfoText.Position=ud(0,16,0,0)
3918
			InfoText.ZIndex=4
3919
			
3920
			local md=false
3921
			InfoText.MouseButton1Down:connect(function()
3922
				md=true
3923
				local origp=HolderFrame.Position
3924
				local origs=ud(0,600,0,15)
3925
				local origmp=OS.Assets.Mouse.Position
3926
				HolderFrame.Size = ud(0,600,0,400)
3927
				maximized=false
3928
				spawn(function()
3929
					repeat wait() until OS.MouseDown == false
3930
					md=false
3931
				end)
3932
				while md do
3933
					local mp={OS.Assets.Mouse.Position.X.Scale,OS.Assets.Mouse.Position.X.Offset,OS.Assets.Mouse.Position.Y.Scale,OS.Assets.Mouse.Position.Y.Offset};
3934
					local fs={origs.X.Scale,origs.X.Offset,origs.Y.Scale,origs.Y.Offset};
3935
					local fp={origp.X.Scale,origp.X.Offset,origp.Y.Scale,origp.Y.Offset};
3936
					--local a,b=
3937
					local x,y=mp[2]-(fs[2]/2),mp[4]-(fs[4]/2)
3938
					--print(x,y)
3939
					HolderFrame.Position=ud(0,x,0,y)
3940
					lrs:wait()
3941
				end
3942
			end)
3943
			InfoText.MouseButton1Up:connect(function()
3944
				--md=false
3945
			end)
3946
			local ContentFrame = Functions:MakeNewUi('Frame')
3947
			ContentFrame.ZIndex=4
3948
			ContentFrame.BackgroundTransparency=.1
3949
			ContentFrame.Size=ud(1,-2,1,-17)
3950
			ContentFrame.Position=ud(0,1,0,16)
3951
			ContentFrame.Name='CF'
3952
			ContentFrame.BackgroundColor3=CurrentPlayerData[4]
3953
			ContentFrame.Parent = HolderFrame
3954
			Data[5](HolderFrame, TitleFrame, ContentFrame)
3955
		end)
3956
	end
3957
end
3958
3959
local AtMainScreen=false
3960
function Functions:MakeHomeScreen()
3961
	local Background_id = CurrentPlayerData[5]
3962
	local BackgroundImg = Functions:MakeNewUi('ImageLabel')
3963
	BackgroundImg.Image=Functions:Asset(Background_id)
3964
	BackgroundImg.Name='Background'
3965
	BackgroundImg.BackgroundTransparency=1
3966
	BackgroundImg.ImageTransparency = .1
3967
	BackgroundImg.Parent=MainFrame
3968
	BackgroundImg.ZIndex=1
3969
	BackgroundImg.Size=ud(1,0,1,0)
3970
	OS.Assets.Background = BackgroundImg
3971
	for i = 0,1.025,.025 do
3972
		MainFrame.BackgroundTransparency=i
3973
		lrs:wait()
3974
	end
3975
	local TskBar = Functions:MakeNewUi('TextLabel')
3976
	TskBar.Size = ud(1,0,0,52)
3977
	TskBar.Parent = MainFrame
3978
	TskBar.BackgroundColor3 = CurrentPlayerData[3]
3979
	TskBar.BackgroundTransparency = .5
3980
	TskBar.Position = ud(0,0,1,0)
3981
	TskBar.ZIndex = 9
3982
	TskBar:TweenPosition(ud(0,0,1,-52.5),'Out','Quint',1.2,true)
3983
	for i = 0,.15,.05 do
3984
		local TskBarShader = Functions:MakeNewUi('TextLabel')
3985
		TskBarShader.BackgroundTransparency = .8
3986
		TskBarShader.BackgroundColor3 = CurrentPlayerData[4]
3987
		TskBarShader.BorderSizePixel = 0
3988
		TskBarShader.Size = ud(1,0,.05,0)
3989
		TskBarShader.Position = ud(0,0,-i,0)
3990
		delay(.2,function()
3991
			TskBarShader:TweenPosition(ud(0,0,i+5,0),'Out','Quint',.5,true)
3992
		end)
3993
		TskBarShader.ZIndex = 9
3994
		TskBarShader.Name = 'shd'..i
3995
		--TskBar:ClearAllChildren()
3996
		TskBarShader.Parent = TskBar
3997
	end
3998
	--//tem\\
3999
	local TimeLabel = Instance.new'TextLabel'
4000
	TimeLabel.BackgroundTransparency = 1
4001
	TimeLabel.BackgroundColor3 = c3(255,255,255)
4002
	TimeLabel.BorderSizePixel = 0
4003
	TimeLabel.ZIndex = 9
4004
	TimeLabel.TextColor3 = CurrentPlayerData[4]
4005
	TimeLabel.Font = OS.Settings.Fonts.Sub_Header
4006
	TimeLabel.TextScaled = true
4007
	TimeLabel.Name = 'TimeLabel'
4008
	TimeLabel.TextWrapped = true
4009
	TimeLabel.TextStrokeTransparency = .9
4010
	TimeLabel.Text = '00:00:00  PM'
4011
	TimeLabel.Parent = TskBar
4012
	TimeLabel.Size = ud(.08,0,.3,0)
4013
	TimeLabel.Position = ud(.92,-10,0,6)
4014
	
4015
	local DateLabel = Instance.new'TextLabel'
4016
	DateLabel.BackgroundTransparency = 1
4017
	DateLabel.BackgroundColor3 = c3(255,255,255)
4018
	DateLabel.BorderSizePixel = 0
4019
	DateLabel.ZIndex = 9
4020
	DateLabel.TextColor3 = CurrentPlayerData[4]
4021
	DateLabel.Font = OS.Settings.Fonts.Sub_Header
4022
	DateLabel.TextScaled = true
4023
	DateLabel.Name = 'DateLabel'
4024
	DateLabel.TextWrapped = true
4025
	DateLabel.TextStrokeTransparency = .9
4026
	DateLabel.Text = '00/00/0000'
4027
	DateLabel.Parent = TskBar
4028
	DateLabel.Size = ud(.08,0,.3,0)
4029
	DateLabel.Position = ud(.92,-10,.6,-6)
4030
	
4031
	local Logo = Functions:MakeNewUi'ImageButton'
4032
	Logo.BackgroundTransparency = 1
4033
	Logo.BackgroundColor3 = CurrentPlayerData[3]
4034
	Logo.BorderSizePixel = 0
4035
	Logo.ZIndex = 10
4036
	Logo.Image = Functions:Asset(265489553)
4037
	--Logo.TextColor3 = CurrentPlayerData[4]
4038
	--Logo.Font = 'Cartoon'
4039
	--Logo.FontSize='Size36'
4040
	Logo.Name = 'Logo'
4041
	--Logo.TextStrokeTransparency = .9
4042
	--Logo.Text = '¶Y'
4043
	Logo.Parent = TskBar
4044
	Logo.Size = ud(0,40,0,50)
4045
	Logo.Position = ud(0,1,0,1)
4046
	local clrcancel=false
4047
	local igc,bgc=CurrentPlayerData[4],CurrentPlayerData[3]
4048
	Logo.MouseEnter:connect(function()
4049
		local continue=true
4050
		clrcancel=true
4051
		clrcancel=false
4052
		spawn(function()
4053
			for i = 0,.57,.07 do
4054
				Logo.BackgroundTransparency=1-i
4055
				lrs:wait()
4056
			end
4057
		end)
4058
		igc,bgc=CurrentPlayerData[3],CurrentPlayerData[4]
4059
	end)
4060
	Logo.MouseLeave:connect(function()
4061
		local continue=true
4062
		clrcancel=true
4063
		clrcancel=false
4064
		spawn(function()
4065
			for i = 0,.57,.07 do
4066
				Logo.BackgroundTransparency=.5+i
4067
				lrs:wait()
4068
			end
4069
		end)
4070
		igc,bgc=CurrentPlayerData[4],CurrentPlayerData[3]
4071
	end)
4072
	local StartFrameHolder = Functions:MakeNewUi('Frame')
4073
	StartFrameHolder.ZIndex=5
4074
	StartFrameHolder.BackgroundTransparency=1
4075
	StartFrameHolder.Size=ud(0,200,.6,0)
4076
	StartFrameHolder.Position = ud(0,0,.4,-52)
4077
	StartFrameHolder.Parent = MainFrame
4078
	local StartFrame = Functions:MakeNewUi('Frame')
4079
	StartFrame.ZIndex=9
4080
	StartFrame.BackgroundTransparency=.5
4081
	StartFrame.Size=ud(1,0,1,0)
4082
	StartFrame.BorderSizePixel=2
4083
	StartFrame.Name='SF'
4084
	StartFrame.BorderColor3=CurrentPlayerData[4]
4085
	StartFrame.Position = ud(0,0,1,0)
4086
	StartFrame.Parent = StartFrameHolder
4087
	
4088
	local TestButton = Functions:MakeNewUi('TextButton')
4089
	TestButton.ZIndex=6
4090
	TestButton.BackgroundTransparency=.7
4091
	TestButton.Size=ud(1,-6,0,50)
4092
	TestButton.Position = ud(0,3,0,3)
4093
	TestButton.Text='TEST NOTIFICATIONS'
4094
	TestButton.Parent = StartFrame
4095
	TestButton.MouseButton1Click:connect(function()
4096
		Functions:Notification('Just testing the dank re-alignment and stuff, kek.')
4097
	end)
4098
	
4099
	local sfcc,detection=false,false
4100
	StartFrame.MouseEnter:connect(function()
4101
		detection=false
4102
		sfcc=false
4103
	end)
4104
	StartFrame.MouseLeave:connect(function()
4105
		detection=true
4106
		sfcc=true
4107
	end)
4108
	
4109
	local Extended=false
4110
	local function Open(trans)
4111
		StartFrame:TweenPosition(ud(0,0,0,0),'Out','Sine',.5,true)
4112
		for i = 0,1.05,.05 do
4113
			for a,b in next, StartFrame:children() do
4114
				if b.Name ~= 'SF' then
4115
					pcall(function()
4116
						b.TextTransparency=b.TextTransparency-.05
4117
					end)
4118
					pcall(function()
4119
						b.BackgroundTransparency=bBackgroundTransparency-.05
4120
					end)
4121
					pcall(function()
4122
						b.ImageTransparency=b.ImageTransparency-.05
4123
					end)
4124
				end
4125
			end
4126
			StartFrame.BackgroundTransparency=1-.05
4127
			lrs:wait()
4128
		end
4129
		StartFrame.BackgroundTransparency=trans
4130
		Extended=true
4131
	end
4132
	local function Close(trans)
4133
		StartFrame:TweenPosition(ud(0,0,1,0),'Out','Sine',.5,true)
4134
		for i = 0,1,.05 do
4135
			for a,b in next, StartFrame:children() do
4136
				if b.Name ~= 'SF' then
4137
					pcall(function()
4138
						b.TextTransparency=b.TextTransparency+.05
4139
					end)
4140
					pcall(function()
4141
						b.BackgroundTransparency=bBackgroundTransparency+.05
4142
					end)
4143
					pcall(function()
4144
						b.ImageTransparency=b.ImageTransparency+.05
4145
					end)
4146
				end
4147
			end
4148
			StartFrame.BackgroundTransparency=trans+.05
4149
			lrs:wait()
4150
		end
4151
		StartFrame.BackgroundTransparency=1
4152
		Extended=false
4153
	end
4154
	local trans=.45
4155
	PlayerMouse.Button1Down:connect(function()
4156
		if sfcc and Extended then
4157
			detection=false
4158
			Close(trans)
4159
		end
4160
	end)
4161
	PlayerMouse.Button2Down:connect(function()
4162
		if sfcc and Extended then
4163
			detection=false
4164
			Close(trans)
4165
		end
4166
	end)
4167
	Logo.MouseButton1Down:connect(function(x,y)
4168
		if Extended then
4169
			Close(trans)
4170
		else
4171
			Open(trans)
4172
		end
4173
	end)
4174
	local Months = 	{ 
4175
			"January", "Febreuary", "March", "April", "May", "June",
4176
			"July", "August", "September", "October", "November", "December"
4177
		}
4178
	local MonthDays = { 	
4179
			31, 28, 31, 30, 31, 30, 
4180
			31, 31, 30, 31, 30, 31 
4181
		}
4182
4183
	function getDay(Date, year)
4184
		local month, date = Date:match("(%a+)%s*(%d+)")
4185
		local DAYS = tonumber(date)
4186
		local leaps = math.floor( (year-2011)/4 - .25 ) + 1
4187
		local Days = {"Saturday", "Sunday", "Monday", "Tuesday", "Wednesday", "Thursday", "Friday"}
4188
		for _, v in ipairs(MonthDays) do
4189
			if Months[_] == month then break end
4190
			DAYS = DAYS + v
4191
		end
4192
		DAYS = math.floor( DAYS + (year-2017) * 365 ) + leaps
4193
		return Days[ (DAYS%7 == 0 and 7 or DAYS%7) ] 
4194
	end
4195
4196
	function getMonthAndDate(days, year)
4197
		local leap = year%4 == 0 and 1 or 0
4198
		local month;
4199
		for _, v in ipairs(MonthDays) do
4200
			if (days-v) < 1 then 
4201
				month = Months[_]
4202
				break 
4203
			end
4204
			days = days - v
4205
		end
4206
		return month, days
4207
	end
4208
	local LTime,LDate = '',''
4209
	local M = ''
4210
	Time = function()
4211
		local secondsInDay = 60*60*24
4212
		local time = tick()
4213
		local year = math.floor(1970 + time/(365.25*86400))
4214
		local days = math.ceil(((time % (86400*365.25)) )/86400 + 0.25)
4215
		local month, date = getMonthAndDate(days, year)
4216
		local day = getDay(month..date, year)
4217
		local tick = math.fmod(tick(),secondsInDay)
4218
		local hour = math.floor(tick/3600) + 5 + -5
4219
		local minute = math.floor(tick/60 - 60*hour)
4220
		local seconds = math.floor(math.fmod(tick,60))
4221
		if (hour > 12) then 
4222
			   M = ' PM' hour = hour - 12 
4223
		else 
4224
			M = ' AM' 
4225
		end
4226
		if hour == 0 then 
4227
			hour = 12 
4228
		end
4229
		if hour == 24 then 
4230
			hour = 1 
4231
		end
4232
		LTime = string.format("%2.0f:%02.0f",hour,minute)
4233
		local MonthNums = 	{ 
4234
			["January"]=1, ["February"]=2, ["March"]=3, ["April"]=4, ["May"]=5, ["June"]=6,
4235
			["July"]=7, ["August"]=8, ["September"]=9, ["October"]=10, ["November"]=11, ["December"]=12
4236
		}
4237
		month=MonthNums[month]
4238
		LDate = month..'/'..(days-1)..'/'..year
4239
		TimeLabel.Text = LTime..M
4240
		DateLabel.Text = LDate
4241
		Logo.ImageColor3 = Logo.ImageColor3:lerp(igc,.2)
4242
		Logo.BackgroundColor3 = Logo.BackgroundColor3:lerp(bgc,.2)
4243
	end
4244
	game:service'RunService'.Heartbeat:connect(Time)
4245
	AtMainScreen=true
4246
	local txt=''
4247
	if Official then
4248
		txt='Welcome back, '..CurrentPlayerData[1]..', your last session\'s saved data has been loaded'
4249
	else
4250
		txt='Hello, '..CurrentPlayerData[1]..'. Your data will be saved at the end of this session'
4251
	end
4252
	delay(math.random(1,4),function()
4253
		delay(.3,function()
4254
			Functions:PlayerImgNotification('SavageMunkey', 'Creator & Founder of ¶YaviOS - SavageMunkey')
4255
		end)
4256
		local fr,tl = Functions:Notification(txt,6)
4257
	end)
4258
	Functions:GeneratePrograms({25,20})
4259
	AtMainScreen=true
4260
	return warn'Homescreen Loaded'
4261
end
4262
4263
function Functions:PlayerImgNotification(Plr, Type)
4264
	if not AtMainScreen then return end
4265
	local sz=50
4266
	if Type=='join' then
4267
		local fr,tl=Functions:Notification('New Player has joined, '..tostring(Plr)..'.', 4)
4268
		tl.Size=ud(1,-(sz+5),1,0)
4269
		tl.Position=ud(0,sz+5,0,0)
4270
		local UserImage = Functions:MakeNewUi('ImageLabel')
4271
		UserImage.Image=Functions:PlayerImage(tostring(Plr))
4272
		UserImage.Parent=fr
4273
		UserImage.Size=ud(0,sz,1,0)
4274
		UserImage.ImageTransparency=0
4275
		UserImage.Position=ud(0,4,0,0)
4276
		UserImage.ZIndex=8
4277
		wait(4*1.5)
4278
		for i = 0,1.05,.05 do UserImage.ImageTransparency=i lrs:wait() end
4279
	elseif Type=='rmv' then
4280
		local fr,tl=Functions:Notification('Player has left, '..tostring(Plr)..'.', 4)
4281
		tl.Size=ud(1,-(sz+5),1,0)
4282
		tl.Position=ud(0,sz+5,0,0)
4283
		local UserImage = Functions:MakeNewUi('ImageLabel')
4284
		UserImage.Image=Functions:PlayerImage(tostring(Plr))
4285
		UserImage.Parent=fr
4286
		UserImage.Size=ud(0,sz,1,0)
4287
		UserImage.ImageTransparency=0
4288
		UserImage.Position=ud(0,4,0,0)
4289
		UserImage.ZIndex=8
4290
		wait(4*1.5)
4291
		for i = 0,1.05,.05 do UserImage.ImageTransparency=i lrs:wait() end
4292
	else
4293
		local fr,tl=Functions:Notification(Type, 4)
4294
		tl.Size=ud(1,-(sz+5),1,0)
4295
		tl.Position=ud(0,sz+5,0,0)
4296
		local UserImage = Functions:MakeNewUi('ImageLabel')
4297
		UserImage.Image=Functions:PlayerImage(tostring(Plr))
4298
		UserImage.Parent=fr
4299
		UserImage.Size=ud(0,sz,1,0)
4300
		UserImage.ImageTransparency=0
4301
		UserImage.Position=ud(0,4,0,0)
4302
		UserImage.ZIndex=8
4303
		wait(4*1.5)
4304
		for i = 0,1.05,.05 do UserImage.ImageTransparency=i lrs:wait() end
4305
	end
4306
end
4307
4308
local Notifications={};
4309
local Notifs=0
4310
4311
function Functions:AdjustNotifPositions()
4312
	local upv=0
4313
	for i, data in next, Notifications do
4314
		--warn('('..tostring(ud(1,-200,.8,-(60*upv)))..')',#Notifications)
4315
		pcall(function()
4316
			data[1]:TweenPosition(ud(1,-200,.8,-(60*upv)),'Out','Back',.5,true)
4317
		end)
4318
		upv=upv+1
4319
		wait(.1)
4320
	end
4321
end
4322
4323
function Functions:Notification(Text, ExitDelay)
4324
	if not ExitDelay then ExitDelay=4 end
4325
	if not AtMainScreen then return end
4326
	local v=false
4327
	local Frame = Functions:MakeNewUi('Frame')
4328
	Frame.ZIndex=8
4329
	Frame.BackgroundTransparency=.25
4330
	Frame.Size=ud(0,200,0,55)
4331
	Frame.BackgroundColor3=CurrentPlayerData[4]
4332
	Frame.Position = ud(1,0,.8,-(60*Notifs))
4333
	Frame.Parent=MainFrame
4334
	Frame:TweenPosition(ud(1,-200,.8,-(60*Notifs)),'Out','Sine',2,true)
4335
	table.insert(Notifications,{Frame,ud(1,-200,.8,-(60*Notifs))})
4336
	local Shader1 = Functions:MakeNewUi('Frame')
4337
	Shader1.ZIndex=9
4338
	Shader1.BackgroundTransparency=.9
4339
	Shader1.Size=ud(0,2,1,0)
4340
	Shader1.BackgroundColor3=CurrentPlayerData[4]
4341
	Shader1.Position = ud(0,-2,0,0)
4342
	Shader1.Parent=Frame
4343
	local Shader2 = Functions:MakeNewUi('Frame')
4344
	Shader2.ZIndex=9
4345
	Shader2.BackgroundTransparency=.8
4346
	Shader2.Size=ud(0,1,1,0)
4347
	Shader2.BackgroundColor3=CurrentPlayerData[4]
4348
	Shader2.Position = ud(0,-1,0,0)
4349
	Shader2.Parent=Frame
4350
	spawn(function()
4351
		Shader1:TweenPosition(ud(0,0,0,0),'Out','Linear',.4,true)
4352
		 wait(.1)
4353
		Shader2:TweenPosition(ud(0,1,0,0),'Out','Linear',.4,true)
4354
	end)
4355
	local TLabel = Functions:MakeNewUi('TextButton')
4356
	TLabel.TextColor3=CurrentPlayerData[4]
4357
	TLabel.Position=ud(0,4,0,0)
4358
	TLabel.ZIndex=9
4359
	TLabel.Active=true
4360
	TLabel.BackgroundTransparency=.98
4361
	TLabel.TextWrapped=true
4362
	TLabel.Size=ud(1,-4,1,0)
4363
	TLabel.TextXAlignment='Left'
4364
	--TLabel.TextYAlignment='Top'
4365
	TLabel.Font=OS.Settings.Fonts.Sub_Header
4366
	TLabel.FontSize='Size12'
4367
	TLabel.TextStrokeColor3=CurrentPlayerData[4]
4368
	TLabel.TextStrokeTransparency=1
4369
	TLabel.TextTransparency=1
4370
	TLabel.Parent=Frame
4371
	Notifs=Notifs+1
4372
	local tic = Functions:Sound(230336790,false)
4373
	tic:Play()
4374
	for i = 0,1.02,.02 do
4375
		Frame.BackgroundColor3=Frame.BackgroundColor3:lerp(CurrentPlayerData[3],.2)
4376
		Frame.BackgroundTransparency=1.5-i
4377
		TLabel.TextStrokeTransparency=1.9-i
4378
		TLabel.TextTransparency=1-i
4379
		lrs:wait()
4380
	end
4381
	local cc=true
4382
	local function Close()
4383
		if (not cc) then return end
4384
		--print'3'
4385
		Frame:TweenPosition(ud(1,0,.8,Frame.Position.Y.Offset),'Out','Sine',3,true)
4386
		for i = 0,1.015,.02 do
4387
			--Frame.BackgroundColor3=Frame.BackgroundColor3:lerp(c3(0,0,0),.2)
4388
			Frame.BackgroundTransparency=.5+i
4389
			Shader1.BackgroundTransparency=.9+i
4390
			Shader2.BackgroundTransparency=.8+i
4391
			TLabel.TextStrokeTransparency=.9+i
4392
			TLabel.TextTransparency=i
4393
			lrs:wait()
4394
		end
4395
		val=true
4396
		Frame:Destroy()
4397
		for i,v in next, Notifications do
4398
			if v[1]==Frame then 
4399
				table.remove(Notifications,i)
4400
			end
4401
		end
4402
		Notifs=Notifs-1
4403
		Functions:AdjustNotifPositions()
4404
	end
4405
	local ev
4406
	ev=TLabel.MouseButton1Click:connect(function()
4407
		--print'k'
4408
		spawn(Close)
4409
		wait()
4410
		cc=false
4411
		ev:disconnect()
4412
	end)
4413
	spawn(function()
4414
		if cc then
4415
			Effects:Type(TLabel, Text, 'In',.01)
4416
			wait(ExitDelay*1.2)
4417
			--print'k2'
4418
			spawn(Close)
4419
			wait()
4420
			cc=false
4421
			ev:disconnect()
4422
		end
4423
	end)
4424
	return Frame, TLabel
4425
end
4426
4427
function Functions:CreateLogin()
4428
	local BFrame = Functions:MakeNewUi('Frame')
4429
	BFrame.ZIndex=4
4430
	BFrame.BackgroundTransparency=1
4431
	BFrame.Size=ud(1,0,1,0)
4432
	BFrame.Position = ud(0,0,0,0)
4433
	BFrame.Parent=MainFrame
4434
	local TransFrame = Functions:MakeNewUi('Frame')
4435
	TransFrame.ZIndex=8
4436
	TransFrame.BackgroundTransparency=1
4437
	TransFrame.Parent=MainFrame
4438
	local Start = Functions:MakeNewUi('TextButton')
4439
	local txt='Welcome to SaviOS, '..Host.Name..'.'
4440
	Start.Text=txt
4441
	Start.Font=OS.Settings.Fonts.Header
4442
	Start.TextColor3=CurrentPlayerData[4]
4443
	Start.Position=ud(0,0,0,-18)
4444
	Start.BackgroundTransparency=1
4445
	Start.TextTransparency=1
4446
	Start.Parent=BFrame
4447
	local Sub = Functions:MakeNewUi('TextLabel')
4448
	Sub.Parent=BFrame
4449
	Sub.TextColor3=CurrentPlayerData[4]
4450
	Sub.Text='Loading Decal and Sound Assets.'
4451
	Sub.Position=ud(0,0,0,25-18)
4452
	Sub.BackgroundTransparency=1
4453
	Sub.TextTransparency=1
4454
	Sub.ZIndex=6
4455
	local Circ = Functions:MakeNewUi('ImageLabel')
4456
	Circ.Image=Functions:Asset(502107146)
4457
	Circ.Parent=BFrame
4458
	Circ.ImageTransparency=0
4459
	Circ.ImageColor3 = CurrentPlayerData[3]
4460
	Circ.Size=ud(0,350,0,400)
4461
	Circ.Position=Functions:CenterOffset(Circ,ud(0,0,0,0))
4462
	Circ.ZIndex=5
4463
	local con=false
4464
	spawn(function()
4465
		Effects:Type(Start, txt, 'In',.06)
4466
		local nspd=.5
4467
		repeat wait(nspd)
4468
			--Start.Text=txt
4469
			Circ:TweenSizeAndPosition(ud(0,450,0,500),ud(.5,-450/2,.5,-250),'In','Back',nspd,true)
4470
			wait(nspd)
4471
			Circ:TweenSizeAndPosition(ud(0,350,0,400),ud(.5,-350/2,.5,-200),'Out','Quint',nspd,true)
4472
			--Start.Text=txt..'|'
4473
		until con
4474
	end)
4475
	for i = 0,1.025,.025 do
4476
		Start.TextTransparency = 1-i
4477
		MainFrame.BackgroundTransparency = 1-i
4478
		lrs:wait()
4479
	end
4480
	local function finish_Load()
4481
		Particles=false
4482
		Effects:Type(Start, txt, 'Out',.02)
4483
		Start.Text=''
4484
		Circ:TweenSizeAndPosition(ud(0,15,0,20),ud(.5,-15/2,.5,-10),'In','Quint',2,true)
4485
		wait(2)
4486
		Circ:TweenSizeAndPosition(ud(0,950,0,1000),ud(.5,-950/2,.5,-500),'In','Back',1,true)
4487
		wait(.2)
4488
		for i = 0,1.025,.025 do
4489
			Sub.TextTransparency = i
4490
			Circ.ImageTransparency=i
4491
			lrs:wait()
4492
		end
4493
		Circ:Destroy()
4494
		BFrame.Size = ud(0,400,0,210)
4495
		BFrame.Position = Functions:Center(BFrame)
4496
		spawn(function()
4497
			for i = 0,20,.1 do
4498
				MainFrame.BackgroundColor3 = MainFrame.BackgroundColor3:lerp(CurrentPlayerData[3],.1)
4499
				lrs:wait()
4500
			end
4501
		end)
4502
		Sub.Text='Assets['..(#OS.Backgrounds+#OS.Sounds)..'] Loaded.'
4503
		delay(.5,function()
4504
			txt='Click here to begin'
4505
			Effects:Type(Start, txt, 'In',.05)
4506
			delay(.6,function()
4507
				Start.Text=txt
4508
			end)
4509
		end)
4510
		for i = 0,1.025,.025 do
4511
			Sub.TextTransparency = 1-i
4512
			lrs:wait()
4513
		end
4514
	end
4515
	local con2=false
4516
	delay(1,function()
4517
		for i = 0,1.025,.025 do
4518
			Sub.TextTransparency = 1-i
4519
			lrs:wait()
4520
		end
4521
		delay(2,function()
4522
			local tbl1={};
4523
			local tbl2={OS.Backgrounds,OS.Sounds,OS.DecalAssets}
4524
			for _,__ in next, tbl2 do 
4525
				for i, Id in next, __ do
4526
					table.insert(tbl1, Id) 
4527
				end
4528
			end
4529
			for i,v in next, tbl1 do lrs:wait() end
4530
			con=true
4531
			finish_Load()
4532
			con2=true
4533
		end)
4534
	end)
4535
	repeat lrs:wait() until con2
4536
	Start.TextTransparency = 0
4537
	--MainFrame.Transparency = 0
4538
	local LoginScreen
4539
	local sclick
4540
	sclick=Start.MouseButton1Down:connect(function()
4541
		Sub:TweenPosition(ud(0,0,1,50),'In','Quint',1,true)
4542
		delay(1, function()
4543
			LoginScreen(false)
4544
		end)
4545
		sclick:disconnect()
4546
	end)
4547
	function LoginScreen(NewFrame)
4548
		OS['Login']=LoginScreen
4549
		if NewFrame then
4550
			BFrame = Functions:MakeNewUi('Frame')
4551
			BFrame.ZIndex=4
4552
			BFrame.BackgroundTransparency=1
4553
			BFrame.Size = ud(0,400,0,210)
4554
			BFrame.Position = Functions:Center(BFrame)
4555
			BFrame.Parent=MainFrame
4556
		end
4557
		pcall(function()
4558
			Sub:Destroy()
4559
			for i = 0,1.025,.025 do
4560
				Start.TextTransparency = i
4561
				lrs:wait()
4562
			end
4563
			Start.Parent=nil
4564
		end)
4565
		local UserImage = Functions:MakeNewUi('ImageLabel')
4566
		UserImage.Image=Functions:PlayerImage(Host)
4567
		UserImage.Parent=BFrame
4568
		UserImage.Size=ud(0,100,0,100)
4569
		UserImage.ImageTransparency=1
4570
		UserImage.Position=Functions:CenterOffset(UserImage,ud(0,0,-1,0))
4571
		UserImage:TweenPosition(Functions:CenterOffset(UserImage,ud(0,0,0,-50),'Out','Back',1,true))
4572
		UserImage.ZIndex=8
4573
		local UserImgFrame = Functions:MakeNewUi('ImageLabel')
4574
		UserImgFrame.Image=Functions:Asset(502107146)
4575
		UserImgFrame.Parent=BFrame
4576
		UserImgFrame.ImageTransparency=0
4577
		--UserImgFrame.ImageColor3 = c3(Monitor.Color.r+.2,Monitor.Color.g+.2,Monitor.Color.b+.2)
4578
		UserImgFrame.Size=ud(0,100,0,100)
4579
		UserImgFrame.Position=Functions:CenterOffset(UserImgFrame,ud(0,0,-1,0))
4580
		UserImgFrame:TweenPosition(Functions:CenterOffset(UserImgFrame,ud(0,0,0,-50),'Out','Back',1,true))
4581
		local Username = Functions:MakeNewUi('TextLabel')
4582
		Username.Text = Host.Name
4583
		Username.Parent = BFrame
4584
		Username.TextTransparency=.9
4585
		Username.Position=ud(0,0,1,0)
4586
		Username.ZIndex=9
4587
		Username:TweenPosition(ud(0,0,0,15),'Out','Quint',1,true)
4588
		local Password = Functions:MakeNewUi('TextButton')
4589
		Password.TextTransparency=1
4590
		Password.Parent=BFrame
4591
		Password.Position=ud(0,0,1,0)
4592
		Password.Font=OS.Settings.Fonts.Sub_Header
4593
		Password.TextStrokeColor3 = Password.TextColor3
4594
		Password.MouseEnter:connect(function()
4595
			Password.TextStrokeTransparency=.9
4596
		end)
4597
		Password.MouseLeave:connect(function()
4598
			Password.TextStrokeTransparency=1
4599
		end)
4600
		local canclick=false
4601
		Password.MouseButton1Down:connect(function(x,y)
4602
			if not canclick then
4603
				return
4604
			end
4605
			canclick=false
4606
			--Effects:Particles(x,y)
4607
			local val = Functions:LoginScreenGui(ud(0,400,0,28),{loop=true,ui=Password},true)
4608
			print('dun',val)
4609
			local ss
4610
			ss=function(pp)
4611
			num=0
4612
			for i,v in next,pp:children() do
4613
				num=num+1
4614
				pcall(function()
4615
					spawn(function()
4616
						for i = 0,1.025,.025 do
4617
							if v:IsA'TextButton' or v:IsA'TextBox' or v:IsA'TextLabel' then
4618
								v.TextTransparency = i
4619
								lrs:wait()
4620
							end
4621
						end
4622
					end)
4623
				end)
4624
				pcall(function()
4625
					spawn(function()
4626
						for i = 0,1.025,.025 do
4627
							if v:IsA'ImageLabel' then
4628
								v.ImageTransparency = i
4629
								lrs:wait()
4630
							end
4631
						end
4632
					end)
4633
				end)
4634
				pcall(function()
4635
				v:TweenPosition(ud(2,v.Position.X.Offset,v.Position.Y.Scale,v.Position.Y.Offset),'In','Sine',1,true)
4636
				end)
4637
				wait(.1)
4638
				ss(v)
4639
			end
4640
			return num
4641
			end
4642
			ss(BFrame)
4643
			wait((num+1.5)-(.4*num))
4644
			BFrame:Destroy()
4645
			Functions:MakeHomeScreen()
4646
			return {}
4647
			--canclick=true
4648
			--Gui:Destroy()
4649
		end)
4650
		delay(.1,function()
4651
			Password:TweenPosition(ud(0,0,0,45),'Out','Quint',1,true)
4652
		end)
4653
		spawn(function()
4654
			Effects:Type(Password, 'Enter your Password', 'In',.03)
4655
			canclick=true
4656
		end)
4657
		wait(.3)
4658
		spawn(function()
4659
			Effects:Underline(Username, 20, 70, 2, CurrentPlayerData[4], true)
4660
		end)
4661
		for i = 0,1.025,.01 do
4662
			--UserName.TextTransparency = 1-i
4663
			Password.TextTransparency = 1-i
4664
			Username.TextTransparency = 1-i
4665
			UserImage.ImageTransparency = 1-i
4666
			lrs:wait()
4667
		end
4668
		Functions:IfRegistered(Host.Name, function(bool)
4669
			if bool==true then
4670
				for i = 0,20 do
4671
					UserImgFrame.ImageColor3 = UserImgFrame.ImageColor3:lerp(c3(.25,1,.25),.1)
4672
					lrs:wait()
4673
				end
4674
			elseif bool and not Official then
4675
				for i = 0,20 do
4676
					UserImgFrame.ImageColor3 = UserImgFrame.ImageColor3:lerp(c3(1,.25,.25),.1)
4677
					lrs:wait()
4678
				end
4679
			else
4680
				for i = 0,20 do
4681
					UserImgFrame.ImageColor3 = UserImgFrame.ImageColor3:lerp(c3(.4,0,0),.1)
4682
					lrs:wait()
4683
				end
4684
			end
4685
		end)
4686
	end
4687
end
4688
4689
function Functions:Lerp(Speed)
4690
	if Monitor and Monitor.Parent~=nil then
4691
		ypcall(function()
4692
			Monitor.CFrame = Monitor.CFrame:lerp(
4693
			Host.Character.HumanoidRootPart.CFrame * 
4694
			CFrame.new(0,5.5,-6.5) *
4695
			CFrame.Angles(-math.rad(12),0,0)
4696
			, Speed)
4697
		end)
4698
	end
4699
end
4700
4701
function Functions:Boot()
4702
	script:ClearAllChildren()
4703
	Functions:MakeMonitor()
4704
	G = Instance.new('SurfaceGui', Monitor)
4705
	G.Adornee = Monitor
4706
	G.Face = Enum.NormalId.Back
4707
	MainFrame = Functions:MakeNewUi('Frame')
4708
	MainFrame.ZIndex=1
4709
	MainFrame.BackgroundTransparency=.3
4710
	MainFrame.BackgroundColor3 = CurrentPlayerData[3]
4711
	MainFrame.Parent=G
4712
	spawn(function()
4713
		--wait(2)
4714
		for i = 0,20,.1 do
4715
			MainFrame.BackgroundColor3 = MainFrame.BackgroundColor3:lerp(CurrentPlayerData[4],.1)
4716
			lrs:wait()
4717
		end
4718
	end)
4719
	local MouseFrame = Instance.new('TextLabel', MainFrame)
4720
	MouseFrame.Size = ud(0,5,0,5)
4721
	MouseFrame.BackgroundTransparency = 1
4722
	MouseFrame.Text = ''
4723
	MouseFrame.ZIndex = 9
4724
	MouseFrame.BackgroundColor3=c3(-1,-1,-1)
4725
	MainFrame.MouseMoved:connect(function(x,y)
4726
		if MouseFrame.Parent ~= nil then
4727
			MouseFrame.Position = ud(0,x+3,0,y+6)
4728
		end
4729
	end)
4730
	--200182847
4731
	local MouseInner = Instance.new('ImageLabel', MouseFrame)
4732
	OS.Assets.Mouse=MouseFrame
4733
	MouseInner.Size = ud(0,5,0,5)
4734
	MouseInner.Position = ud(0,-5,0,-7)
4735
	MouseInner.ImageColor3 = CurrentPlayerData[3]
4736
	MouseInner.Image = Functions:Asset(284205403)
4737
	MouseInner.Name = 'AFriendlyMouse1'
4738
	MouseInner.BackgroundTransparency = 1
4739
	MouseInner.ZIndex = 10
4740
	local MouseOuter = Instance.new('ImageLabel', MouseFrame)
4741
	MouseOuter.Size = ud(0,7,0,7)
4742
	MouseOuter.Position = ud(0,-6,0,-8)
4743
	MouseOuter.ImageColor3 = CurrentPlayerData[4]
4744
	MouseOuter.Image = Functions:Asset(284205403)
4745
	MouseOuter.Name = 'AFriendlyMouse2'
4746
	MouseOuter.BackgroundTransparency = 1
4747
	MouseOuter.ZIndex = 9
4748
	local sx,sy=90,100
4749
	local mouseactive=true
4750
	PlayerMouse.Button1Down:connect(function()
4751
		OS.MouseDown = true
4752
		if not mouseactive then return end
4753
		local mus=Functions:Sound(341225236)
4754
		mus.Pitch=3
4755
		mus:Play()
4756
	end)
4757
	PlayerMouse.Button1Up:connect(function()
4758
		OS.MouseDown = false
4759
		if not mouseactive then return end
4760
		local mds=Functions:Sound(341225236)
4761
		mds.Pitch=2.5
4762
		mds:Play()
4763
		local RelativeUi=MouseFrame
4764
		local x,y=RelativeUi.Position.X.Offset,RelativeUi.Position.Y.Offset
4765
		local Circ = Functions:MakeNewUi('ImageLabel')
4766
		Circ.Image=Functions:Asset(284205403)
4767
		Circ.Parent=MainFrame
4768
		Circ.ImageTransparency=0
4769
		Circ.ImageColor3 = CurrentPlayerData[4]
4770
		Circ.Size=ud(0,5,0,5)
4771
		local backx,backy=5,6
4772
		Circ.Position=ud(0,x-backx,0,y-backy)
4773
		Circ.ZIndex=10
4774
		spawn(function()
4775
			Circ:TweenSizeAndPosition(ud(0,sx,0,sy),ud(0,(x-backx)-(sx/2),0,(y-backy)-(sy/2)),'Out','Sine',1,true)
4776
			for i = 0,1.05,.05 do
4777
				Circ.ImageTransparency=i
4778
				lrs:wait()
4779
			end
4780
			Circ:Destroy()
4781
		end)
4782
	end)
4783
	MainFrame.MouseEnter:connect(function(x,y)
4784
		mouseactive=true
4785
		game:service'UserInputService'.MouseIconEnabled=false
4786
		OS.Functions:HideChar()
4787
	end)
4788
	MainFrame.MouseLeave:connect(function(x,y)
4789
		mouseactive=false
4790
		game:service'UserInputService'.MouseIconEnabled=true
4791
		OS.Functions:ShowChar()
4792
	end)
4793
	--Functions:CreateLogin()
4794
	Functions:MakeHomeScreen()
4795
end
4796
4797
lrs:connect(function()
4798
	Functions:Lerp(.2)
4799
end)
4800
4801
Character.Humanoid.Died:connect(function()
4802
	Monitor.Parent:Destroy()
4803
	game:service'UserInputService'.MouseIconEnabled=true
4804
	script:Destroy()
4805
end)
4806
4807
Host.Chatted:connect(function(msg)
4808
	if msg=='g/r' then
4809
		Monitor:Destroy()
4810
		game:service'UserInputService'.MouseIconEnabled=true
4811
		script:Destroy()
4812
	end
4813
end)
4814
4815
local plrz=game:service'Players'
4816
4817
plrz.PlayerAdded:connect(function(Plr)
4818
	Functions:PlayerImgNotification(Plr, 'join')
4819
end)
4820
4821
plrz.PlayerRemoving:connect(function(Plr)
4822
	Functions:PlayerImgNotification(Plr, 'rmv')
4823
end)
4824
4825
Functions:Boot()
4826
4827
Host.Chatted:connect(function(msg)
4828
	if msg:lower()=='!reboot' then
4829
		Functions:Boot()
4830
	elseif msg:lower():sub(0,#'!background') == '!background' then
4831
		local id = msg:lower():sub(#'!background'+2)
4832
		OS.UIs['Background'][1].Image=Functions:Asset(tonumber(id))
4833
	end
4834
end)