Advertisement
simhwui

Untitled

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