Advertisement
PASTEBINWARRIOR

Untitled

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