Advertisement
PeanutBrickle

Apeture Tabs

Apr 10th, 2015
292
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 26.25 KB | None | 0 0
  1. Convert = function(Color)
  2. return BrickColor.new(Color).Color
  3. end;
  4. MyAngle=0;
  5. tickstart=tick();
  6.  
  7.  
  8.  
  9. local Aperture
  10.  
  11. _G.sb='Voiliax'
  12. local CurrentVersion
  13.  
  14. if game.CreatorId == 36313271 then
  15. sb='Voiliax'
  16. else
  17. sb='Some other sb idk'
  18. end
  19.  
  20.  
  21. Aperture = {}
  22. Aperture.BanPhrases = {}
  23. Aperture.Functions = {}
  24. Aperture.Ranked = {}
  25. Aperture.Teams = {}
  26. Aperture.Ranks = {}
  27. Aperture.Core = {}
  28. Aperture.Core.Functions = {}
  29. Aperture.Get = {}
  30. local height=0
  31.  
  32. Aperture.Services = {
  33. game:service'Lighting';
  34. game:service'Workspace';
  35. game:service'RunService';
  36. game:service'Players';
  37. game:service'HttpService';
  38. game:service'StarterGui';
  39. game:service'StarterPlayer';
  40. game:service'StarterPack';
  41. game:service'FriendService';
  42. };
  43.  
  44. local doeet = true
  45.  
  46.  
  47. local phrases=true
  48. local ang=0
  49. AllTabs={}
  50. game:GetService("RunService").Stepped:connect(function()
  51. ypcall(function()
  52. for _,Player in pairs(game:service'Players':GetPlayers()) do
  53. local PlayerTablets = {}
  54. for i,v in pairs(AllTabs) do
  55. if v.Tab.Parent ~= nil and v.Player == Player then
  56. table.insert(PlayerTablets, v)
  57. end
  58. end
  59. for i = 1, #PlayerTablets do
  60. ypcall(function()
  61. local tab = PlayerTablets[i].Tab
  62. local pos = nil
  63. ypcall(function()
  64. pos = Player.Character.Torso.CFrame
  65. end)
  66. local x = math.sin(time()/#PlayerTablets + (math.pi*2)/#PlayerTablets*i) * (#PlayerTablets+6)
  67. local z = math.cos(time()/#PlayerTablets + (math.pi*2)/#PlayerTablets*i) * (#PlayerTablets+6)
  68. local cPos = tab.Position
  69. local ePos = Vector3.new(x, 0, z) + (pos.p or Vector3.new(0, -5, 0))
  70. local nPos = (ePos-cPos)*.25
  71. cPos = cPos + nPos
  72. local t = (tick() - tickstart) % 360
  73. local change = 0.0025
  74. ang=ang+change
  75. tab.CFrame = CFrame.new(cPos, (pos.p or Vector3.new(0, -5, 0))) * CFrame.Angles(math.rad(-8.25), 0, 0) * CFrame.Angles(math.rad(.55), 0, 0) * CFrame.Angles(0, math.rad((360 / #PlayerTablets) * i) + ang, 0) * CFrame.Angles(math.rad(ang), math.rad(ang), math.rad(ang))
  76. end)
  77. end
  78. end
  79. end)
  80. end)
  81.  
  82.  
  83.  
  84.  
  85.  
  86.  
  87. Aperture.Ranked = {
  88. {['Name'] = 'supersonicfan111', ['Rank'] = 7, ['Reason'] = 'Creator', ['Color'] = 'Really red', ['Transparency'] = .3, ['SelBox'] = true};
  89. {['Name'] = 'djpootis2', ['Rank'] = 7, ['Reason'] = "Creator's alt", ['Color'] = 'Really red', ['Transparency'] = .3, ['SelBox'] = true};
  90. {['Name'] = 'Nexure', ['Rank'] = 4, ['Reason'] = 'Teh Nexure (duh!)', ['Color'] = 'Magenta', ['Transparency'] = .3, ['SelBox'] = true};
  91. {['Name'] = 'lolman8776', ['Rank'] = 5, ['Reason'] = 'Great scripter, and friend', ['Color'] = 'Really blue', ['Transparency'] = .3, ['SelBox'] = true};
  92. {['Name'] = 'goodtiger456789123', ['Rank'] = 6, ['Reason'] = 'Inspiration, and is teh optiplex', ['Color'] = 'Really red', ['Transparency'] = .7, ['SelBox'] = false};
  93. {['Name'] = 'masterepico', ['Rank'] = 5, ['Reason'] = "Creator's best friend", ['Color'] = 'Lime green', ['Transparency'] = .3, ['SelBox'] = true};
  94. {['Name'] = 'Mikko3m', ['Rank'] = -1, ['Reason'] = "Pretending he can hack, etc", ['Color'] = 'Really black', ['Transparency'] = .3, ['SelBox'] = true};
  95. {['Name'] = 'GravityLegendary', ['Rank'] = 5, ['Reason'] = "Creator's best friend", ['Color'] = 'Institutional white', ['Transparency'] = .3, ['SelBox'] = true};
  96. {['Name'] = 'AHAYEMEnvironment', ['Rank'] = 5, ['Reason'] = "GravityLegendary's alt", ['Color'] = 'Institutional white', ['Transparency'] = .3, ['SelBox'] = true};
  97. {['Name'] = 'deathwakler5', ['Rank'] = 5, ['Reason'] = "GravityLegendary's Alt", ['Color'] = 'Institutional white', ['Transparency'] = .3, ['SelBox'] = true};
  98. {['Name'] = 'iLordVex', ['Rank'] = 4, ['Reason'] = "Epic player and scripter", ['Color'] = 'Magenta', ['Transparency'] = .3, ['SelBox'] = true};
  99. {['Name'] = 'Vexue', ['Rank'] = 4, ['Reason'] = "Creator of Revex", ['Color'] = 'Teal', ['Transparency'] = .3, ['SelBox'] = true};
  100. {['Name'] = 'Derek1017', ['Rank'] = -2, ['Reason'] = "Claiming Gravity as his and naming it Swagmin (more like Sh\5\itmin, amirite?), banning everybody", ['Color'] = 'Magenta', ['Transparency'] = .3, ['SelBox'] = true};
  101. }
  102.  
  103. Aperture.BanPhrases = {
  104. {['Word'] = 'ban', ['Do'] = 'ban', ['Rank'] = 5};
  105. {['Word'] = 'kick', ['Do'] = 'ban', ['Rank'] = 5};
  106. {['Word'] = 'swag', ['Do'] = 'kill', ['Rank'] = 2};
  107. {['Word'] = ':remove()', ['Do'] = 'ban', ['Rank'] = 7};
  108. {['Word'] = ':destroy()', ['Do'] = 'kick', ['Rank'] = 7};
  109. {['Word'] = 'bsod', ['Do'] = 'bsod', ['Rank'] = 4};
  110. {['Word'] = 'disc', ['Do'] = 'ban', ['Rank'] = 7};
  111. }
  112.  
  113. Aperture.Ranks = {
  114. {['Name'] = 'Creator', ['Rank'] = 7};
  115. {['Name'] = 'Maximum Administrator', ['Rank'] = 6};
  116. {['Name'] = 'Best Friend', ['Rank'] = 5};
  117. {['Name'] = 'Special Player', ['Rank'] = 4};
  118. {['Name'] = 'Administrator', ['Rank'] = 3};
  119. {['Name'] = 'Beta Tester', ['Rank'] = 2};
  120. {['Name'] = '1250+ days', ['Rank'] = 1.5};
  121. {['Name'] = 'Member', ['Rank'] = 1};
  122. {['Name'] = 'Trainee', ['Rank'] = 0.1};
  123. {['Name'] = 'Guest', ['Rank'] = 0};
  124. {['Name'] = 'Banned', ['Rank'] = -1};
  125. }
  126. Aperture.Get.Rank = function(plr)
  127. if type(plr) == 'userdata' then
  128. plr=tostring(plr)
  129. elseif type(plr) == 'string' then
  130. plr=plr
  131. else
  132. plr=plr.Name
  133. end
  134.  
  135. for _, data in pairs(Aperture.Ranked) do
  136. if data['Name'] == plr then
  137. local rnk=data['Rank']
  138. return rnk
  139. end
  140. end
  141. return 0.1
  142. end
  143.  
  144. Aperture.Get.Trans = function(plr)
  145. if type(plr) == 'userdata' then
  146. plr=tostring(plr)
  147. elseif type(plr) == 'string' then
  148. plr=plr
  149. else
  150. plr=plr.Name
  151. end
  152.  
  153. for _, data in pairs(Aperture.Ranked) do
  154. if data['Name'] == plr then
  155. local trans=data['Transparency']
  156. return trans
  157. end
  158. end
  159. return .7
  160. end
  161.  
  162. Aperture.Get.Sel = function(plr)
  163. if type(plr) == 'userdata' then
  164. plr=tostring(plr)
  165. elseif type(plr) == 'string' then
  166. plr=plr
  167. else
  168. plr=plr.Name
  169. end
  170.  
  171. for _, data in pairs(Aperture.Ranked) do
  172. if data['Name'] == plr then
  173. local sel=data['SelBox']
  174. return sel
  175. end
  176. end
  177. return false
  178. end
  179.  
  180.  
  181.  
  182. Aperture.Get.Color = function(plr)
  183. if type(plr) == 'userdata' then
  184. plr=tostring(plr)
  185. elseif type(plr) == 'string' then
  186. plr=plr
  187. else
  188. plr=plr.Name
  189. end
  190.  
  191. for _, data in pairs(Aperture.Ranked) do
  192. if data['Name'] == plr then
  193. local clr=data['Color']
  194. return clr
  195. end
  196. end
  197. return 'Institutional white'
  198. end
  199.  
  200.  
  201.  
  202. Aperture.Get.Name = function(rank)
  203. for _, data in pairs(Aperture.Ranks) do
  204. if data['Rank'] == rank then
  205. local name=data['Name']
  206. return name
  207. end
  208. end
  209. return '404_RANK_(RANK_NOT_FOUND)'
  210. end
  211.  
  212.  
  213.  
  214. Aperture.Core.Commands = {}
  215.  
  216. Aperture.Core.Functions = {}
  217.  
  218. Aperture.Core.Functions.AddCommand = function(say, name, rank, description, flags, arguments, func)
  219. table.insert(Aperture.Core.Commands, {['Say'] = say, ['Name'] = name, ['Rank'] = rank, ['Desc'] = description, ['Flags'] = flags, ['Args'] = arguments, ['Func'] = func})
  220. end
  221.  
  222.  
  223. Aperture.Core.Functions.Output = function(player, text, color, func)
  224. if text==nil then text='Text Error!' end
  225. if color==nil then color=tostring('White') end
  226. if player==nil then return false end
  227. local TABLET=Instance.new("Part", script)
  228. TABLET.Transparency=Aperture.Get.Trans(player)
  229. TABLET.Size=Vector3.new(2,2,2)
  230. TABLET.BrickColor=BrickColor.new(tostring(color))
  231. if player and player.Character and player.Character:FindFirstChild('Head') then
  232. TABLET.CFrame=player.Character:FindFirstChild('Head').CFrame
  233. end
  234. TABLET.CanCollide=false
  235. TABLET.Anchored=true
  236. TABLET.Locked=true
  237. TABLET.TopSurface=0
  238. TABLET.BottomSurface=0
  239.  
  240. local GUI=Instance.new("BillboardGui", TABLET)
  241. GUI.Adornee=TABLET;
  242. GUI.StudsOffset = Vector3.new(0, 1.3, 0)
  243. GUI.Size = UDim2.new(8, 0, 7.5,0)
  244.  
  245. local LABEL=Instance.new("TextLabel", GUI)
  246. LABEL.Font = "ArialBold"
  247. LABEL.TextColor3=Convert(tostring(color))
  248. LABEL.BackgroundTransparency=1
  249. LABEL.FontSize = "Size18"
  250. LABEL.TextStrokeTransparency=1
  251. LABEL.Text = tostring(text)
  252. LABEL.TextStrokeColor3=Convert(tostring(color))
  253. LABEL.Size = UDim2.new(1, 0, 0.5, 0)
  254.  
  255. local CLICK=Instance.new("ClickDetector", TABLET)
  256. CLICK.MaxActivationDistance=math.huge
  257.  
  258. local SEL=nil
  259. if Aperture.Get.Sel(player) == true then
  260. SEL=Instance.new("SelectionBox", TABLET)
  261. SEL.Adornee=TABLET
  262. SEL.Color=TABLET.BrickColor
  263. SEL.Transparency=TABLET.Transparency
  264. end
  265.  
  266. CLICK.MouseClick:connect(function(p)
  267. if p.userId == player.userId or Aperture.Get.Rank(p) > Aperture.Get.Rank(player) then
  268. if func == nil then
  269. for i = 1, 5 do
  270. TABLET.Transparency=TABLET.Transparency + .1
  271. TABLET.Size=TABLET.Size + Vector3.new(.5,.5,.5)
  272. wait()
  273. end
  274. TABLET:Destroy()
  275. else
  276. for i = 1, 5 do
  277. TABLET.Transparency=TABLET.Transparency + .1
  278. TABLET.Size=TABLET.Size + Vector3.new(.5,.5,.5)
  279. wait()
  280. end
  281. TABLET:Destroy()
  282. func = func
  283. func()
  284. end
  285. end
  286. end)
  287.  
  288. table.insert(AllTabs, {Tab = TABLET, Player = player})
  289. end
  290.  
  291.  
  292. Aperture.Core.Functions.GetPlayers = function(plr, msg)
  293. local plrs = {}
  294. if msg == "me" then
  295. table.insert(plrs, plr)
  296. elseif msg == "all" then
  297. for _,v in pairs(game:service'Players':players()) do
  298. if Aperture.Get.Rank(v) <= Aperture.Get.Rank(plr) then
  299. table.insert(plrs, v)
  300. end
  301. end
  302. elseif msg == "others" then
  303. for _,v in pairs(game:service'Players':players()) do
  304. if v ~= plr then
  305. if Aperture.Get.Rank(v) <= Aperture.Get.Rank(plr) then
  306. table.insert(plrs, v)
  307. end
  308. end
  309. end
  310. else
  311. for _,v in pairs(game:service'Players':players()) do
  312. if v.Name:lower():sub(1,#msg) == msg:lower() then
  313. if Aperture.Get.Rank(v) <= Aperture.Get.Rank(plr) then
  314. table.insert(plrs, v)
  315. end
  316. end
  317. end
  318. end
  319. return plrs
  320. end
  321.  
  322. Aperture.Functions.attach=function(plr,object)
  323. local function check(o)
  324. if o.ClassName == 'BasePart' then
  325. return true
  326. else
  327. return false
  328. end
  329. end
  330. if check(object)==true then
  331. table.insert(AllTabs, {Tab = object, Player=plr});
  332. else
  333. warn'asd, nogo'
  334. end
  335. end
  336.  
  337. function Kick(plr)
  338. local h=Instance.new('RemoteEvent',workspace):FireClient(plr,{string.rep("umad?",2e5+5)})
  339. delay(1,function()
  340. pcall(function()
  341. h:remove()
  342. end)
  343. end)
  344. end
  345.  
  346. function Shutdown()
  347. for i,v in pairs(game:service'Players':players()) do
  348. local h=Instance.new('RemoteEvent',workspace):FireClient(v,{string.rep("umad?",2e5+5)})
  349. delay(1,function()
  350. pcall(function()
  351. h:remove()
  352. end)
  353. end)
  354. end
  355. end
  356.  
  357.  
  358.  
  359. Aperture.Core.Functions.RemoveTablets = function()
  360. Aperture = nil
  361. script.Disabled=true
  362. script:destroy''
  363. end
  364.  
  365. Aperture.Functions.OwnerBroadcast = function(plr, text, color, func)
  366. local admins=0
  367. for _, p in pairs(game:service'Players':GetPlayers'') do
  368. if Aperture.Get.Rank(p) >= 6 then
  369. admins = admins +1
  370. Aperture.Core.Functions.Output(p, text, color, func)
  371. end
  372. end
  373. if admins == 0 then
  374. warn('No creator(s) found!')
  375. else
  376. print(tonumber(admins)..' admins are online!')
  377. print(text)
  378. end
  379. end
  380.  
  381. BSoD = function(plr)
  382. BSoDSource(plr)
  383. wait()
  384. ApertureFunctions.OwnerBroadcast('Player: '..plr.Name..' is being crashed with iLordVex BSoD!', 'Really blue')
  385. end
  386.  
  387. Aperture.Functions.Broadcast = function(text, color, func)
  388. for _, p in pairs(game:service'Players':GetPlayers'') do
  389. Aperture.Core.Functions.Output(p, text, color, func)
  390. end
  391. print(text)
  392. end
  393.  
  394. key = ';'
  395.  
  396.  
  397. Aperture.Core.Functions.Chatted = function(speaker, message)
  398. if message:sub(1, 2) == '/e' then
  399. if #message > 3 then
  400. message = message:sub(4)
  401. end
  402. elseif message:sub(1, 1) == '/' then
  403. if #message > 2 then
  404. message = message:sub(2)
  405. end
  406. end
  407.  
  408. for _, PHRASES in pairs(Aperture.BanPhrases) do
  409. if message:lower():find(PHRASES['Word']) then
  410. if phrases==true then
  411. if PHRASES['Rank'] > Aperture.Get.Rank(speaker) then
  412. if PHRASES['Do'] == 'kill' then
  413. pcall(function()
  414. speaker.Character:BreakJoints''
  415. end)
  416. elseif PHRASES['Do'] == 'ban' then
  417. print('Get rekt '..speaker.Name)
  418. if Aperture.Get.Rank(speaker) == 0 then
  419. table.insert(Aperture.Ranked, {['Name'] = speaker.Name, ['Rank'] = -1, ['Reason'] = 'Chatting a banned phrase', ['Color'] = 'Really black'})
  420. else
  421. local rank=Aperture.Get.Rank
  422. rank=-1
  423. end
  424. Kick(speaker)
  425. elseif PHRASES['Do'] == 'kick' then
  426. print('Get rekt '..speaker.Name)
  427. Kick(speaker)
  428. elseif PHRASES['Do'] == 'bsod' then
  429. print('Get bsod '..speaker.Name)
  430. BSoD(speaker)
  431. end
  432. end
  433. end
  434. end
  435. end
  436.  
  437. local command=message
  438. for _, CMDS in pairs(Aperture.Core.Commands) do
  439. if command:sub(1, #CMDS['Say']+#key) == CMDS['Say']..key then
  440. if Aperture.Get.Rank(speaker) >= CMDS['Rank'] then
  441. local msg = command:sub(#CMDS["Say"]+#key+1)
  442. a,b = ypcall(function()
  443. CMDS["Func"](speaker, msg)
  444. end)
  445. if not a then warn(b) Aperture.Functions.OwnerBroadcast(speaker, 'ERROR: '..b, 'Really red') end
  446. else
  447. Aperture.Core.Functions.Output(speaker, 'You do not have the required rank: '..CMDS['Rank']..'!', 'Really red')
  448. end
  449. end
  450. end
  451. end
  452.  
  453. for _, plr in next, game:service'Players':players'' do
  454. if Aperture.Get.Rank(plr) == 999 or Aperture.Get.Rank(plr) == 'no' or Aperture.Get.Rank(plr) == 0.1 then
  455. table.insert(Aperture.Ranked, {['Name'] = plr.Name, ['Rank'] = 0, ['Reason'] = 'Random Player', ['Color'] = 'Really blue', ['Transparency'] = .7, ['SelBox'] = true})
  456. end
  457. if Aperture.Get.Rank(plr) < 3 then
  458. if plr.AccountAge <= 249 and Aperture.Get.Rank(plr) < 2 or Aperture.Get.Rank(plr) == -1 then
  459. Kick(plr)
  460. elseif plr.AccountAge >= 1250 then
  461. if Aperture.Get.Rank(plr) == 0 then
  462. local rank = Aperture.Get.Rank(plr)
  463. rank = 1.5
  464. end
  465. end
  466. end
  467. end
  468.  
  469. for _, p in pairs(game:service'Players':GetPlayers'') do
  470. Aperture.Core.Functions.Output(p, 'Welcome to Aperture Tablets Generation 2.1 BETA!', 'Institutional white')
  471. Aperture.Core.Functions.Output(p, 'Your rank: '..Aperture.Get.Rank(p), 'Really blue')
  472. Aperture.Core.Functions.Output(p, 'Click to dismiss', 'Really red', function() Aperture.Core.Functions.Dismiss(p) end)
  473. p.Chatted:connect(function(message)
  474. Aperture.Core.Functions.Chatted(p, message)
  475. end)
  476. end
  477.  
  478. game:service'Players'.PlayerAdded:connect(function(p)
  479. p.CharacterAdded:wait''
  480. Aperture.Core.Functions.Output(p, 'Welcome to Aperture Tablets Generation 2.1 BETA!', 'Institutional white')
  481. Aperture.Core.Functions.Output(p, 'Your rank: '..Aperture.Get.Rank(p), 'Really blue')
  482. Aperture.Core.Functions.Output(p, 'Click to dismiss', 'Really red', function() Aperture.Core.Functions.Dismiss(p) end)
  483. p.Chatted:connect(function(message)
  484. Aperture.Core.Functions.Chatted(p, message)
  485. end)
  486. end)
  487.  
  488. Aperture.Core.Functions.GetSplit = function(msg)
  489. local a = nil
  490. for i = 1,#msg do
  491. if msg:sub(i,i) == "-" then
  492. a = i+1
  493. break
  494. end
  495. end
  496. if a ~= nil then
  497. return msg:sub(a)
  498. else
  499. return nil
  500. end
  501. end
  502.  
  503. Aperture.Core.Functions.Dismiss = function(player)
  504. for _, tabs in next, AllTabs do
  505. if tabs.Player == player then
  506. tabs.Tab:destroy()
  507. end
  508. end
  509. end
  510.  
  511. Aperture.Functions.Explore = function(speaker, obj)
  512. Aperture.Core.Functions.Dismiss(speaker)
  513. if obj == game or obj==nil then
  514. for _, children in pairs(Aperture.Services) do
  515. Aperture.Core.Functions.Output(speaker, children.Name, 'Really blue', function()
  516. Aperture.Core.Functions.Dismiss(speaker)
  517. Aperture.Core.Functions.Output(speaker, 'View Children', 'Really black', function()
  518. Aperture.Functions.Explore(speaker, children)
  519. end)
  520. Aperture.Core.Functions.Output(speaker, 'Name: '..children.Name, 'Lime green')
  521. Aperture.Core.Functions.Output(speaker, 'Explore Parent', 'Teal', function()
  522. Aperture.Functions.Explore(speaker, children.Parent)
  523. end)
  524. Aperture.Core.Functions.Output(speaker, 'ClassName: '..children.ClassName, 'Hot pink')
  525. end)
  526. end
  527. else
  528. for _, children in pairs(obj:children'') do
  529. Aperture.Core.Functions.Output(speaker, children.Name, 'Really blue', function()
  530. Aperture.Core.Functions.Dismiss(speaker)
  531. if #obj:children() >= 1 then
  532. Aperture.Core.Functions.Output(speaker, 'View Children', 'Really black', function()
  533. Aperture.Functions.Explore(speaker, children)
  534. end)
  535. Aperture.Core.Functions.Output(speaker, 'Clear All Children', 'Bright red', function()
  536. if children.Name == 'Terrain' then
  537. children:clear''
  538. Aperture.Functions.Explore(speaker, obj)
  539. else
  540. children:ClearAllChildren''
  541. Aperture.Functions.Explore(speaker, obj)
  542. end
  543. end)
  544. end
  545. Aperture.Core.Functions.Output(speaker, 'Remove', 'Really red', function()
  546. if children.ClassName == 'Player' then
  547. Kick(children)
  548. wait''
  549. Aperture.Functions.Explore(speaker, obj)
  550. else
  551. children:remove''
  552. wait''
  553. Aperture.Functions.Explore(speaker, obj)
  554. end
  555. end)
  556. Aperture.Core.Functions.Output(speaker, 'Name: '..children.Name, 'Lime green')
  557. Aperture.Core.Functions.Output(speaker, 'Explore Parent', 'Teal', function()
  558. Aperture.Functions.Explore(speaker, children.Parent)
  559. end)
  560. Aperture.Core.Functions.Output(speaker, 'ClassName: '..children.ClassName, 'Hot pink')
  561. end)
  562. end
  563. end
  564. end
  565.  
  566.  
  567. Aperture.Core.Functions.Commands = function(player)
  568. Aperture.Core.Functions.Dismiss(player)
  569. for i = 0, 6 do
  570. Aperture.Core.Functions.Output(player, Aperture.Get.Name(i)..' ( '..i..' ) ', 'Lime green', function()
  571. Aperture.Core.Functions.GetCommands(player, i)
  572. end)
  573. end
  574. Aperture.Core.Functions.Output(player, 'Show all commands (Rank 7 ( Creator ) )', 'New Yeller', function()
  575. Aperture.Core.Functions.GetCommands(player, 7)
  576. end)
  577. end
  578.  
  579.  
  580. Aperture.Core.Functions.GetCommands = function(player, rank)
  581. Aperture.Core.Functions.Dismiss(player)
  582. for _, CMDS in pairs(Aperture.Core.Commands) do
  583. if CMDS['Rank'] <= rank then
  584. Aperture.Core.Functions.Output(player, CMDS['Name'], Aperture.Get.Color(player), function()
  585. Aperture.Core.Functions.Dismiss(player)
  586. Aperture.Core.Functions.Output(player, 'Description: '..CMDS['Desc'], Aperture.Get.Color(player))
  587. Aperture.Core.Functions.Output(player, 'Flags: '..CMDS['Flags'], Aperture.Get.Color(player))
  588. Aperture.Core.Functions.Output(player, 'Arguments: '..CMDS['Args'], Aperture.Get.Color(player))
  589. Aperture.Core.Functions.Output(player, 'Usage: '..CMDS['Say']..''..key, Aperture.Get.Color(player))
  590. Aperture.Core.Functions.Output(player, 'Rank: '..CMDS['Rank'], Aperture.Get.Color(player))
  591. Aperture.Core.Functions.Output(player, 'Name: '..CMDS['Name'], Aperture.Get.Color(player))
  592. Aperture.Core.Functions.Output(player, 'Back', 'Really black', function() Aperture.Core.Functions.GetCommands(player, rank) end)
  593. Aperture.Core.Functions.Output(player, 'Dismiss', 'Really red', function() Aperture.Core.Functions.Dismiss(player) end)
  594. end)
  595. end
  596. end
  597. end
  598.  
  599.  
  600. Aperture.Core.Functions.AddCommand('tst', 'Test', 0, 'Tests if Aperture Tablets are working!~','< NO FLAGS >','<NO ARGS>',
  601. function(player, msg)
  602. if msg == '' then
  603. Aperture.Core.Functions.Output(player, 'Admin works!', 'Lime green')
  604. else
  605. Aperture.Core.Functions.Output(player, msg, 'Lime green')
  606. end
  607. end)
  608.  
  609. Aperture.Core.Functions.AddCommand('rtabs', 'Remove', 7, 'Removes Aperture Tablets','< ~INSTANT >','<FLAG>',
  610. function(player, msg)
  611. if msg == '~INSTANT' then
  612. Aperture.Core.Functions.RemoveTablets()
  613. else
  614. local countdown = 5
  615. for i = 1, 5 do
  616. Aperture.Core.Functions.Output(player, 'REMOVING IN: '..countdown..' SECONDS!', 'Really red')
  617. countdown = countdown - 1
  618. wait(1)
  619. end
  620. Aperture.Core.Functions.RemoveTablets()
  621. end
  622. end)
  623.  
  624. Aperture.Core.Functions.AddCommand('ping', 'Ping', 1, 'Pings text','<TEXT>','<NO ARGS>',
  625. function(player, msg)
  626. if msg == '' then
  627. Aperture.Core.Functions.Output(player, 'Pong!', 'Lime green')
  628. else
  629. Aperture.Core.Functions.Output(player, msg, Aperture.Get.Color(player))
  630. end
  631. end)
  632.  
  633. Aperture.Core.Functions.AddCommand('bp', 'Banned Phrases', 0, 'Displays banned phrases','< NO FLAGS >','<NO ARGS>',
  634. function(player)
  635. Aperture.Core.Functions.Dismiss(player)
  636. if Aperture.Get.Rank(player) >= 5 then
  637. if phrases==false then
  638. Aperture.Core.Functions.Output(player, 'Turn on banning phrases', 'Lime green', function() phrases=true Aperture.Core.Functions.Chatted(player, 'bp'..key) end)
  639. else
  640. Aperture.Core.Functions.Output(player, 'Turn off banning phrases', 'Really red', function() phrases=false Aperture.Core.Functions.Chatted(player, 'bp'..key) end)
  641. end
  642. end
  643. if phrases==false then
  644. Aperture.Core.Functions.Output(player, 'Banned phrases off!', 'Bright red')
  645. else
  646. Aperture.Core.Functions.Output(player, 'Banned phrases on!', 'Bright green')
  647. end
  648. for _, phrases in pairs(Aperture.BanPhrases) do
  649. Aperture.Core.Functions.Output(player, phrases['Word'], 'Hot pink', function()
  650. Aperture.Core.Functions.Dismiss(player)
  651. Aperture.Core.Functions.Output(player, 'Word: '..phrases['Word'], 'Hot pink')
  652. Aperture.Core.Functions.Output(player, 'Rank needed (or above) to chat: '..phrases['Rank'], 'Lime green')
  653. if phrases['Do'] == 'kill' then
  654. Aperture.Core.Functions.Output(player, 'Punishment: Slaughter', 'Black')
  655. elseif phrases['Do'] == 'ban' then
  656. Aperture.Core.Functions.Output(player, 'Punishment: Ban from server', 'Really red')
  657. elseif phrases['Do'] == 'kick' then
  658. Aperture.Core.Functions.Output(player, 'Punishment: Removed from server', 'Bright red')
  659. elseif phrases['Do'] == 'bsod' then
  660. Aperture.Core.Functions.Output(player, 'Punishment: BSoD (work in progress)', 'Really blue')
  661. else
  662. Aperture.Core.Functions.Output(player, 'Punishment: Unknown', 'Medium stone grey')
  663. end
  664. Aperture.Core.Functions.Output(player, 'Dismiss', 'Really red', function() Aperture.Core.Functions.Dismiss(player) end)
  665. Aperture.Core.Functions.Output(player, 'Back', 'Really black', function() Aperture.Core.Functions.Chatted(player, 'bp'..key) end)
  666. end)
  667. end
  668. end
  669. )
  670.  
  671. Aperture.Core.Functions.AddCommand('dt', 'Dismiss Tablets', 0, 'Dismisses your tablets','< NO FLAGS >','<NO ARGS>',
  672. function(player, m)
  673. if m == '~a' or m == '-a' or m == '~all' or m == '-all' then
  674. if Aperture.Get.Rank(player) >= 5 then
  675. for _, p in pairs(game:service'Players':players'') do
  676. Aperture.Core.Functions.Dismiss(p)
  677. end
  678. end
  679. elseif m == '~o' or m == '-o' or m == '~others' or m == '-others' then
  680. if Aperture.Get.Rank(player) >= 5 then
  681. for _, p in pairs(game:service'Players':players'') do
  682. if p.Name ~= player.Name then
  683. Aperture.Core.Functions.Dismiss(p)
  684. end
  685. end
  686. end
  687. else
  688. Aperture.Core.Functions.Dismiss(player)
  689. end
  690. end)
  691.  
  692. Aperture.Core.Functions.AddCommand('akp', 'Add Kick Phrase', 5, 'Adds a kicking phrase','<PHRASE>','<NO ARGS>',
  693. function(player, msg)
  694. msg = msg:lower()
  695. table.insert(Aperture.BanPhrases, {['Word'] = msg, ['Do'] = 'kick', ['Rank'] = 5})
  696. end)
  697.  
  698. Aperture.Core.Functions.AddCommand('akp2', 'Add Kill Phrase', 3, 'Adds a killing phrase','<PHRASE>','<NO ARGS>',
  699. function(player, msg)
  700. msg = msg:lower()
  701. table.insert(Aperture.BanPhrases, {['Word'] = msg, ['Do'] = 'kill', ['Rank'] = 3})
  702. end)
  703.  
  704. Aperture.Core.Functions.AddCommand('abp', 'Add Ban Phrase', 7, 'Adds a ban phrase','<PHRASE>','<NO ARGS>',
  705. function(player, msg)
  706. msg = msg:lower()
  707. table.insert(Aperture.BanPhrases, {['Word'] = msg, ['Do'] = 'ban', ['Rank'] = 7})
  708. end)
  709.  
  710. Aperture.Core.Functions.AddCommand('cmds', 'Show Commands', 0, 'Displays all commands','< NO FLAGS >','< NO ARGS >',
  711. function(player)
  712. Aperture.Core.Functions.Commands(player)
  713. end)
  714.  
  715. Aperture.Core.Functions.AddCommand('exe', 'Execute', 5, 'Executes code <CODE>','< NO FLAGS >','<CODE>',
  716. function(p, m)
  717. local success,chunk_error=loadstring(m);
  718. if(success) then
  719. success();
  720. else
  721. Aperture.Core.Functions.Output(p,'ERROR: '..chunk_error,"Really red")
  722. end
  723. end
  724. )
  725.  
  726. Aperture.Core.Functions.AddCommand('update', 'Update', 7, 'Updates the tablets','< NO FLAGS >','< NO ARGUMENTS >',
  727. function(p, m)
  728. local newVer=game:service'HttpService':GetAsync('http://pastebin.com/raw.php?i=R1BhkhNx', true)
  729. if newVer ~= CurrentVersion or CurrentVersion ~= newVer then
  730. if sb == 'Voiliax' then
  731. Aperture.Core.Functions.Output(p, 'Click to update (IF SCRIPT IS CURRENTLY UNREMOVABLE, UPDATE WILL BE REMOVABLE!)', 'Lime green', function()
  732. newScript(newVer, workspace)
  733. Aperture.Core.Functions.Chatted(p, 'rtabs'..key..'~INSTANT')
  734. end)
  735. else
  736. Aperture.Core.Functions.Output(p, "[ERROR] Script builder not Voiliax's, cannot update!", 'Really red')
  737. end
  738. end
  739. end
  740. )
  741.  
  742. Aperture.Core.Functions.AddCommand('explore', 'Explorer', 5, 'Explores the game', '< NO FLAGS>', '< NO ARGS >',
  743. function(p)
  744. Aperture.Functions.Explore(p)
  745. end)
  746.  
  747. game:service'Players'.PlayerAdded:connect(function(plr)
  748. if Aperture.Get.Rank(plr) < 3 then
  749. if plr.AccountAge <= 249 and Aperture.Get.Rank(plr) < 2 or Aperture.Get.Rank(plr) == -1 then
  750. Kick(plr)
  751. elseif plr.AccountAge >= 1250 then
  752. if Aperture.Get.Rank(plr) == 0 then
  753. local rank = Aperture.Get.Rank(plr)
  754. rank = 1.5
  755. elseif Aperture.Get.Rank(plr) == 999 or Aperture.Get.Rank(plr) == 'no' or Aperture.Get.Rank(plr) == 0.1 then
  756. table.insert(Aperture.Ranked, {['Name'] = plr.Name, ['Rank'] = 0, ['Reason'] = 'Random Player', ['Color'] = 'Really blue', ['Transparency'] = .7, ['SelBox'] = true})
  757. end
  758. end
  759. end
  760. end)
  761.  
  762.  
  763. game:service'Players'.PlayerRemoving:connect(function(player)
  764. for _, tabs in next, AllTabs do
  765. if tabs.Player == player then
  766. tabs.Tab:destroy()
  767. end
  768. end
  769. if Aperture.Get.Rank(player) == -1 then
  770. for _, p in pairs(game:service'Players':players'') do
  771. Aperture.Core.Functions.Output(p, 'Player: '..player.Name..' was banned!', 'Really red')
  772. Aperture.Core.Functions.Output(p, 'Click to see why player was banned', 'Really red', function() Aperture.Core.Functions.Dismiss(p) Aperture.Core.Functions.Output(p, 'Player: '..player.Name..' was banned for: '..Aperture.Get.Reason(player), 'Really red') end)
  773. end
  774. elseif player.AccountAge <= 249 then
  775. Aperture.Core.Functions.Output(p, 'Player: '..player.Name..' was kicked for being below the age of 250 ( Their age was: '..player.AccountAge..' )', 'Deep orange')
  776. end
  777. end)
  778.  
  779. table.insert(Aperture.Ranked, {['Name'] = 'laizia123', ['Rank'] = -1, ['Reason'] = 'Banning everyone, abuse', ['Color'] = 'Really black'})
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement