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) |