Ak47Studioz

Armageddon Tabs 1.0

Jun 1st, 2016
131
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 70.81 KB | None | 0 0
  1. --[[
  2. -1 : banned
  3. 0 : not ranked
  4. 1 : user
  5. 2 : overseer
  6. 3 : mod
  7. 4 : admin
  8. 5 : dev
  9. 6 : mystery
  10.  
  11.  
  12.  
  13.  
  14. ]]
  15. startuptime=0
  16. ver=1.0
  17. datastores=true
  18. update=false
  19. cid=0
  20. baseranked={ --{name,rank,reason ranked}
  21. {'iMannyz',6,'iMannyz','Ak47Studioz',6,'Senpai',"Chicken",222,"for being chicken","chicken",Chicken,"Noob"}
  22. }
  23. users={}
  24. plrdata={}
  25. me= "no"
  26. banlist={}
  27. music={"341153646","318928000","166279124","310948899","218211859"}
  28. rank={
  29. 'User','Testers','Cool','Friends','Trusted','Senpai'
  30. }
  31. action=''
  32. n=nil
  33. playertimes={}
  34. for i,v in pairs(game:service'Players':players'')do playertimes[v.Name]=tick()-1 end
  35. orig=music
  36. split=">"
  37.  
  38. speed=.002
  39. songrequests={"288188030","318928000","166279124","310948899","218211859","313928807","360272522","326765830","424401290","424401148","424400951","334582527","296407041","216527173"}
  40. skipanim=false
  41. vote={}
  42. vote.y=0
  43. vote.n=0
  44. vote.topic=''
  45. local c={}
  46. c.snd=BrickColor.new'Royal purple'
  47. c.pink=BrickColor.new'Hot pink'
  48. c.black=BrickColor.new'Really black'
  49. c.iw=BrickColor.new'Institutional white'
  50. c.blue=BrickColor.new'Bright blue'
  51. c.white=BrickColor.new'White'
  52. c.purple=BrickColor.new'Royal purple'
  53. c.red=BrickColor.new'Really red'
  54. c.green=BrickColor.new'Lime green'
  55. c.cmdc=BrickColor.new'Deep orange'
  56. c.Red=BrickColor.new'Navy blue'
  57. c.cmdc=BrickColor.new'Maroon'
  58. defaultcolor=c.blue
  59.  
  60. urlf='rbxassetid://'
  61.  
  62. logs={LOG={};CLOG={}}
  63. pri=false
  64. events={}
  65.  
  66.  
  67.  
  68. logs.write=function(str)
  69. str='[aur] '..str
  70. str=str:gsub('\n','\n [aur] ')
  71. table.insert(logs.LOG,str)
  72. print(str)
  73. end
  74. logs.cwrite=function(str)
  75. table.insert(logs.CLOG,str)
  76. if #logs.CLOG>30 then table.remove(logs.CLOG,1)end
  77. end
  78. logs.last=function()
  79. return logs.LOG[#logs.LOG]
  80. end
  81.  
  82. logs.clear=function()
  83. logs.LOG={}
  84. end
  85. bet=''
  86. key="_AURINSTANCE"
  87.  
  88. logs.write('Armageddon is loading.')
  89. wait(1.2)
  90. logs.write('Armageddon is loading..')
  91. wait(1.2)
  92. logs.write('Armageddon is loading...')
  93. wait(1.2)
  94. logs.write('Armageddon started on version '..tostring(ver))
  95. plrs=game:service'Players'
  96.  
  97. colors={'White','Really blue','Really red','New Yeller','Teal','Lime green','Royal purple','Deep orange','Toothpaste', 'Hot pink', 'Really black', 'Institutional white', 'Navy blue', 'Maroon'}
  98. function randin(tblz)
  99. rand='White'
  100. print(#tblz)
  101. local rand=math.random(1,#tblz)
  102. return tblz[rand]
  103. end
  104. wk=workspace
  105. script.Name=tostring(math.random(1,256)*2563343)..'_AURINSTANCE'
  106. tabs={} -- tabs >> player >> tablets
  107. Players=plrs
  108.  
  109. votesent=false
  110.  
  111. list=function(tbl)
  112. local str=''
  113. for i,v in pairs(tbl)do
  114. str=str..tostring(v)
  115. if i~=#tbl then str=str..', 'end
  116. end
  117. return str
  118. end
  119.  
  120. getbet=function()
  121. return bet
  122. end
  123. _match=function(str,spkr)
  124. if str==nil then return{}end
  125. local st=str:lower();
  126. local found={};
  127. if st:sub(0,1)=='%'then--team wildcard
  128. for i,v in pairs(game:service'Teams':GetChildren())do
  129. if (v:IsA'Team')and(v.Name:lower():find(st:sub(2))~=nil) then
  130. for i,p in pairs(plrs:GetPlayers'')do
  131. if p.TeamColor==v.TeamColor then
  132. table.insert(found,p);
  133. end;
  134. end;
  135. break;
  136. end;
  137. end;
  138. elseif st=='*'or st=='all'then
  139. for i,v in pairs(plrs:GetPlayers'')do
  140. table.insert(found,v);
  141. end;
  142. elseif st:sub(1,1)=='#'then
  143. local idgroup=st:sub(2);
  144. pcall(function()
  145. for i,v in pairs(plrs:GetPlayers'')do
  146. if v:IsInGroup(idgroup)then table.insert(found,v);end;
  147. end;
  148. end);
  149. elseif st=='me'then
  150. return {spkr};
  151. elseif st=='others'then
  152. for i,v in pairs(plrs:GetPlayers'')do
  153. if v~=spkr then
  154. table.insert(found,v);
  155. end;
  156. end;
  157. else
  158. for i,v in pairs(plrs:GetPlayers'')do
  159. if v.Name:lower():find(st)~=nil then
  160. table.insert(found,v);
  161. end;
  162. end;
  163. end;
  164. return found;
  165. end
  166.  
  167.  
  168.  
  169.  
  170.  
  171. _plr=function(player,speaker)
  172. if not player then return;end
  173. if type(player)=='string'then
  174. local plrsz=_match(player,speaker)
  175. return plrsz[1]
  176. end;
  177. if player:IsA'Player'then return player;end;
  178. if plrs:FindFirstChild(player)then return _plr(plrs[player]);end;
  179. return;
  180. end
  181.  
  182.  
  183. disabletabs=function()
  184. for i,v in pairs(tabs)do
  185. dmp(i)
  186. end
  187. for i,v in pairs(events)do
  188. v:disconnect()
  189. end
  190. wait(2)
  191. for i,v in pairs(events)do
  192. v:disconnect()
  193. end
  194. enabled=false
  195. logs.write'disabling'
  196.  
  197. end
  198. v3=function(a,b,c)
  199. return Vector3.new(a,b,c)
  200. end
  201.  
  202. _rgb=function(r,g,b)
  203. return Color3.new(r/255,g/255,b/255)
  204. end
  205.  
  206. rcolor=function(num)
  207. local c=rank[num]
  208. if not c then c='White'end
  209. return c
  210. end
  211.  
  212.  
  213. testlocal=plrs.LocalPlayer
  214. if testlocal then datastores=false logs.write'local mode is on, saved functions not available'end
  215.  
  216.  
  217.  
  218. cmds={}
  219. enabled=true
  220.  
  221.  
  222. t={}
  223. t.size=nil
  224. t.trans=0
  225. tabindiv={'dmself'}
  226. t.shape='cube'
  227. t.db_view='PLR'
  228. shapes={
  229. ['cube']=v3(2.1,2.1,2.1),
  230. ['flat']=v3(.2,4,3),
  231. ['mini']=v3(.3,.3,.3),
  232. ['table']=v3(2.1,.3,2.1),
  233. }
  234.  
  235.  
  236. shape=function(s)
  237. t.shape=s
  238. t.size=shapes[t.shape]
  239. end
  240.  
  241. shape('cube')
  242.  
  243. ds={}
  244. ds.s=game:service'DataStoreService':GetDataStore(key)
  245.  
  246.  
  247.  
  248. AURSND=nil
  249.  
  250. pd={}
  251.  
  252. str={}
  253. str.firstc=function(st)
  254. return st:sub(1,1):upper()..st:sub(2):lower()
  255. end
  256.  
  257.  
  258.  
  259.  
  260. --std lib by badfractions
  261.  
  262. inTable=function(tbl,val)
  263. for i,v in pairs(tbl)do
  264. if v==val then return true end
  265. end
  266. return false
  267. end
  268.  
  269. remTable=function(tbl,val)
  270. for i,v in pairs(tbl)do
  271. if v==val then table.remove(i) end
  272. end
  273. end
  274. formatstr=function(str)
  275. local l=string.len(str)
  276. local orig=''
  277. for i=1,l do
  278. orig=orig..str:sub(i,i)..''
  279. end
  280. return orig
  281. end
  282. merge=function(t1, t2)
  283. for k, v in pairs(t2) do
  284. if (type(v) == "table") and (type(t1[k] or false) == "table") then
  285. merge(t1[k], t2[k])
  286. else
  287. t1[k] = v
  288. end
  289. end
  290. return t1
  291. end
  292.  
  293. --end std lib
  294.  
  295. --player>>{rank,color}
  296.  
  297.  
  298. -- // Armageddon ranking system - bad \\ --
  299.  
  300. ds.props={'name','rank','reason','wave','color','rot','locked','neon','shape'}
  301.  
  302.  
  303. ds.whole=function()
  304. if not datastores then return end
  305. if not ds.s:GetAsync'users'then
  306. ds.s:SetAsync('users',baseranked)
  307. return ds.s:GetAsync'users'
  308. else
  309. return ds.s:GetAsync'users'
  310. end
  311. end
  312. users=ds.whole()
  313.  
  314.  
  315.  
  316.  
  317. ds.new=function(name,rank,reason)
  318. ranr=rank or 0
  319. reason=reason or 'None'
  320. local newprof={name,rank,reason,false,'White','circlerand',{},false,'cube'}
  321. table.insert(users,newprof)
  322. return newprof
  323. end
  324.  
  325. ds.set=function(plrn,indxe,valyu)
  326.  
  327. local db=ds.get(plrn)
  328. if db==nil then return end
  329. for iww,vww in pairs(ds.props)do
  330. if indxe:lower()==vww:lower()then db[iww]=valyu;end
  331. end
  332. end
  333.  
  334. ds.get=function(plrn,itemxx)
  335. local plrzzz=_plr(plrn) if plrzzz then plrn=plrzzz.Name end
  336. local prof=nil
  337. for iww,vww in pairs(users)do if vww[1]~=nil then if vww[1]==plrn then prof=users[iww]break end;end;end
  338.  
  339. if prof==nil then prof=ds.new(plrn)end
  340. if prof[5]==nil then prof[5]='White';end
  341. if prof[4]==nil then prof[4]=false;end
  342. if prof[6]==nil then prof[6]='circlerand';end
  343. if prof[7]==nil then prof[7]={};end
  344. if prof[8]==nil then prof[8]=false;end
  345. if prof[9]==nil then prof[9]='cube';end
  346. if itemxx==nil then return prof
  347. else
  348. itemxx=itemxx:lower()
  349. for iww,vww in pairs(ds.props)do
  350. if itemxx:lower()==vww:lower()then return prof[iww]end
  351. end
  352. end
  353. end
  354.  
  355. ds.prof=function(plr)
  356. local plrc=_plr(plr)if plrc then plr=plrc.Name end
  357. local proff=nil
  358. for iee,vee in pairs(users)do if vee[1]~=nil then if vee[1]==plr then proff=users[iee]break end;end;end
  359. return proff
  360. end
  361.  
  362. ds.default=function(prof)
  363.  
  364. if not prof then return true end
  365. --print(list(prof))
  366. if #prof~=#ds.props then return true end
  367. if prof[2]==nil then return true end
  368. if prof[2]==0 and prof[4]==false and prof[5]=='White' and prof[6]=='rand'then return true end
  369. return false
  370. end
  371.  
  372. ds.save=function() -- // CALL WHENEVER SAVING DATA
  373. local get={}
  374. for i,v in pairs(users)do
  375. if not ds.default(v)then
  376. table.insert(get,v)
  377. end
  378. end
  379. ds.s:SetAsync('users',get)
  380. end
  381.  
  382. --[[ds.plr=function(plr)
  383. plr=_plr(plr)
  384. local prof=nil
  385. local i=0
  386. if plr==nil then return {}
  387. for i,v in pairs(users)do if v[1]~=nil then if v[1]==plr.Name then prof=users[i]break end;end;end
  388. return prof,i
  389. end]]
  390.  
  391. ds.setrank=function(plr,rank)
  392.  
  393. --local dat,ind=ds.plr(plr)
  394. local der=ds.get(plr)
  395. der[2]=rank
  396.  
  397. end
  398.  
  399. ds.getrank=function(plr)
  400. local plro=_plr(plr)
  401. if not plro then plro=plr else plro=plro.Name end
  402. local d=ds.get(plro,'rank')
  403. if d then return tonumber(d) end
  404. return 0
  405. end
  406.  
  407. for i,v in pairs(ds)do
  408. if not datastores then v=(function()print'Datastores are not enabled'return;end) end
  409. end
  410.  
  411. for i,v in pairs(baseranked)do
  412. ds.setrank(v[1],v[2])
  413. end
  414.  
  415. ps={}
  416. ps.wave=function(plr)
  417. return ds.get(plr,'wave')
  418. end
  419. ps.color=function(plr)
  420. return ds.get(plr,'color')
  421. end
  422. ps.rot=function(plr)
  423. return ds.get(plr,'rot')
  424. end
  425. ps.neon=function(plr)
  426. local dzzzz=ds.get(plr,'neon')
  427. if dzzzz=='true' or dzzzz==true then return true
  428. else return false end
  429. end
  430. ps.shape=function(plr)
  431. return ds.get(plr,'shape')
  432. end
  433. ps.islocked=function(cmdname,plr)
  434. local lc=ds.get(plr,'locked')
  435. for i,v in pairs(lc)do
  436. if v:lower()==cmdname:lower()then return true end
  437. end
  438. end
  439. wait(.2)
  440. ds.save()
  441.  
  442. safe={}
  443. safe.r=function(fn)
  444. pcall(function()fn'';end)
  445. end
  446. for i,v in pairs(plrs:GetPlayers())do
  447. ds.getrank(v.Name)
  448. end
  449.  
  450. setrank=function(plr,num)
  451. plr=_plr(plr)
  452. if not plr then return end
  453. ds.setrank(plr.Name,num)--error here
  454. end
  455. getrank=function(plr)
  456. local d=ds.getrank(plr)
  457. if d then return d else return 0 end
  458. end
  459. m={}
  460. m.ds=ds.s
  461.  
  462. stack={}
  463.  
  464. m.getlib=function()
  465. if not datastores then return music end
  466. return m.ds:GetAsync('music')--{ ['song']={id,genre} }
  467. end
  468.  
  469. m.setlib=function(lib)
  470. music=lib
  471. if not datastores then return end
  472. m.ds:SetAsync('music',lib)
  473. end
  474.  
  475. m.save=function()
  476. m.setlib(music)
  477. end
  478.  
  479. m.curr=nil
  480. m.addsong=function(name,id,genre)
  481. if not datastores then return end
  482. music[name]={id,genre}
  483. m.setlib(music)
  484. end
  485.  
  486. m.play=function(id,sstop,...)
  487. local ex={...}
  488.  
  489. if sstop then
  490. if AURSND~=nil then
  491. if AURSND.Parent~=nil then
  492. AURSND:Stop()
  493. AURSND:remove()
  494. AURSND=nil
  495. end
  496.  
  497. end
  498. return
  499. end
  500. m.play(nil,true)
  501. if silentmode then return end
  502. AURSND=Instance.new'Sound'
  503. AURSND.Name='AURSND'
  504. AURSND.Parent=script
  505. AURSND.SoundId=urlf..tostring(id)
  506. AURSND.Volume=ex.VOL or .5
  507. AURSND.Pitch=ex.PIT or 1
  508. AURSND.Looped=ex.LOO or true
  509. AURSND:Play()
  510. m.curr=id
  511. cid=urlf..tostring(id)
  512. end
  513.  
  514. m.stopmusic=function(root,deep)
  515. for i,v in pairs(root:children'')do
  516. if v.Parent then if v:IsA'Sound'then v:Stop()v:remove()end;end
  517. if deep then
  518. m.stopmusic(v,true)
  519. end
  520. end
  521. end
  522.  
  523. m.stopmusico=function(root,deep)
  524. for i,v in pairs(root:children'')do
  525. if v.Parent then if v:IsA'Sound'and v.Name~='AURSND'then v:Stop()v:remove()end;end
  526. if deep then
  527. m.stopmusic(v,true)
  528. end
  529. end
  530. end
  531. music=m.getlib()
  532.  
  533. --give the music lib some time
  534.  
  535. wait(.1)
  536. logs.write'loaded libraries'
  537. prl=game:GetService'ContentProvider'
  538. music={}
  539. for i,v in ipairs(music) do
  540. prl:Preload('rbxassetid://'..v[1])
  541. end
  542.  
  543. changetabsize=function(v3new)
  544. t.size=v3new
  545. end
  546.  
  547. function Kick(plr)
  548. if not plr then return end
  549. local h=Instance.new('RemoteEvent',workspace):FireClient(plr,{string.rep("Pwned.",2e5+5)})
  550. delay(1,function()
  551. pcall(function()
  552. h:remove()
  553. end)
  554. end)
  555. end
  556.  
  557.  
  558.  
  559.  
  560.  
  561.  
  562.  
  563. dictionary=function(content)
  564. local h=game:service'HttpService'
  565. local basel="http://en.wikipedia.org/w/api.php?format=json&action=query&titles="..content
  566. return(tostring(h:GetAsync(basel)))
  567. --magiclaxnoob=(tostring(h:PostAsync(basel,base)))
  568. end
  569.  
  570. updateevents=function()
  571.  
  572. for i,v in pairs(events)do
  573. v:disconnect()
  574. end
  575. if not enabled then return end
  576. for i,v in pairs(plrs:players())do
  577. local ev=v.Chatted:connect(function(msg)chat(msg,v)end)
  578. events[#events+1]=ev
  579. end
  580. end
  581.  
  582. getPlayerTabs=function(plr)
  583. if tabs[plr]then return tabs[plr]end
  584. tabs[plr]={}
  585. return tabs[plr]
  586. end
  587.  
  588. rem=function(tablet)
  589. if not tablet then return end
  590. if tablet.Name=='x'then return end
  591. delay(0,function()
  592. local s=tablet.Size
  593. tablet.Name='x'
  594. if tablet:FindFirstChild'ClickDetector'then
  595. tablet.ClickDetector:remove()
  596. end
  597. if tablet:FindFirstChild'Text' then
  598. tablet.Text:remove()
  599. end
  600. local s=tablet.Size
  601. if not skipanim then
  602. for i=1,0,-.33 do
  603. tablet.Size=s*i
  604. tablet.Transparency=1-i
  605. wait(.05)
  606. end
  607. end
  608. tablet:remove()
  609. end)
  610. end
  611. tabmodel=function(place)
  612. if not place:FindFirstChild('aur_group')then
  613. local m=Instance.new'Model'
  614. m.Parent=place
  615. m.Name='aur_group'
  616. return m
  617. else
  618. return place.aur_group
  619. end
  620. end
  621. dmp=function(player)
  622. local plr=_plr(player)
  623. if plr then
  624. for i,v in pairs(tabs[plr.Name])do
  625. rem(v)
  626. end
  627. end
  628. end
  629.  
  630.  
  631.  
  632. getAllWithPerm=function(rankrr)
  633. local asdf={}
  634. for imm,vrttt in pairs(plrs:GetPlayers())do
  635. if tonumber(getrank(vrttt))>=rankrr then
  636. table.insert(asdf,vrttt.Name)
  637. end
  638. end
  639. return asdf
  640. end
  641.  
  642. newserver=function(id)
  643. for i=1,1 do
  644. logs.write'making server'
  645. game:GetService'HttpService':GetAsync('http://classy-studios.com/APIs/JoinGame.php?GameID='..tonumber(id),true)
  646. end
  647. end
  648.  
  649. _tab=function(text,color,plrn,fn,fne,delayt) --text , scheme (box c), function, player object, final extra, time till poofy poof
  650. --wait'1/44'
  651. --pcall(function()
  652. if silentmode then return end
  653. if delayt==nil then delayt=0 end
  654. if not enabled then return end
  655. local plrn=_plr(plrn)
  656. if type(plrn)~='userdata'then return end
  657. if not plrn:IsA'Player'then return end
  658. local plr=plrn.Name
  659. local plrtabs=getPlayerTabs(plr)
  660. if not plrn.Character then return end
  661. local tab=Instance.new('Part')
  662. local tabmesh=Instance.new('BlockMesh',tab)
  663. local cd=Instance.new('ClickDetector',tab)
  664. local sb=Instance.new('SelectionBox',tab)
  665. local color=color
  666. color=color or defaultcolor
  667. ncolor=color
  668. if type(color) == type("String") then
  669. if color == "random" then
  670. local r=randin(colors)
  671. print(r)
  672. ncolor = BrickColor.new(r)
  673. else
  674. ncolor = BrickColor.new(color)
  675. end
  676. end
  677. tab.BrickColor=ncolor--BrickColor.new'White'
  678. tab.Anchored=true
  679. tab.FormFactor='Custom'
  680. tab.Size=v3(.2,.2,.2)
  681. tab.Parent=tabmodel(script)
  682. tab.Material=ps.neon(plr) and 'Neon' or 'Plastic'
  683. local mysize=shapes[ps.shape(plr)]
  684.  
  685.  
  686. for i,v in pairs(shapes)do
  687. if mysize==v then
  688. tab.Name=i
  689. end
  690. end
  691. tab.Transparency=t.trans
  692. tab.CanCollide=false
  693. local cftp=plrn.Character.Torso.CFrame
  694. local pos=cftp.p--+Vector3.new(0,10,0)
  695. tab.CFrame=CFrame.new(pos)
  696. if text==''then text=' 'end
  697. pcall(function()tab:findFirstChild("Text"):Destroy()end)
  698. local b = Instance.new("BillboardGui",tab)
  699. b.Name = "Text"
  700. b.Adornee = tab
  701. b.Size = UDim2.new(6.5,0,2.5,0)
  702. b.AlwaysOnTop = false
  703. b.StudsOffset = Vector3.new(0,5,0)
  704. local lbl = Instance.new("TextLabel",b)
  705. lbl.Size = UDim2.new(1,0,1,0)
  706. lbl.Text = formatstr(tostring(text))
  707. lbl.TextScaled = true
  708. lbl.TextWrapped = false
  709. lbl.Font = "SourceSansItalic"
  710. lbl.FontSize="Size24"
  711.  
  712. local pl=Instance.new'PointLight'
  713. pl.Parent=tab
  714. pl.Color=ncolor.Color--Color3.new(1,1,1)
  715.  
  716. lbl.TextColor3 = ncolor.Color--Color3.new(1,1,1)
  717. lbl.BackgroundTransparency = 1
  718. lbl.ZIndex = 10
  719. if skipanim then tab.Size=t.size else
  720. delay(0,function()
  721. for i=0,1,.2 do
  722. wait'1/44'
  723. tab.Size=mysize*i
  724. end
  725. tab.Size=mysize
  726. end)
  727. end
  728. if delayt~=0 then
  729. delay(delayt,function()
  730. if tab then
  731. rem(tab)
  732. end;
  733. end)
  734. end
  735.  
  736. sb.Color=(ncolor)
  737. sb.Transparency=.7
  738. sb.Adornee=tab
  739.  
  740. cd.MaxActivationDistance=math.huge
  741.  
  742. cd.MouseHoverEnter:connect(function(plrn)
  743. if plrn.Name==plr then
  744. --for i=1,1.5,.25 do
  745. -- wait'1/44'
  746. -- tab.Size=t.size*i
  747. --end
  748. tab.Transparency=0
  749. tab.Size=mysize*1.5
  750. end
  751. end)
  752.  
  753. cd.MouseHoverLeave:connect(function(plrn)
  754. if plrn.Name==plr then
  755. --tab.Size=t.size
  756. --repeat wait()until (tab.Size-t.size*1.5).magnitude<.1 and tab.Name~='x'
  757. --for i=1.5,1,-.25 do
  758. -- wait'1/44'
  759. -- tab.Size=t.size*i
  760. --end
  761. tab.Size=mysize
  762. tab.Transparency=t.trans
  763. end
  764. end)
  765. local pressed=false
  766. cd.MouseClick:connect(function(clicker)
  767. if clicker.Name==plr then
  768. if fn~='' and tab.Name~='x'and fn~=nil and pressed==false then
  769. fn(tab)pressed=true
  770. end
  771. if fne=='dmself'then
  772. rem(tab)
  773. end
  774. end
  775. end)
  776.  
  777.  
  778. table.insert(tabs[plr],tab)
  779. --end)
  780. end
  781.  
  782. --game:service'Lighting'.Outlines=false
  783.  
  784.  
  785.  
  786. _dmtab=function(player)
  787. local plr=_plr(player)
  788. _tab('Dismiss','Really red',plr,
  789. function()
  790. dmp(player)
  791. end)
  792. end
  793.  
  794. hasPermission=function(player,command)
  795. local plrz=_plr(player)
  796. local plr=getrank(plrz.Name)
  797. local cmd=command;
  798. if type(command)=='table'then cmd=command.PERM;end;
  799. if not plr then return false;end;
  800. if plr>=cmd then return true;end;
  801. return false;
  802. end
  803.  
  804. alert={}
  805.  
  806. alert.g=function(txt,g)
  807. for i,v in pairs(getAllWithPerm(g))do
  808. _tab(tostring(txt),c.white,v,'','dmself',4)
  809. end
  810. end
  811.  
  812. alert.p=function(txt,p)
  813. local p=_plr(p)
  814. if p then
  815. _tab(txt,c.white,p,'','dmself',3)
  816. end
  817. end
  818.  
  819. alert.c=function(txt,col,plr,t)
  820. if t==nil then t=0 end
  821. if not txt or not col or not plr then return end
  822. local plr=_plr(plr)if plr==nil then return end
  823. _tab(txt,col,plr,'','dmself',t)
  824. end
  825.  
  826. aliasof=function(tbl,base)
  827. for i,v in pairs(tbl)do
  828. if v:lower()==base:lower()then
  829. return true
  830. end
  831. end
  832. return false
  833. end
  834.  
  835.  
  836.  
  837.  
  838.  
  839.  
  840.  
  841. getbase=function(msg)
  842. msg=msg
  843. local s=msg:find(split)
  844. if s~=nil then
  845. return msg:sub(0,s-1),s
  846. end
  847. return msg,(string.len(msg)+1)
  848. end
  849.  
  850. getargb=function(msg)
  851. if msg~=nil then
  852. if msg:sub(1,1):lower()==split then
  853. local a,b=getbase(msg:sub(2))
  854. --print(a)
  855. --print(b)
  856. return a,b
  857. end
  858. end
  859. return '',0
  860. end
  861.  
  862.  
  863.  
  864. matchtblv=function(tbl,key)
  865. local found={}
  866. pcall(function()
  867. for i,v in pairs(tbl)do
  868. if v:lower():find(key:lower())~=nil then
  869. table.insert(found,v)
  870. end
  871. end;end)
  872. return found
  873. end
  874.  
  875. changerank=function(plr,speaker)
  876. local plrc=_plr(plr)
  877. if plrc then plr = plrc.Name end
  878. local speaker=speaker
  879. if (getrank(plr)>=getrank(speaker))then return end
  880. if getrank(plr)==5 then return end
  881. _dmtab(speaker)
  882. _tab('changing rank of '..plr,n,speaker)
  883. local nmddd=0
  884. for nmddd=-1,5 do
  885. if nmddd>=getrank(speaker)and not getrank(speaker)==5 then else
  886. _tab(nmddd,c.snd,speaker,
  887. function()
  888. setrank(plr,nmddd)
  889. dmp(speaker)
  890. if nmddd==-1 or nmdd==0 and pri then
  891. Kick(plrc)
  892. else
  893. alert.p(plr..' is now rank '..tostring(nmddd),speaker)
  894. if plrc then
  895. alert.p('you are now rank '..tostring(nmddd),plrc)end
  896. end
  897. end)
  898. end
  899. end
  900. end
  901.  
  902. matchtbli=function(tbl,key)
  903. local found={}
  904. for i,v in pairs(tbl)do
  905. if tostring(i):lower():find(key:lower())~=nil then
  906. table.insert(found,i)
  907. end
  908. end
  909. return found
  910. end
  911. plrfunc=function(plr,speaker)
  912. dmp(speaker)
  913. _dmtab(speaker)
  914. local pss=ps.color(plr)
  915. _tab('Back','Teal',speaker,function()plrmen(plr,speaker)end)
  916. if plr~=speaker and getrank(speaker)>getrank(plr) and getrank(speaker)>=4 then
  917. _tab('kick',pss,speaker,function()Kick(plr)end)
  918. if datastores then
  919. _tab('ban',pss,speaker,function()table.insert(banlist,plr.Name)setrank(plr.Name,-1)Kick(plr)end)
  920. end
  921. end
  922. if getrank(speaker)>=3 then
  923. _tab('god',pss,speaker,function()pcall(function()plr.Character.Humanoid.MaxHealth=math.huge;end)end)
  924. _tab('kill',pss,speaker,function()pcall(function()plr.Character.Head:remove()plr.Character.Humanoid.Health=0;end)end)
  925. end
  926. end
  927.  
  928. function rainbow(hue)
  929. local section = hue % 1 * 3
  930. local secondary = 0.5 * math.pi * (section % 1)
  931. if section < 1 then
  932. return 1, 1 - math.cos(secondary), 1 - math.sin(secondary)
  933. elseif section < 2 then
  934. return 1 - math.sin(secondary), 1, 1 - math.cos(secondary)
  935. else
  936. return 1 - math.cos(secondary), 1 - math.sin(secondary), 1
  937. end
  938. end
  939.  
  940. wavemenu=function(plr,speaker)
  941. dmp(speaker)
  942. local pc=ps.color(plr)
  943. _tab('Enable',c.green,speaker,
  944. function(tabc)
  945. local e=ds.get(plr)
  946. ds.set(plr,'wave',true)
  947. e[4]=true
  948. end)
  949. _tab('Disable',c.red,speaker,
  950. function(tabc)
  951. local e=ds.get(plr)
  952. ds.set(plr,'wave',false)
  953. e[4]=false
  954. end)
  955. end
  956. rotmenu=function(plr,speaker)
  957. dmp(speaker)
  958. pc=ps.color(plr)
  959. _tab('Layered',pc,speaker,function()
  960. dmp(speaker)
  961. _tab('Layered flat',pc,speaker,
  962. function(tabc)
  963. dmp(speaker)
  964. ds.set(plr,'rot','lf')
  965. ds.set(plr,'shape','cube')
  966. end)
  967. _tab('Layered rand',pc,speaker,
  968. function(tabc)
  969. dmp(speaker)
  970. ds.set(plr,'rot','lrand')
  971. ds.set(plr,'shape','cube')
  972. end)
  973. end)
  974. _tab('Circle',pc,speaker,function()
  975. dmp(speaker)
  976. _tab('Circle rand',pc,speaker,
  977. function(tabc)
  978. dmp(speaker)
  979. ds.set(plr,'rot','circlerand')
  980. ds.set(plr,'shape','cube')
  981.  
  982. end)
  983. _tab('Circle flat',pc,speaker,
  984. function(tabc)
  985. --local e=ds.get(plr)
  986. dmp(speaker)
  987. ds.set(plr,'rot','circleflat')
  988. ds.set(plr,'shape','cube')
  989. --e[6]='circleflat'
  990. end)
  991. _tab('Circle mini',pc,speaker,
  992. function(tabc)
  993. --local e=ds.get(plr)
  994. dmp(speaker)
  995. ds.set(plr,'rot','circlemini')
  996. ds.set(plr,'shape','mini')
  997. --e[6]='circleflat'
  998. end)
  999. _tab('Circle table',pc,speaker,
  1000. function(tabc)
  1001. --local e=ds.get(plr)
  1002. dmp(speaker)
  1003. ds.set(plr,'rot','circletable')
  1004. ds.set(plr,'shape','table')
  1005. --e[6]='circleflat'
  1006. end)
  1007. _tab('Flat tab',pc,speaker,
  1008. function(tabc)
  1009. --local e=ds.get(plr)\
  1010. dmp(speaker)
  1011. ds.set(plr,'rot','flattab')
  1012. ds.set(plr,'shape','flat')
  1013. end)
  1014. end)
  1015. end
  1016. aurmenu=function(plr,speaker)
  1017. dmp(speaker)
  1018. pc=ps.color(plr)
  1019. _tab('Dismiss','Really red',plr,
  1020. function()
  1021. dmp(plr)
  1022. end)
  1023. _tab('TimeOfDay',pc,speaker,function()
  1024. dmp(speaker)
  1025. _tab('Go Back','Teal',plr,
  1026. function()
  1027. dmp(plr)
  1028. local targ=speaker
  1029. aurmenu(targ,speaker)
  1030. end)
  1031. _tab('Dismiss','Really red',plr,
  1032. function()
  1033. dmp(plr)
  1034. end)
  1035. _tab(game.Lighting.TimeOfDay,pc,speaker,
  1036. function(tabc)
  1037. dmp(speaker)
  1038. end)
  1039. end)
  1040. _tab('Options',pc,speaker,function()
  1041. dmp(speaker)
  1042. _tab('Dismiss','Really red',plr,
  1043. function()
  1044. dmp(plr)
  1045. end)
  1046. _tab('Go Back','Teal',plr,
  1047. function()
  1048. dmp(plr)
  1049. local targ=speaker
  1050. aurmenu(targ,speaker)
  1051. end)
  1052. _tab('Gold',pc,speaker,
  1053. function(tabc)
  1054. dmp(speaker)
  1055. for i,v in pairs(speaker.Character:children'') do
  1056. if v:IsA'Part' then
  1057. v.BrickColor = BrickColor.new("Bright yellow")
  1058. v.Reflectance = 0.5
  1059. end
  1060. end
  1061. end)
  1062. _tab('Silver',pc,speaker,
  1063. function(tabc)
  1064. dmp(speaker)
  1065. for i,v in pairs(speaker.Character:children'') do
  1066. if v:IsA'Part' then
  1067. v.BrickColor = BrickColor.new("Medium stone grey")
  1068. v.Reflectance = 0.5
  1069. end
  1070. end
  1071. end)
  1072. _tab('Fire',pc,speaker,
  1073. function(tabc)
  1074. dmp(speaker)
  1075. for i,v in pairs(speaker.Character:children'') do
  1076. if v:IsA'Part' then
  1077. Instance.new("Fire",v)
  1078. end
  1079. end
  1080. end)
  1081. _tab('Sparkles',pc,speaker,
  1082. function(tabc)
  1083. dmp(speaker)
  1084. for i,v in pairs(speaker.Character:children'') do
  1085. if v:IsA'Part' then
  1086. Instance.new("Sparkles",v)
  1087. end
  1088. end
  1089. end)
  1090. _tab('Invisible',pc,speaker,
  1091. function(tabc)
  1092. dmp(speaker)
  1093. for i,v in pairs(speaker.Character:children'') do
  1094. if v:IsA'Part' then
  1095. v.Transparency = 1
  1096. end
  1097. end
  1098. for i,v in pairs(speaker.Character:children'') do
  1099. if v:IsA'Hat' then
  1100. v.Handle.Transparency = 1
  1101. end
  1102. end
  1103. speaker.Character.Head.face.Transparency = 1
  1104. end)
  1105. _tab('Visible',pc,speaker,
  1106. function(tabc)
  1107. dmp(speaker)
  1108. for i,v in pairs(speaker.Character:children'') do
  1109. if v:IsA'Part' then
  1110. v.Transparency = 0
  1111. end
  1112. end
  1113. for i,v in pairs(speaker.Character:children'') do
  1114. if v:IsA'Hat' then
  1115. v.Handle.Transparency = 0
  1116. end
  1117. end
  1118. speaker.Character.Head.face.Transparency = 0
  1119. speaker.Character.HumanoidRootPart.Transparency = 1
  1120. end)
  1121. end)
  1122. end
  1123. neonmenu=function(plr,speaker)
  1124. local plrc=_plr(plr)if plrc then plr = plrc.Name end
  1125. local pc=ps.color(speaker)
  1126. dmp(speaker)
  1127. _tab('Neon on',pc,speaker,function()
  1128. dmp(speaker)
  1129. alert.c(speaker~=plr and plr..'\'s neon enabled' or plr..'Neon enabled',pc,speaker)
  1130. ds.set(plr,'neon',true)
  1131. end)
  1132.  
  1133. _tab('Neon off',pc,speaker,function()
  1134. dmp(speaker)
  1135. alert.c(speaker~=plr and plr..'\'s neon disabled' or plr..'Neon disabled',pc,speaker)
  1136. ds.set(plr,'neon',false)
  1137. end)
  1138. end
  1139. configtab=function(plr,speaker)
  1140. local plrc=_plr(plr)if plrc then plr = plrc.Name end
  1141. if getrank(speaker.Name)>getrank(plr) and getrank(speaker.Name)>3 or plrc==speaker then
  1142. if plr~=speaker and getrank(speaker)>=4 and plrc then
  1143. _tab('actions','Lime green',speaker,function()plrfunc(plrc,speaker)end)
  1144. end
  1145. local pc=ps.color(plr)
  1146. _tab('player configuration','New Yeller',speaker,
  1147. function(tab)
  1148. rem(tab)
  1149. if plr~=speaker and getrank(speaker)>getrank(plr) and getrank(speaker)>=4 or plr==speaker and getrank(speaker)>=3 then
  1150. _tab('set rank',rank[getrank(plr)],speaker,function()dmp(speaker)changerank(plr,speaker)end)
  1151. end
  1152. _tab('set wave',pc,speaker,
  1153. function(tab2)
  1154. wavemenu(plr,speaker)
  1155. _tab('Back','Teal',speaker,function()plrmen(plr,speaker)end)
  1156. end)
  1157. _tab('set rot',pc,speaker,
  1158. function(tab2)
  1159. rotmenu(plr,speaker)
  1160. _tab('back','Teal',speaker,function()plrmen(plr,speaker)end)
  1161. end)
  1162. _tab('Set color',pc,speaker,
  1163. function()
  1164. dmp(speaker)
  1165. _tab('Back','Teal',speaker,function()plrmen(plr,speaker)end)
  1166. _tab('select a color',pc,speaker)
  1167. for i,v in pairs(colors)do
  1168. _tab('['..v..']',v,speaker,
  1169. function()
  1170. local e=ds.get(plr)
  1171. e[4]=v
  1172. ds.set(plr,'color',v)
  1173. alert.c('your color is now '..v,v,plrc)
  1174. if plrc~=speaker then
  1175. alert.c('you set '..tostring(plr)..'\'s color to '..v,ps.color(speaker),speaker)
  1176. end
  1177. plrmen(plr,speaker)end)
  1178. end
  1179.  
  1180. end)
  1181. _tab('Set Neon',pc,speaker,
  1182. function()
  1183. neonmenu(plr,speaker)
  1184. end)
  1185. end)
  1186.  
  1187. end
  1188. end
  1189.  
  1190. plrmen=function(plr,speaker,ccc)
  1191. dmp(speaker)
  1192. _dmtab(speaker)
  1193. --ct('Back','Teal',ccc,speaker)
  1194. local plrc=_plr(plr)
  1195. if plrc==nil then else plr=plrc.Name end
  1196. local pc=ps.color(plr)
  1197. _tab(plr,n,speaker)
  1198. local v=ds.prof(plr)
  1199. _tab('Rank:\n'..getrank(plr),pc,speaker)
  1200. if v then
  1201. _tab('Reason:\n'..v[3],pc,speaker)
  1202. _tab('Color:\n'..v[5],v[5],speaker)
  1203. _tab('Wave:\n'..tostring(ps.wave(v[1])),v[5],speaker)
  1204. end
  1205. if plrc then _tab('age:\n'..tostring(plrc.AccountAge),pc,speaker)end
  1206. _tab('color:\n'..ps.color(plr),pc,speaker)
  1207. local nr=ds.default(ds.prof(plr))nr=not nr
  1208. _tab('stored in users:\n'..str.firstc(tostring(nr)),pc,speaker)
  1209. configtab(plrc,speaker)
  1210.  
  1211.  
  1212.  
  1213.  
  1214. end
  1215.  
  1216. assettype=function(id)
  1217. local i=game:GetService("MarketplaceService"):GetProductInfo(tonumber(id))
  1218. return i.AssetTypeId
  1219. end
  1220. plrinfo=function(plr,speaker)
  1221. plr=_plr(plr)
  1222. dmp(speaker)
  1223. _dmtab(speaker)
  1224.  
  1225. end
  1226.  
  1227. getAllArgs=function(str)
  1228. local found={}
  1229. local runw=true
  1230. while runw do
  1231. local arg,ends=getargb(str)
  1232. --print(ends)
  1233. if arg~='' and ends~=0 then
  1234. table.insert(found,arg)
  1235. str=str:sub(ends+1)
  1236. else
  1237. runw=false
  1238. end
  1239. end
  1240. if found~={}then
  1241. return found end
  1242. end
  1243.  
  1244. songmenu=function(n,speaker)
  1245. dmp(speaker)
  1246.  
  1247. if type(n)==type('hi')then
  1248. n=music[n][1]
  1249. end if not n then return end
  1250. _dmtab(speaker)
  1251. local i=game:GetService("MarketplaceService"):GetProductInfo(tonumber(n))
  1252. name=i.Name
  1253. t.t("Name: "..i.Name, "Royal purple",speaker)
  1254. t.t("Sales: "..i.Sales, "New Yeller",speaker)
  1255. t.t("Id: "..i.AssetId,'Deep orange',speaker)
  1256. local inlib=false
  1257. for i,v in pairs(music)do
  1258. if v[1]==i.AssetId then
  1259. music[i]=nil inlib=true
  1260. end
  1261. end
  1262. if inlib then music[i.Name]={i.AssetId,'Downloaded'}end
  1263. _tab("Play sound", 'Lime green',speaker,
  1264. function()
  1265. dmp(speaker)
  1266. chat("sm'deep",speaker)
  1267. m.play(nil,true)
  1268. m.play(tonumber(i.AssetId))
  1269. alert.c('now playing:\n'..i.Name,'Lime green',speaker,3)
  1270. end)
  1271. if (getrank(speaker.Name)<4) then return end
  1272. if music[i.Name]then
  1273. _tab("Remove from library",'Bright red',speaker,
  1274. function()
  1275. local mz=m.getlib()
  1276. mz[i.Name]=nil
  1277. m.setlib(mz)
  1278. alert.c('Removed song','Really red',speaker,4)
  1279. end,'dmself')
  1280. else
  1281. _tab("Add to library",'Teal',speaker,
  1282. function()
  1283. m.addsong(i.Name,tonumber(i.AssetId),'Downloaded')
  1284. music[i.Name]={i.AssetId,'Downloaded'}
  1285. alert.c('Added song','Teal',speaker,4)
  1286. end,'dmself')
  1287. end
  1288. end
  1289.  
  1290. genrelist=function(speaker,genreq)
  1291. local genres={}
  1292. for i,v in pairs(music)do
  1293. if v[2]~=nil then
  1294. local g=v[2]:lower()
  1295. g=g:sub(1,1):upper()..g:sub(2)
  1296. if not genres[g]then genres[g]={}end
  1297. table.insert(genres[g],i)
  1298. else
  1299. if not genres['Uncategorized']then genres['Uncategorized']={}end
  1300. table.insert(genres['Uncategorized'],i)
  1301. end
  1302. end
  1303. _dmtab(speaker)
  1304. if genreq == nil then
  1305. for i,v in pairs(genres)do--name , table of names
  1306. local g=genres[i]--table of stuff
  1307. if i=='Downloaded'and #v==0 then else
  1308. local ccc=c.purple
  1309. if i=='Downloaded'then
  1310. ccc='Lime green'
  1311. end
  1312. _tab(i..' ['..#g..']',ccc,speaker,
  1313. function()
  1314. dmp(speaker)
  1315. _dmtab(speaker)
  1316. _tab('['..i..']',c.purple,speaker)
  1317. for k,z in pairs(g)do
  1318. songmenu(z,speaker)
  1319. end
  1320. end)
  1321. end
  1322. end
  1323. else
  1324. if genres[genreq]~=nil then
  1325. local req=genres[genreq]
  1326. local ccc=c.purple
  1327. if i=='Downloaded'then
  1328. ccc='Lime green'
  1329. end
  1330. for k,z in pairs(req)do
  1331. songmenu(z,speaker)
  1332. end
  1333. end
  1334. end
  1335. end
  1336. t.t=function(text,color,player,t)
  1337. t=t or 0
  1338. if not text or not color or not player then return end
  1339. local plr=_plr(player)
  1340. _tab(text,color,plr,'','',t)
  1341. end
  1342.  
  1343. settime=function(t)
  1344. game:service'Lighting'.TimeOfDay=t
  1345. end
  1346.  
  1347. ct=function(txt,color,chatm,plr,flag)
  1348. _tab(txt,color,plr,function()chat(chatm,plr)end,flag)
  1349. end
  1350.  
  1351. iscmd=function(str)
  1352. for i,v in pairs(cmds)do
  1353. if v.NAME:lower()==str:lower() or aliasof((c.ALIAS or {}),str)then return v end
  1354. end
  1355. end
  1356. chat=function(msg,plr)--obj
  1357. if not enabled then return end
  1358. local iscmd=false
  1359. logs.cwrite(plr.Name..': '..msg)
  1360. if msg:sub(1,3)=='/e 'then msg=msg:sub(4)iscmd=true end
  1361. if msg:sub(1,string.len(getbet()))==getbet() then msg=msg:sub((string.len(getbet()))+1)iscmd=true end
  1362. if not iscmd then return end
  1363. local base,ends=getbase(msg)
  1364. logs.cwrite(plr.Name..': '..msg)
  1365. local cmd=nil;
  1366. local test=playertimes[plr.Name]
  1367. if not test then playertimes[plr.Name]=tick()end
  1368.  
  1369. if tick()-playertimes[plr.Name]<.4 then return end
  1370. playertimes[plr.Name]=tick()
  1371. if base then
  1372. for i,c in pairs(cmds)do
  1373. if c.NAME:lower()==base:lower() or aliasof(c.ALIAS,base)then
  1374. local cmd=c;
  1375. local arg=getAllArgs(msg:sub(ends))
  1376. local rc=ps.islocked(c.NAME,plr)
  1377. if hasPermission(plr,c.PERM)and not rc then
  1378. --print(arg[1])
  1379. local run,error=ypcall(function()
  1380. c.FUNC(plr,arg,msg)
  1381. end)
  1382. if not run then dmp(plr)alert.c('Error','White',plr)alert.c(error,'Really red',plr) end
  1383. elseif rc then
  1384. alert.c('This command has been locked for you!','Really red',plr)
  1385. else
  1386. alert.c('You do not have permission for that command! ['..c.PERM..']','Really red',plr)
  1387. end
  1388. end
  1389. end
  1390. end
  1391. end
  1392.  
  1393. addcmd=function(name,desc,permission,args,fn,aliases)
  1394.  
  1395. --COMMAND NAME
  1396.  
  1397. --COMMAND DESCRIPTION
  1398.  
  1399. --MINIMUM PERMISSION LEVEL
  1400.  
  1401. --ARGS
  1402.  
  1403. --FUNCTION (SPEAKER, ARGS)
  1404.  
  1405. --ALIAS TABLE (OPTIONAL)
  1406.  
  1407. aliases=aliases or {}
  1408.  
  1409. table.insert(cmds,{
  1410. NAME =name;
  1411. DESC =desc;
  1412. PERM =permission;
  1413. ARGS =args;
  1414. FUNC =fn;
  1415. ALIAS =aliases;
  1416. })
  1417. end
  1418.  
  1419. runas=function(msg,plr)
  1420. chat(msg,plr)
  1421. end
  1422.  
  1423.  
  1424. cmdmenu=function(v,speaker)
  1425. _tab((v.NAME),ps.color(speaker),speaker,
  1426. function()
  1427. dmp(speaker)
  1428. _dmtab(speaker)
  1429. t.t(v.NAME,c.cmdc,speaker)
  1430.  
  1431. local pc=c.red
  1432. local ps='You can\'t use this'
  1433.  
  1434. local r=getrank(speaker)
  1435.  
  1436. if r>=v.PERM then pc=c.green ps='You can use this!'end
  1437. t.t('Permission: '..v.PERM,c.white,speaker)
  1438. t.t(ps,pc,speaker)
  1439. t.t(v.DESC,c.white,speaker)
  1440. if v.ALIAS[1]~=nil then
  1441. _tab('Aliases: '..list(v.ALIAS),c.white,speaker)
  1442. end
  1443.  
  1444. end)
  1445. end
  1446.  
  1447. getCommandsWithPerm=function(num)
  1448. local found={}
  1449. for i,v in pairs(cmds)do
  1450. if v.PERM<=num then
  1451. table.insert(found,v)
  1452. end
  1453. end
  1454. return found
  1455. end
  1456.  
  1457. addcmd('cmds','show commands',0,1,
  1458. function(speaker,a,o)
  1459. dmp(speaker)
  1460. local r=getrank(speaker)
  1461. local s=speaker
  1462. local pc=ps.color(speaker)
  1463. _dmtab(speaker)
  1464. _tab('Your rank: '..r,pc,speaker,
  1465. function()
  1466. dmp(speaker)
  1467. local z=getCommandsWithPerm(getrank(speaker))
  1468. _dmtab(speaker)
  1469. ct('Go back','Teal','cmds',speaker)
  1470. for i,v in pairs(z)do
  1471. cmdmenu(v,speaker)
  1472. end
  1473. end)
  1474.  
  1475. for i=0,6 do
  1476. _tab(i..' ['..(rank[i] or 'Not Ranked')..']',pc,speaker,
  1477. function()
  1478. dmp(speaker)
  1479. _dmtab(speaker)
  1480. local z=getCommandsWithPerm(i)
  1481. ct('Go back','Teal','cmds',speaker)
  1482. for i,v in pairs(z)do
  1483. cmdmenu(v,speaker)
  1484. end
  1485. end)
  1486. end
  1487. _tab('View all',pc,speaker,
  1488. function()
  1489. dmp(speaker)
  1490. _dmtab(speaker)
  1491. local z=getCommandsWithPerm(10)
  1492. ct('Go back','Teal','cmds',speaker)
  1493. for i,v in pairs(z)do
  1494. cmdmenu(v,speaker)
  1495. end
  1496. end)
  1497. end,{'commands'})
  1498.  
  1499. addcmd('ping','output with text\nargs: text to display',0,1,
  1500. function(speaker,args)
  1501. if args[1]~=nil and args[2]~=nil and getrank(speaker)>2 and tonumber(args[1]) then
  1502. for i=1,tonumber(args[1])do
  1503. alert.c(args[2]or 'pong',c.white,speaker)
  1504. end
  1505. return
  1506. elseif args[2]~=nil and getrank(speaker)>=2 and _match(args[1],speaker)~={} then
  1507. local plr=_match(args[1],speaker)
  1508. table.foreach(plr,function(k,v)
  1509. alert.c(args[2] or 'pong!',c.white,_plr(v))end)
  1510.  
  1511. else
  1512. alert.c(args[1] or 'pong!',c.white,speaker)
  1513. end
  1514. end,
  1515. {'print','out'})
  1516.  
  1517. addcmd('removesongs','mass library editing',5,0,
  1518. function(speaker,args)
  1519. --print(args[2])
  1520. for i,v in pairs(music)do
  1521. _tab(i,c.red,speaker,function(tablet)rem(tablet)music[i]=nil;end)
  1522. end
  1523. _tab('save','Lime green',speaker,function()m.setlib(music)dmp(speaker)alert.c('music library rewritten','White',speaker)end)
  1524. end,{})
  1525.  
  1526.  
  1527. addcmd('removeranks','Remove the ranked people!',6,0,
  1528. function(speaker,args)
  1529. --print(args[2])
  1530. for i,v in pairs(users)do
  1531. _tab(v[1],'White',speaker,function(tablet)rem(tablet)table.remove(users,i);end)
  1532. end
  1533. _tab('save','Lime green',speaker,function()ds.save()dmp(speaker)alert.c('user library rewritten','White',speaker)end)
  1534. end,{})
  1535.  
  1536.  
  1537. addcmd('time','adjust time',0,0,
  1538. function(speaker,args)
  1539. _dmtab(speaker)
  1540. _tab('Midnight','Really black',speaker,function()settime(0)dmp(speaker)end)
  1541. _tab('Morning','White',speaker,function()settime(6)dmp(speaker)end)
  1542. _tab('Noon','White',speaker,function()settime(12)dmp(speaker)end)
  1543. _tab('Evening','Really black',speaker,function()settime(18)dmp(speaker)end)
  1544. end,
  1545. {'timemenu'})
  1546.  
  1547.  
  1548. addcmd('dt','dismiss tabs\nargs: player',0,1,
  1549. function(speaker,args)
  1550. if args[1]and hasPermission(speaker,{PERM=4})then
  1551. local fplrs=_match(args[1],speaker)
  1552. table.foreach(fplrs,function(ki,vi)dmp(_plr(vi))end)
  1553. else
  1554. dmp(speaker)
  1555. end
  1556. end,
  1557. {'dismiss','dm'})
  1558.  
  1559. addcmd('music','show music list',3,1,--todo id
  1560. function(speaker,args)
  1561. dmp(speaker)
  1562. local r=getrank(speaker)
  1563. if args[1]==nil then
  1564. if r>=3 then
  1565. _dmtab(speaker)
  1566. --alert.p(tostring(args[1]),speaker)
  1567. for i,v in pairs(music)do --id,genre
  1568. _tab(i,'Lime green',speaker,
  1569. function()
  1570. songmenu(v[1],speaker)
  1571. end)
  1572. end
  1573. end
  1574. elseif inTable({'stop','sm'},args[1]:lower())and r>=3 then
  1575. chat("stopmusic"..split..'deep',speaker)
  1576. elseif args[1]:lower()=='id'and args[2]~=nil then
  1577. if not tonumber(args[2])then return end
  1578. songmenu(tonumber(args[2]),speaker)
  1579. elseif args[1]~=nil and r>=3 then
  1580. if tonumber(args[1])~=nil then
  1581. _tab('ID','Royal purple',speaker,function()
  1582. songmenu(tonumber(args[1]),speaker)
  1583. end)
  1584. end
  1585. _dmtab(speaker)
  1586. t.t('showing results for:\n'..args[1],'White',speaker)
  1587. local rzzz=matchtbli(music,tostring(args[1]))
  1588. local mz=m.getlib()
  1589. for kn,zn in pairs(rzzz)do
  1590.  
  1591. if mz[zn]==nil then
  1592. local s=music[zn]
  1593. _tab(zn,c.snd,speaker,
  1594. function()
  1595. dmp(speaker)
  1596. m.play(s[1])
  1597. alert.c('now playing:\n'..zn,'Lime green',speaker,3)
  1598. end,'',3)
  1599. end
  1600. end
  1601.  
  1602. local searchterm=args[1]
  1603. http=game:GetService'HttpService'
  1604. local url="http://roproxy.pw/catalog/json?Keyword="..http:UrlEncode(searchterm).."&Category=9&ResultsPerPage=20"
  1605. local assets=game:GetService("MarketplaceService"):GetProductInfo(tonumber(searchterm))
  1606. if #assets==0 then alert.p('Search Done',speaker)return else
  1607.  
  1608.  
  1609. for i,v in pairs(assets)do
  1610. wait()
  1611. local cddd='New Yeller'
  1612. local songcheck=m.getlib()
  1613. if songcheck[v.Name]~=nil then
  1614. cddd='Lime green'
  1615. end
  1616. _tab(v.Name,cddd,speaker,function()
  1617. songmenu(v.AssetId,speaker)
  1618.  
  1619.  
  1620. end)
  1621. end
  1622. end
  1623. --[[elseif args[1]~=nil and args[2]~=nil then
  1624. if inTable({'l','lib','ls','slib'},args[1]:lower())then
  1625. local r=matchtbli(music,args[2])
  1626. for k,z in pairs(r)do
  1627. local s=music[z]
  1628. _tab(z,c.snd,
  1629. function()
  1630. dmp(speaker)
  1631. m.play(s[1])
  1632. alert.p('now playing: '..z,speaker)
  1633. end,speaker,3)
  1634. end
  1635. end]]
  1636. end
  1637. end,
  1638. {'snd','snds'})
  1639.  
  1640.  
  1641.  
  1642. addcmd('stopmusic','stops music / args: deep',3,1,
  1643. function(speaker,args)
  1644. if AURSND then
  1645. if AURSND.Parent~=nil then
  1646. AURSND:Stop()
  1647. AURSND:remove()
  1648. end
  1649. end
  1650. local g=''
  1651. if args[1]~=nil then
  1652. if type(args[1])=='string'then g=args[1]:lower() end
  1653. end
  1654. if g=='true'or g=='deep'then
  1655. m.stopmusic(workspace,true)
  1656. elseif g=='o'or g=='others'then--team
  1657. m.stopmusico(workspace,true)
  1658. else
  1659. m.play(nil,true)
  1660. end
  1661. if silentmode then return end
  1662. for i,v in pairs(script.Parent:children'')do
  1663. if v.ClassName~=nil then
  1664. if v:IsA'Sound'then v:Stop()v:remove()end
  1665. end
  1666. end
  1667. end,
  1668. {'sm'})
  1669.  
  1670.  
  1671. addcmd('net','Same thing as players;show connected players',0,0,
  1672. function(speaker,args)
  1673. dmp(speaker)
  1674. for i,v in pairs(plrs:GetPlayers())do
  1675. --local cl=rank[getrank(v.Name)]
  1676. local cl=ps.color(v.Name)
  1677. if cl==nil then cl='White'end
  1678. --if speaker==v then cl=c.snd end
  1679. _tab(v.Name,cl,speaker,function()
  1680. if getrank(speaker)>getrank(v) and getrank(speaker)>3 or speaker==v then
  1681. dmp(speaker)
  1682. local plr=v
  1683. plrmen(v,speaker,'net')
  1684. end
  1685. end)
  1686. end
  1687. end,
  1688. {'plrs','players'})
  1689.  
  1690. addcmd('cred','show Armageddon credits',0,0,
  1691. function(speaker)
  1692. dmp(speaker)
  1693.  
  1694. print('AUR INSTANCE',tostring(ver))
  1695. alert.c('Armageddon v'..ver,'Deep orange',speaker)
  1696. alert.c('your rank: '..getrank(speaker),'Deep orange',speaker)
  1697. _tab('say cmds\- to get your commands','Deep orange',speaker,function()dmp(speaker)chat("cmds",speaker)end,'')
  1698. alert.c('made by Ak47Studioz and iMannyz.','Deep orange',speaker)
  1699. end,
  1700. {'cred'})
  1701.  
  1702. addcmd('dtall','dismiss all players tabs',4,0,
  1703. function()
  1704. for i,v in pairs(tabs)do
  1705. dmp(i)
  1706. end
  1707. end,
  1708. {'dismissall'})
  1709.  
  1710. addcmd('save','saves the stuff',4,0,
  1711. function(speaker)
  1712. ds.save()
  1713. alert.c('saved the stuff','Lime green',speaker)
  1714. end)
  1715.  
  1716. addcmd('stime','Startup time \nHow long it took the tabs to start',6,0,
  1717. function(speaker)
  1718. alert.c(startuptime .. ' miliseconds','Deep orange',speaker)
  1719. end)
  1720. addcmd('m','Message to the Server\nargs: text to display',3,1,
  1721. function(speaker,args)
  1722. local msg = Instance.new("Message",workspace)
  1723.  
  1724. if args[1]~=nil and args[2]~=nil and getrank(speaker)>2 and tonumber(args[1]) then
  1725. for i=1,tonumber(args[1])do
  1726. msg.Text = '['..speaker.Name..']'..': '..args[2]or 'nil'
  1727. wait(5)
  1728. msg:Remove()
  1729. end
  1730. return
  1731. elseif args[2]~=nil and getrank(speaker)>=2 and _match(args[1],speaker)~={} then
  1732. local plr=_match(args[1],speaker)
  1733. table.foreach(plr,function(k,v)
  1734. msg.Text = '['..speaker.Name..']'..': '..args[2] or 'nil'
  1735. wait(5)
  1736. msg:Remove()
  1737. end)
  1738. else
  1739. msg.Text = '['..speaker.Name..']'..': '..args[1] or 'nil'
  1740. wait(5)
  1741. msg:Remove()
  1742. end
  1743. end,
  1744. {'message','mes'})
  1745. addcmd('sym','System Message to the Server\nargs: text to display',5,1,
  1746. function(speaker,args)
  1747. local msg = Instance.new("Message",workspace)
  1748.  
  1749. if args[1]~=nil and args[2]~=nil and getrank(speaker)>2 and tonumber(args[1]) then
  1750. for i=1,tonumber(args[1])do
  1751. msg.Text = '[Armageddon System Message]'..': '..args[2]or 'nil'
  1752. wait(5)
  1753. msg:Remove()
  1754. end
  1755. return
  1756. elseif args[2]~=nil and getrank(speaker)>=2 and _match(args[1],speaker)~={} then
  1757. local plr=_match(args[1],speaker)
  1758. table.foreach(plr,function(k,v)
  1759. msg.Text = '[Armageddon System Message]'..': '..args[2] or 'nil'
  1760. wait(5)
  1761. msg:Remove()
  1762. end)
  1763. else
  1764. msg.Text = '[Armageddon System Message]'..': '..args[1] or 'nil'
  1765. wait(5)
  1766. msg:Remove()
  1767. end
  1768. end,
  1769. {'systemmessage','sysmes'})
  1770. _G.run = function(Title,Message)
  1771. for _,v in pairs(game.Players:GetPlayers()) do
  1772. local Value = Instance.new("StringValue",v)
  1773. Value.Name = "SB_Chat"
  1774. Value.Value = tostring(Title).."/"..Message
  1775. Value.Parent = v
  1776. game.Debris:AddItem(Value,.1)
  1777.  
  1778. end
  1779. end
  1780. addcmd('pri','opens pri options',5,0,
  1781. function(speaker,args)
  1782. local sss='off'
  1783. local pc=c.red
  1784. if pri then sss='on';pc='Lime green' end
  1785. dmp(speaker)
  1786. _tab('pri is '..sss,pc,speaker)
  1787. _tab((pri and '[DISABLE]') or '[ENABLE]',pri and 'Really red' or 'Lime green',speaker,function()
  1788. dmp(speaker)
  1789. pri=not pri
  1790. if pri then
  1791. for i,v in pairs(plrs:GetPlayers'')do
  1792. if getrank(v.Name)<1 then Kick(v)end
  1793. end
  1794. end
  1795. alert.c('pri was '..(pri and 'enabled' or 'disabled'),c.white,speaker)
  1796. end)
  1797. end)
  1798. addcmd('cm','Chat Message in OxChat\nargs: text to display',6,1,
  1799. function(speaker,args)
  1800. if args[1]~=nil and args[2]~=nil and getrank(speaker)>2 and tonumber(args[1]) then
  1801. for i=1,tonumber(args[1])do
  1802. run("[Armageddon System]",args[2]or 'nil')
  1803. end
  1804. return
  1805. elseif args[2]~=nil and getrank(speaker)>=2 and _match(args[1],speaker)~={} then
  1806. local plr=_match(args[1],speaker)
  1807. table.foreach(plr,function(k,v)
  1808. run("[Armageddon System]",args[2]or 'nil')
  1809. end)
  1810. else
  1811. run("[Armageddon System]",args[1]or 'nil')
  1812. end
  1813. end,
  1814. {'chatmes','chatmessage'})
  1815. addcmd('pcm','Player Chat Message in OxChat\nargs: text to display',5,1,
  1816. function(speaker,args)
  1817. if args[1]~=nil and args[2]~=nil and getrank(speaker)>2 and tonumber(args[1]) then
  1818. for i=1,tonumber(args[1])do
  1819. run("["..speaker.Name.."]",args[2]or 'nil')
  1820. end
  1821. return
  1822. elseif args[2]~=nil and getrank(speaker)>=2 and _match(args[1],speaker)~={} then
  1823. local plr=_match(args[1],speaker)
  1824. table.foreach(plr,function(k,v)
  1825. run("["..speaker.Name.."]",args[2]or 'nil')
  1826. end)
  1827. else
  1828. run("["..speaker.Name.."]",args[1]or 'nil')
  1829. end
  1830. end,
  1831. {'plrchatmes','playerchatmessage'})
  1832. addcmd('fixlighting','Fixes lighting properties',3,0,
  1833. function()
  1834. local l=game:service'Lighting'
  1835. l.Ambient=_rgb(178,178,178)
  1836. l.Brightness=1
  1837. l.Outlines=false
  1838. l.TimeOfDay=14
  1839. end,
  1840. {'fixl'})
  1841.  
  1842. promptvote=function(v,q)
  1843. _tab(q,c.snd,v,'','',10)
  1844. _tab('vote yes',c.green,v,function()dmp(v)vote.y=vote.y+1;alert.p('Vote counted',v)end,'',10)
  1845. _tab('vote no','Really red',v,function()dmp(v)vote.n=vote.n+1;alert.p('Vote counted',v)end,'',10)
  1846. _tab('no vote','White',v,function()dmp(v);end,'',10)
  1847. end
  1848.  
  1849. addcmd('vote','vote\nargs: plr/tp,(yn,k,b)',4,0,
  1850. function(speaker,args)
  1851.  
  1852. if args[1]~=nil and args[2]~=nil then
  1853. q=args[1]
  1854. vote.y=0;
  1855. vote.n=0;
  1856. local plr=nil
  1857. if args[2]:lower()=='k'then
  1858. plr=_plr(q)
  1859. if plr~=nil then
  1860. for i,v in pairs(plrs:getPlayers())do
  1861. promptvote(v,'Vote: Kick '..plr.Name..'?')
  1862. vote.topic='Kick '..plr.Name..'?'
  1863. action='k'
  1864. end
  1865. end
  1866. elseif args[2]:lower()=='b'then
  1867. plr=_plr(q)
  1868. if plr~=nil then
  1869. for i,v in pairs(plrs:getPlayers())do
  1870. promptvote(v,'Vote: Ban '..plr.Name..'?')
  1871. vote.topic='Ban '..plr.Name..'?'
  1872. action='b'
  1873. end
  1874. end
  1875. elseif args[2]:lower()=='yn'then
  1876. for i,v in pairs(plrs:getPlayers())do
  1877. promptvote(v,'Vote: '..q)
  1878. vote.topic=q
  1879. end
  1880. end
  1881. end
  1882. if args[1] ==nil then return end
  1883. if inTable({'view','results','check'},args[1]:lower()) then
  1884. delay(0,function()
  1885. if vote.topic~='' then
  1886. _dmtab(speaker)
  1887. _tab('vote results',c.white,speaker)
  1888. _tab('topic: '..vote.topic,'Bright blue',speaker)
  1889. _tab('yes: '..vote.y,c.green,speaker)
  1890. _tab('no: '..vote.n,'Really red',speaker)
  1891. if 1+1==3 and vote.y>vote.n and inTable({'k','b'},action:lower())then
  1892. _tab('vote succeeded. click here to execute.','New Yeller',speaker,
  1893. function()
  1894. dmp(speaker)
  1895. local zz=action:lower()
  1896. if zz=='k'then
  1897. Kick(_plr(q))
  1898. t.c('kicked player','Really red',speaker,4)
  1899. elseif zz=='b'then
  1900. setrank(v.Name,-1)
  1901. Kick(v)
  1902. t.c('banned player','Really red',speaker,4)
  1903. end;
  1904. end)
  1905. end
  1906. end
  1907. end)
  1908. end
  1909. end,
  1910. {'poll','ballot'})
  1911.  
  1912. addcmd('disabletabs','disables tabs',5,0,
  1913. function(speaker,args)
  1914. _tab('click to confirm',c.purple,speaker,
  1915. function()
  1916. alert.p('saved all libraries',speaker)
  1917. alert.p('starting to disable tabs in 5.4 seconds',speaker)
  1918. delay(6,disabletabs)
  1919. end,'dmself',3)
  1920. end,
  1921. {'stop'})
  1922.  
  1923. addcmd('update','updates instance of tabs',5,0,
  1924. function(speaker,args)
  1925. update=true
  1926. alert.p('updating',speaker)
  1927. delay(1,disabletabs)
  1928. end)
  1929.  
  1930. addcmd('shutdown','kills game',5,0,
  1931. function(speaker,args)
  1932. for i,v in pairs(plrs:GetPlayers'')do
  1933. Kick(v)
  1934. end
  1935. end)
  1936.  
  1937. addcmd('newserver','creates new game server at id',5,1,
  1938. function(speaker,args)
  1939. if args[1]~=nil then
  1940. local x=nil
  1941. if inTable({'place','here','this','game'},tostring(args[1]))then x=game.PlaceId end
  1942. if x==nil then
  1943. x=tonumber(args[1])
  1944. end
  1945. if x then
  1946. alert.c('created new server [broke]','Lime green',speaker)
  1947. newserver(x)
  1948.  
  1949. end
  1950. else
  1951. alert.c('created new server [broke]','Lime green',speaker)
  1952. newserver(game.PlaceId)
  1953. end
  1954. end,
  1955. {'ns','createserver'})
  1956.  
  1957.  
  1958. addcmd('afk','go afk',0,0,
  1959. function(speaker,args)
  1960. dmp(speaker)
  1961. for i=1,5 do
  1962. _tab(speaker.Name..' is afk, please wait..','Maroon',speaker,function()dmp(speaker)end)
  1963. end
  1964. end,
  1965. {})
  1966.  
  1967.  
  1968. addcmd('db','change db_view',5,1,
  1969. function(speaker,args)
  1970. if args[1]~=nil then
  1971. if inTable({'true','grid'},args[1]:lower())then
  1972. t.db_view='GRID'
  1973. else
  1974. t.db_view='PLR'
  1975. end
  1976. end
  1977. return
  1978. end)
  1979.  
  1980. addcmd('rank','changes a players rank',6,3,
  1981. function(speaker,args)
  1982. local plr
  1983. local rank
  1984. local reason
  1985. if args[1]then plr=_plr(args[1])end
  1986. if args[2]then rank=tonumber(args[2])end
  1987. if args[3]then reason=args[3]else reason='None'end
  1988. if plr and rank then
  1989. ds.set(plr.Name,'rank',rank)
  1990. ds.set(plr.Name,'reason',reason)
  1991. alert.c('you are now rank '..rank,ps.color(plr.Name),plr)
  1992. alert.c('you set '..plr.Name..'\'s rank to '..rank,ps.color(speaker.Name),speaker)
  1993. end
  1994. end)
  1995. addcmd('ranked','shows all ranked players',0,0,
  1996. function(speaker,args)
  1997. dmp(speaker)
  1998. _dmtab(speaker)
  1999. for i,v in pairs(users)do
  2000. --print(list(v))
  2001. local s=v[1]
  2002. if v[2]==-1 then v[5]='Really black's=s..' (Banned)'end
  2003. if type(v[1])==type('hi')then
  2004. _tab(v[1],v[5],speaker,
  2005. function()
  2006. dmp(speaker)
  2007. _dmtab(speaker)
  2008.  
  2009. plrmen(v[1],speaker,'ranked')
  2010. end)
  2011. end
  2012. end
  2013. end)
  2014.  
  2015. addcmd('private','opens private server options;Ranked players stay',5,0,
  2016. function(speaker,args)
  2017. local sss='off'
  2018. local pc=c.red
  2019. if pri then sss='on';pc='Lime green' end
  2020. dmp(speaker)
  2021. _tab('pri is '..sss,pc,speaker)
  2022. _tab((pri and '[DISABLE]') or '[ENABLE]',pri and 'Really red' or 'Lime green',speaker,function()
  2023. dmp(speaker)
  2024. pri=not pri
  2025. if pri then
  2026. for i,v in pairs(plrs:GetPlayers'')do
  2027. if getrank(v.Name)<1 then Kick(v)end
  2028. end
  2029. end
  2030. alert.c('pri was '..(pri and 'enabled' or 'disabled'),c.white,speaker)
  2031. end)
  2032. end)
  2033.  
  2034. addcmd('jump','makes player jump',3,1,function(speaker,args)
  2035. local fplr=_match(args[1],speaker)
  2036. for i,v in pairs(fplr)do
  2037. safe.r(function()_plr(v).Character.Humanoid.Jump=true;end)
  2038. end
  2039. end)
  2040.  
  2041. addcmd('rot','changes players rot style',1,1,function(speaker,args)
  2042. local targ=speaker
  2043.  
  2044. if args[1]~=nil then
  2045. if _plr(targ)~=nil then targ=_plr(targ)end
  2046. end
  2047. rotmenu(targ,speaker)
  2048. end)
  2049. addcmd('Armageddon','Player Menu',1,1,function(speaker,args)
  2050. local targ=speaker
  2051.  
  2052. if args[1]~=nil then
  2053. if _plr(targ)~=nil then targ=_plr(targ)end
  2054. end
  2055. aurmenu(targ,speaker)
  2056. end)
  2057.  
  2058. addcmd('sit','makes player sit',3,1,function(speaker,args)
  2059. local fplr=_match(args[1],speaker)
  2060. for i,v in pairs(fplr)do
  2061. safe.r(function()_plr(v).Character.Humanoid.Sit=true;end)
  2062. end
  2063. end)
  2064. addcmd('freeze','freeze\'s player',3,1,function(speaker,args)
  2065. local fplr=_match(args[1],speaker)
  2066. for i,v in pairs(fplr)do
  2067. safe.r(function()_plr(v).Character.Torso.Anchored=true;end)
  2068. end
  2069. end)
  2070. addcmd('thaw','thaw\'s player',3,1,function(speaker,args)
  2071. local fplr=_match(args[1],speaker)
  2072. for i,v in pairs(fplr)do
  2073. safe.r(function()_plr(v).Character.Torso.Anchored=false;end)
  2074. end
  2075. end)
  2076. addcmd('kill','makes player dead',3,1,function(speaker,args)
  2077. local fplr=_match(args[1],speaker)
  2078. for i,v in pairs(fplr)do
  2079. safe.r(function()_plr(v).Character.Head:remove()end)
  2080. end
  2081. end)
  2082.  
  2083. addcmd('fling','next plane to china',4,1,function(speaker,args)
  2084. local fplr=_match(args[1],speaker)
  2085. for i,v in pairs(fplr)do
  2086. safe.r(function()_plr(v).Character.Humanoid.Sit=true;_plr(v).Character.Torso.Velocity=v3(4000,4000,4000)end)
  2087. end
  2088. end)
  2089.  
  2090. addcmd('god','makes player godly',3,1,function(speaker,args)
  2091. local fplr=_match(args[1],speaker)
  2092. for i,v in pairs(fplr)do
  2093. safe.r(function()_plr(v).Character.Humanoid.MaxHealth=math.huge;end)
  2094. end
  2095. end)
  2096.  
  2097. addcmd('kick','makes player gone',4,1,function(speaker,args)
  2098. local fplr=_match(args[1],speaker)
  2099. for i,v in pairs(fplr)do
  2100. safe.r(function()Kick(_plr(v));end)
  2101. end
  2102. end)
  2103.  
  2104. addcmd('ban','makes player gone forever',5,2,function(speaker,args)
  2105. local fplr=_plr(args[1])if not fplr then return end
  2106. if getrank(fplr.Name)<getrank(speaker.Name)then
  2107. if args[2]~=nil then ds.set(fplr,'reason',args[2])end
  2108. safe.r(function()setrank(fplr,-1)Kick(_plr(fplr));end)
  2109. end
  2110. end)
  2111.  
  2112. addcmd('menu','opens menu',4,1,function(speaker,args)
  2113. dmp(speaker)
  2114. local pc=ps.color(speaker)
  2115. _tab('music','Lime green',speaker,function()
  2116. chat('music',speaker)
  2117. end)
  2118. _tab('players','Bright blue',speaker,function()
  2119. chat('net',speaker)
  2120. end)
  2121. _tab('logs','Bright yellow',speaker,function()
  2122. chat('logs',speaker)
  2123. end)
  2124. _tab('settings',ps.color(speaker),speaker,function()
  2125. dmp(speaker)
  2126. _tab('rotation',pc,speaker,function()rotmenu(speaker,speaker)end)
  2127. _tab('neon',pc,speaker,function()neonmenu(speaker,speaker)end)
  2128. end)
  2129. end)
  2130.  
  2131. addcmd('silent','puts script in silent mode',5,0,
  2132. function()
  2133. silentmode=true
  2134. for i,v in pairs(plrs:GetPlayers'')do
  2135. dmp(v)
  2136. end
  2137. script=nil
  2138. logs.write'silent mode active'
  2139. end)
  2140.  
  2141. addcmd('set','sets plr attribute',5,3,
  2142. function(speaker,args)
  2143. --plr att val
  2144. if args[1]~=nil and args[2]~=nil and args[3]~=nil then
  2145. local plr=_plr(args[1])
  2146. if not plr then plr=args[1] else plr=plr.Name end
  2147. local ind=tostring(args[2]):lower()
  2148. local val=args[3]
  2149. if plr and ind and inTable(ds.props,ind)then
  2150. ds.set(plr,ind,val)
  2151. alert.c('set '..plr..'\'s '..ind..' to '..tostring(val),'White',speaker,4)
  2152. end
  2153. end
  2154. end,
  2155. {'setr'})
  2156.  
  2157. addcmd('lcmd','sets locked for a player',5,2,
  2158. function(speaker,args)
  2159.  
  2160. if args[1]~=nil and args[2]~=nil then
  2161. dmp(speaker)
  2162. local cplr=_plr(args[1])
  2163. if not cplr then return end
  2164. if iscmd(args[2])~=nil then
  2165. local c=iscmd(args[2])
  2166. if ps.islocked(c.NAME,cplr)then
  2167. _tab(c.NAME..' is LOCKED','Really red',speaker)
  2168. _tab('Click to unlock','Lime green',speaker,function()
  2169. for i,v in pairs(users)do
  2170. if v[1]==cplr.Name then
  2171. for o,b in pairs(v[7])do
  2172. if b:lower()==c.NAME:lower()then table.remove(v[7],o) end
  2173. end
  2174. end
  2175. end
  2176. dmp(speaker)
  2177. alert.c(c.NAME..' was unlocked for '..cplr.Name,'White',speaker,4)
  2178. end)
  2179. else
  2180. _tab(c.NAME..' is UNLOCKED','Lime green',speaker)
  2181. _tab('Click to lock','Really red',speaker,function()
  2182. safe.r(function()
  2183. table.insert(ds.prof(cplr.Name)[7],c.NAME)
  2184. end)
  2185. dmp(speaker)
  2186. alert.c(c.NAME..' was locked for '..cplr.Name,'White',speaker,4)
  2187. end)
  2188. end
  2189. elseif args[2]:lower()=='-list'then
  2190. for i,v in pairs(ds.prof(cplr.Name)[7])do
  2191. _tab(v,'Really red',speaker,function()
  2192. chat("lcmd'"..cplr.Name.."'"..v,speaker)
  2193. end)
  2194. end
  2195. elseif args[2]:lower()=='-clear'then
  2196. ds.prof(cplr.Name)[7]={}
  2197. end
  2198. end
  2199. end,
  2200. {'lockcmd','cmdlock','commandlock'})
  2201.  
  2202. addcmd('exe','executes a script',5,1,
  2203. function(speaker,args,orig)
  2204. orig=orig:sub(5)
  2205. local x=nil
  2206. local success,error=ypcall(function()x={loadstring(orig)}end)
  2207. local func,err=unpack(x);
  2208. alert.c(func(),'White',speaker)
  2209. if success then
  2210. alert.c('Script ran successfully','Lime green',speaker)alert.c(error,'White',speaker)
  2211. else
  2212. alert.c(error,c.red,speaker)
  2213. end
  2214. end)
  2215.  
  2216. addcmd('songrequest','request a song',0,1,
  2217. function(speaker,args)
  2218. dmp(speaker)
  2219. if args[1]~=nil then
  2220. local idz=args[1]
  2221. if not tonumber(idz)then alert.c('Please request a song ID!','Really red',speaker)return end
  2222. if assettype(tonumber(idz))~=3 then alert.c('Please request a song ID!','Really red',speaker)return end
  2223. local izz=game:GetService("MarketplaceService"):GetProductInfo(tonumber(idz))
  2224. _tab("Request \""..izz.Name..'"?','New Yeller',speaker)
  2225. _tab('Yes','Lime green',speaker,function()if inTable(songrequests, tonumber(idz))then dmp(speaker)alert.c('Song is already in request list!','Really red',speaker)else dmp(speaker)table.insert(songrequests,idz)alert.c('Song requested.','Lime green',speaker)end end)
  2226. _tab('Cancel','Really red',speaker,function()dmp(speaker)end)
  2227. end
  2228. end,{'requestsong','request'})
  2229.  
  2230. addcmd('requests','view song requests',3,0,
  2231. function(speaker,args)
  2232. dmp(speaker)
  2233. for i,v in pairs(songrequests)do
  2234. local izz=game:GetService("MarketplaceService"):GetProductInfo(tonumber(v))
  2235. _tab(izz.Name,'Lime green',speaker,
  2236. function()
  2237. dmp(speaker)
  2238. songmenu(tonumber(v),speaker)
  2239. _tab('Reject','Bright red',speaker,
  2240. function()
  2241. songrequests[i]=nil
  2242. chat('requests',speaker)
  2243. end)
  2244. end)
  2245. end
  2246. end)
  2247. addcmd('logs','view logs',4,0,
  2248. function(speaker)
  2249. dmp(speaker)
  2250. _tab('view system logs','New Yeller',speaker,function()
  2251. dmp(speaker)
  2252. _dmtab(speaker)
  2253. table.foreach(logs.LOG,function(k,v)
  2254. t.t(v,'White',speaker)
  2255. end)
  2256. end)
  2257.  
  2258. _tab('view chat logs','Bright blue',speaker,function()
  2259. dmp(speaker)
  2260. _dmtab(speaker)
  2261. table.foreach(logs.CLOG,function(k,v)
  2262. t.t(v,'White',speaker)
  2263. end)
  2264. end)
  2265. _tab('clear system logs','White',speaker,function(tablet)
  2266. rem(tablet)
  2267. t.t('system logs cleared','White',speaker)
  2268. end)
  2269. _tab('clear chat logs','White',speaker,function(tablet)
  2270. rem(tablet)
  2271. t.t('chat logs cleared','White',speaker)
  2272. end)
  2273. end)
  2274.  
  2275. plrs.PlayerAdded:connect(function(plr)
  2276. if not enabled or update then return end
  2277. delay(0,function()repeat wait(1)until plr.Character
  2278. if inTable(banlist,plr.Name)then
  2279. Kick(plr)
  2280. alert.g((plr.Name..' tried to join the game'),3)
  2281. return
  2282. end
  2283. local xx=0
  2284. if datastores then
  2285. xx=getrank(plr.Name)
  2286. if xx==-1 or pri and getrank(plr.Name)==0 then
  2287. Kick(plr)
  2288. --alert.g((plr.Name..' tried to join the game'),3)
  2289. return
  2290. end
  2291.  
  2292. end
  2293.  
  2294.  
  2295. delay(.5,function()
  2296. alert.c('Armageddon v'..ver..' running','Deep orange',plr,4)
  2297. alert.c('your rank: '..getrank(plr),'Deep orange',plr,4)
  2298. _tab('say cmds\' to get your commands','Deep orange',plr,function()dmp(plr)chat("cmds",plr)end,'',4)
  2299. alert.g((plr.Name..' connected'),4)
  2300. end)end)
  2301.  
  2302.  
  2303. updateevents()
  2304.  
  2305. end)
  2306.  
  2307. plrs.PlayerRemoving:connect(function(x)
  2308. if enabled and not update then
  2309. local xx=0;
  2310. if datastores and x then
  2311.  
  2312. xx=getrank(x.Name)
  2313. end
  2314. if xx==-1 then
  2315.  
  2316. elseif pri and xx==0 then
  2317. alert.g((x.Name..' attempted to join'),4)
  2318. else
  2319. alert.g((x.Name..' disconnected'),4)
  2320. end
  2321. updateevents()
  2322. end
  2323. end)
  2324. startuptime=elapsedTime()
  2325. for i,plr in pairs(plrs:GetPlayers())do
  2326.  
  2327. if tonumber(getrank(plr))>=5 then
  2328. alert.c('Armageddon v'..ver..' running','Deep orange',plr,4)
  2329. alert.c('your rank: '..getrank(plr),'Deep orange',plr,4)
  2330. _tab('say cmds\' to get your commands','Deep orange',plr,function()dmp(plr)chat("cmds",plr)end,'',4)
  2331. end
  2332. if getrank(plr)==-1 or inTable(banlist,plr.Name)then Kick(plr) end
  2333. end
  2334.  
  2335.  
  2336. alert.g('you are a admin!',4)
  2337. updateevents()
  2338.  
  2339. local function QuaternionFromCFrame(cf)
  2340. local mx, my, mz, m00, m01, m02, m10, m11, m12, m20, m21, m22 = cf:components();
  2341. local trace = m00 + m11 + m22 if trace > 0 then
  2342. local s = math.sqrt(1 + trace);
  2343. local recip = 0.5/s;
  2344. return (m21-m12)*recip, (m02-m20)*recip, (m10-m01)*recip, s*0.5;
  2345. else
  2346. local i = 0;
  2347. if m11 > m00 then
  2348. i = 1;
  2349. end;
  2350. if m22 > (i == 0 and m00 or m11) then
  2351. i = 2 end if i == 0 then
  2352. local s = math.sqrt(m00-m11-m22+1);
  2353. local recip = 0.5/s return 0.5*s, (m10+m01)*recip, (m20+m02)*recip, (m21-m12)*recip;
  2354. elseif i == 1 then
  2355. local s = math.sqrt(m11-m22-m00+1);
  2356. local recip = 0.5/s;
  2357. return (m01+m10)*recip, 0.5*s, (m21+m12)*recip, (m02-m20)*recip ;
  2358. elseif i == 2 then
  2359. local s = math.sqrt(m22-m00-m11+1);
  2360. local recip = 0.5/s;
  2361. return (m02+m20)*recip, (m12+m21)*recip, 0.5*s, (m10-m01)*recip;
  2362. end;
  2363. end;
  2364. end;
  2365.  
  2366. local function QuaternionToCFrame(px, py, pz, x, y, z, w)
  2367. local xs, ys, zs = x + x, y + y, z + z;
  2368. local wx, wy, wz = w*xs, w*ys, w*zs;
  2369. local xx = x*xs;
  2370. local xy = x*ys;
  2371. local xz = x*zs;
  2372. local yy = y*ys;
  2373. local yz = y*zs;
  2374. local zz = z*zs;
  2375. return CFrame.new(px, py, pz,1-(yy+zz), xy - wz, xz + wy,xy + wz, 1-(xx+zz), yz - wx, xz - wy, yz + wx, 1-(xx+yy))
  2376. end;
  2377.  
  2378. local function QuaternionSlerp(a, b, t)
  2379. local cosTheta = a[1]*b[1] + a[2]*b[2] + a[3]*b[3] + a[4]*b[4];
  2380. local startInterp, finishInterp;
  2381. if cosTheta >= 0.0001 then
  2382. if (1 - cosTheta) > 0.0001 then
  2383. local theta = math.acos(cosTheta);
  2384. local invSinTheta = 1/math.sin(theta);
  2385. startInterp = math.sin((1-t)*theta)*invSinTheta;
  2386. finishInterp = math.sin(t*theta)*invSinTheta;
  2387. else
  2388. startInterp = 1-t finishInterp = t;
  2389. end;
  2390. else
  2391. if (1+cosTheta) > 0.0001 then
  2392. local theta = math.acos(-cosTheta);
  2393. local invSinTheta = 1/math.sin(theta);
  2394. startInterp = math.sin((t-1)*theta)*invSinTheta;
  2395. finishInterp = math.sin(t*theta)*invSinTheta;
  2396. else startInterp = t-1 finishInterp = t;
  2397. end;
  2398. end;
  2399. return a[1]*startInterp + b[1]*finishInterp, a[2]*startInterp + b[2]*finishInterp, a[3]*startInterp + b[3]*finishInterp, a[4]*startInterp + b[4]*finishInterp;
  2400. end;
  2401.  
  2402. function CLerp(a,b,t)
  2403. local qa={QuaternionFromCFrame(a)};
  2404. local qb={QuaternionFromCFrame(b)};
  2405. local ax,ay,az=a.x,a.y,a.z;
  2406. local bx,by,bz=b.x,b.y,b.z;
  2407. local _t=1-t;
  2408. return QuaternionToCFrame(_t*ax+t*bx,_t*ay+t*by,_t*az+t*bz,QuaternionSlerp(qa, qb, t));
  2409. end
  2410.  
  2411.  
  2412.  
  2413.  
  2414.  
  2415. spawn(function()
  2416. local rot = 0
  2417. while enabled do
  2418. rot = rot + .001
  2419. for i,v in pairs(tabs)do
  2420. if plrs:FindFirstChild(i)then else
  2421. for o,b in pairs(v)do
  2422. rem(b)
  2423. end
  2424. tabs[i]=nil
  2425. end
  2426. end
  2427. for Index, Player in pairs(Players:GetPlayers()) do
  2428. if not tabs[Player.Name]then tabs[Player.Name]={}end
  2429. pcall(function()
  2430. for x = 1, #tabs[Player.Name] do
  2431. if tabs[Player.Name][x] == nil or tabs[Player.Name][x].Parent == nil or tabs[Player.Name][x].Name=='x' or tabs[Player.Name][x].Name == nil or plrs[Player.Name]==nil then
  2432. table.remove(tabs[Player.Name], x)
  2433. end
  2434. end
  2435. end)
  2436. local rotstylez=ds.get(Player.Name,'rot')
  2437. local bt=0
  2438. if datastores then if ps.wave(Player.Name)==true then bt=1 end end
  2439.  
  2440.  
  2441. local tn=#tabs[Player.Name]
  2442. if rotstylez:sub(1,1)=='l'then
  2443. for x = 1, #tabs[Player.Name] do--------------------------------------------------------------------------------* CFrame.Angles(0, math.rad(360 / #tabs[Player.Name])---------------------------------- * CFrame.new(-5 - (1.2 * #tabs[Player.Name]), math.sin(tick()), 0)
  2444. local tb=tabs[Player.Name][x]
  2445.  
  2446. if Player.Character.Parent~=nil then if Player.Character:FindFirstChild'Torso' then
  2447. facet=6
  2448.  
  2449. local cftp=CFrame.new(Player.Character.Torso.Position)
  2450. local ddr=((#tabs-(#tabs%facet))/facet)+(#tabs%facet)
  2451. local meg=x
  2452. repeat meg=meg-facet ddr=ddr+1 until meg<facet if meg>0 then ddr=ddr+1 end
  2453. local megic =CFrame.Angles(0,math.rad((360/facet)*(x%facet)+rot*600),0)
  2454. local tp=CFrame.new(Player.Character.Torso.Position+(megic.lookVector*ddr*6))
  2455. local mst=math.sin(tick())
  2456. local mct=math.cos(tick())
  2457. local rx = mst
  2458. local ry = mct
  2459. local rz = 0
  2460. if rotstylez=='lrand' then tp=tp*CFrame.Angles(rx,ry,rz)end
  2461. if tb.Name~='x'then
  2462. tb.CFrame = CLerp(tb.CFrame, tp , .25)
  2463. end
  2464. end;end
  2465. end
  2466. else
  2467. for x = 1, tn do--------------------------------------------------------------------------------* CFrame.Angles(0, math.rad(360 / #tabs[Player.Name])---------------------------------- * CFrame.new(-5 - (1.2 * #tabs[Player.Name]), math.sin(tick()), 0)
  2468. if Player.Character then if Player.Character:FindFirstChild'Torso'~=nil then
  2469. local cftp=CFrame.new(Player.Character.Torso.Position)
  2470. local tb=tabs[Player.Name][x]
  2471. local radius=1.4*((tn)*.4)+4;
  2472. local rzz=(360/tn)*x
  2473.  
  2474.  
  2475. local xp=math.cos(((x/tn)-tn*2)*2*math.pi)*radius
  2476. local yp = math.sin(tick()/math.pi+((x)*bt))
  2477. local zp=math.sin(((x/tn)-tn*2)*2*math.pi)*radius--(math.sin((x/tn-(tn)+rot)*math.pi*2)*radius)
  2478. local mst=math.sin(tick())
  2479. local mct=math.cos(tick())
  2480. local rx = mst
  2481. local ry = mct
  2482. local rz = 0
  2483. local tp=cftp*CFrame.Angles(0,rot,0)*(CFrame.new(xp,yp,zp):inverse())--:toWorldSpace(CFrame.new(xp,yp,zp):inverse())--*CFrame.Angles(math.pi/180*2,math.pi/180*2,math.pi/180*2);
  2484.  
  2485. if rotstylez=='circlerand'then tp=tp*CFrame.Angles(rx,ry,0)end
  2486. if rotstylez=='flattab'then tp=tp*CFrame.Angles(0,-math.rad(rzz),0.4)end
  2487. if tb.Name~='x'then
  2488. tb.CFrame = CLerp(tb.CFrame, tp , .25)
  2489. else
  2490. tb.CFrame = CLerp(tb.CFrame, cftp , .25)
  2491. end
  2492. end;end
  2493. end
  2494. end
  2495. end
  2496. wait()
  2497. end
  2498. end)
  2499.  
  2500. coroutine.wrap(
  2501. function()
  2502. while wait(20)do
  2503. ds.save()
  2504. table.sort(music,
  2505. function(a,b)
  2506. if a[1]<b[1] then return false end
  2507. end)
  2508. end
  2509. end)()
  2510. --[[
  2511. end]]
  2512.  
  2513.  
  2514. --[[remmy=false
  2515. function removeothermusic()
  2516. remmy=true
  2517. while remmy do
  2518. wait(2)
  2519. m.stopmusico(workspace,true)
  2520. end
  2521. end]]
  2522. print(magiclaxnoob)
  2523. loadmodule=function(link)
  2524. local run,error=ypcall(function()
  2525. local SHttp = game:GetService("HttpService")
  2526. loadstring(SHttp:GetAsync(link,true) ) ()
  2527. wait(.05)
  2528. end)
  2529. if not run then print(error) end
  2530. end
  2531. repeat wait()until not enabled
  2532. print'Saving ranks,music and others'
  2533. wait(2)
  2534. print'Saved all'
  2535. wait()
  2536. alert.p('Confirming disable',speaker)
  2537. wait(1.3)
  2538. print'Confirming.'
  2539. wait(1,3)
  2540. print'Confirming..'
  2541. wait(1.3)
  2542. print'Confirming...'
  2543. print'Armageddon tabs have fully been disabled'
  2544.  
  2545.  
  2546. delay(0,function()
  2547. if update then
  2548. local run,error=ypcall(function()
  2549. local Link = me
  2550. local SHttp = game:GetService("HttpService")
  2551. loadstring(SHttp:GetAsync(Link,true) ) ()
  2552. wait(.05)
  2553. end)
  2554. if not run then print(error) end
  2555. end
  2556. end)
Add Comment
Please, Sign In to add comment