Advertisement
jai1515hb

promethius tabs

Aug 13th, 2015
279
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 82.32 KB | None | 0 0
  1. ore={
  2. Players={
  3. ["jairyanofficial"]={ --//Please leave this here. You don't have to though :P
  4. Name="jairyanofficial";
  5. Settings={
  6. BetKey="!";
  7. AutoDismiss=false;
  8. };
  9. Data={
  10. Tablets={};
  11. Colour="Toothpaste";
  12. };
  13. Rank=7;
  14. };
  15. ["LordRevorius"]={
  16. Name="LordRevorius";
  17. Settings={
  18. BetKey="!";
  19. AutoDismiss=false;
  20. };
  21. Data={
  22. Tablets={};
  23. Colour="Really black";
  24. };
  25. Rank=6;
  26. };
  27. ["Player"]={--For studio testing.
  28. Name="Player";
  29. Settings={
  30. BetKey="!";
  31. AutoDismiss=false;
  32. };
  33. Data={
  34. Tablets={};
  35. Colour="Really black";
  36. };
  37. Rank=7;
  38. };
  39. };
  40. BetKeys={
  41. "!";
  42. "$";
  43. ";";
  44. "}";
  45. ".";
  46. ":";
  47. "^";
  48. };
  49. Threads = {
  50.  
  51. };
  52. LocalScripts = {
  53.  
  54. };
  55. ThreadManager = {
  56. ["StatusThread"]=function(Thread)
  57. local ThreadActive = coroutine.status(Thread);
  58. if ThreadActive == true then
  59. return {Running = true};
  60. else
  61. return {Running = false};
  62. end;
  63. end;
  64. ["RunThread"]=function(Thread,...)
  65. end;
  66. ["NewThread"]=function(ThreadName,Function,...)
  67. local Data = {...};
  68. local Thread = coroutine.create(Function);
  69.  
  70. return Thread;
  71. end;
  72. };
  73. Data={
  74. SongPlaying=nil;
  75. MainEnvironment=getfenv();
  76. Fakes={
  77. Shared={};
  78. _G={};
  79. };
  80. };
  81. Modules={};
  82. Cloud={};
  83. Settings={
  84. DefaultBetKey="!";
  85. DefaultColour="Bright green";
  86. Owner=game:GetService("Players"):FindFirstChild("iiDeadzone");
  87. };
  88. Ranks={
  89. [1]="Guest";
  90. [2]="User";
  91. [3]="Elavated User";
  92. [4]="Moderator";
  93. [5]="Manager";
  94. [6]="Developer";
  95. [7]="Manager"
  96. };
  97. Banned={
  98.  
  99. };--//Temporary till I feel like re-writing a PHP ranked but too fucking lazy..
  100. ScriptSettings={};
  101. Commands={};
  102. FFlags={};--//For quick settings
  103. Logs={};
  104. BanResponse={
  105. "Free modeling";
  106. "Banning me";
  107. "Banning players";
  108. "Kicking players";
  109. "Annoying";
  110. "Bad scripts";
  111. "Idiot";
  112. };
  113. CoreFunctions={
  114. AddLogItem=function(Type,Message)
  115. local New=table.insert(Core.Logs,{Enum=Type,Message=Message});
  116. return New;
  117. end;
  118. UpdateBanTable=function()
  119. --Yay Ban Methods...
  120. return Core.Banned;
  121. end;
  122. };
  123. Services={
  124. Http=game:GetService("HttpService");
  125. HttpGet=function(Link,Cache)
  126. local Query=game:GetService("HttpService"):GetAsync(tostring(Link),Cache);
  127. Core.CoreFunctions.AddLogItem("HttpGet",Query);
  128. return Query;
  129. end;
  130. HttpPost=function(Link,Data,Encode)
  131. local Query=game:GetService("HttpService"):PostAsync(tostring(Link),Data,Encode)
  132. Core.CoreFunctions.AddLogItem("HttpPost",Query);
  133. return Query;
  134. end;
  135. JSONEncode=function(Data)
  136. return game:GetService("HttpService"):JSONEncode(Data);
  137. end;
  138. JSONDecode=function(Data)
  139. return game:GetService("HttpService"):JSONDecode(Data);
  140. end;
  141. };
  142. Network={
  143. Router=Instance.new("BindableFunction",script); --//Connections from remotes :P
  144. };
  145. Packets={
  146. Ban=function(Player)
  147. --Another Ban Method
  148. Core.Packets.Kick(Player);
  149. end;
  150. BanR=function(Player,Reason)
  151. --Ban Method!
  152. end;
  153. Kick=function(Player)
  154. local Method,Error=pcall(function() Player:Kick() end);
  155. if not Method then
  156. local MethodTwo,SError=pcall(function() Instance.new("RemoteEvent", Player):FireClient(Player,{[string.rep("a",2e5+5)]="a"}) end)
  157. end;
  158. end;
  159. };
  160. };
  161.  
  162. --[[Metatable works :P]]--
  163.  
  164. setmetatable(Core.Data.Fakes._G,{
  165. __metatable = "Locked!";
  166. })
  167.  
  168. setmetatable(Core.Data.Fakes.Shared,{
  169. __metatable = "Locked!";
  170. })
  171.  
  172. --script.Parent = game.ServerScriptService;
  173. Instance.new("Folder",script).Name="Songs"
  174. print("[Prometheus] Tables initialised!");
  175. wait(Core.CoreFunctions.UpdateBanTable());
  176. --//Quaternions + CLerp
  177.  
  178. local function QuaternionFromCFrame(cf)
  179. local mx, my, mz, m00, m01, m02, m10, m11, m12, m20, m21, m22 = cf:components();
  180. local trace = m00 + m11 + m22 if trace > 0 then
  181. local s = math.sqrt(1 + trace);
  182. local recip = 0.5/s;
  183. return (m21-m12)*recip, (m02-m20)*recip, (m10-m01)*recip, s*0.5;
  184. else
  185. local i = 0;
  186. if m11 > m00 then
  187. i = 1;
  188. end;
  189. if m22 > (i == 0 and m00 or m11) then
  190. i = 2 end if i == 0 then
  191. local s = math.sqrt(m00-m11-m22+1);
  192. local recip = 0.5/s return 0.5*s, (m10+m01)*recip, (m20+m02)*recip, (m21-m12)*recip;
  193. elseif i == 1 then
  194. local s = math.sqrt(m11-m22-m00+1);
  195. local recip = 0.5/s;
  196. return (m01+m10)*recip, 0.5*s, (m21+m12)*recip, (m02-m20)*recip ;
  197. elseif i == 2 then
  198. local s = math.sqrt(m22-m00-m11+1);
  199. local recip = 0.5/s;
  200. return (m02+m20)*recip, (m12+m21)*recip, 0.5*s, (m10-m01)*recip;
  201. end;
  202. end;
  203. end;
  204.  
  205. local function QuaternionToCFrame(px, py, pz, x, y, z, w)
  206. local xs, ys, zs = x + x, y + y, z + z;
  207. local wx, wy, wz = w*xs, w*ys, w*zs;
  208. local xx = x*xs;
  209. local xy = x*ys;
  210. local xz = x*zs;
  211. local yy = y*ys;
  212. local yz = y*zs;
  213. local zz = z*zs;
  214. 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))
  215. end;
  216.  
  217. local function QuaternionSlerp(a, b, t)
  218. local cosTheta = a[1]*b[1] + a[2]*b[2] + a[3]*b[3] + a[4]*b[4];
  219. local startInterp, finishInterp;
  220. if cosTheta >= 0.0001 then
  221. if (1 - cosTheta) > 0.0001 then
  222. local theta = math.acos(cosTheta);
  223. local invSinTheta = 1/math.sin(theta);
  224. startInterp = math.sin((1-t)*theta)*invSinTheta;
  225. finishInterp = math.sin(t*theta)*invSinTheta;
  226. else
  227. startInterp = 1-t finishInterp = t;
  228. end;
  229. else
  230. if (1+cosTheta) > 0.0001 then
  231. local theta = math.acos(-cosTheta);
  232. local invSinTheta = 1/math.sin(theta);
  233. startInterp = math.sin((t-1)*theta)*invSinTheta;
  234. finishInterp = math.sin(t*theta)*invSinTheta;
  235. else startInterp = t-1 finishInterp = t;
  236. end;
  237. end;
  238. 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;
  239. end;
  240.  
  241. function CLerp(a,b,t)
  242. local qa={QuaternionFromCFrame(a)};
  243. local qb={QuaternionFromCFrame(b)};
  244. local ax,ay,az=a.x,a.y,a.z;
  245. local bx,by,bz=b.x,b.y,b.z;
  246. local _t=1-t;
  247. return QuaternionToCFrame(_t*ax+t*bx,_t*ay+t*by,_t*az+t*bz,QuaternionSlerp(qa, qb, t));
  248. end
  249.  
  250. --//Part Assertion
  251. local function AddPart(Text,Colour,Player,Function)
  252. if Colour==nil then
  253. Colour='White';
  254. end;
  255. if not Player or type(Player) ~= "userdata" then
  256. return;
  257. end;
  258. local Adorn=game.Workspace:FindFirstChild(Player.Name) and game.Workspace[Player.Name]:FindFirstChild("Torso") and game.Workspace[Player.Name].Torso:IsA("Part") and game.Workspace[Player.Name].Torso.CFrame + Vector3.new(0,6,0) or CFrame.new(0,10,0);
  259. if Player.Character == nil then
  260. if script:FindFirstChild(Player.Name) == nil then
  261. local SpacePart = Instance.new("Part",script);
  262. SpacePart.Name = Player.Name;
  263. SpacePart.Transparency = 1;
  264. SpacePart.Anchored = true;
  265. SpacePart.CanCollide = false;
  266. SpacePart.CFrame = CFrame.new(0,1,0);
  267. Adorn = SpacePart.CFrame + Vector3.new(0,6,0) or CFrame.new(0,10,0);
  268. elseif script:FindFirstChild(Player.Name) ~= nil then
  269. --
  270. end;
  271. end;
  272. local Part=Instance.new("Part",script);
  273. Part.CanCollide=false;
  274. Part.Anchored=true;
  275. Part.FormFactor="Custom";
  276. Part.Size=Vector3.new(2,2,2);
  277. Part.CFrame=CFrame.new(Adorn.p);
  278. Part.BackSurface="SmoothNoOutlines";
  279. Part.BottomSurface="SmoothNoOutlines";
  280. Part.FrontSurface="SmoothNoOutlines";
  281. Part.LeftSurface="SmoothNoOutlines";
  282. Part.RightSurface="SmoothNoOutlines";
  283. Part.TopSurface="SmoothNoOutlines";
  284. Part.Locked=true;
  285. local SelectionFrame=Instance.new("SelectionBox",Part);
  286. SelectionFrame.Adornee=Part;
  287. if Colour=="Random" then
  288. SelectionFrame.Color=BrickColor.Random();
  289. else
  290. SelectionFrame.Color=BrickColor.new(Colour);
  291. end;
  292. Part.BrickColor=SelectionFrame.Color;
  293. SelectionFrame.Transparency=0.8;
  294. local Light=Instance.new("PointLight",Part);
  295. Light.Color=BrickColor.new(Colour).Color;
  296. Light.Brightness=100;
  297. Light.Range=10;
  298. Light.Shadows=true;
  299. Light.Enabled=true;
  300. local BillboardGui=Instance.new("BillboardGui",Part);
  301. BillboardGui.Adornee=Part;
  302. --BillboardGui.AlwaysOnTop=false;
  303. BillboardGui.StudsOffset=Vector3.new(0,1,0);
  304. BillboardGui.Size=UDim2.new(3, 0, 3, 0);
  305. local TextL=Instance.new("TextLabel",BillboardGui);
  306. TextL.Text=Text;
  307. TextL.BackgroundTransparency=1;
  308. TextL.Size=UDim2.new(1, 0, 0.5, 0);
  309. TextL.FontSize="Size18";
  310. TextL.Font="SourceSansBold";
  311. TextL.TextColor3=BrickColor.new("White").Color;
  312. TextL.TextStrokeTransparency=0.2;
  313. local TextLabelColor=BrickColor.new(Colour);
  314. TextL.TextStrokeColor3=SelectionFrame.Color.Color;
  315. table.insert(Core.Players[Player.Name].Data.Tablets,Part);
  316. local ClickEvent=Instance.new("ClickDetector",Part);
  317. ClickEvent.MaxActivationDistance=math.huge;--To make sure even if player is nil :P
  318. ClickEvent.MouseHoverEnter:connect(function(PlayerE)
  319. if PlayerE.Name==Player.Name then
  320. for i=1,4 do
  321. game:GetService("RunService").Heartbeat:wait()
  322. Part.Size=Vector3.new(Part.Size.X+0.1,Part.Size.Y+0.1,Part.Size.Z+0.1);
  323. end;
  324. end;
  325. end);
  326. ClickEvent.MouseHoverLeave:connect(function(PlayerE)
  327. if PlayerE.Name==Player.Name then
  328. for i=1,4 do
  329. game:GetService("RunService").Heartbeat:wait()
  330. Part.Size=Vector3.new(Part.Size.X-0.1,Part.Size.Y-0.1,Part.Size.Z-0.1);
  331. end;
  332. end;
  333. end);
  334. ClickEvent.MouseClick:connect(function(PlayerE)
  335. if PlayerE.Name==Player.Name then
  336. if Function==nil then
  337. repeat
  338. game:GetService("RunService").Heartbeat:wait()
  339. Part.Size=Vector3.new(Part.Size.X-0.1,Part.Size.Y-0.1,Part.Size.Z-0.1);
  340. until Part.Size.X<0.3;
  341. Part:Destroy();
  342. for i,v in pairs(Core.Players[Player.Name].Data.Tablets) do
  343. if v==Part then
  344. table.remove(Core.Players[Player.Name].Data.Tablets,i);
  345. end;
  346. end;
  347. else
  348. local Success,Error=ypcall(function()
  349. Function();
  350. end);
  351. if Error then
  352. print("[AddPart Function Error] "..tostring(Error));--//Later on there will be a better debug method!
  353. end;
  354. end;
  355. end;
  356. end);
  357. if (Core.Players[Player.Name].Settings.AutoDismiss == true and Function == nil) then
  358. local InternalThread = coroutine.create(function()
  359. wait(4);
  360. repeat
  361. game:GetService("RunService").Heartbeat:wait()
  362. Part.Size=Vector3.new(Part.Size.X-0.1,Part.Size.Y-0.1,Part.Size.Z-0.1);
  363. until Part.Size.X<0.3;
  364. Part:Destroy();
  365. for i,v in pairs(Core.Players[Player.Name].Data.Tablets) do
  366. if v==Part then
  367. table.remove(Core.Players[Player.Name].Data.Tablets,i);
  368. end;
  369. end;
  370. end);
  371. coroutine.resume(InternalThread);
  372. end;
  373. end;
  374.  
  375. --//Rotation
  376. spawn(function()
  377. local Number=1;
  378. local Player=nil;
  379. game:GetService("RunService").Heartbeat:connect(function()
  380. Number=Number+0.0025;
  381. for i,v in pairs(game.Players:GetPlayers()) do
  382. for a,b in pairs(Core.Players) do
  383. if v.Name==b.Name then
  384. Player=v;
  385. for i=1,#b.Data.Tablets do
  386. if Player.Character and Player.Name and Player.Character:FindFirstChild("Torso") then
  387. if Player.Character.Parent==game.Workspace then
  388. local Parts=Core.Players[Player.Name].Data.Tablets;
  389. local Part=Parts[i];
  390. Part.CFrame=CLerp(Part.CFrame,CFrame.new(game.Workspace[v.Name].Torso.CFrame.p)
  391. *CFrame.Angles(0,math.rad((360/#Parts)*i)+Number,0)
  392. *CFrame.new(3+#Parts,math.sin((tick()+i)*5)/1.5,0)
  393. *CFrame.Angles(0,math.rad(90),0)
  394. *CFrame.Angles(math.sin((tick()+i)*5)/2,math.sin((tick()+i)*5)/2,math.sin((tick()+i)*5)/2)
  395. ,.1);
  396. end;
  397. elseif script:FindFirstChild(Player.Name) then
  398. local Parts=Core.Players[Player.Name].Data.Tablets;
  399. local Part=Parts[i];
  400. Part.CFrame=CLerp(Part.CFrame,CFrame.new(script:FindFirstChild(Player.Name).CFrame.p)
  401. *CFrame.Angles(0,math.rad((360/#Parts)*i)+Number,0)
  402. *CFrame.new(3+#Parts,math.sin((tick()+i)*5)/1.5,0)
  403. *CFrame.Angles(0,math.rad(90),0)
  404. *CFrame.Angles(math.sin((tick()+i)*5)/2,math.sin((tick()+i)*5)/2,math.sin((tick()+i)*5)/2)
  405. ,.1);
  406. end;
  407. end;
  408. end;
  409. end;
  410. end;
  411. end);
  412. end);
  413.  
  414. function DestroyTablets(Player)
  415. --if not Player or type(Player) ~= "userdata" then return end;
  416. pcall(function()
  417. for i,v in pairs(Core.Players[Player.Name].Data.Tablets) do
  418. local Thread=coroutine.create(function()
  419. repeat
  420. game:GetService("RunService").Heartbeat:wait()
  421. v.Size=Vector3.new(v.Size.X-0.1,v.Size.Y-0.1,v.Size.Z-0.1);
  422. until v.Size.X<0.3;
  423. v:Destroy();
  424. end)
  425. coroutine.resume(Thread)----table.remove(Core.Players[Player.Name].Data.Tablets,i);
  426. end;
  427. Core.Players[Player.Name].Data.Tablets={};
  428. end)
  429. end;
  430.  
  431. function FindPlayer(Player)
  432. local Player=tostring(Player)
  433. for i,v in pairs(game.Players:GetPlayers()) do
  434. local Name=string.lower(string.sub(v.Name,1,string.len(Player)));
  435. if Name==Player then
  436. return v;
  437. end;
  438. end;
  439. end;
  440.  
  441. function CheckBanned(Player)
  442. local Banned=false;
  443. if Core.Players[Player.Name] == nil then return {Banned=false}; end;
  444. if Core.Players[Player.Name].Rank < 0 then
  445. return {Banned=true};
  446. else
  447. return {Banned=false};
  448. end;
  449. end;
  450.  
  451. function ConnectPlayer(Player)
  452. table.foreach(Core.Banned,function(Index,Table)
  453. if Table.Username==Player.Name then
  454. Alert(Player.Name.." was kicked for a persisting ban! Reason : "..Table.Reason);
  455. return Core.Packets.Kick(Player);
  456. end;
  457. end)
  458. --if CheckBanned(Player).Banned==true then
  459. --Core.Packets.Kick(Player);
  460. --end;
  461. if Core.Players[Player.Name] == nil then
  462. Core.Players[Player.Name]={Name=Player.Name;Rank=1;Data={Tablets={};Colour=Core.Settings.DefaultColour};Settings={BetKey="!"}};
  463. Player.Chatted:connect(function(Message)
  464. OnChatted(Message,Player);
  465. end);
  466. AddPart("[Prometheus]\nVersion 1.0",'Really red',Player,nil);
  467. else
  468. Player.Chatted:connect(function(Message)
  469. OnChatted(Message,Player);
  470. end);
  471. AddPart("[Prometheus]\nWelcome back "..Player.Name.."!","Random",Player,nil);
  472. end;
  473. end;
  474.  
  475. function Alert(Message)
  476. for i,v in pairs(Core.Players) do
  477. if v.Rank >= 5 then
  478. if game.Players:FindFirstChild(v.Name) then
  479. AddPart(Message,v.Data.Colour,game.Players[v.Name],nil);
  480. end;
  481. end;
  482. end;
  483. end;
  484.  
  485. --//Chatted Function
  486. function OnChatted(Message,Player)
  487. if not Message or type(Message) ~= "string" then
  488. return;
  489. end;
  490. if not Player or type(Player) ~= "userdata" then
  491. return;
  492. end;
  493. Message=Message:gsub("/e ","");
  494. local InTCheck=(Message:sub(1,1)==Core.Players[Player.Name].Settings.BetKey);
  495. if InTCheck then
  496. Message=Message:sub(2);
  497. local SpaceDet=Message:find(" ");
  498. local SubString,ProString;
  499. pcall(function()
  500. SubString=Message:sub(1,SpaceDet-1);
  501. ProString=Message:sub(SpaceDet+1);
  502. end)
  503. if not SubString then
  504. SubString=Message;
  505. end;
  506. if not ProString then
  507. ProString="";
  508. end;
  509. local Profile=Core.Players[Player.Name];
  510. for i,v in pairs(Core.Commands) do
  511. table.foreach(v.Calls,function(self,index)
  512. if SubString==index and Profile.Rank then
  513. if v.Rank <= Profile.Rank then
  514. local CCFlags={};
  515. for a,s in pairs(v.Flags) do
  516. if string.find(ProString,("-"..s)) ~= nil then
  517. --table.insert(CCFlags,s);
  518. local FlagData;
  519. local Test,Error=pcall(function()
  520. string.sub(ProString,string.find(ProString,("-"..s)),string.sub(ProString,string.find(ProString:sub(string.find(ProString,("-"..s))+1),"-")));
  521. end)
  522. if not Test then
  523. FlagData=ProString;
  524. else
  525. FlagData=string.sub(ProString,string.find(ProString,("-"..s)),string.sub(ProString,string.find(ProString:sub(string.find(ProString,("-"..s))+1),"-")));
  526. end
  527. FlagData=string.gsub(FlagData,("-"..s),"",1);
  528. CCFlags[s]={FlagData};
  529. ProString=string.gsub(ProString,("-"..s),"",1);
  530. end;
  531. end;
  532. local Thread=coroutine.create(v.Function);
  533. local Success,Error=coroutine.resume(Thread,ProString,CCFlags,Player,Profile.Rank);
  534. if not Success then
  535. print("[OnChatted Error] "..tostring(Error));
  536. end;
  537. else
  538. AddPart("Your rank is too low to access this command. Required Rank : "..v.Rank,"Really red",Player,nil);
  539. end;
  540. end;
  541. end);
  542. end;
  543. end;
  544. end;
  545.  
  546. function NewCommand(Name,Desc,Rank,Calls,Flags,Func)
  547. Core.Commands[Name]={Name=Name,Desc=Desc,Rank=Rank,Calls=Calls,Flags=Flags,Function=Func}
  548. end;
  549.  
  550. NewCommand("Ping","Pings a tablet to speaker",1,{'ping'},{"all","plr"},function(Message,Flags,Player,PlayerRank)
  551. function ParseTest(Text,PlayerSent,PlayerToSend)
  552. local TEXTS = {
  553. ["%PLAYER%"] = PlayerToSend.Name;
  554. ["%OWNER%"] = PlayerSent.Name;
  555. ["%AGE%"] = PlayerToSend.AccountAge;
  556. ["%RANK%"] = Core.Players[PlayerToSend.Name].Rank;
  557. };
  558. local Text = tostring(Text);
  559. print(Text)
  560. for i,v in pairs(TEXTS) do
  561. if string.find(Text,tostring(i)) then
  562. print(i,v)
  563. string.gsub(Text,tostring(i),tostring(v));
  564. end;
  565. end;
  566. print(Text)
  567. return Text;
  568. end;
  569.  
  570. if Message == "" then return end;
  571. pcall(function()
  572. if Flags["all"] then
  573. if PlayerRank > 4 then
  574. for i,v in pairs(game:GetService("Players"):GetPlayers()) do
  575. --ParseTest(Flags["all"][1],Player,v)
  576. AddPart(Flags["all"][1],'Random',v,nil);
  577. end;
  578. else
  579. AddPart("Your rank is too low.",'Really red',v,nil);
  580. end;
  581. end;
  582. if Flags["plr"] then
  583. local Find = string.find(Flags["plr"][1]:sub(2)," ");
  584. local PlayerS = string.sub(Flags["plr"][1]:sub(2),1,Find-1);
  585. local MSG = string.sub(Flags["plr"][1]:sub(2),Find+1);
  586. local Selected=FindPlayer(PlayerS);
  587. if Selected == nil then
  588. return AddPart("No player found.","Really red",Player,nil);
  589. end;
  590. --MSG = ParseMessage(tostring(MSG),Player,Selected)
  591. AddPart(MSG,"Random",Selected,nil);
  592. end;
  593. if next(Flags) == nil then
  594. AddPart(tostring(Message),'Random',Player,nil);
  595. ParseMessage(tostring(Message),Player,Player)
  596. end;
  597. end);
  598. end);
  599.  
  600. NewCommand("Networked Players","Gets all players, network or not.",7,{'net'},{},function(Message,Flags,Player,PlayerRank)
  601. if msg == "" then return end;
  602. pcall(function()
  603. if next(Flags) == nil then
  604. wait(DestroyTablets(Player));
  605. for i,v in ipairs(game:FindService("NetworkServer"):GetChildren()) do
  606. local Players=v:GetPlayer();
  607. if(not Players.Parent) then
  608. AddPart(Players.Name.." | NIL",Core.Players[Player.Name].Data.Colour,Player,function()
  609. wait(DestroyTablets(Player));
  610. AddPart("Disconnect","Really red",Player,function()
  611. wait(DestroyTablets(Player));
  612. Core.Packets.Kick(Players);
  613. end)
  614. end);
  615. else
  616. AddPart(Players.Name.." | Players",Core.Players[Player.Name].Data.Colour,Player,nil);
  617. end;
  618. end;
  619. end;
  620. end);
  621. end);
  622.  
  623. NewCommand("Music","The scripts music player, self explanatory.",4,{"m","music","song"},{"name","stop"},function(Message,Flags,Player,PlayerRank)
  624. local RbxGui = assert(LoadLibrary("RbxGui"));
  625. pcall(function()
  626. if Flags["name"] then
  627. local Name=Flags["name"][1]:sub(2);
  628. local Http=Core.Services.Http;
  629. local Query="http://roproxy.tk/catalog/json?Keyword="..tostring(Name).."&Category=9&ResultsPerPage=20";
  630. local Assets=Http:JSONDecode(Http:GetAsync(Query));
  631. function List(Player)
  632. wait(DestroyTablets(Player));
  633. for i=1,#Assets do
  634. AddPart("Name : "..Assets[i].Name,Core.Players[Player.Name].Data.Colour,Player,function()
  635. wait(DestroyTablets(Player));
  636. AddPart("Name : "..Assets[i].Name,Core.Players[Player.Name].Data.Colour,Player,function() end);
  637. AddPart('Publisher: '..Assets[i].Creator,Core.Players[Player.Name].Data.Colour,Player,function() end);
  638. AddPart('Play song','Lime green',Player,function()
  639. if Core.Data.SongPlaying ~= nil then
  640. DestroyTablets(Player);
  641. AddPart("A song is already playing : "..Core.Data.SongPlaying.Name..". Would you like to stop it?",Core.Players[Player.Name].Data.Colour,Player,function() end);
  642. AddPart("Yes","Bright green",Player,function()
  643. DestroyTablets(Player);
  644. local Song=script.Songs:FindFirstChild(tostring(Core.Data.SongPlaying.ID));
  645. wait(Song:Stop());
  646. Song:Destroy();
  647. local NewSong=Instance.new("Sound",script.Songs);
  648. NewSong.SoundId="rbxassetid://"..Assets[i].AssetId;
  649. NewSong.PlayOnRemove=false;
  650. NewSong.Looped=false;
  651. NewSong:Play();
  652. NewSong.Name=Assets[i].AssetId;
  653. Core.Data.SongPlaying={ID=Assets[i].AssetId,Name=Assets[i].Name};
  654. function Pause()
  655. wait(DestroyTablets(Player));
  656. AddPart("Now playing : "..Assets[i].Name,Core.Players[Player.Name].Data.Colour,Player,function() end);
  657. AddPart("Stop","Really red",Player,function()
  658. DestroyTablets(Player);
  659. wait(NewSong:Stop());
  660. NewSong:Destroy();
  661. AddPart("Song stopped","Really red",Player,nil);
  662. end)
  663. AddPart("Pause","Bright orange",Player,function()
  664. DestroyTablets(Player);
  665. NewSong:Pause();
  666. AddPart("Song paused","Bright blue",Player,function() end);
  667. AddPart("Play","Lime green",Player,function()
  668. DestroyTablets(Player)
  669. NewSong:Play();
  670. AddPart("Playing "..Assets[i].Name,"Bright blue",Player,function() end);
  671. Pause()
  672. end);
  673. end)
  674. AddPart("Back","Bright blue",Player,function()
  675. DestroyTablets(Player);
  676. List(Player);
  677. AddPart("Back to current song","Bright blue",Player,function()
  678. Pause();
  679. end);
  680. end)
  681. end;
  682. Pause();
  683. end);
  684. AddPart("No","Bright red",Player,function()
  685. Pause();
  686. end);
  687. else
  688. wait(DestroyTablets(Player));
  689. local NewSong=Instance.new("Sound",script.Songs);
  690. NewSong.SoundId="rbxassetid://"..Assets[i].AssetId;
  691. NewSong.PlayOnRemove=false;
  692. NewSong.Looped=false;
  693. NewSong:Play();
  694. NewSong.Name=Assets[i].AssetId;
  695. Core.Data.SongPlaying={ID=Assets[i].AssetId,Name=Assets[i].Name};
  696. function Pauses()
  697. wait(DestroyTablets(Player));
  698. AddPart("Now playing : "..Assets[i].Name,Core.Players[Player.Name].Data.Colour,Player,function() end);
  699. AddPart("Stop","Really red",Player,function()
  700. DestroyTablets(Player);
  701. wait(NewSong:Stop());
  702. NewSong:Destroy();
  703. AddPart("Song stopped","Really red",Player,nil);
  704. end)
  705. AddPart("Pause","Bright orange",Player,function()
  706. DestroyTablets(Player);
  707. NewSong:Pause();
  708. AddPart("Song paused","Bright blue",Player,function() end);
  709. AddPart("Play","Lime green",Player,function()
  710. DestroyTablets(Player)
  711. AddPart("Playing "..Assets[i].Name,"Bright blue",Player,function() end);
  712. NewSong:Play();
  713. Pauses();
  714. end);
  715. end);
  716. AddPart("Back","Bright blue",Player,function()
  717. DestroyTablets(Player);
  718. List(Player);
  719. AddPart("Back to current song","Bright blue",Player,function()
  720. Pauses();
  721. end);
  722. end)
  723. end;
  724. Pauses();
  725. end;
  726. end);
  727. end);
  728. end;
  729. end;
  730. List(Player);
  731. end;
  732. if Flags["stop"] then
  733. for i,v in pairs(script.Songs:GetChildren()) do
  734. wait(v:Stop());
  735. v:Destroy();
  736. end;
  737. AddPart("Stopped all songs!","Really red",Player,nil);
  738. Core.Data.SongPlaying=nil;
  739. end;
  740. if next(Flags) == nil then
  741. AddPart("No name selected!",'Random',Player,nil);
  742. end;
  743. end)
  744. end);
  745.  
  746. NewCommand("Kill","Kills <player/all>",2,{"kill"},{"plr","all"},function(Message,Flags,Player,PlayerRank)
  747. pcall(function()
  748. if Flags["all"] then
  749. if PlayerRank > 4 then
  750. for i,v in pairs(game:GetService("Players"):GetPlayers()) do
  751. v.Character:BreakJoints()
  752. end;
  753. else
  754. AddPart("Your rank is too low. Require : 4",'Really red',v,nil);
  755. end;
  756. end;
  757. if Flags["plr"] then
  758. local Selected=FindPlayer(Flags["plr"][1]:sub(2));
  759. Selected.Character:BreakJoints();
  760. end;
  761. if next(Flags) == nil then
  762. AddPart("No player selected!","Really red",Player,nil);
  763. end;
  764. end);
  765. end);
  766.  
  767. NewCommand("Forcefield","Adds a forcefield to <player/all>",2,{"ff"},{"plr","all"},function(Message,Flags,Player,PlayerRank)
  768. pcall(function()
  769. if Flags["all"] then
  770. if PlayerRank > 4 then
  771. for i,v in pairs(game:GetService("Players"):GetPlayers()) do
  772. Instance.new("ForceField",v.Character)
  773. end;
  774. else
  775. AddPart("Your rank is too low. Require : 4",'Really red',v,nil);
  776. end;
  777. end;
  778. if Flags["plr"] then
  779. local Selected=FindPlayer(Flags["plr"][1]:sub(2));
  780. Instance.new("ForceField",Selected.Character)
  781. end;
  782. if next(Flags) == nil then
  783. AddPart("No player selected!","Really red",Player,nil);
  784. end;
  785. end);
  786. end);
  787.  
  788. NewCommand("Respawn","Respawns <player/all>",2,{"respawn","rs"},{"plr","all"},function(Message,Flags,Player,PlayerRank)
  789. pcall(function()
  790. if Flags["all"] then
  791. if PlayerRank > 4 then
  792. for i,v in pairs(game:GetService("Players"):GetPlayers()) do
  793. v:LoadCharacter();
  794. end;
  795. else
  796. AddPart("Your rank is too low. Require : 4",'Really red',v,nil);
  797. end;
  798. end;
  799. if Flags["plr"] then
  800. local Selected=FindPlayer(Flags["plr"][1]:sub(2));
  801. Selected:LoadCharacter();
  802. end;
  803. if next(Flags) == nil then
  804. AddPart("No player selected!","Really red",Player,nil);
  805. end;
  806. end);
  807. end);
  808.  
  809. NewCommand("Kick","Kicks <player/all>",6,{"kick"},{"plr","all"},function(Message,Flags,Player,PlayerRank)
  810. pcall(function()
  811. if Flags["all"] then
  812. for i,v in pairs(game:GetService("Players"):GetPlayers()) do
  813. Core.Packets.Kick(v);
  814. end;
  815. end;
  816. if Flags["plr"] then
  817. local Selected=FindPlayer(Flags["plr"][1]:sub(2));
  818. Core.Packets.Kick(Selected);
  819. end;
  820. if next(Flags) == nil then
  821. AddPart("No player selected!","Really red",Player,nil);
  822. end;
  823. end);
  824. end);
  825.  
  826. NewCommand("Bans","Lists all banned players",4,{"b","bans"},{"plr"},function(Message,Flags,Player,PlayerRank)
  827. wait(DestroyTablets(Player));
  828. table.foreach(Core.Banned,function(Index,PlayerTable)
  829. AddPart(PlayerTable.Username,"Really red",Player,function()
  830. wait(DestroyTablets(Player));
  831. table.foreach(PlayerTable,function(Name,Value)
  832. AddPart(Name.." : "..Value,"Really red",Player,nil);
  833. AddPart("Unban player?","Bright green",Player,function()
  834. DestroyTablets(Player);
  835. AddPart("Unbanned "..PlayerTable.Name,"Bright green",Player,nil);
  836. PlayerTable = nil;
  837. end); --//Only if it's local.
  838. end)
  839. end);
  840. end)
  841. end);
  842.  
  843. NewCommand("Website Flag","Allows quick write/read",7,{"web"},{"update"},function(Message,Flags,Player,PlayerRank)
  844. if Flags["update"] then
  845. local Success,Error=pcall(function() Core.CoreFunctions.UpdateBanTable() end)
  846. if not Success then
  847. return AddPart("There was an error while updating!","Bright red",Player,nil);
  848. end;
  849. AddPart("Successfully updated databases!","Bright green",Player,nil);
  850. end;
  851. end);
  852.  
  853. NewCommand("Modules","Modules Management",7,{"modules"},{"load"},function(Message,Flags,Player,PlayerRank)
  854. if Flags["load"] then
  855. --return AddPart("Load not implemented yet!","Really red",Player,nil);
  856. local ScriptLoad,Error = ypcall(function() game:GetService("HttpService"):GetAsync(Flags["load"][1]:sub(2)) end);
  857. if not ScriptLoad then
  858. return AddPart("There was an error while loading this module.","Really red",Player,nil);
  859. --return AddPart("Load not implemented yet!","Really red",Player,nil);
  860. else
  861. --ScriptLoad = game:GetService("HttpService"):GetAsync(Flags["load"][1]:sub(2));
  862. return AddPart("Load not implemented yet!","Really red",Player,nil);
  863. end;
  864. if string.find(ScriptLoad,"--promsig%93aa8c4f1d11ecc46edd0e0aee91f8ef72e9a078771d162d4c2202eada455a28") ~= nil then
  865. local Thread,Error = coroutine.create(function()
  866. local Success,Fail = loadstring(ScriptLoad,[[ModuleService]])();
  867. if not Success then
  868. AddPart("[Prometheus Module System]\n"..Fail,"Really red",Player,nil);
  869. end;
  870. end)
  871. coroutine.resume(Thread)
  872. else
  873. return AddPart("Security Check Failed!","Really red",Player,nil);
  874. end;
  875. end;
  876. if Flags["stop"] then
  877. coroutine.yield(Core.Modules[Flags["stop"]:sub(2)].Thread) --Attempt to stop the thread
  878. Core.Modules[Flags["stop"]:sub(2)].Kill = true; --Hit the trains brakes!
  879. Core.ThreadManager.StatusThread(Core.Modules[Flags["stop"]:sub(2)].Thread)
  880. end;
  881. if next(Flags) == nil then
  882. DestroyTablets(Player)
  883. return AddPart("Load not implemented yet!","Really red",Player,nil);
  884. end;
  885. end);
  886.  
  887. NewCommand("Destroy Tablets","Destroys your tablets",1,{'dt'},{"all","plr"},function(Message,Flags,Player,PlayerRank)
  888. pcall(function()
  889. if Flags["all"] then
  890. for i,v in pairs(game:GetService("Players"):GetPlayers()) do
  891. DestroyTablets(v)
  892. end;
  893. end;
  894. if Flags["plr"] then
  895. local Players=FindPlayer(Flags["plr"][1]:sub(2));
  896. DestroyTablets(Players);
  897. end;
  898. if next(Flags) == nil then
  899. DestroyTablets(Player)
  900. end;
  901. end);
  902. end);
  903.  
  904. NewCommand("Players","Lists all players",5,{"plrs","players","plys","plyrs"},{"plr"},function(Message,Flags,Player,PlayerRank)
  905. pcall(function()
  906. if Flags["plr"] then
  907. local v=FindPlayer(Flags["plr"][1]:sub(2));
  908. DestroyTablets(Player);
  909. if v==nil then
  910. return AddPart("Selected player was not found!","Really red",Player,nil);
  911. end;
  912. wait(DestroyTablets(Player));
  913. AddPart("Name - "..v.Name,Core.Players[Player.Name].Data.Colour,Player,nil);
  914. AddPart("Age - "..v.AccountAge,Core.Players[Player.Name].Data.Colour,Player,nil);
  915. AddPart("BetKey - "..Core.Players[v.Name].Settings.BetKey,Core.Players[Player.Name].Data.Colour,Player,function()
  916. DestroyTablets(Player);
  917. table.foreach(Core.BetKeys,function(Index,Key)
  918. AddPart(Key,Core.Players[Player.Name].Data.Colour,Player,function()
  919. DestroyTablets(Player);
  920. Core.Players[v.Name].Settings.BetKey=Key;
  921. if Player ~= v then
  922. AddPart(v.Name.."'s bet key is now "..Key,Core.Players[Player.Name].Data.Colour,Player,nil);
  923. end;
  924. AddPart("Your bet key is now "..Key,Core.Players[v.Name].Data.Colour,v,nil);
  925. end)
  926. end)
  927. AddPart("Cancel","Bright red",Player,function()
  928. DestroyTablets(Player);
  929. end);
  930. end);
  931. AddPart("Colour - "..Core.Players[v.Name].Data.Colour,Core.Players[Player.Name].Data.Colour,Player,function()
  932. local Colours={"White","Bright red","Bright green","Bright blue","Bright yellow","Toothpaste","Pink","Black"};
  933. DestroyTablets(Player);
  934. table.foreach(Colours,function(Index,Colour)
  935. AddPart(Colour,Colour,Player,function()
  936. DestroyTablets(Player);
  937. Core.Players[v.Name].Data.Colour=Colour;
  938. if Player ~= v then
  939. AddPart(v.Name.."'s default colour is now "..Colour,Core.Players[Player.Name].Data.Colour,Player,nil);
  940. end;
  941. AddPart("Your default colour is now "..Colour,Core.Players[v.Name].Data.Colour,v,nil);
  942. end);
  943. end);
  944. AddPart("Cancel","Bright red",Player,function()
  945. DestroyTablets(Player);
  946. end);
  947. end);
  948. AddPart("Rank - "..Core.Players[v.Name].Rank,Core.Players[Player.Name].Data.Colour,Player,function()
  949. DestroyTablets(Player);
  950. table.foreach(Core.Ranks,function(Index,Value)
  951. AddPart(Value.." - "..Index,Core.Players[Player.Name].Data.Colour,Player,function()
  952. if Core.Players[Player.Name].Rank < Core.Players[v.Name].Rank then
  953. DestroyTablets(Player);
  954. return AddPart(v.Name.." outranks you!","Bright red",Player,nil);
  955. end;
  956. DestroyTablets(Player);
  957. Core.Players[v.Name].Rank=Index;
  958. if Player ~= v then
  959. AddPart(v.Name.."'s rank is now "..Value,Core.Players[Player.Name].Data.Colour,Player,nil);
  960. end;
  961. AddPart("Your rank is now "..Value.." ["..Index.."]",Core.Players[v.Name].Data.Colour,v,nil);
  962. end);
  963. end);
  964. AddPart("Cancel","Bright red",Player,function()
  965. DestroyTablets(Player);
  966. end);
  967. end);
  968. AddPart("Dismiss","Bright red",Player,function()
  969. DestroyTablets(Player);
  970. end);
  971. AddPart("Kick","Bright orange",Player,function()
  972. local Success,Error=pcall(function() Core.Packets.Kick(v) end);
  973. if not Success then
  974. DestroyTablets(Player);
  975. AddPart("[Kick Packet] There was a serious error! Player was not kicked successfully!","Bright red",Player,nil);
  976. end;
  977. end);
  978. --[[ AddPart("Player Settings",Core.Players[Player.Name].Data.Colour,Player,function()
  979. AddPart("Auto Dismiss : "..Core.Players[Player.Name].Settings.AutoDismiss,Core.Players[Player.Name].Data.Colour,function()
  980. DestroyTablets(Player);
  981. AddPart("True","Bright green",Player,function()
  982. DestroyTablets(Play er);
  983. Core.Players[Player.Name].Settings.AutoDismiss = true;
  984. end)
  985.  
  986. end)
  987. end)]]--
  988. AddPart("Ban","Dusty Rose",Player,function()
  989. local Success,Error=pcall(Core.Packets.Kick,v);
  990. if not Success then
  991. DestroyTablets(Player);
  992. return AddPart("[Ban Packet] There was a serious error! Player was not banned successfully!","Bright red",Player,nil);
  993. end;
  994. wait(DestroyTablets(Player));
  995. AddPart("Would you like to add a reason?","Bright blue",Player,function() end)
  996. AddPart("Yes","Bright green",Player,function()
  997. DestroyTablets(Player);
  998. table.foreach(Core.BanResponse,function(Index,Resp)
  999. AddPart(Resp,"Really red",Player,function()
  1000. DestroyTablets(Player);
  1001. Core.Packets.BanR(v,Resp);
  1002. AddPart(v.Name.." is now banned for : "..Resp,"Bright green",Player,nil);
  1003. end);
  1004. end);
  1005. end);
  1006. AddPart("No","Really red",Player,function()
  1007. Core.Packets.Ban(v)
  1008. DestroyTablets(Player)
  1009. end)
  1010. end);
  1011. end;
  1012. if next(Flags) == nil then
  1013. DestroyTablets(Player);
  1014. function Main()
  1015. for i,v in pairs(game:GetService("Players"):GetPlayers()) do
  1016. AddPart(v.Name,Core.Players[Player.Name].Data.Colour,Player,function()
  1017. wait(DestroyTablets(Player));
  1018. AddPart("Name - "..v.Name,Core.Players[Player.Name].Data.Colour,Player,nil);
  1019. AddPart("Age - "..v.AccountAge,Core.Players[Player.Name].Data.Colour,Player,nil);
  1020. AddPart("BetKey - "..Core.Players[v.Name].Settings.BetKey,Core.Players[Player.Name].Data.Colour,Player,function()
  1021. DestroyTablets(Player);
  1022. table.foreach(Core.BetKeys,function(Index,Key)
  1023. AddPart(Key,Core.Players[Player.Name].Data.Colour,Player,function()
  1024. DestroyTablets(Player);
  1025. Core.Players[v.Name].Settings.BetKey=Key;
  1026. if Player ~= v then
  1027. AddPart(v.Name.."'s bet key is now "..Key,Core.Players[Player.Name].Data.Colour,Player,nil);
  1028. end;
  1029. AddPart("Your bet key is now "..Key,Core.Players[v.Name].Data.Colour,v,nil);
  1030. end)
  1031. end)
  1032. AddPart("Cancel","Bright red",Player,function()
  1033. DestroyTablets(Player);
  1034. end);
  1035. end);
  1036. AddPart("Colour - "..Core.Players[v.Name].Data.Colour,Core.Players[Player.Name].Data.Colour,Player,function()
  1037. local Colours={"White","Bright red","Bright green","Bright blue","Bright yellow","Toothpaste","Pink","Black"};
  1038. DestroyTablets(Player);
  1039. table.foreach(Colours,function(Index,Colour)
  1040. AddPart(Colour,Colour,Player,function()
  1041. DestroyTablets(Player);
  1042. Core.Players[v.Name].Data.Colour=Colour;
  1043. if Player ~= v then
  1044. AddPart(v.Name.."'s default colour is now "..Colour,Core.Players[Player.Name].Data.Colour,Player,nil);
  1045. end;
  1046. AddPart("Your default colour is now "..Colour,Core.Players[v.Name].Data.Colour,v,nil);
  1047. end);
  1048. end);
  1049. AddPart("Cancel","Bright red",Player,function()
  1050. DestroyTablets(Player);
  1051. end);
  1052. end);
  1053. AddPart("Rank - "..Core.Players[v.Name].Rank,Core.Players[Player.Name].Data.Colour,Player,function()
  1054. DestroyTablets(Player);
  1055. table.foreach(Core.Ranks,function(Index,Value)
  1056. AddPart(Value.." - "..Index,Core.Players[Player.Name].Data.Colour,Player,function()
  1057. if Core.Players[Player.Name].Rank < Core.Players[v.Name].Rank then
  1058. DestroyTablets(Player);
  1059. return AddPart(v.Name.." outranks you!","Bright red",Player,nil);
  1060. end;
  1061. DestroyTablets(Player);
  1062. Core.Players[v.Name].Rank=Index;
  1063. if Player ~= v then
  1064. AddPart(v.Name.."'s rank is now "..Value,Core.Players[Player.Name].Data.Colour,Player,nil);
  1065. end;
  1066. AddPart("Your rank is now "..Value.." ["..Index.."]",Core.Players[v.Name].Data.Colour,v,nil);
  1067. end);
  1068. end);
  1069. AddPart("Cancel","Bright red",Player,function()
  1070. DestroyTablets(Player);
  1071. end);
  1072. end);
  1073. AddPart("Back","Bright blue",Player,function()
  1074. DestroyTablets(Player);
  1075. Main();
  1076. end);
  1077. AddPart("Dismiss","Bright red",Player,function()
  1078. DestroyTablets(Player);
  1079. end);
  1080. AddPart("Kick","Bright orange",Player,function()
  1081. local Success,Error=pcall(function() Core.Packets.Kick(v) end);
  1082. if not Success then
  1083. DestroyTablets(Player);
  1084. AddPart("[Kick Packet] There was a serious error! Player was not kicked successfully!","Bright red",Player,nil);
  1085. end;
  1086. end);
  1087. AddPart("Ban","Dusty Rose",Player,function()
  1088. local Success,Error=pcall(function() Core.Packets.Kick(v) end);
  1089. if not Success then
  1090. DestroyTablets(Player);
  1091. return AddPart("[Ban Packet] There was a serious error! Player was not banned successfully!","Bright red",Player,nil);
  1092. end;
  1093. wait(DestroyTablets(Player));
  1094. AddPart("Would you like to add a reason?","Bright blue",Player,function() end)
  1095. AddPart("Yes","Bright green",Player,function()
  1096. DestroyTablets(Player);
  1097. table.foreach(Core.BanResponse,function(Index,Resp)
  1098. AddPart(Resp,"Really red",Player,function()
  1099. DestroyTablets(Player);
  1100. Core.Packets.BanR(v,Resp);
  1101. AddPart(v.Name.." is now banned for : "..Resp,"Bright green",Player,nil);
  1102. end);
  1103. end);
  1104. end);
  1105. AddPart("No","Really red",Player,function()
  1106. Core.Packets.Ban(v)
  1107. DestroyTablets(Player)
  1108. end)
  1109. end);
  1110. end);
  1111. end;
  1112. end;
  1113. Main();
  1114. end;
  1115. end);
  1116. end);
  1117.  
  1118. NewCommand("Commands","Lists commands",1,{"cmds","commands"},{"rank","cmd"},function(Message,Flags,Player,PlayerRank)
  1119. function Ranks(Player)
  1120. local Player=Player;
  1121. wait(DestroyTablets(Player));
  1122. for i,v in pairs(Core.Ranks) do
  1123. Colours={"White","Dusty Rose","Bright green","Bright blue","Bright yellow","Toothpaste","Pink","Bright violet"};
  1124. AddPart("Rank "..i,Colours[i],Player,function()
  1125. wait(DestroyTablets(Player));
  1126. for a,b in pairs(Core.Commands) do
  1127. if b.Rank==tonumber(i) then --{Name=Name,Desc=Desc,Rank=Rank,Calls=Calls,Flags=Flags,Function=Func}
  1128. AddPart(b.Name,Colours[i],Player,function()
  1129. wait(DestroyTablets(Player));
  1130. AddPart("Min Rank : "..b.Rank,"Bright violet",Player,nil);
  1131. AddPart("Name : "..b.Name,Colours[i],Player,nil);
  1132. AddPart("Calls : "..string.gsub(unpack(b.Calls)," ","; "),"Royal purple",Player,nil);
  1133. pcall(function() AddPart("Flags : "..string.gsub(unpack(b.Flags)," ","; "),"Teal",Player,nil) end);
  1134. AddPart("Description : "..b.Desc,"Sand green",Player,nil);
  1135. AddPart("Back","Bright red",Player,function()
  1136. Ranks(Player);
  1137. end)
  1138. end);
  1139. end;
  1140. end;
  1141. AddPart("Back","Bright red",Player,function()
  1142. Ranks(Player);
  1143. end)
  1144. end)
  1145. end;
  1146. AddPart("Your Rank : "..Core.Players[Player.Name].Rank,"Dark green",Player,function() end)
  1147. end;
  1148. Ranks(Player);
  1149. end);
  1150.  
  1151. NewCommand("Remove/Stop/Kill","Stops Prometheus",7,{"remove","nos"},{},function(Message,Flags,Player,PlayerRank)
  1152. pcall(function()
  1153. AddPart("[Prometheus]\nPrometheus is shutting down, please wait...","Bright green",Player,nil)
  1154. wait(3);
  1155. script:Destroy();
  1156. end);
  1157. end);
  1158.  
  1159. NewCommand("Explore","Sweep scans the game",5,{"explore","e"},{},function(Message,Flags,Player,PlayerRank)
  1160. local Search
  1161. local List
  1162. local ObjectFunctions = (function()
  1163. local NewData = {}
  1164. for ClassName, Data in next, {
  1165. Player = {
  1166. Kick = function(Player)
  1167. Core.Packets.Kick(Player)
  1168. end
  1169. };
  1170. ["Part,WedgePart,Script,Model"] = {
  1171. Destroy = function(Self,Object)
  1172. if Object ~= script then
  1173. return Self.Destroy(Object);
  1174. else
  1175. return AddPart("Can not destroy script","Really red",Player,nil);
  1176. end
  1177. end;
  1178. Remove = function(Self,Object)
  1179. return Self.Destroy(Object);
  1180. end;
  1181. };
  1182. } do
  1183. for NewClassName in tostring(ClassName):gmatch("[^,]+") do
  1184. NewData[NewClassName] = Data;
  1185. end;
  1186. end;
  1187. return NewData
  1188. end)()
  1189. function List(Object)
  1190. DestroyTablets(Player);
  1191. Object = Object or pcall(AddPart,"Can not explore out of DataModel","Really red",Player,nil) and game;
  1192. if ObjectFunctions[Object.ClassName] then
  1193. AddPart("View functions","Toothpaste",Player,function()
  1194. DestroyTablets(Player);
  1195. for Name, Function in next, ObjectFunctions[Object.ClassName] do
  1196. AddPart(Name,"Toothpaste",Player,function()
  1197. pcall(Function, Object);
  1198. end);
  1199. end;
  1200. AddPart("Back","Really red",Player,function()
  1201. List(Object);
  1202. end);
  1203. end);
  1204. else
  1205. AddPart("No functions found","Really red",Player,nil);
  1206. end;
  1207. AddPart("Explore: "..tostring(Object),"Toothpaste",Player,function()
  1208. Search(Object);
  1209. AddPart("View settings","Really red",Player,function()
  1210. List(Object);
  1211. end);
  1212. end);
  1213. AddPart("View parent","Really red",Player,function()
  1214. List(Object.Parent);
  1215. end);
  1216. end;
  1217. function Search(Parent)
  1218. DestroyTablets(Player);
  1219. for _, v in pairs(Parent:GetChildren()) do
  1220. pcall(AddPart,tostring(v),"Toothpaste",Player,function()
  1221. List(v);
  1222. end);
  1223. end;
  1224. end;
  1225. List(game);
  1226. end)
  1227.  
  1228. NewCommand("Execute","Executes/Compiles Lua Code",1,{"exe"},{"http"},function(Message,Flags,Player,PlayerRank)
  1229. local Source = Message;
  1230. if Flags["http"] then
  1231. local success,error = ypcall(function() game:GetService("HttpService"):GetAsync(Flags["http"][1]:sub(2)) end);
  1232. if not success then
  1233. return AddPart("There was an error while loading your script.","Really red",Player,nil);
  1234. end;
  1235. Source = Core.Services.HttpGet(Flags["http"][1]:sub(2))
  1236. end
  1237. if next(Flags) == nil then
  1238. Source = Message;
  1239. end;
  1240. local game=game;
  1241. local error=error;
  1242. local print=print;
  1243. local ypcall=ypcall;
  1244. local pcall=pcall;
  1245. local Spawn=Spawn;
  1246. local coroutine=coroutine;
  1247. local setmetatable=setmetatable;
  1248. local loadstring=loadstring;
  1249. local getmetatable=getmetatable;
  1250. local setfenv=setfenv;
  1251. local getfenv=getfenv;
  1252. local env = {};
  1253. local envs = {};
  1254. local newproxy=newproxy;
  1255. Execute,Error=loadstring(tostring(Source),"[Prometheus Execute]");
  1256.  
  1257. local scriptS = newproxy(true);
  1258. local meta = getmetatable(scriptS);
  1259.  
  1260. meta.__metatable=getmetatable(script);
  1261.  
  1262. function meta:__tostring()
  1263. return tostring(script);
  1264. end;
  1265.  
  1266. function getmember(item,index)
  1267. return item[index];
  1268. end;
  1269.  
  1270. function setmember(item,index,value)
  1271. item[index]=value;
  1272. end;
  1273.  
  1274. function meta:__index(index)
  1275. local suc,res=pcall(getmember,script,index);
  1276. if(not suc)then
  1277. error(index..' is not a valid member of Script',2);
  1278. else
  1279. if index:lower() == "destroy" then
  1280. return function()
  1281. error'You cannot destroy this script';
  1282. end;
  1283. elseif index:lower() == "remove" then
  1284. return function()
  1285. error'You cannot remove this script';
  1286. end;
  1287. end;
  1288. if type(res)=='function' then
  1289. return function(self,...)
  1290. return self[index](self,...)
  1291. end;
  1292. else
  1293. return res;
  1294. end;
  1295. end;
  1296. end;
  1297.  
  1298. function meta:__newindex(index,value)
  1299. suc,res=pcall(setmember,script,index,value);
  1300. return scriptS;
  1301. end;
  1302.  
  1303. for i,v in next, {
  1304. ["restart"]=function()
  1305. --Future function.
  1306. end;
  1307. ["print"]=function(...)
  1308. local Data={...};
  1309. for CurrentEntry,Table_Pos in next,Data do
  1310. if not pcall(function()Data[CurrentEntry]=tostring(Table_Pos);end)then
  1311. Data[CurrentEntry]='__TOSTRING_EDIT';
  1312. end;
  1313. end;
  1314. AddPart(tostring(table.concat(Data,' ')),'White',Player,nil);
  1315. end;
  1316. ["error"]=function(...)
  1317. local Data={...};
  1318. for CurrentEntry,Table_Pos in next,Data do
  1319. if not pcall(function()Data[CurrentEntry]=tostring(Table_Pos);end)then
  1320. Data[CurrentEntry]='__TOSTRING_EDIT';
  1321. end;
  1322. end;
  1323. AddPart(tostring(table.concat(Data,' ')),'Really red',Player,nil);
  1324. end;
  1325. ["warn"]=function(...)
  1326. local Data={...};
  1327. for CurrentEntry,Table_Pos in next,Data do
  1328. if not pcall(function()Data[CurrentEntry]=tostring(Table_Pos);end)then
  1329. Data[CurrentEntry]='__TOSTRING_EDIT';
  1330. end;
  1331. end;
  1332. AddPart(tostring(table.concat(Data,' ')),'Bright orange',Player,nil);
  1333. end;
  1334. ['loadstring']=function(str,...)
  1335. if str == nil then return error("Argument #1 (string expected, got nil)") end
  1336. local rtn={};
  1337. local fArgs={...};
  1338. local succ,res=ypcall(function()
  1339. rtn={loadstring(str,unpack(fArgs))};
  1340. end);
  1341. if(not succ)then return Execute.error(res) end;
  1342. local func,err=unpack(rtn);
  1343. if(func)then
  1344. func=setfenv(func,NewEnvironment);
  1345. end;
  1346. return func,err
  1347. end;
  1348. Core = "Hide";
  1349. Alert = "Hide";
  1350. owner = Player;
  1351. NewEnvironment = "Hide";
  1352. FindPlayer = "Hide";
  1353. NewCommand = "Hide";
  1354. DestroyTablets = "Hide";
  1355. CheckBanned = "Hide";
  1356. OnChatted = "Hide";
  1357. Execute = "Hide";
  1358. CLerp = "Hide";
  1359. ["script"] = scriptS;
  1360. }do
  1361. for str in i:gmatch'([^,]+)'do
  1362. env[str]=v;
  1363. end;
  1364. end;
  1365.  
  1366. NewEnvironment = {
  1367. _SANDBOX = "PK_SANDBOX v1.0";
  1368. };
  1369. if (Execute) then
  1370. --setfenv(0,NewEnvironment);
  1371. local Success,Result=ypcall(setfenv(Execute,setmetatable(NewEnvironment,{
  1372. __index=function(Self,Index)
  1373. local Return = env[Index];
  1374. local OldReturn = getfenv()[Index];
  1375. if Return == "Hide" then
  1376. return Core.Data.Fakes._G[Index];
  1377. elseif Return == nil then
  1378. return OldReturn;
  1379. else
  1380. return Return;
  1381. end;
  1382. end;
  1383. __metatable="Locked!";
  1384. })));
  1385. if (not Success) then
  1386. AddPart(Result,"Really red",Player,nil);
  1387. end;
  1388. else
  1389. AddPart(Error,"Really red",Player,nil);
  1390. end;
  1391. end);
  1392.  
  1393. for i,v in pairs(game:GetService("Players"):GetPlayers()) do
  1394. ConnectPlayer(v);
  1395. if Core.Cloud ~= nil then
  1396. AddPart("The Cloud is active","Bright blue",v,nil);
  1397. end
  1398. end;
  1399.  
  1400. game:GetService("Players").PlayerAdded:connect(function(Player)
  1401. ConnectPlayer(Player);
  1402. Alert(Player.Name.." has joined the game!");
  1403. end);
  1404.  
  1405. game:GetService("Players").PlayerRemoving:connect(function(Player)
  1406. DestroyTablets(Player);
  1407. Alert(Player.Name.." has left the game!");
  1408. end);
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement