TheProNoob2004

Doge's cape HC

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