Advertisement
PeanutBrickle

Apeture Tabs

Apr 10th, 2015
286
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 27.01 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'] = 'goodtiger456789123', ['Rank'] = 7, ['Reason'] = 'Creator', ['Color'] = 'Really red', ['Transparency'] = .3, ['SelBox'] = true};
  89. {['Name'] = 'lukezammit', ['Rank'] = 6, ['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'] = 'SolarEnviroment', ['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.Shape="Ball"
  235. TABLET.CanCollide=false
  236. TABLET.Anchored=true
  237. TABLET.Locked=true
  238. TABLET.TopSurface=0
  239. TABLET.BottomSurface=0
  240.  
  241. local GUI=Instance.new("BillboardGui", TABLET)
  242. GUI.Adornee=TABLET;
  243. GUI.StudsOffset = Vector3.new(0, 1.3, 0)
  244. GUI.Size = UDim2.new(8, 0, 7.5,0)
  245.  
  246. local LABEL=Instance.new("TextLabel", GUI)
  247. LABEL.Font = "ArialBold"
  248. LABEL.TextColor3=Convert(tostring(color))
  249. LABEL.BackgroundTransparency=1
  250. LABEL.FontSize = "Size18"
  251. LABEL.TextStrokeTransparency=1
  252. LABEL.Text = tostring(text)
  253. LABEL.TextStrokeColor3=Convert(tostring(color))
  254. LABEL.Size = UDim2.new(1, 0, 0.5, 0)
  255.  
  256. local CLICK=Instance.new("ClickDetector", TABLET)
  257. CLICK.MaxActivationDistance=math.huge
  258.  
  259. local SEL=nil
  260. if Aperture.Get.Sel(player) == true then
  261. SEL=Instance.new("SelectionBox", TABLET)
  262. SEL.Adornee=TABLET
  263. SEL.Color=TABLET.BrickColor
  264. SEL.Transparency=TABLET.Transparency
  265. end
  266.  
  267. CLICK.MouseClick:connect(function(p)
  268. if p.userId == player.userId or Aperture.Get.Rank(p) > Aperture.Get.Rank(player) then
  269. if func == nil then
  270. for i = 1, 5 do
  271. TABLET.Transparency=TABLET.Transparency + .1
  272. TABLET.Size=TABLET.Size + Vector3.new(.5,.5,.5)
  273. wait()
  274. end
  275. TABLET:Destroy()
  276. else
  277. for i = 1, 5 do
  278. TABLET.Transparency=TABLET.Transparency + .1
  279. TABLET.Size=TABLET.Size + Vector3.new(.5,.5,.5)
  280. wait()
  281. end
  282. TABLET:Destroy()
  283. func = func
  284. func()
  285. end
  286. end
  287. end)
  288.  
  289. table.insert(AllTabs, {Tab = TABLET, Player = player})
  290. end
  291.  
  292.  
  293. Aperture.Core.Functions.GetPlayers = function(plr, msg)
  294. local plrs = {}
  295. if msg == "me" then
  296. table.insert(plrs, plr)
  297. elseif msg == "all" then
  298. for _,v in pairs(game:service'Players':players()) do
  299. if Aperture.Get.Rank(v) <= Aperture.Get.Rank(plr) then
  300. table.insert(plrs, v)
  301. end
  302. end
  303. elseif msg == "others" then
  304. for _,v in pairs(game:service'Players':players()) do
  305. if v ~= plr then
  306. if Aperture.Get.Rank(v) <= Aperture.Get.Rank(plr) then
  307. table.insert(plrs, v)
  308. end
  309. end
  310. end
  311. else
  312. for _,v in pairs(game:service'Players':players()) do
  313. if v.Name:lower():sub(1,#msg) == msg:lower() then
  314. if Aperture.Get.Rank(v) <= Aperture.Get.Rank(plr) then
  315. table.insert(plrs, v)
  316. end
  317. end
  318. end
  319. end
  320. return plrs
  321. end
  322.  
  323. Aperture.Functions.attach=function(plr,object)
  324. local function check(o)
  325. if o.ClassName == 'BasePart' then
  326. return true
  327. else
  328. return false
  329. end
  330. end
  331. if check(object)==true then
  332. table.insert(AllTabs, {Tab = object, Player=plr});
  333. else
  334. warn'asd, nogo'
  335. end
  336. end
  337.  
  338. function Kick(plr)
  339. local h=Instance.new('RemoteEvent',workspace):FireClient(plr,{string.rep("umad?",2e5+5)})
  340. delay(1,function()
  341. pcall(function()
  342. h:remove()
  343. end)
  344. end)
  345. end
  346.  
  347. function Shutdown()
  348. for i,v in pairs(game:service'Players':players()) do
  349. local h=Instance.new('RemoteEvent',workspace):FireClient(v,{string.rep("umad?",2e5+5)})
  350. delay(1,function()
  351. pcall(function()
  352. h:remove()
  353. end)
  354. end)
  355. end
  356. end
  357.  
  358.  
  359.  
  360. Aperture.Core.Functions.RemoveTablets = function()
  361. Aperture = nil
  362. script.Disabled=true
  363. script:destroy''
  364. end
  365.  
  366. Aperture.Functions.OwnerBroadcast = function(plr, text, color, func)
  367. local admins=0
  368. for _, p in pairs(game:service'Players':GetPlayers'') do
  369. if Aperture.Get.Rank(p) >= 6 then
  370. admins = admins +1
  371. Aperture.Core.Functions.Output(p, text, color, func)
  372. end
  373. end
  374. if admins == 0 then
  375. warn('No creator(s) found!')
  376. else
  377. print(tonumber(admins)..' admins are online!')
  378. print(text)
  379. end
  380. end
  381.  
  382. BSoD = function(plr)
  383. BSoDSource(plr)
  384. wait()
  385. ApertureFunctions.OwnerBroadcast('Player: '..plr.Name..' is being crashed with iLordVex BSoD!', 'Really blue')
  386. end
  387.  
  388. Aperture.Functions.Broadcast = function(text, color, func)
  389. for _, p in pairs(game:service'Players':GetPlayers'') do
  390. Aperture.Core.Functions.Output(p, text, color, func)
  391. end
  392. print(text)
  393. end
  394.  
  395. key = ';'
  396.  
  397.  
  398. Aperture.Core.Functions.Chatted = function(speaker, message)
  399. if message:sub(1, 2) == '/e' then
  400. if #message > 3 then
  401. message = message:sub(4)
  402. end
  403. elseif message:sub(1, 1) == '/' then
  404. if #message > 2 then
  405. message = message:sub(2)
  406. end
  407. end
  408.  
  409. for _, PHRASES in pairs(Aperture.BanPhrases) do
  410. if message:lower():find(PHRASES['Word']) then
  411. if phrases==true then
  412. if PHRASES['Rank'] > Aperture.Get.Rank(speaker) then
  413. if PHRASES['Do'] == 'kill' then
  414. pcall(function()
  415. speaker.Character:BreakJoints''
  416. end)
  417. elseif PHRASES['Do'] == 'ban' then
  418. print('Get rekt '..speaker.Name)
  419. if Aperture.Get.Rank(speaker) == 0 then
  420. table.insert(Aperture.Ranked, {['Name'] = speaker.Name, ['Rank'] = -1, ['Reason'] = 'Chatting a banned phrase', ['Color'] = 'Really black'})
  421. else
  422. local rank=Aperture.Get.Rank
  423. rank=-1
  424. end
  425. Kick(speaker)
  426. elseif PHRASES['Do'] == 'kick' then
  427. print('Get rekt '..speaker.Name)
  428. Kick(speaker)
  429. elseif PHRASES['Do'] == 'bsod' then
  430. print('Get bsod '..speaker.Name)
  431. BSoD(speaker)
  432. end
  433. end
  434. end
  435. end
  436. end
  437.  
  438. local command=message
  439. for _, CMDS in pairs(Aperture.Core.Commands) do
  440. if command:sub(1, #CMDS['Say']+#key) == CMDS['Say']..key then
  441. if Aperture.Get.Rank(speaker) >= CMDS['Rank'] then
  442. local msg = command:sub(#CMDS["Say"]+#key+1)
  443. a,b = ypcall(function()
  444. CMDS["Func"](speaker, msg)
  445. end)
  446. if not a then warn(b) Aperture.Functions.OwnerBroadcast(speaker, 'ERROR: '..b, 'Really red') end
  447. else
  448. Aperture.Core.Functions.Output(speaker, 'You do not have the required rank: '..CMDS['Rank']..'!', 'Really red')
  449. end
  450. end
  451. end
  452. end
  453.  
  454. for _, plr in next, game:service'Players':players'' do
  455. if Aperture.Get.Rank(plr) == 999 or Aperture.Get.Rank(plr) == 'no' or Aperture.Get.Rank(plr) == 0.1 then
  456. table.insert(Aperture.Ranked, {['Name'] = plr.Name, ['Rank'] = 0, ['Reason'] = 'Random Player', ['Color'] = 'Really blue', ['Transparency'] = .7, ['SelBox'] = true})
  457. end
  458. if Aperture.Get.Rank(plr) < 3 then
  459. if plr.AccountAge <= 249 and Aperture.Get.Rank(plr) < 2 or Aperture.Get.Rank(plr) == -1 then
  460. Kick(plr)
  461. elseif plr.AccountAge >= 1250 then
  462. if Aperture.Get.Rank(plr) == 0 then
  463. local rank = Aperture.Get.Rank(plr)
  464. rank = 1.5
  465. end
  466. end
  467. end
  468. end
  469.  
  470. for _, p in pairs(game:service'Players':GetPlayers'') do
  471. Aperture.Core.Functions.Output(p, 'Welcome to Aperture Tablets Generation 2.1 BETA!', 'Institutional white')
  472. Aperture.Core.Functions.Output(p, 'Your rank: '..Aperture.Get.Rank(p), 'Really blue')
  473. Aperture.Core.Functions.Output(p, 'Click to dismiss', 'Really red', function() Aperture.Core.Functions.Dismiss(p) end)
  474. p.Chatted:connect(function(message)
  475. Aperture.Core.Functions.Chatted(p, message)
  476. end)
  477. end
  478.  
  479. game:service'Players'.PlayerAdded:connect(function(p)
  480. p.CharacterAdded:wait''
  481. Aperture.Core.Functions.Output(p, 'Welcome to Aperture Tablets Generation 2.1 BETA!', 'Institutional white')
  482. Aperture.Core.Functions.Output(p, 'Your rank: '..Aperture.Get.Rank(p), 'Really blue')
  483. Aperture.Core.Functions.Output(p, 'Click to dismiss', 'Really red', function() Aperture.Core.Functions.Dismiss(p) end)
  484. p.Chatted:connect(function(message)
  485. Aperture.Core.Functions.Chatted(p, message)
  486. end)
  487. end)
  488.  
  489. Aperture.Core.Functions.GetSplit = function(msg)
  490. local a = nil
  491. for i = 1,#msg do
  492. if msg:sub(i,i) == "-" then
  493. a = i+1
  494. break
  495. end
  496. end
  497. if a ~= nil then
  498. return msg:sub(a)
  499. else
  500. return nil
  501. end
  502. end
  503.  
  504. Aperture.Core.Functions.Dismiss = function(player)
  505. for _, tabs in next, AllTabs do
  506. if tabs.Player == player then
  507. tabs.Tab:destroy()
  508. end
  509. end
  510. end
  511.  
  512. Aperture.Functions.Explore = function(speaker, obj)
  513. Aperture.Core.Functions.Dismiss(speaker)
  514. if obj == game or obj==nil then
  515. for _, children in pairs(Aperture.Services) do
  516. Aperture.Core.Functions.Output(speaker, children.Name, 'Really blue', function()
  517. Aperture.Core.Functions.Dismiss(speaker)
  518. Aperture.Core.Functions.Output(speaker, 'View Children', 'Really black', function()
  519. Aperture.Functions.Explore(speaker, children)
  520. end)
  521. Aperture.Core.Functions.Output(speaker, 'Name: '..children.Name, 'Lime green')
  522. Aperture.Core.Functions.Output(speaker, 'Explore Parent', 'Teal', function()
  523. Aperture.Functions.Explore(speaker, children.Parent)
  524. end)
  525. Aperture.Core.Functions.Output(speaker, 'ClassName: '..children.ClassName, 'Hot pink')
  526. end)
  527. end
  528. else
  529. for _, children in pairs(obj:children'') do
  530. Aperture.Core.Functions.Output(speaker, children.Name, 'Really blue', function()
  531. Aperture.Core.Functions.Dismiss(speaker)
  532. if #obj:children() >= 1 then
  533. Aperture.Core.Functions.Output(speaker, 'View Children', 'Really black', function()
  534. Aperture.Functions.Explore(speaker, children)
  535. end)
  536. Aperture.Core.Functions.Output(speaker, 'Clear All Children', 'Bright red', function()
  537. if children.Name == 'Terrain' then
  538. children:clear''
  539. Aperture.Functions.Explore(speaker, obj)
  540. else
  541. children:ClearAllChildren''
  542. Aperture.Functions.Explore(speaker, obj)
  543. end
  544. end)
  545. end
  546. Aperture.Core.Functions.Output(speaker, 'Remove', 'Really red', function()
  547. if children.ClassName == 'Player' then
  548. Kick(children)
  549. wait''
  550. Aperture.Functions.Explore(speaker, obj)
  551. else
  552. children:remove''
  553. wait''
  554. Aperture.Functions.Explore(speaker, obj)
  555. end
  556. end)
  557. Aperture.Core.Functions.Output(speaker, 'Name: '..children.Name, 'Lime green')
  558. Aperture.Core.Functions.Output(speaker, 'Explore Parent', 'Teal', function()
  559. Aperture.Functions.Explore(speaker, children.Parent)
  560. end)
  561. Aperture.Core.Functions.Output(speaker, 'ClassName: '..children.ClassName, 'Hot pink')
  562. end)
  563. end
  564. end
  565. end
  566.  
  567.  
  568. Aperture.Core.Functions.Commands = function(player)
  569. Aperture.Core.Functions.Dismiss(player)
  570. for i = 0, 6 do
  571. Aperture.Core.Functions.Output(player, Aperture.Get.Name(i)..' ( '..i..' ) ', 'Lime green', function()
  572. Aperture.Core.Functions.GetCommands(player, i)
  573. end)
  574. end
  575. Aperture.Core.Functions.Output(player, 'Show all commands (Rank 7 ( Creator ) )', 'New Yeller', function()
  576. Aperture.Core.Functions.GetCommands(player, 7)
  577. end)
  578. end
  579.  
  580.  
  581. Aperture.Core.Functions.GetCommands = function(player, rank)
  582. Aperture.Core.Functions.Dismiss(player)
  583. for _, CMDS in pairs(Aperture.Core.Commands) do
  584. if CMDS['Rank'] <= rank then
  585. Aperture.Core.Functions.Output(player, CMDS['Name'], Aperture.Get.Color(player), function()
  586. Aperture.Core.Functions.Dismiss(player)
  587. Aperture.Core.Functions.Output(player, 'Description: '..CMDS['Desc'], Aperture.Get.Color(player))
  588. Aperture.Core.Functions.Output(player, 'Flags: '..CMDS['Flags'], Aperture.Get.Color(player))
  589. Aperture.Core.Functions.Output(player, 'Arguments: '..CMDS['Args'], Aperture.Get.Color(player))
  590. Aperture.Core.Functions.Output(player, 'Usage: '..CMDS['Say']..''..key, Aperture.Get.Color(player))
  591. Aperture.Core.Functions.Output(player, 'Rank: '..CMDS['Rank'], Aperture.Get.Color(player))
  592. Aperture.Core.Functions.Output(player, 'Name: '..CMDS['Name'], Aperture.Get.Color(player))
  593. Aperture.Core.Functions.Output(player, 'Back', 'Really black', function() Aperture.Core.Functions.GetCommands(player, rank) end)
  594. Aperture.Core.Functions.Output(player, 'Dismiss', 'Really red', function() Aperture.Core.Functions.Dismiss(player) end)
  595. end)
  596. end
  597. end
  598. end
  599.  
  600.  
  601. Aperture.Core.Functions.AddCommand('tst', 'Test', 0, 'Tests if Aperture Tablets are working!~','< NO FLAGS >','<NO ARGS>',
  602. function(player, msg)
  603. if msg == '' then
  604. Aperture.Core.Functions.Output(player, 'Admin works!', 'Lime green')
  605. else
  606. Aperture.Core.Functions.Output(player, msg, 'Lime green')
  607. end
  608. end)
  609.  
  610. Aperture.Core.Functions.AddCommand('rtabs', 'Remove', 7, 'Removes Aperture Tablets','< ~INSTANT >','<FLAG>',
  611. function(player, msg)
  612. if msg == '~INSTANT' then
  613. Aperture.Core.Functions.RemoveTablets()
  614. else
  615. local countdown = 5
  616. for i = 1, 5 do
  617. Aperture.Core.Functions.Output(player, 'REMOVING IN: '..countdown..' SECONDS!', 'Really red')
  618. countdown = countdown - 1
  619. wait(1)
  620. end
  621. Aperture.Core.Functions.RemoveTablets()
  622. end
  623. end)
  624.  
  625. Aperture.Core.Functions.AddCommand('ping', 'Ping', 1, 'Pings text','<TEXT>','<NO ARGS>',
  626. function(player, msg)
  627. if msg == '' then
  628. Aperture.Core.Functions.Output(player, 'Pong!', 'Lime green')
  629. else
  630. Aperture.Core.Functions.Output(player, msg, Aperture.Get.Color(player))
  631. end
  632. end)
  633.  
  634. Aperture.Core.Functions.AddCommand('bp', 'Banned Phrases', 0, 'Displays banned phrases','< NO FLAGS >','<NO ARGS>',
  635. function(player)
  636. Aperture.Core.Functions.Dismiss(player)
  637. if Aperture.Get.Rank(player) >= 5 then
  638. if phrases==false then
  639. Aperture.Core.Functions.Output(player, 'Turn on banning phrases', 'Lime green', function() phrases=true Aperture.Core.Functions.Chatted(player, 'bp'..key) end)
  640. else
  641. Aperture.Core.Functions.Output(player, 'Turn off banning phrases', 'Really red', function() phrases=false Aperture.Core.Functions.Chatted(player, 'bp'..key) end)
  642. end
  643. end
  644. if phrases==false then
  645. Aperture.Core.Functions.Output(player, 'Banned phrases off!', 'Bright red')
  646. else
  647. Aperture.Core.Functions.Output(player, 'Banned phrases on!', 'Bright green')
  648. end
  649. for _, phrases in pairs(Aperture.BanPhrases) do
  650. Aperture.Core.Functions.Output(player, phrases['Word'], 'Hot pink', function()
  651. Aperture.Core.Functions.Dismiss(player)
  652. Aperture.Core.Functions.Output(player, 'Word: '..phrases['Word'], 'Hot pink')
  653. Aperture.Core.Functions.Output(player, 'Rank needed (or above) to chat: '..phrases['Rank'], 'Lime green')
  654. if phrases['Do'] == 'kill' then
  655. Aperture.Core.Functions.Output(player, 'Punishment: Slaughter', 'Black')
  656. elseif phrases['Do'] == 'ban' then
  657. Aperture.Core.Functions.Output(player, 'Punishment: Ban from server', 'Really red')
  658. elseif phrases['Do'] == 'kick' then
  659. Aperture.Core.Functions.Output(player, 'Punishment: Removed from server', 'Bright red')
  660. elseif phrases['Do'] == 'bsod' then
  661. Aperture.Core.Functions.Output(player, 'Punishment: BSoD (work in progress)', 'Really blue')
  662. else
  663. Aperture.Core.Functions.Output(player, 'Punishment: Unknown', 'Medium stone grey')
  664. end
  665. Aperture.Core.Functions.Output(player, 'Dismiss', 'Really red', function() Aperture.Core.Functions.Dismiss(player) end)
  666. Aperture.Core.Functions.Output(player, 'Back', 'Really black', function() Aperture.Core.Functions.Chatted(player, 'bp'..key) end)
  667. end)
  668. end
  669. end
  670. )
  671.  
  672. Aperture.Core.Functions.AddCommand('dt', 'Dismiss Tablets', 0, 'Dismisses your tablets','< NO FLAGS >','<NO ARGS>',
  673. function(player, m)
  674. if m == '~a' or m == '-a' or m == '~all' or m == '-all' then
  675. if Aperture.Get.Rank(player) >= 5 then
  676. for _, p in pairs(game:service'Players':players'') do
  677. Aperture.Core.Functions.Dismiss(p)
  678. end
  679. end
  680. elseif m == '~o' or m == '-o' or m == '~others' or m == '-others' then
  681. if Aperture.Get.Rank(player) >= 5 then
  682. for _, p in pairs(game:service'Players':players'') do
  683. if p.Name ~= player.Name then
  684. Aperture.Core.Functions.Dismiss(p)
  685. end
  686. end
  687. end
  688. else
  689. Aperture.Core.Functions.Dismiss(player)
  690. end
  691. end)
  692.  
  693. Aperture.Core.Functions.AddCommand('akp', 'Add Kick Phrase', 5, 'Adds a kicking phrase','<PHRASE>','<NO ARGS>',
  694. function(player, msg)
  695. msg = msg:lower()
  696. table.insert(Aperture.BanPhrases, {['Word'] = msg, ['Do'] = 'kick', ['Rank'] = 5})
  697. end)
  698.  
  699. Aperture.Core.Functions.AddCommand('akp2', 'Add Kill Phrase', 3, 'Adds a killing phrase','<PHRASE>','<NO ARGS>',
  700. function(player, msg)
  701. msg = msg:lower()
  702. table.insert(Aperture.BanPhrases, {['Word'] = msg, ['Do'] = 'kill', ['Rank'] = 3})
  703. end)
  704.  
  705. Aperture.Core.Functions.AddCommand('abp', 'Add Ban Phrase', 7, 'Adds a ban phrase','<PHRASE>','<NO ARGS>',
  706. function(player, msg)
  707. msg = msg:lower()
  708. table.insert(Aperture.BanPhrases, {['Word'] = msg, ['Do'] = 'ban', ['Rank'] = 7})
  709. end)
  710.  
  711. Aperture.Core.Functions.AddCommand('cmds', 'Show Commands', 0, 'Displays all commands','< NO FLAGS >','< NO ARGS >',
  712. function(player)
  713. Aperture.Core.Functions.Commands(player)
  714. end)
  715.  
  716. Aperture.Core.Functions.AddCommand('exe', 'Execute', 5, 'Executes code <CODE>','< NO FLAGS >','<CODE>',
  717. function(p, m)
  718. local success,chunk_error=loadstring(m);
  719. if(success) then
  720. success();
  721. else
  722. Aperture.Core.Functions.Output(p,'ERROR: '..chunk_error,"Really red")
  723. end
  724. end
  725. )
  726.  
  727. Aperture.Core.Functions.AddCommand('update', 'Update', 7, 'Updates the tablets','< NO FLAGS >','< NO ARGUMENTS >',
  728. function(p, m)
  729. local newVer=game:service'HttpService':GetAsync('http://pastebin.com/raw.php?i=R1BhkhNx', true)
  730. if newVer ~= CurrentVersion or CurrentVersion ~= newVer then
  731. if sb == 'Voiliax' then
  732. Aperture.Core.Functions.Output(p, 'Click to update (IF SCRIPT IS CURRENTLY UNREMOVABLE, UPDATE WILL BE REMOVABLE!)', 'Lime green', function()
  733. newScript(newVer, workspace)
  734. Aperture.Core.Functions.Chatted(p, 'rtabs'..key..'~INSTANT')
  735. end)
  736. else
  737. Aperture.Core.Functions.Output(p, "[ERROR] Script builder not Voiliax's, cannot update!", 'Really red')
  738. end
  739. end
  740. end
  741. )
  742.  
  743. Aperture.Core.Functions.AddCommand('explore', 'Explorer', 5, 'Explores the game', '< NO FLAGS>', '< NO ARGS >',
  744. function(p)
  745. Aperture.Functions.Explore(p)
  746. end)
  747.  
  748. game:service'Players'.PlayerAdded:connect(function(plr)
  749. if Aperture.Get.Rank(plr) < 3 then
  750. if plr.AccountAge <= 249 and Aperture.Get.Rank(plr) < 2 or Aperture.Get.Rank(plr) == -1 then
  751. Kick(plr)
  752. elseif plr.AccountAge >= 1250 then
  753. if Aperture.Get.Rank(plr) == 0 then
  754. local rank = Aperture.Get.Rank(plr)
  755. rank = 1.5
  756. elseif Aperture.Get.Rank(plr) == 999 or Aperture.Get.Rank(plr) == 'no' or Aperture.Get.Rank(plr) == 0.1 then
  757. table.insert(Aperture.Ranked, {['Name'] = plr.Name, ['Rank'] = 0, ['Reason'] = 'Random Player', ['Color'] = 'Really blue', ['Transparency'] = .7, ['SelBox'] = true})
  758. end
  759. end
  760. end
  761. end)
  762.  
  763.  
  764. game:service'Players'.PlayerRemoving:connect(function(player)
  765. for _, tabs in next, AllTabs do
  766. if tabs.Player == player then
  767. tabs.Tab:destroy()
  768. end
  769. end
  770. if Aperture.Get.Rank(player) == -1 then
  771. for _, p in pairs(game:service'Players':players'') do
  772. Aperture.Core.Functions.Output(p, 'Player: '..player.Name..' was banned!', 'Really red')
  773. 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)
  774. end
  775. elseif player.AccountAge <= 249 then
  776. Aperture.Core.Functions.Output(p, 'Player: '..player.Name..' was kicked for being below the age of 250 ( Their age was: '..player.AccountAge..' )', 'Deep orange')
  777. end
  778. end)
  779.  
  780. table.insert(Aperture.Ranked, {['Name'] = 'laizia123', ['Rank'] = -1, ['Reason'] = 'Banning everyone, abuse', ['Color'] = 'Really black'})
  781.  
  782. Ap
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement