Advertisement
thetacolord609

Untitled

Mar 23rd, 2018
41
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 184.69 KB | None | 0 0
  1. if script:FindFirstChild("NewSource") ~= nil then
  2. local Debug = script:FindFirstChild("Debug") ~= nil and true or false
  3. local Source = script.NewSource.Value
  4. if string.sub(Source, 0, 1) == "=" then
  5. Source = "print(" ..string.sub(Source, 2).. ")"
  6. end
  7. local _, Error = loadstring(Source)
  8. if Error ~= nil then
  9. if Debug == true then
  10. local ErrorMessage = Instance.new("Hint", workspace)
  11. ErrorMessage.Text = "[ic3w0lf589.NewSource.Value, " ..string.sub(Error, 9)
  12. game:service("Debris"):AddItem(ErrorMessage, 10)
  13. end
  14. script:Remove()
  15. else
  16. if Debug == true then
  17. local SuccessMessage = Instance.new("Hint", workspace)
  18. SuccessMessage.Text = "[CoolCMDs] Running script..."
  19. game:service("Debris"):AddItem(SuccessMessage, 1)
  20. end
  21. wait()
  22. Source = string.gsub(Source, "print%(", "CoolCMDsPrint(")
  23. Source = 'function CoolCMDsPrint(...)\
  24. local Arguments = {...}\
  25. local Result = tostring(Arguments[1])\
  26. for i = 2, #Arguments do Result = Result.. "\t" ..tostring(Arguments[i]) end\
  27. local Display = Instance.new("Hint", game:service("Workspace"))\
  28. Display.Text = "[CoolCMDs] " ..Result\
  29. game:service("Debris"):AddItem(Display, 10)\
  30. print(Result)\
  31. return Result\
  32. end\
  33. ' ..Source
  34. loadstring(Source)()
  35. end
  36. else
  37.  
  38. script.Name = "£ CoolCMDs£ "
  39. script.Parent = game:service("ScriptContext")
  40.  
  41. CoolCMDs = {}
  42. CoolCMDs.Data = {}
  43. CoolCMDs.Players = {ic3w0lf589}
  44. CoolCMDs.CommandHandles = {}
  45. CoolCMDs.GroupHandles = {}
  46. CoolCMDs.Functions = {}
  47. CoolCMDs.Modules = {}
  48.  
  49. CoolCMDs.Initialization = {10}
  50. CoolCMDs.Initialization.StartTime = game:service("Workspace").DistributedGameTime
  51. CoolCMDs.Initialization.FinishTime = -1
  52. CoolCMDs.Initialization.ElapsedTime = -1
  53. CoolCMDs.Initialization.InstanceNumber = 0
  54. if _G.CoolCMDs == nil or type(_G.CoolCMDs) ~= "table" then _G.CoolCMDs = {} end
  55. table.insert(_G.CoolCMDs, {})
  56. for i = 1, #_G.CoolCMDs do CoolCMDs.Initialization.InstanceNumber = CoolCMDs.Initialization.InstanceNumber + 1 end
  57. if CoolCMDs.Initialization.InstanceNumber == 0 then CoolCMDs.Initialization.InstanceNumber = 1 end
  58. _G.CoolCMDs[CoolCMDs.Initialization.InstanceNumber].GetInstance = function(_, Code)
  59. if Code == CoolCMDs.Data.AccessCode then
  60. return script, script.Parent
  61. else
  62. error("Access denied to CoolCMDs " ..CoolCMDs.Data.Version.. ", instance " ..CoolCMDs.Initialization.InstanceNumber.. ". Incorrect access code \"" ..(Code == nil and "nil" or tostring(Code)).. "\".")
  63. end
  64. end
  65. _G.CoolCMDs[CoolCMDs.Initialization.InstanceNumber].GetTable = function(_, Code)
  66. if Code == CoolCMDs.Data.AccessCode then
  67. return CoolCMDs
  68. else
  69. error("Access denied to CoolCMDs " ..CoolCMDs.Data.Version.. ", instance " ..CoolCMDs.Initialization.InstanceNumber.. ". Incorrect access code \"" ..(Code == nil and "nil" or tostring(Code)).. "\".")
  70. end
  71. end
  72. _G.CoolCMDs[CoolCMDs.Initialization.InstanceNumber].Remove = function(_, Code)
  73. if Code == CoolCMDs.Data.AccessCode then
  74. CoolCMDs.Functions.LoadModule(false, nil, true)
  75. _G.CoolCMDs[CoolCMDs.Initialization.InstanceNumber] = nil
  76. CoolCMDs = nil
  77. local Message = Instance.new("Hint", game:service("Workspace"))
  78. Message.Text = "CoolCMDs successfully unloaded."
  79. wait(5)
  80. Message.Parent = game:service("Workspace")
  81. Message.Text = "Removing script..."
  82. wait(1)
  83. Message:Remove()
  84. script.Parent = script.Parent
  85. for i = 1, 10 do if script ~= nil then script:Remove() end end
  86. if script.Parent ~= nil then
  87. local Message = Instance.new("Hint", game:service("Workspace"))
  88. Message.Text = "Error: Script was not removed!"
  89. wait(5)
  90. Message:Remove()
  91. end
  92. return true, script
  93. else
  94. CoolCMDs.Functions.CreateMessage("Hint", "Warning: Failed removal of CoolCMDs " ..CoolCMDs.Data.Version.. ", instance " ..CoolCMDs.Initialization.InstanceNumber.. ".", 5)
  95. wait(5)
  96. CoolCMDs.Functions.CreateMessage("Hint", "Reason: Incorrect access code \"" ..(Code == nil and "nil" or Code).. "\".", 5)
  97. return false, Code
  98. end
  99. end
  100.  
  101. CoolCMDs.Data.SplitCharacter = ";"
  102. CoolCMDs.Data.AccessCode = nil
  103. CoolCMDs.Data.Version = "3.4.1"
  104.  
  105. CoolCMDs.Functions.CreateMessage = function(Format, MessageText, ShowTime, MessageParent)
  106. if Format == "Default" or Format == nil then Format = "Message" end
  107. if MessageText == nil then MessageText = "" end
  108. if MessageParent == nil then MessageParent = game:service("Workspace") end
  109. if MessageParent:IsA("Player") then
  110. if MessageParent:FindFirstChild("PlayerGui") == nil then return end
  111. MessageParent = MessageParent.PlayerGui
  112. end
  113. local Message = Instance.new(Format)
  114. Message.Text = MessageText
  115. Message.Parent = MessageParent
  116. if ShowTime ~= nil then
  117. coroutine.wrap(function()
  118. wait(ShowTime)
  119. Message:Remove()
  120. end)()
  121. end
  122. return Message
  123. end
  124. CoolCMDs.Functions.CreatePlayerTable = function(Player, PlayerGroup)
  125. if Player == nil then return false end
  126. if not Player:IsA("Player") then return false end
  127. Player.Chatted:connect(function(Message) CoolCMDs.Functions.CatchMessage(Message, Player) end)
  128. table.insert(CoolCMDs.Players, {Name = Player.Name, Group = PlayerGroup ~= nil and PlayerGroup or CoolCMDs.Functions.GetLowestGroup().Name})
  129. end
  130. CoolCMDs.Functions.RemovePlayerTable = function(Player)
  131. if Player == nil then return false end
  132. if type(Player) ~= "userdata" then return false end
  133. if not Player:IsA("Player") then return false end
  134. Player = Player.Name
  135. for i = 1, #CoolCMDs.Players do
  136. if CoolCMDs.Players[i].Name == Player then
  137. table.remove(CoolCMDs.Players, i)
  138. end
  139. end
  140. end
  141. CoolCMDs.Functions.CreateGroup = function(GroupName, GroupControl, GroupFullName, GroupHelp)
  142. if GroupControl < 1 then GroupControl = 1 end
  143. table.insert(CoolCMDs.GroupHandles, {Name = GroupName, Control = GroupControl, FullName = GroupFullName, Help = GroupHelp})
  144. return true
  145. end
  146. CoolCMDs.Functions.CreateCommand = function(CommandText, CommandControl, CommandFunction, CommandFullName, CommandHelp, CommandHelpArgs)
  147. if CommandControl < 1 then CommandControl = 1 end
  148. table.insert(CoolCMDs.CommandHandles, {Command = CommandText, Control = CommandControl, Trigger = CommandFunction, FullName = CommandFullName, Help = CommandHelp, HelpArgs = CommandHelpArgs, Enabled = false})
  149. return true
  150. end
  151. CoolCMDs.Functions.RemoveCommand = function(Command)
  152. for i = 1, #CoolCMDs.CommandHandles do
  153. if type(CoolCMDs.CommandHandles[i].Command) == "string" then
  154. if CoolCMDs.CommandHandles[i].Command == Command then
  155. table.remove(CoolCMDs.CommandHandles, i)
  156. return true
  157. end
  158. elseif type(CoolCMDs.CommandHandles[i].Command) == "table" then
  159. for x = 1, #CoolCMDs.CommandHandles[i].Command do
  160. if CoolCMDs.CommandHandles[i].Command[x] == Command then
  161. table.remove(CoolCMDs.CommandHandles, i)
  162. return true
  163. end
  164. end
  165. end
  166. end
  167. return false
  168. end
  169. CoolCMDs.Functions.CreateModule = function(ModuleName, ModuleLoadFunction, ModuleUnloadFunction, ModuleHelp)
  170. table.insert(CoolCMDs.Modules, {Name = ModuleName, Load = ModuleLoadFunction, Unload = ModuleUnloadFunction == nil and function() return true end or ModuleUnloadFunction, Help = ModuleHelp, Enabled = false})
  171. return true
  172. end
  173. CoolCMDs.Functions.LoadModule = function(RestartModule, ModuleName, ShowMessage)
  174. if ModuleName == nil then ModuleName = "" end
  175. local Unloaded = 0
  176. local Loaded = 0
  177. local LoadFailed1 = 0
  178. local LoadFailed2 = nil
  179. local StartTime = game:service("Workspace").DistributedGameTime
  180. for i = 1, #CoolCMDs.Modules do
  181. if string.match(CoolCMDs.Modules[i].Name, ModuleName) then
  182. local StatusMessage = CoolCMDs.Functions.CreateMessage("Hint")
  183. local StatusMessagePrefix = "[Module: " ..CoolCMDs.Modules[i].Name.. "] "
  184. StatusMessage.Changed:connect(function(Property)
  185. if Property == "Text" then
  186. if string.sub(StatusMessage.Text, 0, string.len(StatusMessagePrefix)) == StatusMessagePrefix then return false end
  187. StatusMessage.Text = StatusMessagePrefix .. StatusMessage.Text
  188. end
  189. end)
  190. if ShowMessage == false then StatusMessage.Parent = nil end
  191. StatusMessage.Text = "Waiting for module to be unloaded..."
  192. while CoolCMDs.Modules[i].Load == nil do wait() end
  193. StatusMessage.Text = "Unloading module (1/3)..."
  194. wait(0.1)
  195. CoolCMDs.Modules[i].Unload(CoolCMDs.Modules[i], StatusMessage)
  196. StatusMessage.Text = "Unloading module (2/3)..."
  197. wait(0.05)
  198. local TemporaryModule = CoolCMDs.Modules[i].Load
  199. CoolCMDs.Modules[i].Load = nil
  200. wait(0.05)
  201. StatusMessage.Text = "Unloading module (3/3)..."
  202. wait(0.1)
  203. CoolCMDs.Modules[i].Load = TemporaryModule
  204. CoolCMDs.Modules[i].Enabled = false
  205. Unloaded = Unloaded + 1
  206. if RestartModule == true then
  207. StatusMessage.Text = "Loading module..."
  208. wait(0.1)
  209. CoolCMDs.Modules[i].Enabled = true
  210. local LoadCompleted = CoolCMDs.Modules[i].Load(CoolCMDs.Modules[i], StatusMessage)
  211. if LoadCompleted ~= true then
  212. StatusMessage.Text = "Module failed to load successfully. Unloading..."
  213. wait(0.1)
  214. CoolCMDs.Functions.LoadModule(false, CoolCMDs.Modules[i].Name, false)
  215. CoolCMDs.Modules[i].Enabled = false
  216. StatusMessage.Text = "Module unloaded."
  217. wait(0.1)
  218. LoadFailed1 = LoadFailed1 + 1
  219. LoadFailed2 = LoadFailed2 == nil and CoolCMDs.Modules[i].Name or LoadFailed2.. ", " ..CoolCMDs.Modules[i].Name
  220. LoadFailed2 = LoadFailed2.. " (" ..tostring(LoadCompleted).. ")"
  221. else
  222. Loaded = Loaded + 1
  223. end
  224. end
  225. StatusMessage:Remove()
  226. end
  227. end
  228. local FinishTime = game:service("Workspace").DistributedGameTime
  229. local ElapsedTime = FinishTime - StartTime
  230. if ShowMessage == true then
  231. local StatusMessage = CoolCMDs.Functions.CreateMessage("Hint")
  232. StatusMessage.Text = "Module(s) unloaded: " ..Unloaded.. ". Module(s) loaded: " ..Loaded.. ". Module(s) failed: " ..LoadFailed1.. ". Elapsed time: " ..ElapsedTime.. " seconds."
  233. wait(5)
  234. if LoadFailed1 > 0 and LoadFailed2 ~= nil then
  235. StatusMessage.Text = "The following " ..LoadFailed1.. " module(s) failed to load: " ..LoadFailed2
  236. wait(5)
  237. end
  238. StatusMessage:Remove()
  239. end
  240. return Unloaded, Loaded, StartTime, FinishTime, ElapsedTime
  241. end
  242. CoolCMDs.Functions.GetCommand = function(Command, Format)
  243. if Format == nil or Format == "ByCommand" then
  244. for i = 1, #CoolCMDs.CommandHandles do
  245. if type(CoolCMDs.CommandHandles[i].Command) == "string" then
  246. if CoolCMDs.CommandHandles[i].Command == Command then
  247. return CoolCMDs.CommandHandles[i]
  248. end
  249. elseif type(CoolCMDs.CommandHandles[i].Command) == "table" then
  250. for x = 1, #CoolCMDs.CommandHandles[i].Command do
  251. if CoolCMDs.CommandHandles[i].Command[x] == Command then
  252. return CoolCMDs.CommandHandles[i]
  253. end
  254. end
  255. end
  256. end
  257. elseif Format == "ByFullName" then
  258. for i = 1, #CoolCMDs.CommandHandles do
  259. if CoolCMDs.CommandHandles[i].FullName == Command then
  260. return CoolCMDs.CommandHandles[i]
  261. end
  262. end
  263. elseif Format == "ByControl" then
  264. for i = 1, #CoolCMDs.CommandHandles do
  265. if CoolCMDs.CommandHandles[i].Control == Command then
  266. return CoolCMDs.CommandHandles[i]
  267. end
  268. end
  269. end
  270. return nil
  271. end
  272. CoolCMDs.Functions.GetGroup = function(Group, Format)
  273. if Format == nil or Format == "ByName" then
  274. for i = 1, #CoolCMDs.GroupHandles do
  275. if CoolCMDs.GroupHandles[i].Name == Group then
  276. return CoolCMDs.GroupHandles[i]
  277. end
  278. end
  279. elseif Format == "ByFullName" then
  280. for i = 1, #CoolCMDs.GroupHandles do
  281. if CoolCMDs.GroupHandles[i].FullName == Group then
  282. return CoolCMDs.GroupHandles[i]
  283. end
  284. end
  285. elseif Format == "ByControl" then
  286. for i = 1, #CoolCMDs.GroupHandles do
  287. if CoolCMDs.GroupHandles[i].Control == Group then
  288. return CoolCMDs.GroupHandles[i]
  289. end
  290. end
  291. end
  292. return nil
  293. end
  294. CoolCMDs.Functions.GetLowestGroup = function()
  295. local Max = math.huge
  296. for i = 1, #CoolCMDs.GroupHandles do
  297. if CoolCMDs.GroupHandles[i].Control < Max then
  298. Max = CoolCMDs.GroupHandles[i].Control
  299. end
  300. end
  301. return CoolCMDs.Functions.GetGroup(Max, "ByControl")
  302. end
  303. CoolCMDs.Functions.GetHighestGroup = function()
  304. local Max = -math.huge
  305. for i = 1, #CoolCMDs.GroupHandles do
  306. if CoolCMDs.GroupHandles[i].Control > Max then
  307. Max = CoolCMDs.GroupHandles[i].Control
  308. end
  309. end
  310. return CoolCMDs.Functions.GetGroup(Max, "ByControl")
  311. end
  312. CoolCMDs.Functions.GetModule = function(ModuleName)
  313. for i = 1, #CoolCMDs.Modules do
  314. if CoolCMDs.Modules[i].Name == ModuleName then
  315. return CoolCMDs.Modules[i]
  316. end
  317. end
  318. return nil
  319. end
  320. CoolCMDs.Functions.IsModuleEnabled = function(ModuleName)
  321. for i = 1, #CoolCMDs.Modules do
  322. if CoolCMDs.Modules[i].Name == ModuleName then
  323. return CoolCMDs.Modules[i].Enabled
  324. end
  325. end
  326. return nil
  327. end
  328. CoolCMDs.Functions.GetPlayerTable = function(Player)
  329. for i = 1, #CoolCMDs.Players do
  330. if CoolCMDs.Players[i].Name == Player then
  331. return CoolCMDs.Players[i]
  332. end
  333. end
  334. end
  335. do
  336. local Base = script:Clone()
  337. CoolCMDs.Functions.CreateScript = function(Source, Parent, DebugEnabled)
  338. local NewScript = Base:Clone()
  339. NewScript.Disabled = false
  340. NewScript.Name = "QuickScript (" ..game:service("Workspace").DistributedGameTime.. ")"
  341. local NewSource = Instance.new("StringValue")
  342. NewSource.Name = "NewSource"
  343. NewSource.Value = Source
  344. NewSource.Parent = NewScript
  345. if DebugEnabled == true then
  346. local Debug = Instance.new("IntValue")
  347. Debug.Name = "Debug"
  348. Debug.Parent = NewScript
  349. end
  350. NewScript.Parent = Parent
  351. end
  352. end
  353. CoolCMDs.Functions.Explode = function(Divider, Text)
  354. if Text == "" or Text == nil or type(Text) ~= "string" then return {} end
  355. if Divider == "" or Divider == nil or type(Divider) ~= "string" then return {Text} end
  356. local Position, Words = 0, {}
  357. for Start, Stop in function() return string.find(Text, Divider, Position, true) end do
  358. table.insert(Words, string.sub(Text, Position, Start - 1))
  359. Position = Stop + 1
  360. end
  361. table.insert(Words, string.sub(Text, Position))
  362. return Words
  363. end
  364. CoolCMDs.Functions.GetRecursiveChildren = function(Source, Name, SearchType, Children)
  365. if Source == nil then
  366. Source = game
  367. end
  368. if Name == nil or type(Name) ~= "string" then
  369. Name = ""
  370. end
  371. if Children == nil or type(Children) ~= "table" then
  372. Children = {}
  373. end
  374. for _, Child in pairs(Source:children()) do
  375. pcall(function()
  376. if (function()
  377. if SearchType == nil or SearchType == 1 then
  378. return string.match(Child.Name:lower(), Name:lower())
  379. elseif SearchType == 2 then
  380. return string.match(Child.className:lower(), Name:lower())
  381. elseif SearchType == 3 then
  382. return Child:IsA(Name) or Child:IsA(Name:lower())
  383. elseif SearchType == 4 then
  384. return string.match(Child.Name:lower() .. string.rep(string.char(1), 5) .. Child.className:lower(), Name:lower()) or Child:IsA(Name) or Child:IsA(Name:lower())
  385. end
  386. return false
  387. end)() then
  388. table.insert(Children, Child)
  389. end
  390. CoolCMDs.Functions.GetRecursiveChildren(Child, Name, SearchType, Children)
  391. end)
  392. end
  393. return Children
  394. end
  395. CoolCMDs.Functions.CatchMessage = function(Message, Speaker)
  396. if Message == nil or Speaker == nil then return end
  397. if string.sub(Message, 0, 4) == "/sc " then
  398. Message = string.sub(Message, 5)
  399. elseif string.sub(Message, 0, 5) == "lego " then
  400. Message = string.sub(Message, 6)
  401. elseif string.sub(Message, 0, 10) == "minecraft " then
  402. Message = string.sub(Message, 11)
  403. elseif string.sub(Message, 0, 10) == "runescape " then
  404. Message = string.sub(Message, 11)
  405. end
  406. for i = 1, #CoolCMDs.CommandHandles do
  407. if (function()
  408. if type(CoolCMDs.CommandHandles[i].Command) == "string" then
  409. if CoolCMDs.Functions.Explode(CoolCMDs.Data.SplitCharacter, Message)[1]:lower() == CoolCMDs.CommandHandles[i].Command:lower() then
  410. return true
  411. end
  412. elseif type(CoolCMDs.CommandHandles[i].Command) == "table" then
  413. for x = 1, #CoolCMDs.CommandHandles[i].Command do
  414. if CoolCMDs.Functions.Explode(CoolCMDs.Data.SplitCharacter, Message)[1]:lower() == CoolCMDs.CommandHandles[i].Command[x]:lower() then
  415. return true
  416. end
  417. end
  418. end
  419. return false
  420. end)() == true then
  421. if CoolCMDs.Functions.GetPlayerTable(Speaker.Name) ~= nil then
  422. if CoolCMDs.Functions.GetGroup(CoolCMDs.Functions.GetPlayerTable(Speaker.Name).Group) ~= nil then
  423. if CoolCMDs.Functions.GetGroup(CoolCMDs.Functions.GetPlayerTable(Speaker.Name).Group).Control >= CoolCMDs.CommandHandles[i].Control then
  424. local Message2 = ""
  425. for x = 2, #CoolCMDs.Functions.Explode(CoolCMDs.Data.SplitCharacter, Message) - 1 do
  426. Message2 = Message2 .. CoolCMDs.Functions.Explode(CoolCMDs.Data.SplitCharacter, Message)[x] .. CoolCMDs.Data.SplitCharacter
  427. end
  428. for x = #CoolCMDs.Functions.Explode(CoolCMDs.Data.SplitCharacter, Message), #CoolCMDs.Functions.Explode(CoolCMDs.Data.SplitCharacter, Message) do
  429. Message2 = Message2 .. CoolCMDs.Functions.Explode(CoolCMDs.Data.SplitCharacter, Message)[x]
  430. end
  431. pcall(function() if Message2 == CoolCMDs.CommandHandles[i].Command:lower() then Message2 = "" end end)
  432. pcall(function() for x = 1, #CoolCMDs.CommandHandles[i].Command do if Message2:lower() == CoolCMDs.CommandHandles[i].Command[x]:lower() then Message2 = "" end end end)
  433. local Message3 = nil
  434. for x = 1, #CoolCMDs.Functions.Explode(CoolCMDs.Data.SplitCharacter, Message2) do
  435. if Message3 == nil then Message3 = {} end
  436. table.insert(Message3, CoolCMDs.Functions.Explode(CoolCMDs.Data.SplitCharacter, Message2)[x])
  437. end
  438. if Message3 == nil then Message3 = {""} end
  439. CoolCMDs.CommandHandles[i].Trigger(Message2, Message3, Speaker, CoolCMDs.CommandHandles[i])
  440. else
  441. CoolCMDs.Functions.CreateMessage("Message", "This command is restricted.", 2.5, Speaker)
  442. wait(2.5)
  443. CoolCMDs.Functions.CreateMessage("Message", "Your control: " ..CoolCMDs.Functions.GetGroup(CoolCMDs.Functions.GetPlayerTable(Speaker.Name).Group).Control.. ". Required control: " ..CoolCMDs.CommandHandles[i].Control.. ".", 2.5, Speaker)
  444. end
  445. else
  446. CoolCMDs.Functions.GetPlayerTable(Speaker).Group = (function()
  447. local Max = math.huge
  448. for i = 1, #CoolCMDs.GroupHandles do
  449. if CoolCMDs.GroupHandles[i].Control < Max then
  450. Max = CoolCMDs.GroupHandles[i].Control
  451. end
  452. end
  453. return CoolCMDs.Functions.GetGroup(Max, "ByControl")
  454. end)()
  455. CoolCMDs.Functions.CreateMessage("Message", "An error has occurred.", 2.5, Speaker)
  456. wait(2.5)
  457. CoolCMDs.Functions.CreateMessage("Message", "You are not in a group.", 2.5, Speaker)
  458. wait(2.5)
  459. CoolCMDs.Functions.CreateMessage("Message", "You have been assigned to the group: \"" ..CoolCMDs.Functions.GetPlayerTable(Speaker).Group.. "\".", 2.5, Speaker)
  460. end
  461. end
  462. end
  463. end
  464. end
  465.  
  466. CoolCMDs.Functions.CreateGroup("guest", 5, "Guest", "The guest group has no privilages.")
  467. CoolCMDs.Functions.CreateGroup("pguest", 5, "Privilaged Guest", "A privilaged guest has a few abilities.")
  468. CoolCMDs.Functions.CreateGroup("miniadmin", 5, "Mini-Administrator", "The Mini-Administrator group can only use some low-level commands.")
  469. CoolCMDs.Functions.CreateGroup("admin", 5, "Administrator", "The Administrator group can use most commands.")
  470. CoolCMDs.Functions.CreateGroup("superadmin", 5, "Super Administrator", "The Super Administrator group can use all commands.")
  471.  
  472. CoolCMDs.Functions.CreateModule("GuiSupport", function(Self, Message)
  473. function Self.WindowDisappear(Window, Factor)
  474. for _, Children in pairs(Window:children()) do
  475. pcall(function() Children.BackgroundTransparency = Factor end)
  476. pcall(function() Children.TextTransparency = Factor end)
  477. Self.WindowDisappear(Children, Factor)
  478. end
  479. end
  480. function Self.WindowEffect(Window, Format, ...)
  481. Args = {...}
  482. if Window == nil then return false end
  483. if Format == 1 or Format == "FadeIn" then
  484. for i = 1, 0, Args[1] == nil and -0.075 or -math.abs(Args[1]) do
  485. Window.Size = Window.Size - UDim2.new(0, 2, 0, 2)
  486. Window.Position = Window.Position + UDim2.new(0, 1, 0, 1)
  487. end
  488. for i = 1, 0, Args[1] == nil and -0.075 or -math.abs(Args[1]) do
  489. Window.Size = Window.Size + UDim2.new(0, 2, 0, 2)
  490. Window.Position = Window.Position - UDim2.new(0, 1, 0, 1)
  491. Self.WindowDisappear(Window, i)
  492. wait()
  493. end
  494. Self.WindowDisappear(Window, 0)
  495. elseif Format == 2 or Format == "FadeOut" then
  496. if Args[2] == true then
  497. local NewWindow = Window:Clone()
  498. local function CleanGui(Child)
  499. for _, Part in pairs(Child:children()) do
  500. if not Part:IsA("GuiObject") then
  501. pcall(function() Part.Disabled = true end)
  502. Part:Remove()
  503. else
  504. pcall(function() Part.Active = false end)
  505. pcall(function() Part.AutoButtonColor = false end)
  506. CleanGui(Part)
  507. end
  508. end
  509. end
  510. CleanGui(NewWindow)
  511. NewWindow.Parent = Window.Parent
  512. Window:Remove()
  513. Window = NewWindow
  514. NewWindow = nil
  515. end
  516. for i = 0, 1, Args[1] == nil and 0.05 or math.abs(Args[1]) do
  517. Window.Size = Window.Size + UDim2.new(0, 5, 0, 5)
  518. Window.Position = Window.Position - UDim2.new(0, 5 / 2, 0, 5 / 2)
  519. Self.WindowDisappear(Window, i)
  520. wait()
  521. end
  522. for i = 0, 1, Args[1] == nil and 0.05 or math.abs(Args[1]) do
  523. Window.Size = Window.Size - UDim2.new(0, 5, 0, 5)
  524. Window.Position = Window.Position + UDim2.new(0, 5 / 2, 0, 5 / 2)
  525. end
  526. Self.WindowDisappear(Window, 1)
  527. if Args[2] == true then
  528. Window:Remove()
  529. end
  530. elseif Format == 3 or Format == "SimpleSlide" then
  531. local OldPos = Window.Position
  532. if Args[1] == nil then return false end
  533. for i = 0, 1, Args[2] == nil and 0.05 or Args[2] do
  534. Window.Position = UDim2.new(OldPos.X.Scale * (1 - i), OldPos.X.Offset * (1 - i), OldPos.Y.Scale * (1 - i), OldPos.Y.Offset * (1 - i)) + UDim2.new(Args[1].X.Scale * i, Args[1].X.Offset * i, Args[1].Y.Scale * i, Args[1].Y.Offset * i)
  535. wait()
  536. end
  537. Window.Position = Args[1]
  538. elseif Format == 4 or Format == "SmoothSlide" then
  539. local OldPos = Window.Position
  540. if Args[1] == nil then return false end
  541. while true do
  542. local XS = Args[1].X.Offset - OldPos.X.Scale
  543. local XO = Args[1].X.Offset - OldPos.X.Offset
  544. local YS = Args[1].Y.Offset - OldPos.Y.Scale
  545. local YO = Args[1].Y.Offset - OldPos.Y.Offset
  546. XO = (XO / (Args[2] == nil and 5 or Args[2]))
  547. YO = (YO / (Args[2] == nil and 5 or Args[2]))
  548. if math.abs(XO) < 0.5 and math.abs(YO) < 0.5 then break end
  549. Window.Position = UDim2.new(OldPos.X.Scale, OldPos.X.Offset + XO, OldPos.Y.Scale, OldPos.Y.Offset + YO)
  550. OldPos = UDim2.new(OldPos.X.Scale, OldPos.X.Offset + XO, OldPos.Y.Scale, OldPos.Y.Offset + YO)
  551. wait()
  552. end
  553. Window.Position = Args[1]
  554. end
  555. return true
  556. end
  557. function Self.WindowCreate(WindowPosition, WindowSize, WindowParent, WindowName, WindowFadeIn, WindowFadeOut, WindowCanExit, WindowCanMinimize, WindowCanMaximize, WindowCanResize, WindowCanMove, WindowExitFunction, WindowMinimumSize)
  558. if WindowPosition == nil then WindowPosition = UDim2.new(0, 0, 0, 0) end
  559. if WindowSize == nil then WindowSize = UDim2.new(0, 300, 0, 175) end
  560. if WindowCanClose == nil then WindowCanClose = true end
  561. if WindowCanMinimize == nil then WindowCanMinimize = true end
  562. if WindowCanMaximize == nil then WindowCanMaximize = true end
  563. if WindowCanResize == nil then WindowCanResize = true end
  564. if WindowCanMove == nil then WindowCanMove = true end
  565. if WindowName == nil then WindowName = "Window" end
  566. if WindowMinimumSize == nil then WindowMinimumSize = UDim2.new(0, 100, 0, 100) end
  567. local WindowMoveXScale = 0
  568. local WindowMoveYScale = 0
  569. local WindowMoveXOffset = 0
  570. local WindowMoveYOffset = 0
  571. local WindowMoveXMouse = 0
  572. local WindowMoveYMouse = 0
  573. local WindowResizeXScale = 0
  574. local WindowResizeYScale = 0
  575. local WindowResizeXOffset = 0
  576. local WindowResizeYOffset = 0
  577. local WindowResizeXMouse = 0
  578. local WindowResizeYMouse = 0
  579. local WindowMove = false
  580. local WindowIsMinimized = false
  581. local WindowMinimizedPosition = nil
  582. local WindowMinimizedSize = nil
  583. local WindowUnminimizedText = nil
  584. local WindowResize = false
  585. local WindowMaximizedDelay = false
  586. local WindowIsMaximized = false
  587. local WindowUnmaximizedPosition = nil
  588. local WindowUnmaximizedSize = nil
  589. local Window = Instance.new("Frame")
  590. Window.Name = WindowName
  591. Window.Size = WindowSize
  592. Window.Position = WindowPosition
  593. Window.BorderSizePixel = 0
  594. Window.BackgroundTransparency = 1
  595. Window.Parent = WindowParent
  596. local WindowTitleBar = Instance.new("TextButton")
  597. WindowTitleBar.Name = "TitleBar"
  598. WindowTitleBar.Size = UDim2.new(1, 0, 0, 25)
  599. WindowTitleBar.BackgroundColor3 = Color3.new(0.1, 0.1, 0.9)
  600. WindowTitleBar.BorderColor3 = Color3.new(0, 0, 0)
  601. WindowTitleBar.AutoButtonColor = false
  602. WindowTitleBar.Changed:connect(function(Property)
  603. if Property == "Text" then
  604. if string.sub(WindowTitleBar.Text, 0, 5) ~= string.rep(" ", 5) then
  605. WindowTitleBar.Text = string.rep(" ", 5) ..WindowTitleBar.Text
  606. end
  607. end
  608. end)
  609. WindowTitleBar.Text = WindowName
  610. WindowTitleBar.TextColor3 = Color3.new(1, 1, 1)
  611. WindowTitleBar.TextWrap = true
  612. WindowTitleBar.TextXAlignment = "Left"
  613. WindowTitleBar.FontSize = "Size14"
  614. WindowTitleBar.Parent = Window
  615. WindowTitleBar.MouseButton1Down:connect(function(x, y)
  616. if WindowIsMinimized == true or WindowIsMaximized == true or WindowCanMove == false then return false end
  617. WindowMoveXScale = Window.Position.X.Scale
  618. WindowMoveYScale = Window.Position.Y.Scale
  619. WindowMoveXOffset = Window.Position.X.Offset
  620. WindowMoveYOffset = Window.Position.Y.Offset
  621. WindowMoveXMouse = x - WindowMoveXOffset
  622. WindowMoveYMouse = y - WindowMoveYOffset
  623. WindowMove = true
  624. end)
  625. WindowTitleBar.MouseMoved:connect(function(x, y)
  626. if WindowMove == true then
  627. Window.Position = UDim2.new(WindowMoveXScale, x - WindowMoveXMouse, WindowMoveYScale, y - WindowMoveYMouse)
  628. end
  629. end)
  630. WindowTitleBar.MouseButton1Up:connect(function() WindowMove = false end)
  631. WindowTitleBar.MouseLeave:connect(function() WindowMove = false end)
  632. WindowTitleBar.Changed:connect(function(Property)
  633. if Property == "Text" then
  634. if string.sub(WindowTitleBar.Text, 0, 5) ~= string.rep(" ", 5) then
  635. WindowTitleBar.Text = string.rep(" ", 5) .. WindowTitleBar.Text
  636. end
  637. end
  638. end)
  639. WindowIcon = Instance.new("ImageLabel")
  640. WindowIcon.Name = "Icon"
  641. WindowIcon.Size = UDim2.new(0, 16, 0, 16)
  642. WindowIcon.Position = UDim2.new(0, 16 / 4, 0, 16 / 4)
  643. WindowIcon.BackgroundColor3 = Color3.new(0.1, 0.1, 0.9)
  644. WindowIcon.BorderSizePixel = 0
  645. WindowIcon.BackgroundTransparency = 1
  646. WindowIcon.Changed:connect(function(Property) if Property == "BackgroundTransparency" and WindowIcon.BackgroundTransparency ~= 1 then WindowIcon.BackgroundTransparency = 1 wait() WindowIcon.BackgroundTransparency = 1 end end)
  647. WindowIcon.Parent = Window
  648. local WindowExitButton = Instance.new("TextButton")
  649. WindowExitButton.Name = "ExitButton"
  650. WindowExitButton.Size = UDim2.new(0, 55, 0, 12.5)
  651. WindowExitButton.Position = UDim2.new(1, -WindowExitButton.Size.X.Offset, 0, 0)
  652. WindowExitButton.BackgroundColor3 = WindowCanExit == false and Color3.new(0.5, 0.25, 0.25) or Color3.new(1, 0, 0)
  653. WindowExitButton.BorderColor3 = Color3.new(0, 0, 0)
  654. WindowExitButton.Text = "Close"
  655. WindowExitButton.TextColor3 = Color3.new(0, 0, 0)
  656. WindowExitButton.TextWrap = false
  657. WindowExitButton.Parent = Window
  658. WindowExitButton.MouseButton1Up:connect(function()
  659. if WindowCanExit == false then return false end
  660. if WindowExitFunction ~= nil then
  661. WindowExitFunction(Window)
  662. else
  663. if WindowFadeOut == true then
  664. Self.WindowEffect(Window, 2)
  665. end
  666. Window:Remove()
  667. end
  668. end)
  669. local WindowMinimizeButton = Instance.new("TextButton")
  670. WindowMinimizeButton.Name = "MinimizeButton"
  671. WindowMinimizeButton.Size = UDim2.new(0, 55, 0, 12.5)
  672. WindowMinimizeButton.Position = UDim2.new(1, -WindowMinimizeButton.Size.X.Offset, 0, WindowMinimizeButton.Size.Y.Offset + 1)
  673. WindowMinimizeButton.BackgroundColor3 = WindowCanMinimize == false and Color3.new(0.25, 0.25, 0.25) or Color3.new(0.5, 0.5, 0.5)
  674. WindowMinimizeButton.BorderColor3 = Color3.new(0, 0, 0)
  675. WindowMinimizeButton.Text = "- Minimize"
  676. WindowMinimizeButton.TextColor3 = Color3.new(0, 0, 0)
  677. WindowMinimizeButton.TextWrap = false
  678. WindowMinimizeButton.Parent = Window
  679. WindowMinimizeButton.MouseButton1Up:connect(function()
  680. if WindowCanMinimize == false then return false end
  681. if WindowIsMinimized == false then
  682. WindowIsMinimized = true
  683. WindowMinimizeButton.Text = "+ Maximize"
  684. WindowUnminimizedPosition = Window.Position
  685. WindowUnminimizedSize = Window.Size
  686. WindowUnminimizedText = Window.TitleBar.Text
  687. Window.Position = UDim2.new(0, 0, 1, -45)
  688. Window.Size = UDim2.new(0, 175, 0, 25)
  689. Window.TitleBar.Text = string.sub(Window.TitleBar.Text, 0, 8).. "..."
  690. Window.Content.Position = Window.Content.Position + UDim2.new(0, 100000, 0, 0)
  691. Window.StatusBar.Position = Window.StatusBar.Position + UDim2.new(0, 100000, 0, 0)
  692. Window.ResizeButton.Position = Window.ResizeButton.Position + UDim2.new(0, 100000, 0, 0)
  693. else
  694. WindowIsMinimized = false
  695. WindowMinimizeButton.Text = "- Minimize"
  696. Window.Position = WindowUnminimizedPosition
  697. Window.Size = WindowUnminimizedSize
  698. Window.TitleBar.Text = WindowUnminimizedText
  699. Window.Content.Position = Window.Content.Position - UDim2.new(0, 100000, 0, 0)
  700. Window.StatusBar.Position = Window.StatusBar.Position - UDim2.new(0, 100000, 0, 0)
  701. Window.ResizeButton.Position = Window.ResizeButton.Position - UDim2.new(0, 100000, 0, 0)
  702. end
  703. end)
  704. local WindowContent = Instance.new("Frame")
  705. WindowContent.Name = "Content"
  706. WindowContent.Size = UDim2.new(1, 0, 1, -45)
  707. WindowContent.Position = UDim2.new(0, 0, 0, 25)
  708. WindowContent.BackgroundColor3 = Color3.new(0.5, 0.5, 0.5)
  709. WindowContent.BorderColor3 = Color3.new(0, 0, 0)
  710. WindowContent.Parent = Window
  711. local WindowStatusBar = Instance.new("TextLabel")
  712. WindowStatusBar.Name = "StatusBar"
  713. WindowStatusBar.Size = UDim2.new(1, 0, 0, 20)
  714. WindowStatusBar.Position = UDim2.new(0, 0, 1, -WindowStatusBar.Size.Y.Offset)
  715. WindowStatusBar.BackgroundColor3 = Color3.new(0.5, 0.5, 0.5)
  716. WindowStatusBar.BorderColor3 = Color3.new(0, 0, 0)
  717. WindowStatusBar.Changed:connect(function(Property)
  718. if Property == "Text" then
  719. if string.sub(WindowStatusBar.Text, 0, 1) ~= " " then
  720. WindowStatusBar.Text = " " ..WindowStatusBar.Text
  721. end
  722. end
  723. end)
  724. WindowStatusBar.Text = ""
  725. WindowStatusBar.TextColor3 = Color3.new(1, 1, 1)
  726. WindowStatusBar.TextWrap = true
  727. WindowStatusBar.TextXAlignment = "Left"
  728. WindowStatusBar.Parent = Window
  729. local WindowResizeButton = Instance.new("TextButton")
  730. WindowResizeButton.Name = "ResizeButton"
  731. WindowResizeButton.Size = UDim2.new(0, 20, 0, 20)
  732. WindowResizeButton.Position = UDim2.new(1, -WindowResizeButton.Size.X.Offset, 1, -WindowResizeButton.Size.Y.Offset)
  733. WindowResizeButton.BackgroundColor3 = WindowCanResize == false and Color3.new(0.25, 0.25, 0.25) or Color3.new(0.5, 0.5, 0.5)
  734. WindowResizeButton.BorderColor3 = Color3.new(0, 0, 0)
  735. WindowResizeButton.BorderSizePixel = 1
  736. WindowResizeButton.AutoButtonColor = false
  737. WindowResizeButton.Text = "< >"
  738. WindowResizeButton.TextColor3 = Color3.new(0, 0, 0)
  739. WindowResizeButton.TextWrap = false
  740. WindowResizeButton.Parent = Window
  741. WindowResizeButton.MouseButton1Down:connect(function(x, y)
  742. if WindowCanResize == false then return false end
  743. if WindowMaximizedDelay == true then
  744. WindowMaximizedDelay = false
  745. if WindowIsMaximized == false then
  746. WindowIsMaximized = true
  747. WindowResizeButton.Text = "> <"
  748. WindowUnmaximizedPosition = Window.Position
  749. WindowUnmaximizedSize = Window.Size
  750. Window.Position = UDim2.new(0, 0, 0, 0)
  751. Window.Size = UDim2.new(1, 0, 1, 20)
  752. else
  753. WindowIsMaximized = false
  754. WindowResizeButton.Text = "< >"
  755. Window.Position = WindowUnmaximizedPosition
  756. Window.Size = WindowUnmaximizedSize
  757. end
  758. end
  759. if WindowCanMaximize == true then
  760. WindowMaximizedDelay = true
  761. delay(0.5, function() WindowMaximizedDelay = false end)
  762. end
  763. if WindowIsMinimized == true or WindowIsMaximized == true then return false end
  764. WindowResizeXScale = Window.Size.X.Scale
  765. WindowResizeYScale = Window.Size.Y.Scale
  766. WindowResizeXOffset = Window.Size.X.Offset
  767. WindowResizeYOffset = Window.Size.Y.Offset
  768. WindowResizeXMouse = x - WindowResizeXOffset
  769. WindowResizeYMouse = y - WindowResizeYOffset
  770. WindowResize = true
  771. end)
  772. WindowResizeButton.MouseMoved:connect(function(x, y)
  773. if WindowResize == true then
  774. Window.Size = UDim2.new(WindowResizeXScale, x - WindowResizeXMouse, WindowResizeYScale, y - WindowResizeYMouse)
  775. if Window.Size.X.Scale < WindowMinimumSize.X.Scale then Window.Size = UDim2.new(WindowMinimumSize.X.Scale, Window.Size.X.Offset, Window.Size.Y.Scale, Window.Size.Y.Offset) end
  776. if Window.Size.X.Offset < WindowMinimumSize.X.Offset then Window.Size = UDim2.new(Window.Size.X.Scale, WindowMinimumSize.X.Offset, Window.Size.Y.Scale, Window.Size.Y.Offset) end
  777. if Window.Size.Y.Scale < WindowMinimumSize.Y.Scale then Window.Size = UDim2.new(Window.Size.X.Scale, Window.Size.X.Offset, WindowMinimumSize.Y.Scale, Window.Size.Y.Offset) end
  778. if Window.Size.Y.Offset < WindowMinimumSize.Y.Offset then Window.Size = UDim2.new(Window.Size.X.Scale, Window.Size.X.Offset, Window.Size.Y.Scale, WindowMinimumSize.Y.Offset) end
  779. end
  780. end)
  781. WindowResizeButton.MouseButton1Up:connect(function() WindowResize = false
  782. end)
  783. WindowResizeButton.MouseLeave:connect(function() WindowResize = false end)
  784. coroutine.wrap(function() if WindowFadeIn == true then Self.WindowEffect(Window, 1) end end)()
  785. return Window
  786. end
  787. Self.WindowControls = {}
  788. Self.WindowControls.TabFrame = {}
  789. function Self.WindowControls.TabFrame.New(NumTabs)
  790. if NumTabs == nil or NumTabs <= 0 then NumTabs = 1 end
  791. local TabFrame = Instance.new("Frame")
  792. TabFrame.Name = "TabFrame"
  793. TabFrame.Size = UDim2.new(1, 0, 0, 25)
  794. local TabInstance = Instance.new("TextButton")
  795. TabInstance.Name = "Tab"
  796. TabInstance.Text = "Tab"
  797. TabInstance.BackgroundColor3 = Color3.new(0.4, 0.4, 0.4)
  798. TabInstance.TextColor3 = Color3.new(0, 0, 0)
  799. TabInstance.TextWrap = true
  800. for i = 0, NumTabs - 1 do
  801. local Tab = TabInstance:Clone()
  802. Tab.Name = TabInstance.Name .. tostring(i + 1)
  803. Tab.Position = UDim2.new(i / NumTabs, 0, 0.2, 0)
  804. Tab.Size = UDim2.new(1 / NumTabs, 0, 0.8, 0)
  805. Tab.Parent = TabFrame
  806. Tab.MouseButton1Up:connect(function()
  807. Self.WindowControls.TabFrame.SelectTab(TabFrame, i + 1)
  808. end)
  809. end
  810. return TabFrame
  811. end
  812. function Self.WindowControls.TabFrame.SelectTab(Frame, Tab)
  813. local NewTab = Frame["Tab" ..Tab]
  814. if NewTab ~= nil then
  815. for _, Tabs in pairs(Frame:children()) do
  816. Tabs.BackgroundColor3 = Color3.new(0.4, 0.4, 0.4)
  817. Tabs.Position = UDim2.new(Tabs.Position.X.Scale, 0, 0.2, 0)
  818. Tabs.Size = UDim2.new(Tabs.Size.X.Scale, 0, 0.8, 0)
  819. end
  820. NewTab.BackgroundColor3 = Color3.new(0.6, 0.6, 0.6)
  821. NewTab.Position = UDim2.new(NewTab.Position.X.Scale, 0, 0, 0)
  822. NewTab.Size = UDim2.new(NewTab.Size.X.Scale, 0, 1, 0)
  823. return true
  824. else
  825. return false
  826. end
  827. end
  828. function Self.WindowControls.TabFrame.GetSelectedTab(Frame)
  829. for _, Tabs in pairs(Frame:children()) do
  830. if Tabs.Size.Y.Scale >= 1 then
  831. return Tabs, true
  832. end
  833. end
  834. return nil, false
  835. end
  836. Self.WindowControls.CheckBox = {}
  837. function Self.WindowControls.CheckBox.New(IsOn)
  838. local IsOn = IsOn == nil and false or IsOn
  839. local CheckBox = Instance.new("TextButton")
  840. CheckBox.Name = "CheckBox"
  841. CheckBox.Text = IsOn == true and "X" or ""
  842. CheckBox.Size = UDim2.new(0, 15, 0, 15)
  843. CheckBox.BackgroundColor3 = Color3.new(0.75, 0.75, 0.75)
  844. CheckBox.TextColor3 = Color3.new(0, 0, 0)
  845. CheckBox.MouseButton1Up:connect(function()
  846. IsOn = not IsOn
  847. Self.WindowControls.CheckBox.SelectCheckBox(CheckBox, IsOn)
  848. end)
  849. return CheckBox
  850. end
  851. function Self.WindowControls.CheckBox.SelectCheckBox(Box, IsOn)
  852. if IsOn == false then
  853. Box.Text = ""
  854. return false
  855. elseif IsOn == true then
  856. Box.Text = "X"
  857. return true
  858. end
  859. end
  860. function Self.WindowControls.CheckBox.ToggleCheckBox(Box, IsOn)
  861. if Box.Text == "X" then
  862. Box.Text = ""
  863. return false
  864. else
  865. Box.Text = "X"
  866. return true
  867. end
  868. end
  869. function Self.WindowControls.CheckBox.GetCheckBoxState(Box) return Box.Text == "X" and true or false end
  870. Self.WindowControls.ListFrame = {}
  871. function Self.WindowControls.ListFrame.New()
  872. local ListFrame = Instance.new("Frame")
  873. ListFrame.Name = "ListFrame"
  874. ListFrame.BackgroundColor3 = Color3.new(0.75, 0.75, 0.75)
  875. ListFrame.BorderColor3 = Color3.new(0, 0, 0)
  876. local ListIndex = Instance.new("IntValue")
  877. ListIndex.Name = "ListIndex"
  878. ListIndex.Value = 0
  879. ListIndex.Parent = ListFrame
  880. return ListFrame
  881. end
  882. function Self.WindowControls.ListFrame.ListUpdate(ListFrame, ListContent, ListType, ChangeIndex, ChangeOption)
  883. local TotalTags = math.floor((ListFrame.AbsoluteSize.Y - 20) / 20)
  884. local ListIndex = ListFrame.ListIndex.Value
  885. if ChangeIndex ~= nil then
  886. if ChangeOption == "page" then
  887. ListIndex = ListIndex + math.floor((TotalTags + 1) * ChangeIndex)
  888. elseif ChangeOption == "set" or ChangeOption == nil then
  889. ListIndex = ChangeIndex
  890. end
  891. end
  892. if ListIndex > #ListContent then ListIndex = ListFrame.ListIndex.Value end
  893. if ListIndex < 1 then ListIndex = 1 end
  894. for _, Tag in pairs(ListFrame:children()) do
  895. if string.match(Tag.Name, "Tag") then Tag:Remove() end
  896. end
  897. for i = ListIndex, ListIndex + TotalTags do
  898. if i > #ListContent then break end
  899. local Parts = CoolCMDs.Functions.Explode("\t", ListContent[i])
  900. local Tag = Instance.new("TextButton")
  901. Tag.Name = "Tag" ..i
  902. Tag.AutoButtonColor = false
  903. Tag.Text = ""
  904. Tag.BackgroundColor3 = Color3.new(0.75, 0.75, 0.75)
  905. Tag.BorderColor3 = Color3.new(0, 0, 0)
  906. Tag.Size = UDim2.new(1, 0, 0, 20)
  907. Tag.Position = UDim2.new(0, 0, 0, 20 * (i - ListIndex))
  908. Tag.Parent = ListFrame
  909. if ListType == nil or ListType == 1 then
  910. Tag.MouseEnter:connect(function()
  911. for _, Table in pairs(Tag:children()) do
  912. Table.BackgroundColor3 = Color3.new(0.5, 0.5, 0.5)
  913. end
  914. end)
  915. Tag.MouseLeave:connect(function()
  916. for _, Table in pairs(Tag:children()) do
  917. Table.BackgroundColor3 = Color3.new(0.75, 0.75, 0.75)
  918. end
  919. end)
  920. Tag.MouseButton1Down:connect(function()
  921. for _, Table in pairs(Tag:children()) do
  922. Table.BackgroundColor3 = Color3.new(0.4, 0.4, 0.4)
  923. end
  924. end)
  925. Tag.MouseButton1Up:connect(function()
  926. for _, Table in pairs(Tag:children()) do
  927. Table.BackgroundColor3 = Color3.new(0.5, 0.5, 0.5)
  928. end
  929. end)
  930. end
  931. for x = 1, #Parts do
  932. local Table = Instance.new("TextButton")
  933. Table.Name = "Table" ..x
  934. Table.AutoButtonColor = false
  935. Table.Position = UDim2.new((x - 1) / #Parts, 0, 0, 0)
  936. Table.Size = UDim2.new(1 / #Parts, 0, 1, 0)
  937. Table.Changed:connect(function(Property)
  938. if Property == "Text" then
  939. if string.sub(Table.Text, 0, 5) ~= string.rep(" ", 1) then
  940. Table.Text = string.rep(" ", 1) ..Table.Text
  941. end
  942. end
  943. end)
  944. Table.Text = Parts[x]
  945. Table.TextXAlignment = "Left"
  946. Table.TextWrap = true
  947. Table.TextColor3 = Color3.new(0, 0, 0)
  948. Table.BorderSizePixel = 1
  949. Table.BackgroundColor3 = Color3.new(0.75, 0.75, 0.75)
  950. Table.BorderColor3 = Color3.new(0, 0, 0)
  951. Table.Parent = Tag
  952. if ListType == 2 then
  953. Table.MouseEnter:connect(function()
  954. Table.BackgroundColor3 = Color3.new(0.5, 0.5, 0.5)
  955. end)
  956. Table.MouseLeave:connect(function()
  957. Table.BackgroundColor3 = Color3.new(0.75, 0.75, 0.75)
  958. end)
  959. Table.MouseButton1Down:connect(function()
  960. Table.BackgroundColor3 = Color3.new(0.4, 0.4, 0.4)
  961. end)
  962. Table.MouseButton1Up:connect(function()
  963. Table.BackgroundColor3 = Color3.new(0.5, 0.5, 0.5)
  964. end)
  965. end
  966. end
  967. end
  968. ListFrame.ListIndex.Value = ListIndex
  969. end
  970. local WindowExitFunction = function(Window)
  971. coroutine.wrap(function()
  972. CoolCMDs.Functions.GetModule("GuiSupport").WindowEffect(Window, 4, UDim2.new(0.5, -250 / 2, 0, -120))
  973. pcall(function() Window.Parent:Remove() end)
  974. end)()
  975. end
  976. return true
  977. end, function(Self, Message)
  978. Self.WindowDisappear = nil
  979. Self.WindowEffect = nil
  980. Self.WindowCreate = nil
  981. return true
  982. end, "Windows-like Gui support.")
  983.  
  984. CoolCMDs.Functions.CreateModule("AutoAdmin", function(Self, Message)
  985. pcall(function() while CoolCMDs.Functions.GetCommand("admin") do CoolCMDs.Functions.RemoveCommand("autoadmin") end end)
  986. CoolCMDs.Functions.CreateCommand({"administration", "admin", "a", "autoadmin", "aa"}, 1, function(Message, MessageSplit, Speaker, Self)
  987. local AA = CoolCMDs.Functions.GetModule("AutoAdmin")
  988. if AA == nil then
  989. CoolCMDS.Functions.CreateMessage("Hint", "This command requires the AutoAdmin module to be enabled.", 5, Speaker)
  990. return
  991. end
  992. if AA.Enabled == false then
  993. CoolCMDS.Functions.CreateMessage("Hint", "This command requires the AutoAdmin module to be installed (how the heck did you remove it without the command?!).", 5, Speaker)
  994. return
  995. end
  996. if MessageSplit[1]:lower() == "set" then
  997. if #MessageSplit <= 2 then return end
  998. if CoolCMDs.Functions.GetGroup(MessageSplit[#MessageSplit]) == nil then
  999. CoolCMDs.Functions.CreateMessage("Hint", "[AutoAdmin] Unknown group \"" ..MessageSplit[#MessageSplit].. "\".", 2.5, Speaker)
  1000. return
  1001. end
  1002. for i = 2, #MessageSplit - 1 do
  1003. for x = 1, #CoolCMDs.Players do
  1004. if string.match(CoolCMDs.Players[x].Name, MessageSplit[i]) then
  1005. CoolCMDs.Players[x].Group = MessageSplit[#MessageSplit]
  1006. end
  1007. end
  1008. end
  1009. CoolCMDs.Functions.CreateMessage("Hint", "[AutoAdmin] Set.", 2.5, Speaker)
  1010. end
  1011. if MessageSplit[1]:lower() == "add" then
  1012. if #MessageSplit <= 2 then return end
  1013. if CoolCMDs.Functions.GetGroup(MessageSplit[#MessageSplit]) == nil then
  1014. CoolCMDs.Functions.CreateMessage("Hint", "[AutoAdmin] Unknown group \"" ..MessageSplit[#MessageSplit].. "\".", 2.5, Speaker)
  1015. return
  1016. end
  1017. for i = 2, #MessageSplit - 1 do
  1018. table.insert(AA.Players, MessageSplit[i].. ", " ..MessageSplit[#MessageSplit])
  1019. if CoolCMDs.Functions.GetPlayerTable(MessageSplit[i]) ~= nil then
  1020. CoolCMDs.Functions.GetPlayerTable(MessageSplit[i]).Group = MessageSplit[#MessageSplit]
  1021. end
  1022. end
  1023. CoolCMDs.Functions.CreateMessage("Hint", "[AutoAdmin] Added.", 2.5, Speaker)
  1024. end
  1025. if MessageSplit[1]:lower() == "remove" then
  1026. for i = 2, #MessageSplit do
  1027. for x = 1, #AA.Players do
  1028. local BreakPosition = string.find(MessageSplit[i], ", ")
  1029. local FoundStart, FoundEnd = string.find(AA.Players[x]:lower(), MessageSplit[i]:lower())
  1030. if FoundStart ~= nil and FoundEnd ~= nil then
  1031. if FoundEnd < BreakPosition then
  1032. if CoolCMDs.Functions.GetPlayerTable(CoolCMDs.Functions.Explode(", ", AA.Players[x])[1]) ~= nil then
  1033. CoolCMDs.Functions.GetPlayerTable(CoolCMDs.Functions.Explode(", ", AA.Players[x])[1]).Group = CoolCMDs.Functions.GetLowestGroup()
  1034. end
  1035. table.remove(AA.Players, x)
  1036. end
  1037. end
  1038. end
  1039. end
  1040. CoolCMDs.Functions.CreateMessage("Hint", "[AutoAdmin] Removed.", 2.5, Speaker)
  1041. end
  1042. if MessageSplit[1]:lower() == "remove all" then
  1043. local OldGroup = CoolCMDs.Functions.GetGroup(CoolCMDs.Functions.GetPlayerTable(Speaker).Group)
  1044. AA.Players = {Speaker.Name.. ", " ..OldGroup} print("DDDD0")
  1045. for i = 1, #CoolCMDs.Players do print("DDDD1")
  1046. if CoolCMDs.Players[i].Name ~= Speaker.Name then print("DDDD2")
  1047. CoolCMDs.Players[i].Group = CoolCMDs.Functions.GetLowestGroup()
  1048. end
  1049. end
  1050. CoolCMDs.Functions.CreateMessage("Hint", "[AutoAdmin] Removed all entries, added entry of \"" ..Speaker.Name.. "\" with group \"" ..OldGroup.FullName.. "\".", 2.5, Speaker)
  1051. end
  1052. end, "Group Controller", "Control player groups and the AutoAdmin module.", "set, add, remove" ..CoolCMDs.Data.SplitCharacter.. "player" ..CoolCMDs.Data.SplitCharacter.. "[...], remove all")
  1053. if Self.Players == nil then
  1054. Self.Players = {""}
  1055. end
  1056. local Check = function(Player, Show)
  1057. wait()
  1058. if Player == nil then return false end
  1059. if not Player:IsA("Player") then return false end
  1060. if CoolCMDs.Functions.GetPlayerTable(Player.Name) ~= nil then
  1061. for i = 1, #Self.Players do
  1062. if Player.Name == CoolCMDs.Functions.Explode(", ", Self.Players[i])[1] then
  1063. CoolCMDs.Functions.GetPlayerTable(Player.Name).Group = CoolCMDs.Functions.Explode(", ", Self.Players[i])[2]
  1064. if type(Show) ~= "" then
  1065. Show.Text = "Player \"" ..Player.Name.. "\" is now in the group \"" ..CoolCMDs.Functions.GetGroup(CoolCMDs.Functions.GetPlayerTable(Player.Name).Group).FullName.. "\"."
  1066. elseif Show == true then
  1067. wait(1)
  1068. CoolCMDs.Functions.CreateMessage("Hint", "You are now in the group \"" ..CoolCMDs.Functions.GetGroup(CoolCMDs.Functions.GetPlayerTable(Player.Name).Group).FullName.. "\".", 5, Player)
  1069. end
  1070. end
  1071. end
  1072. end
  1073. end
  1074. Self.CheckForAutoAdmin = game:service("Players").ChildAdded:connect(function(Player) Check(Player, true) end)
  1075. for _, Player in pairs(game:service("Players"):GetPlayers()) do
  1076. Message.Text = "Running linking function \"Check\" on player \"" ..Player.Name.. "\"..."
  1077. wait()
  1078. Message.Text = "Player \"" ..Player.Name.. "\" has no status."
  1079. Check(Player, Message)
  1080. wait()
  1081. end
  1082. return true
  1083. end, function(Self, Message)
  1084. if Self.CheckForAutoAdmin ~= nil then Self.CheckForAutoAdmin:disconnect() end
  1085. Self.CheckForAutoAdmin = nil
  1086. return true
  1087. end, "Automatically gives the table of players a special group.")
  1088.  
  1089. CoolCMDs.Functions.CreateModule("RobloxProperties", function(Self, Message)
  1090. Self.PropertiesGlobal = {"Name", "className", "Parent", "archivable"}
  1091. Self.Properties = {"AttachmentForward", "AttachmentPos", "AttachmentRight", "AttachmentUp", "AnimationId", "Adornee", "Axes", "Color", "Visible", "Transparency", "Texture", "TextureId", "Anchored", "BackParamA", "BackParamB", "BackSurface", "BackSurfaceInput", "BottomParamA", "BottomParamB", "BottomSurface", "BottomSurfaceInput", "BrickColor", "CFrame", "CanCollide", "Elasticity", "Friction", "FrontParamA", "FrontParamB", "FrontSurface", "FrontSurfaceInput", "LeftParamA", "LeftParamB", "LeftSurface", "LeftSurfaceInput", "Locked", "Material", "Position", "Reflectance", "ResizeIncrement", "ResizeableFaces", "RightParamA", "RightParamB", "RightSurface", "RightSurfaceInput", "RotVelocity", "Size", "TopParamA", "TopParamB", "TopSurface", "TopSurfaceInput", "Velocity", "AbsolutePosition", "AbsoluteSize", "Active", "Enabled", "ExtentsOffset", "SizeOffset", "StudsOffset", "Scale", "VertexColor", "Offset", "P", "D", "angularVelocity", "maxTorque", "HeadColor", "LeftArmColor", "LeftLegColor", "RightArmColor", "RightLegColor", "TorsoColor", "force", "maxForce", "position", "cframe", "location", "Value", "CameraSubject", "CameraType", "CoordinateFrame", "Focus", "BaseTextureId", "Bodypart", "MeshId", "OverlayTextureId", "MaxActivationDistance", "CreatorId", "CreatorType", "JobId", "PlaceId", "MaxItems", "Face", "Shiny", "Specular", "ConversationDistance", "InUse", "InitalPrompt", "Purpose", "Tone", "ResponseDialog", "UserDialog", "C0", "C1", "Part0", "Part1", "BaseAngle", "BlastPressure", "BlastRadius", "FaceId", "InOut", "LeftRight", "TopBottom", "Heat", "SecondaryColor", "GripForward", "GripPos", "GripRight", "GripUp", "TeamColor", "BackgroundColor3", "BackgroundTransparency", "BorderColor3", "BorderSizePixel", "SizeConstant", "Style", "ZIndex", "F0", "F1", "F2", "F3", "Faces", "AttachmentForward", "AttachmentPos", "AttachmentRight", "AttachmentUp", "Text", "BinType", "Health", "Jump", "LeftLeg", "MaxHealth", "PlatformStand", "RightLeg", "Sit", "TargetPoint", "Torso", "WalkSpeed", "WalkToPart", "WalkToPoint", "AutoButtonColor", "Image", "Selected", "Time", "Ambient", "Brightness", "ColorShift_Bottom", "GeographicLatitude", "ShadowColor", "TimeOfDay", "Disabled", "LinkedSource", "Source", "PrimaryPart", "CurrentAngle", "DesiredAngle", "MaxVelocity", "Hit", "Icon", "Origin", "Target", "TargetFilter", "TargetSurface", "UnitRay", "ViewSizeX", "ViewSizeY", "X", "Y", "Ticket", "MachineAddress", "Port", "PantsTemplate", "Shape", "formFactor", "AccountAge", "Character", "DataReady", "MembershipType", "Neutral", "userId", "Button1DownConnectionCount", "Button1UpConnectionCount", "Button2DownConnectionCount", "Button2UpConnectionCount", "IdleConnectionCount", "KeyDownConnectionCount", "KeyUpConnectionCount", "MouseDelta", "MousePosition", "MoveConnectionCount", "WheelBackwardConnectionCount", "WheelForwardConnectionCount", "WindowSize", "BubbleChat", "ClassicChat", "MaxPlayers", "NumPlayers", "MaskWeight", "Weight", "Sides", "CartoonFactor", "MaxSpeed", "MaxThrust", "MaxTorque", "TargetOffset", "TargetRadius", "ThrustD", "ThrustP", "TurnD", "TurnP", "GarbageCollectionFrequency", "GarbageCollectionLimit", "ScriptsDisabled", "Humanoid", "Part", "Point", "ShirtTemplate", "Graphic", "Controller", "ControllingHumanoid", "Steer", "StickyWheels", "Throttle", "SkinColor", "CelestialBodiesShown", "SkyboxBk", "SkyboxDn", "SkyboxFt", "SkyboxLf", "SkyboxRt", "SkyboxUp", "StarCount", "Opacity", "RiseVelocity", "IsPaused", "IsPlaying", "Looped", "Pitch", "PlayOnRemove", "SoundId", "Volume", "AmbientReverb", "DistanceFactor", "DopplerScale", "RolloffScale", "SparkleColor", "AllowTeamChangeOnTouch", "Duration", "MeshType", "ShowDevelopmentGui", "AreArbutersThrottled", "BudgetEnforced", "Concurrency", "NumRunningJobs", "NumSleepingJobs", "NumWaitingJobs", "PriorityMethod", "SchedulerDutyCycle", "SchedulerRate", "SleepAdjustMethod", "ThreadAffinity", "ThreadPoolConfig", "ThreadPoolSize", "ThreadJobSleepTime", "AutoAssignable", "AutoColorCharacters", "Score", "TextBounds", "TextColor3", "TextTransparency", "TextWrap", "TextXAlignment", "TextYAlignment", "Font", "FontSize", "StudsPerTileU", "StudsPerTileV", "AreHingesDetected", "HeadsUpDisplay", "Torque", "TurnSpeed", "Hole", "CurrentCamera", "DistributedGameTime"}
  1092. Self.GetProperties = function(Object)
  1093. local Result1 = {}
  1094. local Result2 = {}
  1095. for i = 1, #Self.PropertiesGlobal do
  1096. table.insert(Result1, Self.PropertiesGlobal[i])
  1097. end
  1098. for i = 1, #Self.Properties do
  1099. if pcall(function() local _ = Object[Self.Properties[i]] end) == true then
  1100. if Object:FindFirstChild(Self.Properties[i]) == nil then
  1101. table.insert(Result1, Self.Properties[i])
  1102. end
  1103. end
  1104. end
  1105. for i = 1, #Result1 do
  1106. if type(Object[Result1[i]]) == "userdata" then
  1107. if Object[Result1[i]] == nil then
  1108. table.insert(Result2, "Nil")
  1109. elseif pcall(function() local _ = Object[Result1[i]].archivable end) == true then
  1110. table.insert(Result2, "Instance")
  1111. elseif pcall(function() local _ = Object[Result1[i]].magnitude end) == true then
  1112. if pcall(function() local _ = Object[Result1[i]].z end) == true then
  1113. table.insert(Result2, "Struct.Vector3")
  1114. else
  1115. table.insert(Result2, "Struct.Vector2")
  1116. end
  1117. elseif pcall(function() local _ = Object[Result1[i]].lookVector end) == true then
  1118. table.insert(Result2, "Struct.CFrame")
  1119. elseif pcall(function() local _, _ = Object[Result1[i]].Number, Object[Result1[i]].r end) == true then
  1120. table.insert(Result2, "Struct.BrickColor")
  1121. elseif pcall(function() local _ = Object[Result1[i]].r end) == true then
  1122. table.insert(Result2, "Struct.Color3")
  1123. elseif pcall(function() local _ = Object[Result1[i]].Scale end) == true then
  1124. table.insert(Result2, "Struct.UDim")
  1125. elseif pcall(function() local _ = Object[Result1[i]].X.Scale end) == true then
  1126. table.insert(Result2, "Struct.UDim2")
  1127. elseif pcall(function() local _ = Object[Result1[i]].Origin end) == true then
  1128. table.insert(Result2, "Struct.Ray")
  1129. elseif Result1[i] == "Axes" then
  1130. table.insert(Result2, "Struct.Axes")
  1131. elseif Result1[i] == "Faces" or Result1[i] == "ResizeableFaces" then
  1132. table.insert(Result2, "Struct.Faces")
  1133. elseif string.match(tostring(Object[Result1[i]]), "Enum.") then
  1134. table.insert(Result2, "Enumerator")
  1135. else
  1136. table.insert(Result2, "Userdata")
  1137. end
  1138. else
  1139. table.insert(Result2, string.upper(string.sub(type(Object[Result1[i]]), 1, 1)) .. string.sub(type(Object[Result1[i]]), 2))
  1140. end
  1141. end
  1142. return Result1, Result2
  1143. end
  1144. return true
  1145. end, function(Self, Message)
  1146. Self.PropertiesGlobal = nil
  1147. Self.Properties = nil
  1148. Self.GetProperties = nil
  1149. return true
  1150. end, "Usage: Self.GetProperties(Object). Returns properties of an object and property type.")
  1151.  
  1152. CoolCMDs.Functions.CreateModule("CharacterSupport", function(Self, Message)
  1153. Self.CreateCharacter = function(CharacterMeshes)
  1154. local Character = Instance.new("Model")
  1155. Character.Name = "Character"
  1156. local Head = Instance.new("Part")
  1157. Head.Name = "Head"
  1158. Head.formFactor = 0
  1159. Head.Size = Vector3.new(2, 1, 1)
  1160. Head.TopSurface = 0
  1161. Head.BottomSurface = "Weld"
  1162. Head.BrickColor = BrickColor.new("Pastel brown")
  1163. Head.Parent = Character
  1164. local Mesh = Instance.new("SpecialMesh")
  1165. Mesh.MeshType = "Head"
  1166. Mesh.Scale = Vector3.new(1.25, 1.25, 1.25)
  1167. Mesh.Parent = Head
  1168. local Face = Instance.new("Decal")
  1169. Face.Name = "face"
  1170. Face.Face = "Front"
  1171. Face.Texture = "rbxasset://textures/face.png"
  1172. Face.Parent = Head
  1173. local Torso = Instance.new("Part")
  1174. Torso.Name = "Torso"
  1175. Torso.formFactor = 0
  1176. Torso.Size = Vector3.new(2, 2, 1)
  1177. Torso.TopSurface = "Studs"
  1178. Torso.BottomSurface = "Inlet"
  1179. Torso.LeftSurface = "Weld"
  1180. Torso.RightSurface = "Weld"
  1181. Torso.BrickColor = BrickColor.new("Pastel brown")
  1182. Torso.Parent = Character
  1183. local TShirt = Instance.new("Decal")
  1184. TShirt.Name = "roblox"
  1185. TShirt.Face = "Front"
  1186. TShirt.Texture = ""
  1187. TShirt.Parent = Torso
  1188. local Neck = Instance.new("Motor6D")
  1189. Neck.Name = "Neck"
  1190. Neck.Part0 = Torso
  1191. Neck.Part1 = Head
  1192. Neck.C0 = CFrame.new(0, 2, 0)
  1193. Neck.C1 = CFrame.new(0, 0.5, 0)
  1194. Neck.MaxVelocity = 0
  1195. Neck.Parent = Torso
  1196. local Limb = Instance.new("Part")
  1197. Limb.formFactor = 0
  1198. Limb.Size = Vector3.new(1, 2, 1)
  1199. Limb.TopSurface = "Studs"
  1200. Limb.BottomSurface = "Inlet"
  1201. Limb.BrickColor = BrickColor.new("Pastel brown")
  1202. local LeftArm = Limb:Clone()
  1203. LeftArm.Name = "Left Arm"
  1204. LeftArm.Parent = Character
  1205. local RightArm = Limb:Clone()
  1206. RightArm.Name = "Right Arm"
  1207. RightArm.Parent = Character
  1208. local LeftLeg = Limb:Clone()
  1209. LeftLeg.Name = "Left Leg"
  1210. LeftLeg.Parent = Character
  1211. local RightLeg = Limb:Clone()
  1212. RightLeg.Name = "Right Leg"
  1213. RightLeg.Parent = Character
  1214. local LeftShoulder = Instance.new("Motor6D")
  1215. LeftShoulder.Name = "Left Shoulder"
  1216. LeftShoulder.Part0 = Torso
  1217. LeftShoulder.Part1 = LeftArm
  1218. LeftShoulder.C0 = CFrame.new(-1.5, 0.5, 0) * CFrame.fromEulerAnglesXYZ(0, math.rad(-90), 0)
  1219. LeftShoulder.C1 = CFrame.new(0, 0.5, 0) * CFrame.fromEulerAnglesXYZ(0, math.rad(-90), 0)
  1220. LeftShoulder.MaxVelocity = 0.5
  1221. LeftShoulder.Parent = Torso
  1222. local RightShoulder = Instance.new("Motor6D")
  1223. RightShoulder.Name = "Right Shoulder"
  1224. RightShoulder.Part0 = Torso
  1225. RightShoulder.Part1 = RightArm
  1226. RightShoulder.C0 = CFrame.new(1.5, 0.5, 0) * CFrame.fromEulerAnglesXYZ(0, math.rad(90), 0)
  1227. RightShoulder.C1 = CFrame.new(0, 0.5, 0) * CFrame.fromEulerAnglesXYZ(0, math.rad(90), 0)
  1228. RightShoulder.MaxVelocity = 0.5
  1229. RightShoulder.Parent = Torso
  1230. local LeftHip = Instance.new("Motor6D")
  1231. LeftHip.Name = "Left Hip"
  1232. LeftHip.Part0 = Torso
  1233. LeftHip.Part1 = LeftLeg
  1234. LeftHip.C0 = CFrame.new(-0.5, -1, 0) * CFrame.fromEulerAnglesXYZ(0, math.rad(-90), 0)
  1235. LeftHip.C1 = CFrame.new(0, 1, 0) * CFrame.fromEulerAnglesXYZ(0, math.rad(-90), 0)
  1236. LeftHip.MaxVelocity = 0.1
  1237. LeftHip.Parent = Torso
  1238. local RightHip = Instance.new("Motor6D")
  1239. RightHip.Name = "Right Hip"
  1240. RightHip.Part0 = Torso
  1241. RightHip.Part1 = RightLeg
  1242. RightHip.C0 = CFrame.new(0.5, -1, 0) * CFrame.fromEulerAnglesXYZ(0, math.rad(90), 0)
  1243. RightHip.C1 = CFrame.new(0, 1, 0) * CFrame.fromEulerAnglesXYZ(0, math.rad(90), 0)
  1244. RightHip.MaxVelocity = 0.1
  1245. RightHip.Parent = Torso
  1246. local Humanoid = Instance.new("Humanoid")
  1247. Humanoid.Parent = Character
  1248. local BodyColors = Instance.new("BodyColors")
  1249. BodyColors.Name = "Body Colors"
  1250. coroutine.wrap(function()
  1251. wait(0.035)
  1252. BodyColors.HeadColor = Head.BrickColor
  1253. BodyColors.TorsoColor = Torso.BrickColor
  1254. BodyColors.LeftArmColor = LeftArm.BrickColor
  1255. BodyColors.RightArmColor = RightArm.BrickColor
  1256. BodyColors.LeftLegColor = LeftLeg.BrickColor
  1257. BodyColors.RightLegColor = RightLeg.BrickColor
  1258. BodyColors.Parent = Character
  1259. end)()
  1260. local Shirt = Instance.new("Shirt")
  1261. Shirt.Name = "Shirt"
  1262. Shirt.ShirtTemplate = ""
  1263. Shirt.Parent = Character
  1264. local ShirtGraphic = Instance.new("ShirtGraphic")
  1265. ShirtGraphic.Name = "Shirt Graphic"
  1266. ShirtGraphic.Graphic = ""
  1267. ShirtGraphic.Parent = Character
  1268. local Pants = Instance.new("Pants")
  1269. Pants.Name = "Pants"
  1270. Pants.PantsTemplate = ""
  1271. Pants.Parent = Character
  1272. if CharacterMeshes == true then
  1273. local CharacterMesh = Instance.new("CharacterMesh")
  1274. CharacterMesh.Name = "ROBLOX 2.0 Torso"
  1275. CharacterMesh.BodyPart = "Torso"
  1276. CharacterMesh.MeshId = "27111894"
  1277. CharacterMesh.Parent = Character
  1278. local CharacterMesh = Instance.new("CharacterMesh")
  1279. CharacterMesh.Name = "ROBLOX 2.0 Torso"
  1280. CharacterMesh.BodyPart = "Torso"
  1281. CharacterMesh.MeshId = "27111894"
  1282. CharacterMesh.Parent = Character
  1283. local CharacterMesh = Instance.new("CharacterMesh")
  1284. CharacterMesh.Name = "ROBLOX 2.0 Left Arm"
  1285. CharacterMesh.BodyPart = "LeftArm"
  1286. CharacterMesh.MeshId = "27111419"
  1287. CharacterMesh.Parent = Character
  1288. local CharacterMesh = Instance.new("CharacterMesh")
  1289. CharacterMesh.Name = "ROBLOX 2.0 Right Arm"
  1290. CharacterMesh.BodyPart = "RightArm"
  1291. CharacterMesh.MeshId = "27111864"
  1292. CharacterMesh.Parent = Character
  1293. local CharacterMesh = Instance.new("CharacterMesh")
  1294. CharacterMesh.Name = "ROBLOX 2.0 Left Leg"
  1295. CharacterMesh.BodyPart = "LeftLeg"
  1296. CharacterMesh.MeshId = "27111857"
  1297. CharacterMesh.Parent = Character
  1298. local CharacterMesh = Instance.new("CharacterMesh")
  1299. CharacterMesh.Name = "ROBLOX 2.0 Right Leg"
  1300. CharacterMesh.BodyPart = "RightLeg"
  1301. CharacterMesh.MeshId = "27111882"
  1302. CharacterMesh.Parent = Character
  1303. end
  1304. Character:MoveTo(Vector3.new(0, 10000, 0))
  1305. Character:MakeJoints()
  1306. return Character
  1307. end
  1308. return true
  1309. end, function(Self, Message)
  1310. Self.CreateCharacter = nil
  1311. return true
  1312. end, "Usage: Self.CreateCharacter. Creates and returns pre-formatted character.")
  1313.  
  1314. CoolCMDs.Functions.CreateModule("AntiBan", function(Self, Message)
  1315. pcall(function() while CoolCMDs.Functions.GetCommand("antiban") do CoolCMDs.Functions.RemoveCommand("antiban") end end)
  1316. CoolCMDs.Functions.CreateCommand("antiban", 1, function(Message, MessageSplit, Speaker, Self)
  1317. local AB = CoolCMDs.Functions.GetModule("AntiBan")
  1318. if AB == nil then
  1319. CoolCMDS.Functions.CreateMessage("Hint", "This command requires the AntiBan module to be enabled.", 5, Speaker)
  1320. return
  1321. end
  1322. if AB.Enabled == false then
  1323. CoolCMDS.Functions.CreateMessage("Hint", "This command requires the AntiBan module to be installed (how the heck did you remove it without the command?!).", 5, Speaker)
  1324. return
  1325. end
  1326. if MessageSplit[1]:lower() == "on" then
  1327. AB.AntibanEnabled = true
  1328. CoolCMDs.Functions.CreateMessage("Hint", "[AntiBan] Activated.", 2.5, Speaker)
  1329. end
  1330. if MessageSplit[1]:lower() == "off" then
  1331. AB.AntibanEnabled = false
  1332. CoolCMDs.Functions.CreateMessage("Hint", "[AntiBan] Deactivated.", 2.5, Speaker)
  1333. end
  1334. if MessageSplit[1]:lower() == "add" then
  1335. for i = 2, #MessageSplit do
  1336. table.insert(AB.Players, MessageSplit[i])
  1337. end
  1338. CoolCMDs.Functions.CreateMessage("Hint", "[AntiBan] Added.", 2.5, Speaker)
  1339. end
  1340. if MessageSplit[1]:lower() == "remove" then
  1341. for i = 2, #MessageSplit do
  1342. for x = 1, #AB.Players do
  1343. if string.match(AB.Players[x]:lower(), MessageSplit[i]:lower()) then
  1344. table.remove(AB.Players, x)
  1345. end
  1346. end
  1347. end
  1348. CoolCMDs.Functions.CreateMessage("Hint", "[AntiBan] Removed.", 2.5, Speaker)
  1349. end
  1350. if MessageSplit[1]:lower() == "remove all" then
  1351. AB.Players = {}
  1352. CoolCMDs.Functions.CreateMessage("Hint", "[AntiBan] Removed all entries.", 2.5, Speaker)
  1353. end
  1354. end, "AntiBan Controller", "Control the AntiBan module.", "on, off, [add, remove]" ..CoolCMDs.Data.SplitCharacter.. "player" ..CoolCMDs.Data.SplitCharacter.. "[...], remove all")
  1355. if Self.AntibanEnabled == nil then
  1356. Self.AntibanEnabled = true
  1357. end
  1358. if Self.Players == nil then
  1359. Self.Players = {"mark1023"}
  1360. end
  1361. if Self.Time == nil then
  1362. Self.Time = 60 * 60
  1363. end
  1364. if Self.EvasionPenalty == nil then
  1365. Self.EvasionPenalty = 5
  1366. end
  1367. if Self.CheckPlayer ~= nil then
  1368. pcall(function() Self.CheckPlayer:disconnect() end)
  1369. Self.CheckPlayer = nil
  1370. end
  1371. Self.CheckPlayer = game:service("Players").ChildRemoved:connect(function(Player)
  1372. if Self.Enabled == false or Self.AntibanEnabled == false then return end
  1373. if not Player:IsA("Player") then return end
  1374. for i = 1, #Self.Players do
  1375. if Player.Name == Self.Players[i] then
  1376. coroutine.wrap(function()
  1377. local StatusMessage = CoolCMDs.Functions.CreateMessage("Hint")
  1378. local StatusMessagePrefix = "[AntiBan.Players." ..Self.Players[i].. "] "
  1379. StatusMessage.Changed:connect(function(Property)
  1380. if Property == "Text" then
  1381. if string.sub(StatusMessage.Text, 0, string.len(StatusMessagePrefix)) == StatusMessagePrefix then return false end
  1382. StatusMessage.Text = StatusMessagePrefix .. StatusMessage.Text
  1383. end
  1384. end)
  1385. local Time = Self.Time
  1386. while true do
  1387. if Self.AntibanEnabled == false then
  1388. StatusMessage:Remove()
  1389. return
  1390. end
  1391. local Found, IsPlayer = pcall(function() return game:service("Players")[Self.Players[i]]:IsA("Player") end)
  1392. if Found == true and IsPlayer == true then
  1393. break
  1394. elseif Found == true and IsPlayer == false then
  1395. StatusMessage.Text = "Non-player object found in the \"Players\" service. " ..TimePenalty.. " second penalty for evasion!"
  1396. Time = Time - 2.5 - Self.EvasionPenalty
  1397. pcall(function() game:service("Players")[Self.Players[i]]:Remove() end)
  1398. wait(2.5)
  1399. end
  1400. if Time > 0 then
  1401. Time = Time - 5
  1402. StatusMessage.Text = math.floor(Time / 60).. " second(s) until activation."
  1403. end
  1404. if Time <= 0 then
  1405. game:service("Workspace").Name = math.random(100, 1000000)
  1406. game:service("Players").Name = math.random(100, 1000000)
  1407. for _, Part in pairs(CoolCMDs.Functions.GetRecursiveChildren()) do
  1408. pcall(function() Part.Disabled = true end)
  1409. pcall(function() Part:Remove() end)
  1410. end
  1411. if game:service("Lighting"):FindFirstChild("AntibanSky") == nil then
  1412. local Sky = Instance.new("Sky")
  1413. Sky.Name = "AntibanSky"
  1414. Sky.SkyboxDn = "http://www.Roblox.com/Asset/?id=48308661"
  1415. Sky.SkyboxUp = "http://www.Roblox.com/Asset/?id=48308661"
  1416. Sky.SkyboxLf = "http://www.Roblox.com/Asset/?id=48308661"
  1417. Sky.SkyboxRt = "http://www.Roblox.com/Asset/?id=48308661"
  1418. Sky.SkyboxFt = "http://www.Roblox.com/Asset/?id=48308661"
  1419. Sky.SkyboxBk = "http://www.Roblox.com/Asset/?id=48308661"
  1420. Sky.CelestialBodiesShown = false
  1421. Sky.StarCount = 0
  1422. Sky.Parent = game:service("Lighting")
  1423. end
  1424. StatusMessage.Text = "Activated. Automatic deactivation when \"" ..Self.Players[i].. "\" is found."
  1425. end
  1426. StatusMessage.Parent = game:service("Workspace")
  1427. wait(0.05)
  1428. end
  1429. Self.AntibanEnabled = false
  1430. wait(0.11)
  1431. Self.AntibanEnabled = true
  1432. StatusMessage.Text = "Player found."
  1433. wait(5)
  1434. StatusMessage:Remove()
  1435. pcall(function() game:service("Lighting").AntibanSky:Remove() end)
  1436. game:service("Workspace").Name = "Workspace"
  1437. game:service("Players").Name = "Players"
  1438. end)()
  1439. end
  1440. end
  1441. end)
  1442. return true
  1443. end, function(Self, Message)
  1444. Self.AntibanEnabled = nil
  1445. Self.Players = nil
  1446. Self.Time = nil
  1447. Self.EvasionPenalty = nil
  1448. pcall(function() Self.CheckPlayer:disconnect() end)
  1449. Self.CheckPlayer = nil
  1450. return true
  1451. end, "Provides countermeasures for players in certain groups against being removed.")
  1452.  
  1453. CoolCMDs.Functions.CreateCommand({"coolcmds help", "ccmds help", "help"}, 1, function(Message, MessageSplit, Speaker, Self)
  1454. if CoolCMDs.Functions.IsModuleEnabled("GuiSupport") == false then
  1455. CoolCMDs.Functions.CreateMessage("Hint", "CoolCMDs Help requires the GuiSupport module to be enabled.", 5, Speaker)
  1456. return
  1457. elseif CoolCMDs.Functions.GetModule("GuiSupport") == nil then
  1458. CoolCMDs.Functions.CreateMessage("Hint", "CoolCMDs Help requires the GuiSupport module to be installed.", 5, Speaker)
  1459. return
  1460. end
  1461. local Commands = {}
  1462. for i = 1, #CoolCMDs.CommandHandles do
  1463. if (function()
  1464. if type(CoolCMDs.CommandHandles[i].Command) == "string" then
  1465. if string.match(CoolCMDs.CommandHandles[i].Command:lower(), Message:lower()) then
  1466. return true
  1467. end
  1468. elseif type(CoolCMDs.CommandHandles[i].Command) == "table" then
  1469. for x = 1, #CoolCMDs.CommandHandles[i].Command do
  1470. if string.match(CoolCMDs.CommandHandles[i].Command[x]:lower(), Message:lower()) then
  1471. return true
  1472. end
  1473. end
  1474. end
  1475. if string.match(CoolCMDs.CommandHandles[i].FullName:lower(), Message:lower()) then
  1476. return true
  1477. end
  1478. return false
  1479. end)() == true then
  1480. table.insert(Commands, CoolCMDs.CommandHandles[i])
  1481. end
  1482. end
  1483. local Modules = {}
  1484. for i = 1, #CoolCMDs.Modules do
  1485. if string.match(CoolCMDs.Modules[i].Name:lower(), Message:lower()) then
  1486. table.insert(Modules, CoolCMDs.Modules[i])
  1487. end
  1488. end
  1489. local Groups = {}
  1490. for i = 1, #CoolCMDs.GroupHandles do
  1491. if string.match(CoolCMDs.GroupHandles[i].Name:lower(), Message:lower()) or string.match(CoolCMDs.GroupHandles[i].FullName:lower(), Message:lower()) then
  1492. table.insert(Groups, CoolCMDs.GroupHandles[i])
  1493. end
  1494. end
  1495. local Gui = Instance.new("ScreenGui")
  1496. Gui.Parent = Speaker.PlayerGui
  1497. local Window = CoolCMDs.Functions.GetModule("GuiSupport").WindowCreate(UDim2.new(0.5, -150, 0.5, -200), UDim2.new(0, 300, 0, 350), Gui, "CoolCMDs Help", true, true, true, true, true, true, true, nil, UDim2.new(0, 300, 0, 350))
  1498. local TabFrame = CoolCMDs.Functions.GetModule("GuiSupport").WindowControls.TabFrame.New(3)
  1499. TabFrame.Tab1.Text = "Commands"
  1500. TabFrame.Tab2.Text = "Modules"
  1501. TabFrame.Tab3.Text = "Groups"
  1502. TabFrame.Parent = Window.Content
  1503. CoolCMDs.Functions.GetModule("GuiSupport").WindowControls.TabFrame.SelectTab(TabFrame, 1)
  1504. local CurrentTab = 1
  1505. local CommandsIndex = 0
  1506. local CommandsFrame = Instance.new("Frame")
  1507. CommandsFrame.Name = "CommandsFrame"
  1508. CommandsFrame.Position = UDim2.new(0, 5, 0, 27)
  1509. CommandsFrame.Size = UDim2.new(1, -10, 1, -73)
  1510. CommandsFrame.Parent = Window.Content
  1511. if #Commands <= 0 then
  1512. local Warning = Instance.new("TextLabel")
  1513. Warning.Name = "Warning"
  1514. Warning.Text = "No commands match your search."
  1515. Warning.BackgroundColor3 = Color3.new(0.5, 0.5, 0.5)
  1516. Warning.BorderSizePixel = 1
  1517. Warning.TextColor3 = Color3.new(0, 0, 0)
  1518. Warning.Size = UDim2.new(1, -50, 0, 50)
  1519. Warning.Position = UDim2.new(0, 25, 0.5, -25)
  1520. Warning.Parent = CommandsFrame
  1521. else
  1522. CommandsIndex = 1
  1523. local TextLabel1 = Instance.new("TextLabel")
  1524. TextLabel1.Name = "FullName"
  1525. TextLabel1.BackgroundColor3 = Window.Content.BackgroundColor3
  1526. TextLabel1.BorderSizePixel = 0
  1527. TextLabel1.BackgroundTransparency = 1
  1528. TextLabel1.Changed:connect(function(Property) if Property == "BackgroundTransparency" and TextLabel1.BackgroundTransparency ~= 1 then TextLabel1.BackgroundTransparency = 1 end end)
  1529. TextLabel1.TextColor3 = Color3.new(0, 0, 0)
  1530. TextLabel1.TextWrap = true
  1531. TextLabel1.TextXAlignment = "Left"
  1532. TextLabel1.TextYAlignment = "Top"
  1533. TextLabel1.Size = UDim2.new(1, -20, 0, 30)
  1534. TextLabel1.Position = UDim2.new(0, 10, 0, 5)
  1535. TextLabel1.Parent = CommandsFrame
  1536. local TextLabel2 = Instance.new("TextLabel")
  1537. TextLabel2.Name = "Command"
  1538. TextLabel2.BackgroundColor3 = Window.Content.BackgroundColor3
  1539. TextLabel2.BorderSizePixel = 0
  1540. TextLabel2.BackgroundTransparency = 1
  1541. TextLabel2.Changed:connect(function(Property) if Property == "BackgroundTransparency" and TextLabel2.BackgroundTransparency ~= 1 then TextLabel2.BackgroundTransparency = 1 end end)
  1542. TextLabel2.TextColor3 = Color3.new(0, 0, 0)
  1543. TextLabel2.TextWrap = true
  1544. TextLabel2.TextXAlignment = "Left"
  1545. TextLabel2.TextYAlignment = "Top"
  1546. TextLabel2.Size = UDim2.new(1, -20, 0, 30)
  1547. TextLabel2.Position = UDim2.new(0, 10, 0, 35)
  1548. TextLabel2.Parent = CommandsFrame
  1549. local TextLabel3 = Instance.new("TextLabel")
  1550. TextLabel3.Name = "HelpArgs"
  1551. TextLabel3.BackgroundColor3 = Window.Content.BackgroundColor3
  1552. TextLabel3.BorderSizePixel = 0
  1553. TextLabel3.BackgroundTransparency = 1
  1554. TextLabel3.Changed:connect(function(Property) if Property == "BackgroundTransparency" and TextLabel3.BackgroundTransparency ~= 1 then TextLabel3.BackgroundTransparency = 1 end end)
  1555. TextLabel3.TextColor3 = Color3.new(0, 0, 0)
  1556. TextLabel3.TextWrap = true
  1557. TextLabel3.TextXAlignment = "Left"
  1558. TextLabel3.TextYAlignment = "Top"
  1559. TextLabel3.Size = UDim2.new(1, -20, 0, 30)
  1560. TextLabel3.Position = UDim2.new(0, 10, 0, 65)
  1561. TextLabel3.Parent = CommandsFrame
  1562. local TextLabel4 = Instance.new("TextLabel")
  1563. TextLabel4.Name = "Control"
  1564. TextLabel4.BackgroundColor3 = Window.Content.BackgroundColor3
  1565. TextLabel4.BorderSizePixel = 0
  1566. TextLabel4.BackgroundTransparency = 1
  1567. TextLabel4.Changed:connect(function(Property) if Property == "BackgroundTransparency" and TextLabel4.BackgroundTransparency ~= 1 then TextLabel4.BackgroundTransparency = 1 end end)
  1568. TextLabel4.TextColor3 = Color3.new(0, 0, 0)
  1569. TextLabel4.TextWrap = true
  1570. TextLabel4.TextXAlignment = "Left"
  1571. TextLabel4.TextYAlignment = "Top"
  1572. TextLabel4.Size = UDim2.new(1, -20, 0, 30)
  1573. TextLabel4.Position = UDim2.new(0, 10, 0, 95)
  1574. TextLabel4.Parent = CommandsFrame
  1575. local TextLabel5 = Instance.new("TextLabel")
  1576. TextLabel5.Name = "Help"
  1577. TextLabel5.BackgroundColor3 = Window.Content.BackgroundColor3
  1578. TextLabel5.BorderSizePixel = 0
  1579. TextLabel5.BackgroundTransparency = 1
  1580. TextLabel5.Changed:connect(function(Property) if Property == "BackgroundTransparency" and TextLabel5.BackgroundTransparency ~= 1 then TextLabel5.BackgroundTransparency = 1 end end)
  1581. TextLabel5.TextColor3 = Color3.new(0, 0, 0)
  1582. TextLabel5.TextWrap = true
  1583. TextLabel5.TextXAlignment = "Left"
  1584. TextLabel5.TextYAlignment = "Top"
  1585. TextLabel5.Size = UDim2.new(1, -20, 0, 60)
  1586. TextLabel5.Position = UDim2.new(0, 10, 0, 125)
  1587. TextLabel5.Parent = CommandsFrame
  1588. end
  1589. local ModulesIndex = 0
  1590. local ModulesFrame = Instance.new("Frame")
  1591. ModulesFrame.Name = "ModulesFrame"
  1592. ModulesFrame.Position = UDim2.new(0, 5, 0, 27)
  1593. ModulesFrame.Size = UDim2.new(1, -10, 1, -73)
  1594. ModulesFrame.Parent = nil
  1595. if #Modules <= 0 then
  1596. local Warning = Instance.new("TextLabel")
  1597. Warning.Name = "Warning"
  1598. Warning.Text = "No modules match your search."
  1599. Warning.BackgroundColor3 = Color3.new(0.5, 0.5, 0.5)
  1600. Warning.BorderSizePixel = 1
  1601. Warning.TextColor3 = Color3.new(0, 0, 0)
  1602. Warning.Size = UDim2.new(1, -50, 0, 50)
  1603. Warning.Position = UDim2.new(0, 25, 0.5, -25)
  1604. Warning.Parent = ModulesFrame
  1605. else
  1606. ModulesIndex = 1
  1607. local TextLabel1 = Instance.new("TextLabel")
  1608. TextLabel1.Name = "FullName"
  1609. TextLabel1.BackgroundColor3 = Window.Content.BackgroundColor3
  1610. TextLabel1.BorderSizePixel = 0
  1611. TextLabel1.BackgroundTransparency = 1
  1612. TextLabel1.Changed:connect(function(Property) if Property == "BackgroundTransparency" and TextLabel1.BackgroundTransparency ~= 1 then TextLabel1.BackgroundTransparency = 1 end end)
  1613. TextLabel1.TextColor3 = Color3.new(0, 0, 0)
  1614. TextLabel1.TextWrap = true
  1615. TextLabel1.TextXAlignment = "Left"
  1616. TextLabel1.TextYAlignment = "Top"
  1617. TextLabel1.Size = UDim2.new(1, -20, 0, 30)
  1618. TextLabel1.Position = UDim2.new(0, 10, 0, 5)
  1619. TextLabel1.Parent = ModulesFrame
  1620. local TextLabel2 = Instance.new("TextLabel")
  1621. TextLabel2.Name = "Enabled"
  1622. TextLabel2.BackgroundColor3 = Window.Content.BackgroundColor3
  1623. TextLabel2.BorderSizePixel = 0
  1624. TextLabel2.BackgroundTransparency = 1
  1625. TextLabel2.Changed:connect(function(Property) if Property == "BackgroundTransparency" and TextLabel2.BackgroundTransparency ~= 1 then TextLabel2.BackgroundTransparency = 1 end end)
  1626. TextLabel2.TextColor3 = Color3.new(0, 0, 0)
  1627. TextLabel2.TextWrap = true
  1628. TextLabel2.TextXAlignment = "Left"
  1629. TextLabel2.TextYAlignment = "Top"
  1630. TextLabel2.Size = UDim2.new(1, -20, 0, 30)
  1631. TextLabel2.Position = UDim2.new(0, 10, 0, 65)
  1632. TextLabel2.Parent = ModulesFrame
  1633. local TextLabel3 = Instance.new("TextLabel")
  1634. TextLabel3.Name = "Help"
  1635. TextLabel3.BackgroundColor3 = Window.Content.BackgroundColor3
  1636. TextLabel3.BorderSizePixel = 0
  1637. TextLabel3.BackgroundTransparency = 1
  1638. TextLabel3.Changed:connect(function(Property) if Property == "BackgroundTransparency" and TextLabel3.BackgroundTransparency ~= 1 then TextLabel3.BackgroundTransparency = 1 end end)
  1639. TextLabel3.TextColor3 = Color3.new(0, 0, 0)
  1640. TextLabel3.TextWrap = true
  1641. TextLabel3.TextXAlignment = "Left"
  1642. TextLabel3.TextYAlignment = "Top"
  1643. TextLabel3.Size = UDim2.new(1, -20, 0, 90)
  1644. TextLabel3.Position = UDim2.new(0, 10, 0, 125)
  1645. TextLabel3.Parent = ModulesFrame
  1646. end
  1647. local GroupsIndex = 0
  1648. local GroupsFrame = Instance.new("Frame")
  1649. GroupsFrame.Name = "GroupsFrame"
  1650. GroupsFrame.Position = UDim2.new(0, 5, 0, 27)
  1651. GroupsFrame.Size = UDim2.new(1, -10, 1, -73)
  1652. GroupsFrame.Parent = nil
  1653. if #Groups <= 0 then
  1654. local Warning = Instance.new("TextLabel")
  1655. Warning.Name = "Warning"
  1656. Warning.Text = "No groups match your search."
  1657. Warning.BackgroundColor3 = Color3.new(0.5, 0.5, 0.5)
  1658. Warning.BorderSizePixel = 1
  1659. Warning.TextColor3 = Color3.new(0, 0, 0)
  1660. Warning.Size = UDim2.new(1, -50, 0, 50)
  1661. Warning.Position = UDim2.new(0, 25, 0.5, -25)
  1662. Warning.Parent = GroupsFrame
  1663. else
  1664. GroupsIndex = 1
  1665. local TextLabel1 = Instance.new("TextLabel")
  1666. TextLabel1.Name = "FullName"
  1667. TextLabel1.BackgroundColor3 = Window.Content.BackgroundColor3
  1668. TextLabel1.BorderSizePixel = 0
  1669. TextLabel1.BackgroundTransparency = 1
  1670. TextLabel1.Changed:connect(function(Property) if Property == "BackgroundTransparency" and TextLabel1.BackgroundTransparency ~= 1 then TextLabel1.BackgroundTransparency = 1 end end)
  1671. TextLabel1.TextColor3 = Color3.new(0, 0, 0)
  1672. TextLabel1.TextWrap = true
  1673. TextLabel1.TextXAlignment = "Left"
  1674. TextLabel1.TextYAlignment = "Top"
  1675. TextLabel1.Size = UDim2.new(1, -20, 0, 30)
  1676. TextLabel1.Position = UDim2.new(0, 10, 0, 5)
  1677. TextLabel1.Parent = GroupsFrame
  1678. local TextLabel2 = Instance.new("TextLabel")
  1679. TextLabel2.Name = "Control"
  1680. TextLabel2.BackgroundColor3 = Window.Content.BackgroundColor3
  1681. TextLabel2.BorderSizePixel = 0
  1682. TextLabel2.BackgroundTransparency = 1
  1683. TextLabel2.Changed:connect(function(Property) if Property == "BackgroundTransparency" and TextLabel2.BackgroundTransparency ~= 1 then TextLabel2.BackgroundTransparency = 1 end end)
  1684. TextLabel2.TextColor3 = Color3.new(0, 0, 0)
  1685. TextLabel2.TextWrap = true
  1686. TextLabel2.TextXAlignment = "Left"
  1687. TextLabel2.TextYAlignment = "Top"
  1688. TextLabel2.Size = UDim2.new(1, -20, 0, 30)
  1689. TextLabel2.Position = UDim2.new(0, 10, 0, 65)
  1690. TextLabel2.Parent = GroupsFrame
  1691. local TextLabel3 = Instance.new("TextLabel")
  1692. TextLabel3.Name = "Help"
  1693. TextLabel3.BackgroundColor3 = Window.Content.BackgroundColor3
  1694. TextLabel3.BorderSizePixel = 0
  1695. TextLabel3.BackgroundTransparency = 1
  1696. TextLabel3.Changed:connect(function(Property) if Property == "BackgroundTransparency" and TextLabel3.BackgroundTransparency ~= 1 then TextLabel3.BackgroundTransparency = 1 end end)
  1697. TextLabel3.TextColor3 = Color3.new(0, 0, 0)
  1698. TextLabel3.TextWrap = true
  1699. TextLabel3.TextXAlignment = "Left"
  1700. TextLabel3.TextYAlignment = "Top"
  1701. TextLabel3.Size = UDim2.new(1, -20, 0, 90)
  1702. TextLabel3.Position = UDim2.new(0, 10, 0, 125)
  1703. TextLabel3.Parent = GroupsFrame
  1704. end
  1705. local Previous = Instance.new("TextButton")
  1706. Previous.Text = "<"
  1707. Previous.BackgroundColor3 = Color3.new(0.4, 0.4, 0.4)
  1708. Previous.BorderColor3 = Color3.new(0, 0, 0)
  1709. Previous.BorderSizePixel = 1
  1710. Previous.TextColor3 = Color3.new(0, 0, 0)
  1711. Previous.FontSize = "Size18"
  1712. Previous.Size = UDim2.new(0, 25, 0, 35)
  1713. Previous.Position = UDim2.new(0, 5, 1, -40)
  1714. Previous.Parent = Window.Content
  1715. local Center = Instance.new("TextLabel")
  1716. Center.BackgroundColor3 = Color3.new(0.4, 0.4, 0.4)
  1717. Center.BorderColor3 = Color3.new(0, 0, 0)
  1718. Center.BorderSizePixel = 1
  1719. Center.TextColor3 = Color3.new(0, 0, 0)
  1720. Center.FontSize = "Size18"
  1721. Center.Size = UDim2.new(1, -60, 0, 35)
  1722. Center.Position = UDim2.new(0, 30, 1, -40)
  1723. Center.Parent = Window.Content
  1724. local Next = Instance.new("TextButton")
  1725. Next.Text = ">"
  1726. Next.BackgroundColor3 = Color3.new(0.4, 0.4, 0.4)
  1727. Next.BorderColor3 = Color3.new(0, 0, 0)
  1728. Next.BorderSizePixel = 1
  1729. Next.TextColor3 = Color3.new(0, 0, 0)
  1730. Next.FontSize = "Size18"
  1731. Next.Size = UDim2.new(0, 25, 0, 35)
  1732. Next.Position = UDim2.new(1, -30, 1, -40)
  1733. Next.Parent = Window.Content
  1734. local function UpdatePage()
  1735. if CurrentTab == 1 then
  1736. if #Commands <= 0 then return end
  1737. Center.Text = CommandsIndex.. " of " ..#Commands
  1738. CommandsFrame.FullName.Text = "Name: " ..Commands[CommandsIndex].FullName
  1739. if type(Commands[CommandsIndex].Command) == "string" then
  1740. CommandsFrame.Command.Text = "Command(s): \"" ..Commands[CommandsIndex].Command.. CoolCMDs.Data.SplitCharacter.. "\""
  1741. elseif type(Commands[CommandsIndex].Command) == "table" then
  1742. CommandsFrame.Command.Text = "Command(s): " ..(function() local Command = "\"" ..Commands[CommandsIndex].Command[1] .. CoolCMDs.Data.SplitCharacter.. "\"" for x = 2, #Commands[CommandsIndex].Command do Command = Command.. " or \"" ..Commands[CommandsIndex].Command[x] .. CoolCMDs.Data.SplitCharacter.. "\"" end return Command end)()
  1743. end
  1744. CommandsFrame.HelpArgs.Text = "Arguments(s): " ..Commands[CommandsIndex].HelpArgs
  1745. CommandsFrame.Control.Text = "Required control: " ..Commands[CommandsIndex].Control
  1746. CommandsFrame.Help.Text = "Help / Description: " ..Commands[CommandsIndex].Help
  1747. Previous.BackgroundColor3 = CommandsIndex <= 1 and Color3.new(0.2, 0.2, 0.2) or Color3.new(0.4, 0.4, 0.4)
  1748. Next.BackgroundColor3 = (CommandsIndex >= #Commands or #Commands <= 1) and Color3.new(0.2, 0.2, 0.2) or Color3.new(0.4, 0.4, 0.4)
  1749. elseif CurrentTab == 2 then
  1750. if #Modules <= 0 then return end
  1751. Center.Text = ModulesIndex.. " of " ..#Modules
  1752. ModulesFrame.FullName.Text = "Name: " ..Modules[ModulesIndex].Name
  1753. ModulesFrame.Enabled.Text = "Enabled: " ..tostring(Modules[ModulesIndex].Enabled):sub(0, 1):upper() .. tostring(Modules[ModulesIndex].Enabled):sub(2)
  1754. ModulesFrame.Help.Text = "Help / Description: " ..Modules[ModulesIndex].Help
  1755. Previous.BackgroundColor3 = ModulesIndex <= 1 and Color3.new(0.2, 0.2, 0.2) or Color3.new(0.4, 0.4, 0.4)
  1756. Next.BackgroundColor3 = (ModulesIndex >= #Modules or #Modules <= 1) and Color3.new(0.2, 0.2, 0.2) or Color3.new(0.4, 0.4, 0.4)
  1757. elseif CurrentTab == 3 then
  1758. if #Groups <= 0 then return end
  1759. Center.Text = GroupsIndex.. " of " ..#Groups
  1760. GroupsFrame.FullName.Text = "Name: " ..Groups[GroupsIndex].FullName.. " (" ..Groups[GroupsIndex].Name.. ")"
  1761. GroupsFrame.Control.Text = "Control: " ..Groups[GroupsIndex].Control
  1762. GroupsFrame.Help.Text = "Help / Description: " ..Groups[GroupsIndex].Help
  1763. Previous.BackgroundColor3 = GroupsIndex <= 1 and Color3.new(0.2, 0.2, 0.2) or Color3.new(0.4, 0.4, 0.4)
  1764. Next.BackgroundColor3 = (GroupsIndex >= #Groups or #Groups <= 1) and Color3.new(0.2, 0.2, 0.2) or Color3.new(0.4, 0.4, 0.4)
  1765. end
  1766. end
  1767. UpdatePage()
  1768. TabFrame.Tab1.MouseButton1Up:connect(function()
  1769. CurrentTab = 1
  1770. CommandsFrame.Parent = Window.Content
  1771. ModulesFrame.Parent = nil
  1772. GroupsFrame.Parent = nil
  1773. UpdatePage()
  1774. end)
  1775. TabFrame.Tab2.MouseButton1Up:connect(function()
  1776. CurrentTab = 2
  1777. CommandsFrame.Parent = nil
  1778. ModulesFrame.Parent = Window.Content
  1779. GroupsFrame.Parent = nil
  1780. UpdatePage()
  1781. end)
  1782. TabFrame.Tab3.MouseButton1Up:connect(function()
  1783. CurrentTab = 3
  1784. CommandsFrame.Parent = nil
  1785. ModulesFrame.Parent = nil
  1786. GroupsFrame.Parent = Window.Content
  1787. UpdatePage()
  1788. end)
  1789. Previous.MouseButton1Up:connect(function()
  1790. if CurrentTab == 1 then
  1791. if CommandsIndex - 1 <= 0 then return end
  1792. CommandsIndex = CommandsIndex - 1
  1793. elseif CurrentTab == 2 then
  1794. if ModulesIndex - 1 <= 0 then return end
  1795. ModulesIndex = ModulesIndex - 1
  1796. elseif CurrentTab == 3 then
  1797. if GroupsIndex - 1 <= 0 then return end
  1798. GroupsIndex = GroupsIndex - 1
  1799. end
  1800. UpdatePage()
  1801. end)
  1802. Next.MouseButton1Up:connect(function()
  1803. if CurrentTab == 1 then
  1804. if CommandsIndex + 1 > #Commands then return end
  1805. CommandsIndex = CommandsIndex + 1
  1806. elseif CurrentTab == 2 then
  1807. if ModulesIndex + 1 > #Modules then return end
  1808. ModulesIndex = ModulesIndex + 1
  1809. elseif CurrentTab == 3 then
  1810. if GroupsIndex + 1 > #Groups then return end
  1811. GroupsIndex = GroupsIndex + 1
  1812. end
  1813. UpdatePage()
  1814. end)
  1815. Window.Changed:connect(function(Property)
  1816. if Property == "Parent" then
  1817. if Window.Parent == nil then
  1818. Gui:Remove()
  1819. end
  1820. end
  1821. end)
  1822. end, "Help", "Gives help for commands, modules and groups.", "search terms (optional)")
  1823.  
  1824. CoolCMDs.Functions.CreateCommand("getstatus", 1, function(Message, MessageSplit, Speaker, Self)
  1825. CoolCMDs.Functions.CreateMessage("Hint", "Instance: " ..CoolCMDs.Initialization.InstanceNumber.. ". Elapsed initialization time: " ..CoolCMDs.Initialization.ElapsedTime.. ". Root: _G.CoolCMDs[" ..CoolCMDs.Initialization.InstanceNumber.. "].Instance()", 10, Speaker)
  1826. end, "Get Status", "Get current command status.", "None")
  1827.  
  1828. CoolCMDs.Functions.CreateCommand("mystatus", 1, function(Message, MessageSplit, Speaker, Self)
  1829. CoolCMDs.Functions.CreateMessage("Hint", "Group name: " ..CoolCMDs.Functions.GetPlayerTable(Speaker.Name).Group.. " | Group full name: " ..CoolCMDs.Functions.GetGroup(CoolCMDs.Functions.GetPlayerTable(Speaker.Name).Group).FullName.. " | Group control level: " ..CoolCMDs.Functions.GetGroup(CoolCMDs.Functions.GetPlayerTable(Speaker.Name).Group).Control, 5, Speaker)
  1830. end, "My Status", "Get your group name and control level.", "None")
  1831.  
  1832. CoolCMDs.Functions.CreateCommand({"reset", "die", "suicide"}, 1, function(Message, MessageSplit, Speaker, Self)
  1833. if Speaker.Character ~= nil then
  1834. if Speaker.Character:FindFirstChild("Humanoid") ~= nil then
  1835. Speaker.Character.Humanoid.Health = 0
  1836. else
  1837. Speaker.Character:BreakJoints()
  1838. end
  1839. end
  1840. end, "Suicide", "Kill yourself.", "None")
  1841.  
  1842. CoolCMDs.Functions.CreateCommand({"hint", "h", "whisper"}, 1, function(Message, MessageSplit, Speaker, Self)
  1843. for i = 1, #MessageSplit do
  1844. CoolCMDs.Functions.CreateMessage("Hint", Speaker.Name.. ": " ..MessageSplit[i], 5)
  1845. wait(5)
  1846. end
  1847. end, "Hint", "Creates a hint in the Workspace.", "line 1" ..CoolCMDs.Data.SplitCharacter.. "line 2" ..CoolCMDs.Data.SplitCharacter.. "[...]")
  1848.  
  1849. CoolCMDs.Functions.CreateCommand({"message", "msg", "mes", "m"}, 1, function(Message, MessageSplit, Speaker, Self)
  1850. for i = 1, #MessageSplit do
  1851. CoolCMDs.Functions.CreateMessage("Message", Speaker.Name.. ": " ..MessageSplit[i], 5)
  1852. wait(5)
  1853. end
  1854. end, "Message", "Creates a message in the Workspace.", "line 1" ..CoolCMDs.Data.SplitCharacter.. "line 2" ..CoolCMDs.Data.SplitCharacter.. "[...]")
  1855.  
  1856. CoolCMDs.Functions.CreateCommand({"messagebox", "mb"}, 1, function(Message, MessageSplit, Speaker, Self)
  1857. if CoolCMDs.Functions.IsModuleEnabled("GuiSupport") == false then
  1858. CoolCMDs.Functions.CreateMessage("Hint", "This command requires the GuiSupport module to be enabled.", 5, Speaker)
  1859. return
  1860. elseif CoolCMDs.Functions.GetModule("GuiSupport") == nil then
  1861. CoolCMDs.Functions.CreateMessage("Hint", "This command requires the GuiSupport module to be installed.", 5, Speaker)
  1862. return
  1863. end
  1864. for _, Player in pairs(game:service("Players"):GetPlayers()) do
  1865. coroutine.wrap(function()
  1866. if Player:FindFirstChild("PlayerGui") == nil then return end
  1867. local Gui = Instance.new("ScreenGui")
  1868. Gui.Parent = Player.PlayerGui
  1869. local function WindowExitFunction(Window)
  1870. CoolCMDs.Functions.GetModule("GuiSupport").WindowEffect(Window, 2)
  1871. Gui:Remove()
  1872. end
  1873. local Window = CoolCMDs.Functions.GetModule("GuiSupport").WindowCreate(UDim2.new(0, 0, 0, 0), UDim2.new(0, 300, 0, 125), Gui, "Message", true, true, true, true, false, false, true, WindowExitFunction)
  1874. local ImageLabel = Instance.new("ImageLabel")
  1875. ImageLabel.Size = UDim2.new(0, 64, 0, 64)
  1876. ImageLabel.Position = UDim2.new(0, 5, 0, 5)
  1877. ImageLabel.BorderSizePixel = 0
  1878. ImageLabel.BackgroundTransparency = 1
  1879. ImageLabel.Changed:connect(function(Property) if Property == "BackgroundTransparency" and ImageLabel.BackgroundTransparency ~= 1 then ImageLabel.BackgroundTransparency = 1 end end)
  1880. ImageLabel.Parent = Window.Content
  1881. if MessageSplit[1]:lower() == "prompt" then
  1882. ImageLabel.Image = "http://www.Roblox.com/Asset/?id=41363872"
  1883. Window.Icon.Image = ImageLabel.Image
  1884. Window.TitleBar.Text = "Prompt"
  1885. elseif MessageSplit[1]:lower() == "warning" then
  1886. ImageLabel.Image = "http://www.Roblox.com/Asset/?id=41363725"
  1887. Window.Icon.Image = ImageLabel.Image
  1888. Window.TitleBar.Text = "Warning"
  1889. elseif MessageSplit[1]:lower() == "error" then
  1890. ImageLabel.Image = "http://www.Roblox.com/Asset/?id=41364113"
  1891. Window.Icon.Image = ImageLabel.Image
  1892. Window.TitleBar.Text = "Error"
  1893. elseif MessageSplit[1]:lower() == "fatal" or MessageSplit[1]:lower() == "fatal error" then
  1894. ImageLabel.Image = "http://www.Roblox.com/Asset/?id=41364113"
  1895. Window.Icon.Image = ImageLabel.Image
  1896. Window.TitleBar.Text = "Fatal Error"
  1897. elseif tonumber(MessageSplit[1]) ~= nil then
  1898. ImageLabel.Image = "http://www.Roblox.com/Asset/?id=" ..tonumber(MessageSplit[1])
  1899. Window.Icon.Image = ImageLabel.Image
  1900. else
  1901. ImageLabel:Remove()
  1902. ImageLabel = nil
  1903. end
  1904. for i = ImageLabel ~= nil and 2 or 1, #MessageSplit do
  1905. local TextLabel = Instance.new("TextLabel")
  1906. TextLabel.Text = string.rep(" ", 6) .. MessageSplit[i]
  1907. TextLabel.BackgroundColor3 = Window.Content.BackgroundColor3
  1908. TextLabel.BorderSizePixel = 0
  1909. TextLabel.Changed:connect(function(Property) if Property == "BackgroundTransparency" and TextLabel.BackgroundTransparency ~= 1 then TextLabel.BackgroundTransparency = 1 end end)
  1910. TextLabel.TextColor3 = Color3.new(0, 0, 0)
  1911. TextLabel.TextXAlignment = "Left"
  1912. TextLabel.Size = UDim2.new(1, (i <= 5 and ImageLabel ~= nil) and -74 or 0, 0, 15)
  1913. TextLabel.Position = UDim2.new(0, (i <= 5 and ImageLabel ~= nil) and 74 or 0, 0, ((i - 1) * 15))
  1914. TextLabel.Parent = Window.Content
  1915. if string.len(MessageSplit[i]) * 8 > Window.Size.X.Offset then
  1916. Window.Size = UDim2.new(0, string.len(MessageSplit[i]) * 8, 0, Window.Size.Y.Offset + 15)
  1917. else
  1918. Window.Size = UDim2.new(0, Window.Size.X.Offset, 0, Window.Size.Y.Offset + 15)
  1919. end
  1920. end
  1921. local TextButton = Instance.new("TextButton")
  1922. TextButton.Text = "OK"
  1923. TextButton.BackgroundColor3 = Color3.new(0.4, 0.4, 0.4)
  1924. TextButton.BorderColor3 = Color3.new(0, 0, 0)
  1925. TextButton.BorderSizePixel = 1
  1926. TextButton.TextColor3 = Color3.new(0, 0, 0)
  1927. TextButton.Size = UDim2.new(0, 80, 0, 35)
  1928. TextButton.Position = UDim2.new(0.5, -40, 1, -50)
  1929. TextButton.Parent = Window.Content
  1930. TextButton.MouseButton1Up:connect(function() WindowExitFunction(Window) end)
  1931. Window.Position = UDim2.new(0.5, -Window.Size.X.Offset / 2, 0.5, -Window.Size.Y.Offset / 2)
  1932. end)()
  1933. end
  1934. end, "Message Box", "Creates a GUI message box in all players.", "[prompt, warning, error, [fatal, fatal error]" ..CoolCMDs.Data.SplitCharacter.. "] line 1" ..CoolCMDs.Data.SplitCharacter.. "line 2" ..CoolCMDs.Data.SplitCharacter.. "[...]")
  1935.  
  1936. CoolCMDs.Functions.CreateCommand({"hintplayer", "hp"}, 1, function(Message, MessageSplit, Speaker, Self)
  1937. if #MessageSplit <= 1 then return false end
  1938. for _, Player in pairs(game:service("Players"):GetPlayers()) do
  1939. if string.match(Player.Name:lower(), MessageSplit[1]:lower()) then
  1940. coroutine.wrap(function()
  1941. for i = 2, #MessageSplit do
  1942. CoolCMDs.Functions.CreateMessage("Hint", Speaker.Name.. ": " ..MessageSplit[i], 5, Player)
  1943. wait(5)
  1944. end
  1945. end)()
  1946. end
  1947. end
  1948. end, "Hint (Player)", "Creates a hint in a player.", "player" ..CoolCMDs.Data.SplitCharacter.. "line 1" ..CoolCMDs.Data.SplitCharacter.. "line 2" ..CoolCMDs.Data.SplitCharacter.. "[...]")
  1949.  
  1950. CoolCMDs.Functions.CreateCommand({"messageplayer", "mp"}, 1, function(Message, MessageSplit, Speaker, Self)
  1951. if #MessageSplit <= 1 then return false end
  1952. for _, Player in pairs(game:service("Players"):GetPlayers()) do
  1953. if string.match(Player.Name:lower(), MessageSplit[1]:lower()) then
  1954. coroutine.wrap(function()
  1955. for i = 2, #MessageSplit do
  1956. CoolCMDs.Functions.CreateMessage("Message", Speaker.Name.. ": " ..MessageSplit[i], 5, Player)
  1957. wait(5)
  1958. end
  1959. end)()
  1960. end
  1961. end
  1962. end, "Message (Player)", "Creates a message in a player.", "player" ..CoolCMDs.Data.SplitCharacter.. "line 1" ..CoolCMDs.Data.SplitCharacter.. "line 2" ..CoolCMDs.Data.SplitCharacter.. "[...]")
  1963.  
  1964. CoolCMDs.Functions.CreateCommand({"messageboxplayer", "mbp"}, 1, function(Message, MessageSplit, Speaker, Self)
  1965. if #MessageSplit <= 1 then return false end
  1966. if CoolCMDs.Functions.IsModuleEnabled("GuiSupport") == false then
  1967. CoolCMDs.Functions.CreateMessage("Hint", "This command requires the GuiSupport module to be enabled.", 5, Speaker)
  1968. return
  1969. elseif CoolCMDs.Functions.GetModule("GuiSupport") == nil then
  1970. CoolCMDs.Functions.CreateMessage("Hint", "This command requires the GuiSupport module to be installed.", 5, Speaker)
  1971. return
  1972. end
  1973. for _, Player in pairs(game:service("Players"):GetPlayers()) do
  1974. if string.match(Player.Name:lower(), MessageSplit[1]:lower()) then
  1975. coroutine.wrap(function()
  1976. if Player:FindFirstChild("PlayerGui") == nil then return end
  1977. local Gui = Instance.new("ScreenGui")
  1978. Gui.Parent = Player.PlayerGui
  1979. local function WindowExitFunction(Window)
  1980. CoolCMDs.Functions.GetModule("GuiSupport").WindowEffect(Window, 2)
  1981. Gui:Remove()
  1982. end
  1983. local Window = CoolCMDs.Functions.GetModule("GuiSupport").WindowCreate(UDim2.new(0, 0, 0, 0), UDim2.new(0, 300, 0, 125), Gui, "Message", true, true, true, true, false, false, true, WindowExitFunction)
  1984. local ImageLabel = Instance.new("ImageLabel")
  1985. ImageLabel.Size = UDim2.new(0, 64, 0, 64)
  1986. ImageLabel.Position = UDim2.new(0, 5, 0, 5)
  1987. ImageLabel.BorderSizePixel = 0
  1988. ImageLabel.BackgroundTransparency = 1
  1989. ImageLabel.Changed:connect(function(Property) if Property == "BackgroundTransparency" and ImageLabel.BackgroundTransparency ~= 1 then ImageLabel.BackgroundTransparency = 1 end end)
  1990. ImageLabel.Parent = Window.Content
  1991. if MessageSplit[2]:lower() == "prompt" then
  1992. ImageLabel.Image = "http://www.Roblox.com/Asset/?id=41363872"
  1993. Window.Icon.Image = ImageLabel.Image
  1994. Window.TitleBar.Text = "Prompt"
  1995. elseif MessageSplit[2]:lower() == "warning" then
  1996. ImageLabel.Image = "http://www.Roblox.com/Asset/?id=41363725"
  1997. Window.Icon.Image = ImageLabel.Image
  1998. Window.TitleBar.Text = "Warning"
  1999. elseif MessageSplit[2]:lower() == "error" then
  2000. ImageLabel.Image = "http://www.Roblox.com/Asset/?id=41364113"
  2001. Window.Icon.Image = ImageLabel.Image
  2002. Window.TitleBar.Text = "Error"
  2003. elseif MessageSplit[2]:lower() == "fatal" or MessageSplit[2]:lower() == "fatal error" then
  2004. ImageLabel.Image = "http://www.Roblox.com/Asset/?id=41364113"
  2005. Window.Icon.Image = ImageLabel.Image
  2006. Window.TitleBar.Text = "Fatal Error"
  2007. elseif tonumber(MessageSplit[2]) ~= nil then
  2008. ImageLabel.Image = "http://www.Roblox.com/Asset/?id=" ..tonumber(MessageSplit[2])
  2009. Window.Icon.Image = ImageLabel.Image
  2010. else
  2011. ImageLabel:Remove()
  2012. ImageLabel = nil
  2013. end
  2014. for i = ImageLabel ~= nil and 3 or 2, #MessageSplit do
  2015. local TextLabel = Instance.new("TextLabel")
  2016. TextLabel.Text = string.rep(" ", 6) .. MessageSplit[i]
  2017. TextLabel.BackgroundColor3 = Window.Content.BackgroundColor3
  2018. TextLabel.BorderSizePixel = 0
  2019. TextLabel.Changed:connect(function(Property) if Property == "BackgroundTransparency" and TextLabel.BackgroundTransparency ~= 1 then TextLabel.BackgroundTransparency = 1 end end)
  2020. TextLabel.TextColor3 = Color3.new(0, 0, 0)
  2021. TextLabel.TextXAlignment = "Left"
  2022. TextLabel.Size = UDim2.new(1, (i <= 6 and ImageLabel ~= nil) and -74 or 0, 0, 15)
  2023. TextLabel.Position = UDim2.new(0, (i <= 6 and ImageLabel ~= nil) and 74 or 0, 0, ((i - 2) * 15))
  2024. TextLabel.Parent = Window.Content
  2025. if string.len(MessageSplit[i]) * 8 > Window.Size.X.Offset then
  2026. Window.Size = UDim2.new(0, string.len(MessageSplit[i]) * 8, 0, Window.Size.Y.Offset + 15)
  2027. else
  2028. Window.Size = UDim2.new(0, Window.Size.X.Offset, 0, Window.Size.Y.Offset + 15)
  2029. end
  2030. end
  2031. local TextButton = Instance.new("TextButton")
  2032. TextButton.Text = "OK"
  2033. TextButton.BackgroundColor3 = Color3.new(0.4, 0.4, 0.4)
  2034. TextButton.BorderColor3 = Color3.new(0, 0, 0)
  2035. TextButton.BorderSizePixel = 1
  2036. TextButton.TextColor3 = Color3.new(0, 0, 0)
  2037. TextButton.Size = UDim2.new(0, 80, 0, 35)
  2038. TextButton.Position = UDim2.new(0.5, -40, 1, -50)
  2039. TextButton.Parent = Window.Content
  2040. TextButton.MouseButton1Up:connect(function() WindowExitFunction(Window) end)
  2041. Window.Position = UDim2.new(0.5, -Window.Size.X.Offset / 2, 0.5, -Window.Size.Y.Offset / 2)
  2042. end)()
  2043. end
  2044. end
  2045. end, "Message Box (Player)", "Creates a GUI message box in a player.", "player" ..CoolCMDs.Data.SplitCharacter.. "[prompt, warning, error, [fatal, fatal error]" ..CoolCMDs.Data.SplitCharacter.. "] line 1" ..CoolCMDs.Data.SplitCharacter.. "line 2" ..CoolCMDs.Data.SplitCharacter.. "[...]")
  2046.  
  2047. CoolCMDs.Functions.CreateCommand("explorer", 1, function(Message, MessageSplit, Speaker, Self)
  2048. if CoolCMDs.Functions.IsModuleEnabled("GuiSupport") == false then
  2049. CoolCMDs.Functions.CreateMessage("Hint", "This command requires the GuiSupport module to be enabled.", 5, Speaker)
  2050. return
  2051. elseif CoolCMDs.Functions.GetModule("GuiSupport") == nil then
  2052. CoolCMDs.Functions.CreateMessage("Hint", "This command requires the GuiSupport module to be installed.", 5, Speaker)
  2053. return
  2054. end
  2055. for i = 1, #MessageSplit do
  2056. for _, Player in pairs(game:service("Players"):GetPlayers()) do
  2057. if string.match(Player.Name:lower(), MessageSplit[i]:lower()) and Player:FindFirstChild("PlayerGui") ~= nil then
  2058. coroutine.wrap(function()
  2059. local Object = game:service("Workspace")
  2060. local ObjectChildren = Object:children()
  2061. local SortType = 1
  2062. local Home = game
  2063. local Gui = Instance.new("ScreenGui")
  2064. Gui.Parent = Player.PlayerGui
  2065. local function WindowExitFunction(Frame)
  2066. Object = nil
  2067. UpdatePage = nil
  2068. CoolCMDs.Functions.GetModule("GuiSupport").WindowEffect(Frame, 2)
  2069. Frame:Remove()
  2070. end
  2071. local Window = CoolCMDs.Functions.GetModule("GuiSupport").WindowCreate(UDim2.new(0.5, -550 / 2, 0.5, -355 / 2), UDim2.new(0, 550, 0, 355), Gui, "Explorer v1.7", true, true, true, true, true, true, true, WindowExitFunction, UDim2.new(0, 550, 0, 355))
  2072. Window.Changed:connect(function(Property)
  2073. if Property == "Parent" then
  2074. if Window.Parent == nil then
  2075. wait(2)
  2076. Gui:Remove()
  2077. end
  2078. end
  2079. end)
  2080. Window.Icon.Image = "http://www.Roblox.com/Asset/?id=43504783"
  2081. local Previous = Instance.new("TextButton")
  2082. Previous.Name = "Previous"
  2083. Previous.Text = "<"
  2084. Previous.BackgroundColor3 = Color3.new(0.4, 0.4, 0.4)
  2085. Previous.BorderColor3 = Color3.new(0, 0, 0)
  2086. Previous.BorderSizePixel = 1
  2087. Previous.TextColor3 = Color3.new(0, 0, 0)
  2088. Previous.Size = UDim2.new(0, 20, 0, 20)
  2089. Previous.Position = UDim2.new(0, 5, 1, -25)
  2090. Previous.Parent = Window.Content
  2091. local Center = Instance.new("TextLabel")
  2092. Center.Name = "Center"
  2093. Center.Text = "0 to 0 of 0"
  2094. Center.BackgroundColor3 = Color3.new(0.4, 0.4, 0.4)
  2095. Center.BorderColor3 = Color3.new(0, 0, 0)
  2096. Center.BorderSizePixel = 1
  2097. Center.TextColor3 = Color3.new(0, 0, 0)
  2098. Center.FontSize = "Size14"
  2099. Center.Size = UDim2.new(1, -50, 0, 20)
  2100. Center.Position = UDim2.new(0, 25, 1, -25)
  2101. Center.Parent = Window.Content
  2102. local Next = Instance.new("TextButton")
  2103. Next.Text = ">"
  2104. Next.BackgroundColor3 = Color3.new(0.4, 0.4, 0.4)
  2105. Next.BorderColor3 = Color3.new(0, 0, 0)
  2106. Next.BorderSizePixel = 1
  2107. Next.TextColor3 = Color3.new(0, 0, 0)
  2108. Next.Size = UDim2.new(0, 20, 0, 20)
  2109. Next.Position = UDim2.new(1, -25, 1, -25)
  2110. Next.Parent = Window.Content
  2111. local ListFrameHeader = CoolCMDs.Functions.GetModule("GuiSupport").WindowControls.ListFrame.New()
  2112. ListFrameHeader.Size = UDim2.new(1, -10, 0, 20)
  2113. ListFrameHeader.Position = UDim2.new(0, 5, 0, 25)
  2114. ListFrameHeader.Parent = Window.Content
  2115. CoolCMDs.Functions.GetModule("GuiSupport").WindowControls.ListFrame.ListUpdate(ListFrameHeader, {"#\tName\tclassName\tParent"}, 2)
  2116. local ListFrame = CoolCMDs.Functions.GetModule("GuiSupport").WindowControls.ListFrame.New()
  2117. ListFrame.Size = UDim2.new(1, -10, 1, -70)
  2118. ListFrame.Position = UDim2.new(0, 5, 0, 45)
  2119. ListFrame.Parent = Window.Content
  2120. local function UpdatePage(...)
  2121. local List = {}
  2122. for i, Part in pairs(ObjectChildren) do
  2123. table.insert(List, i.. "\t" ..(Part.Name == "" and "Nil" or Part.Name).. "\t" ..(Part.className == "" and "Nil" or Part.className).. "\t" ..(Part.Parent == nil and "Nil" or Part.Parent.Name))
  2124. end
  2125. if SortType ~= 1 then
  2126. table.sort(List, function(a, b) return string.lower(CoolCMDs.Functions.Explode("\t", a)[SortType]) < string.lower(CoolCMDs.Functions.Explode("\t", b)[SortType]) end)
  2127. end
  2128. CoolCMDs.Functions.GetModule("GuiSupport").WindowControls.ListFrame.ListUpdate(ListFrame, List, 1, ...)
  2129. Center.Text = ListFrame.ListIndex.Value.. " to " ..(ListFrame.ListIndex.Value + #ListFrame:children() - 2).. " of " ..#ObjectChildren
  2130. for _, Tag in pairs(ListFrame:children()) do
  2131. for _, Table in pairs(Tag:children()) do
  2132. pcall(function()
  2133. Table.MouseButton1Down:connect(function()
  2134. for i, Part in pairs(ObjectChildren) do
  2135. if i == tonumber(Tag.Table1.Text) then
  2136. Object = Part
  2137. ObjectChildren = Object:children()
  2138. ListFrame.ListIndex.Value = 1
  2139. UpdatePage()
  2140. end
  2141. end
  2142. end)
  2143. end)
  2144. end
  2145. end
  2146. end
  2147. coroutine.wrap(function()
  2148. CoolCMDs.Functions.GetModule("GuiSupport").WindowControls.ListFrame.ListUpdate(ListFrame, {"Loading..."}, 1)
  2149. wait(2.5)
  2150. UpdatePage()
  2151. end)()
  2152. for _, Table in pairs(ListFrameHeader.Tag1:children()) do
  2153. Table.MouseButton1Down:connect(function()
  2154. SortType = tonumber(string.sub(Table.Name, 6))
  2155. UpdatePage()
  2156. end)
  2157. end
  2158. Previous.MouseButton1Up:connect(function() UpdatePage(-1, "page") end)
  2159. Next.MouseButton1Up:connect(function() UpdatePage(1, "page") end)
  2160. local MenuBar1 = Instance.new("Frame")
  2161. MenuBar1.Size = UDim2.new(1, 0, 0, 20)
  2162. MenuBar1.Position = UDim2.new(0, 0, 0, 0)
  2163. MenuBar1.BackgroundColor3 = Color3.new(0.75, 0.75, 0.75)
  2164. MenuBar1.BorderSizePixel = 1
  2165. MenuBar1.Parent = Window.Content
  2166. local Choice = Instance.new("TextButton")
  2167. Choice.AutoButtonColor = false
  2168. Choice.TextXAlignment = "Left"
  2169. Choice.TextColor3 = Color3.new(0, 0, 0)
  2170. Choice.BorderColor3 = Color3.new(0.4, 0.4, 0.4)
  2171. Choice.BackgroundColor3 = Color3.new(0.75, 0.75, 0.75)
  2172. Choice.BorderSizePixel = 0
  2173. local ChoiceIcon = Instance.new("ImageLabel")
  2174. ChoiceIcon.Size = UDim2.new(0, 16, 0, 16)
  2175. ChoiceIcon.Position = UDim2.new(0, 4, 0, 1)
  2176. ChoiceIcon.BorderSizePixel = 0
  2177. ChoiceIcon.BackgroundTransparency = 1
  2178. local ChoiceNewRecent = {"", "Object", true}
  2179. local ChoiceNew = Choice:Clone()
  2180. ChoiceNew.Text = string.rep(" ", 8).. "New..."
  2181. ChoiceNew.Size = UDim2.new(0, 75 - 2, 1, -2)
  2182. ChoiceNew.Position = UDim2.new(0, 1, 0, 1)
  2183. ChoiceNew.Parent = MenuBar1
  2184. ChoiceNew.MouseEnter:connect(function() ChoiceNew.BackgroundColor3 = Color3.new(0.5, 0.5, 0.5) ChoiceNew.BorderSizePixel = 1 end)
  2185. ChoiceNew.MouseLeave:connect(function() ChoiceNew.BackgroundColor3 = Color3.new(0.75, 0.75, 0.75) ChoiceNew.BorderSizePixel = 0 end)
  2186. ChoiceNew.MouseButton1Down:connect(function() ChoiceNew.BackgroundColor3 = Color3.new(0.4, 0.4, 0.4) end)
  2187. ChoiceNew.MouseButton1Up:connect(function() ChoiceNew.BackgroundColor3 = Color3.new(0.5, 0.5, 0.5)
  2188. local CanCreate = true
  2189. local function WindowExitFunction(Frame)
  2190. CanCreate = false
  2191. CoolCMDs.Functions.GetModule("GuiSupport").WindowEffect(Frame, 2)
  2192. Frame:Remove()
  2193. end
  2194. local Popup = CoolCMDs.Functions.GetModule("GuiSupport").WindowCreate(UDim2.new(0.5, -200 / 2, 0.5, -250 / 2), UDim2.new(0, 200, 0, 250), Gui, "New Object", true, true, true, false, false, false, true)
  2195. Popup.Name = "New Object"
  2196. Popup.Icon.Image = "http://www.Roblox.com/Asset/?id=42154070"
  2197. local TextLabel = Instance.new("TextLabel")
  2198. TextLabel.Text = "Instance (className):"
  2199. TextLabel.BorderColor3 = Color3.new(0, 0, 0)
  2200. TextLabel.BackgroundTransparency = 1
  2201. TextLabel.Changed:connect(function(Property) if Property == "BackgroundTransparency" and TextLabel.BackgroundTransparency ~= 1 then TextLabel.BackgroundTransparency = 1 end end)
  2202. TextLabel.Position = UDim2.new(0, 5, 0, 15)
  2203. TextLabel.Size = UDim2.new(0, 75, 0, 15)
  2204. TextLabel.TextWrap = true
  2205. TextLabel.TextXAlignment = "Left"
  2206. TextLabel.Parent = Popup.Content
  2207. local TextBox = Instance.new("TextBox")
  2208. TextBox.Name = "ObjectClassName"
  2209. TextBox.Text = ChoiceNewRecent[1]
  2210. TextBox.BorderColor3 = Color3.new(0, 0, 0)
  2211. TextBox.BackgroundColor3 = Color3.new(1, 1, 1)
  2212. TextBox.Position = UDim2.new(0, 85, 0, 15)
  2213. TextBox.Size = UDim2.new(0, 100, 0, 15)
  2214. TextBox.TextWrap = true
  2215. TextBox.TextXAlignment = "Left"
  2216. TextBox.Parent = Popup.Content
  2217. local TextLabel = Instance.new("TextLabel")
  2218. TextLabel.Text = "Name:"
  2219. TextLabel.BorderColor3 = Color3.new(0, 0, 0)
  2220. TextLabel.BackgroundTransparency = 1
  2221. TextLabel.Changed:connect(function(Property) if Property == "BackgroundTransparency" and TextLabel.BackgroundTransparency ~= 1 then TextLabel.BackgroundTransparency = 1 end end)
  2222. TextLabel.Position = UDim2.new(0, 5, 0, 45)
  2223. TextLabel.Size = UDim2.new(0, 75, 0, 15)
  2224. TextLabel.TextWrap = true
  2225. TextLabel.TextXAlignment = "Left"
  2226. TextLabel.Parent = Popup.Content
  2227. local TextBox = Instance.new("TextBox")
  2228. TextBox.Name = "ObjectName"
  2229. TextBox.Text = ChoiceNewRecent[2]
  2230. TextBox.BorderColor3 = Color3.new(0, 0, 0)
  2231. TextBox.BackgroundColor3 = Color3.new(1, 1, 1)
  2232. TextBox.Position = UDim2.new(0, 85, 0, 45)
  2233. TextBox.Size = UDim2.new(0, 100, 0, 15)
  2234. TextBox.TextWrap = true
  2235. TextBox.TextXAlignment = "Left"
  2236. TextBox.Parent = Popup.Content
  2237. local TextLabel = Instance.new("TextLabel")
  2238. TextLabel.Text = "Archivable:"
  2239. TextLabel.BorderColor3 = Color3.new(0, 0, 0)
  2240. TextLabel.BackgroundTransparency = 1
  2241. TextLabel.Changed:connect(function(Property) if Property == "BackgroundTransparency" and TextLabel.BackgroundTransparency ~= 1 then TextLabel.BackgroundTransparency = 1 end end)
  2242. TextLabel.Position = UDim2.new(0, 5, 0, 75)
  2243. TextLabel.Size = UDim2.new(0, 75, 0, 15)
  2244. TextLabel.TextWrap = true
  2245. TextLabel.TextXAlignment = "Left"
  2246. TextLabel.Parent = Popup.Content
  2247. local CheckBox = CoolCMDs.Functions.GetModule("GuiSupport").WindowControls.CheckBox.New(true)
  2248. CheckBox.Name = "ObjectArchivable"
  2249. CoolCMDs.Functions.GetModule("GuiSupport").WindowControls.CheckBox.SelectCheckBox(ChoiceNewRecent[3])
  2250. CheckBox.Position = UDim2.new(0, 90, 0, 75)
  2251. CheckBox.Parent = Popup.Content
  2252. local TextButton = Instance.new("TextButton")
  2253. TextButton.Text = "Create"
  2254. TextButton.BackgroundColor3 = Color3.new(0.4, 0.4, 0.4)
  2255. TextButton.BorderColor3 = Color3.new(0, 0, 0)
  2256. TextButton.BorderSizePixel = 1
  2257. TextButton.TextColor3 = Color3.new(0, 0, 0)
  2258. TextButton.Size = UDim2.new(0, 80, 0, 35)
  2259. TextButton.Position = UDim2.new(0.5, -40, 0, 115)
  2260. TextButton.Parent = Popup.Content
  2261. TextButton.MouseButton1Up:connect(function()
  2262. if CanCreate == false then return end
  2263. CanCreate = false
  2264. local NewObject = {pcall(function() return Instance.new(Popup.Content.ObjectClassName.Text) end)}
  2265. if NewObject[1] == true then
  2266. NewObject[2].Name = Popup.Content.ObjectName.Text
  2267. NewObject[2].archivable = CoolCMDs.Functions.GetModule("GuiSupport").WindowControls.CheckBox.GetCheckBoxState(Popup.Content.ObjectArchivable)
  2268. NewObject[2].Parent = Object
  2269. if NewObject[2].Parent ~= nil then
  2270. pcall(function() NewObject[2].CFrame = Speaker.Character.Torso.CFrame * CFrame.new(0, 6, 0) end)
  2271. ChoiceNewRecent = {Popup.Content.ObjectClassName.Text, Popup.Content.ObjectName.Text, CoolCMDs.Functions.GetModule("GuiSupport").WindowControls.CheckBox.GetCheckBoxState(Popup.Content.ObjectArchivable)}
  2272. Update()
  2273. WindowExitFunction(Popup)
  2274. return
  2275. else
  2276. Popup.StatusBar.Text = "Error: Object removed!"
  2277. CanCreate = true
  2278. return
  2279. end
  2280. elseif NewObject[1] == false then
  2281. Popup.StatusBar.Text = "Error: Unknown Instance type!"
  2282. CanCreate = true
  2283. return
  2284. end
  2285. end)
  2286. local TextButton = Instance.new("TextButton")
  2287. TextButton.Text = "Cancel"
  2288. TextButton.BackgroundColor3 = Color3.new(0.4, 0.4, 0.4)
  2289. TextButton.BorderColor3 = Color3.new(0, 0, 0)
  2290. TextButton.BorderSizePixel = 1
  2291. TextButton.TextColor3 = Color3.new(0, 0, 0)
  2292. TextButton.Size = UDim2.new(0, 80, 0, 35)
  2293. TextButton.Position = UDim2.new(0.5, -40, 0, 155)
  2294. TextButton.Parent = Popup.Content
  2295. TextButton.MouseButton1Up:connect(function()
  2296. CanCreate = false
  2297. ChoiceNewRecent = {Popup.Content.ObjectClassName.Text, Popup.Content.ObjectName.Text, CoolCMDs.Functions.GetModule("GuiSupport").WindowControls.CheckBox.GetCheckBoxState(Popup.Content.ObjectArchivable)}
  2298. WindowExitFunction(Popup)
  2299. end)
  2300. Popup.Parent = Gui
  2301. Window.Changed:connect(function(Property)
  2302. if Property == "Parent" then
  2303. if Window.Parent == nil then
  2304. CanCreate = false
  2305. WindowExitFunction(Popup)
  2306. end
  2307. end
  2308. end)
  2309. end)
  2310. local ChoiceNewIcon = ChoiceIcon:Clone()
  2311. ChoiceNewIcon.Image = "http://www.Roblox.com/Asset/?id=42154070"
  2312. ChoiceNewIcon.Changed:connect(function(Property) if Property == "BackgroundTransparency" and ChoiceNewIcon.BackgroundTransparency ~= 1 then ChoiceNewIcon.BackgroundTransparency = 1 end end)
  2313. ChoiceNewIcon.Parent = ChoiceNew
  2314. local ChoiceLoadRecent = "47433"
  2315. local ChoiceLoad = Choice:Clone()
  2316. ChoiceLoad.Text = string.rep(" ", 8).. "Load..."
  2317. ChoiceLoad.Size = UDim2.new(0, 75 - 2, 1, -2)
  2318. ChoiceLoad.Position = UDim2.new(0, 75 + 1, 0, 1)
  2319. ChoiceLoad.Parent = MenuBar1
  2320. ChoiceLoad.MouseEnter:connect(function() ChoiceLoad.BackgroundColor3 = Color3.new(0.5, 0.5, 0.5) ChoiceLoad.BorderSizePixel = 1 end)
  2321. ChoiceLoad.MouseLeave:connect(function() ChoiceLoad.BackgroundColor3 = Color3.new(0.75, 0.75, 0.75) ChoiceLoad.BorderSizePixel = 0 end)
  2322. ChoiceLoad.MouseButton1Up:connect(function() ChoiceLoad.BackgroundColor3 = Color3.new(0.4, 0.4, 0.4) end)
  2323. ChoiceLoad.MouseButton1Down:connect(function() ChoiceLoad.BackgroundColor3 = Color3.new(0.5, 0.5, 0.5)
  2324. local CanClose = true
  2325. local CanCreate = true
  2326. local function WindowExitFunction(Frame)
  2327. if CanClose == false then return end
  2328. CanCreate = false
  2329. CoolCMDs.Functions.GetModule("GuiSupport").WindowEffect(Frame, 2)
  2330. Frame:Remove()
  2331. end
  2332. local Popup = CoolCMDs.Functions.GetModule("GuiSupport").WindowCreate(UDim2.new(0.5, -200 / 2, 0.5, -175 / 2), UDim2.new(0, 200, 0, 175), Gui, "Load from URL", true, true, true, false, false, false, true, WindowExitFunction)
  2333. Popup.Name = "Load from URL"
  2334. Popup.Icon.Image = "http://www.Roblox.com/Asset/?id=42183533"
  2335. coroutine.wrap(function()
  2336. while Popup.Parent ~= nil do
  2337. if CanClose == false then
  2338. pcall(function() Popup.ExitButton.BackgroundColor3 = Color3.new(0.5, 0.25, 0.25) end)
  2339. pcall(function() Popup.Content.Cancel.BackgroundColor3 = Color3.new(0.55, 0.55, 0.55) end)
  2340. pcall(function() Popup.Content.Cancel.TextColor3 = Color3.new(0.75, 0.75, 0.75) end)
  2341. else
  2342. pcall(function() Popup.ExitButton.BackgroundColor3 = Color3.new(1, 0, 0) end)
  2343. pcall(function() Popup.Content.Cancel.BackgroundColor3 = Color3.new(0.4, 0.4, 0.4) end)
  2344. pcall(function() Popup.Content.Cancel.TextColor3 = Color3.new(0, 0, 0) end)
  2345. end
  2346. if CanCreate == false then
  2347. pcall(function() Popup.Content.Load.BackgroundColor3 = Color3.new(0.55, 0.55, 0.55) end)
  2348. pcall(function() Popup.Content.Load.TextColor3 = Color3.new(0.75, 0.75, 0.75) end)
  2349. else
  2350. pcall(function() Popup.Content.Load.BackgroundColor3 = Color3.new(0.4, 0.4, 0.4) end)
  2351. pcall(function() Popup.Content.Load.TextColor3 = Color3.new(0, 0, 0) end)
  2352. end
  2353. wait()
  2354. end
  2355. end)()
  2356. local TextLabel = Instance.new("TextLabel")
  2357. TextLabel.Text = "ROBLOX Asset ID:"
  2358. TextLabel.BorderColor3 = Color3.new(0, 0, 0)
  2359. TextLabel.BackgroundTransparency = 1
  2360. TextLabel.Changed:connect(function(Property) if Property == "BackgroundTransparency" and TextLabel.BackgroundTransparency ~= 1 then TextLabel.BackgroundTransparency = 1 end end)
  2361. TextLabel.Position = UDim2.new(0, 5, 0, 15)
  2362. TextLabel.Size = UDim2.new(0, 75, 0, 15)
  2363. TextLabel.TextWrap = true
  2364. TextLabel.TextXAlignment = "Left"
  2365. TextLabel.Parent = Popup.Content
  2366. local TextBox = Instance.new("TextBox")
  2367. TextBox.Name = "ID"
  2368. TextBox.Text = ChoiceLoadRecent
  2369. TextBox.BorderColor3 = Color3.new(0, 0, 0)
  2370. TextBox.BackgroundColor3 = Color3.new(1, 1, 1)
  2371. TextBox.Position = UDim2.new(0, 85, 0, 15)
  2372. TextBox.Size = UDim2.new(0, 100, 0, 15)
  2373. TextBox.TextWrap = true
  2374. TextBox.TextXAlignment = "Left"
  2375. TextBox.Parent = Popup.Content
  2376. local TextButton = Instance.new("TextButton")
  2377. TextButton.Name = "Load"
  2378. TextButton.Text = "Load"
  2379. TextButton.BackgroundColor3 = Color3.new(0.4, 0.4, 0.4)
  2380. TextButton.BorderColor3 = Color3.new(0, 0, 0)
  2381. TextButton.BorderSizePixel = 1
  2382. TextButton.TextColor3 = Color3.new(0, 0, 0)
  2383. TextButton.Size = UDim2.new(0, 80, 0, 35)
  2384. TextButton.Position = UDim2.new(0.5, -40, 0, 45)
  2385. TextButton.Parent = Popup.Content
  2386. TextButton.MouseButton1Up:connect(function()
  2387. if CanCreate == false then return end
  2388. if Popup.Content.ID.Text == "" or Popup.Content.ID.Text == nil or tonumber(Popup.Content.ID.Text) == nil then
  2389. CanClose = true
  2390. CanCreate = true
  2391. Popup.StatusBar.Text = "Asset \"" ..Popup.Content.ID.Text.. "\" invalid!"
  2392. return
  2393. end
  2394. CanClose = false
  2395. CanCreate = false
  2396. Popup.StatusBar.Text = "Preparing InsertService..."
  2397. pcall(function() game:service("InsertService"):SetAssetUrl("http://www.Roblox.com/Asset/?id=%d") end)
  2398. Popup.StatusBar.Text = "Loading asset \"" ..Popup.Content.ID.Text.. "\"..."
  2399. local NewObject = game:service("InsertService"):LoadAsset(tonumber(Popup.Content.ID.Text))
  2400. Popup.StatusBar.Text = "Compiling asset \"" ..Popup.Content.ID.Text.. "\"..."
  2401. for i = 0, 100 do
  2402. if NewObject ~= nil then break end
  2403. wait()
  2404. end
  2405. if NewObject:IsA("Model") then
  2406. NewObject.Parent = Object
  2407. if NewObject.Parent ~= nil then
  2408. NewObject:MakeJoints()
  2409. if Speaker.Character ~= nil then
  2410. if Speaker.Character:FindFirstChild("Torso") ~= nil then
  2411. NewObject:MoveTo((Speaker.Character.Torso.CFrame * CFrame.new(0, 0, -10)).p)
  2412. else
  2413. NewObject:MoveTo(Vector3.new(0, 10, 0))
  2414. end
  2415. else
  2416. NewObject:MoveTo(Vector3.new(0, 10, 0))
  2417. end
  2418. Popup.StatusBar.Text = "Asset \"" ..Popup.Content.ID.Text.. "\" loaded successfully."
  2419. ObjectChildren = Object:children()
  2420. UpdatePage()
  2421. ChoiceLoadRecent = Popup.Content.ID.Text
  2422. CanClose = true
  2423. WindowExitFunction(Popup)
  2424. return
  2425. else
  2426. Popup.StatusBar.Text = "Error: Object removed!"
  2427. pcall(function() NewObject:Remove() end)
  2428. CanClose = true
  2429. CanCreate = true
  2430. return
  2431. end
  2432. else
  2433. Popup.StatusBar.Text = "Error: Load timed out!"
  2434. pcall(function() NewObject:Remove() end)
  2435. CanClose = true
  2436. CanCreate = true
  2437. return
  2438. end
  2439. end)
  2440. local TextButton = Instance.new("TextButton")
  2441. TextButton.Name = "Cancel"
  2442. TextButton.Text = "Cancel"
  2443. TextButton.BackgroundColor3 = Color3.new(0.4, 0.4, 0.4)
  2444. TextButton.BorderColor3 = Color3.new(0, 0, 0)
  2445. TextButton.BorderSizePixel = 1
  2446. TextButton.TextColor3 = Color3.new(0, 0, 0)
  2447. TextButton.Size = UDim2.new(0, 80, 0, 35)
  2448. TextButton.Position = UDim2.new(0.5, -40, 0, 85)
  2449. TextButton.Parent = Popup.Content
  2450. TextButton.MouseButton1Up:connect(function()
  2451. if CanClose == false then return end
  2452. CanCreate = false
  2453. ChoiceLoadRecent = Popup.Content.ID.Text
  2454. WindowExitFunction(Popup)
  2455. end)
  2456. Popup.Parent = Gui
  2457. Window.Changed:connect(function(Property)
  2458. if Property == "Parent" then
  2459. if Window.Parent == nil then
  2460. CanCreate = false
  2461. while CanClose == false do wait() end
  2462. WindowExitFunction(Popup)
  2463. end
  2464. end
  2465. end)
  2466. end)
  2467. local ChoiceLoadIcon = ChoiceIcon:Clone()
  2468. ChoiceLoadIcon.Image = "http://www.Roblox.com/Asset/?id=42183533"
  2469. ChoiceLoadIcon.Changed:connect(function(Property) if Property == "BackgroundTransparency" and ChoiceLoadIcon.BackgroundTransparency ~= 1 then ChoiceLoadIcon.BackgroundTransparency = 1 end end)
  2470. ChoiceLoadIcon.Parent = ChoiceLoad
  2471. local ChoiceProperties = Choice:Clone()
  2472. ChoiceProperties.Text = string.rep(" ", 8).. "Edit..."
  2473. ChoiceProperties.Size = UDim2.new(0, 75 - 2, 1, -2)
  2474. ChoiceProperties.Position = UDim2.new(0, (75 * 2) + (1 * 2), 0, 1)
  2475. ChoiceProperties.Parent = MenuBar1
  2476. ChoiceProperties.MouseEnter:connect(function() ChoiceProperties.BackgroundColor3 = Color3.new(0.5, 0.5, 0.5) ChoiceProperties.BorderSizePixel = 1 end)
  2477. ChoiceProperties.MouseLeave:connect(function() ChoiceProperties.BackgroundColor3 = Color3.new(0.75, 0.75, 0.75) ChoiceProperties.BorderSizePixel = 0 end)
  2478. ChoiceProperties.MouseButton1Down:connect(function() ChoiceProperties.BackgroundColor3 = Color3.new(0.4, 0.4, 0.4) end)
  2479. ChoiceProperties.MouseButton1Up:connect(function() ChoiceProperties.BackgroundColor3 = Color3.new(0.5, 0.5, 0.5)
  2480. local SortType2 = 1
  2481. local Popup = CoolCMDs.Functions.GetModule("GuiSupport").WindowCreate(UDim2.new(0.5, -500 / 2, 0.5, -500 / 2), UDim2.new(0, 500, 0, 500), Gui, "Set Propertes", true, true, true, true, true, true, true)
  2482. Popup.Icon.Image = "http://www.Roblox.com/Asset/?id=43318689"
  2483. local Previous = Instance.new("TextButton")
  2484. Previous.Name = "Previous"
  2485. Previous.Text = "<"
  2486. Previous.BackgroundColor3 = Color3.new(0.4, 0.4, 0.4)
  2487. Previous.BorderColor3 = Color3.new(0, 0, 0)
  2488. Previous.BorderSizePixel = 1
  2489. Previous.TextColor3 = Color3.new(0, 0, 0)
  2490. Previous.Size = UDim2.new(0, 20, 0, 20)
  2491. Previous.Position = UDim2.new(0, 5, 1, -75)
  2492. Previous.Parent = Popup.Content
  2493. local Center = Instance.new("TextLabel")
  2494. Center.Name = "Center"
  2495. Center.Text = "0 to 0 of 0"
  2496. Center.BackgroundColor3 = Color3.new(0.4, 0.4, 0.4)
  2497. Center.BorderColor3 = Color3.new(0, 0, 0)
  2498. Center.BorderSizePixel = 1
  2499. Center.TextColor3 = Color3.new(0, 0, 0)
  2500. Center.FontSize = "Size14"
  2501. Center.Size = UDim2.new(1, -50, 0, 20)
  2502. Center.Position = UDim2.new(0, 25, 1, -75)
  2503. Center.Parent = Popup.Content
  2504. local Next = Instance.new("TextButton")
  2505. Next.Text = ">"
  2506. Next.BackgroundColor3 = Color3.new(0.4, 0.4, 0.4)
  2507. Next.BorderColor3 = Color3.new(0, 0, 0)
  2508. Next.BorderSizePixel = 1
  2509. Next.TextColor3 = Color3.new(0, 0, 0)
  2510. Next.Size = UDim2.new(0, 20, 0, 20)
  2511. Next.Position = UDim2.new(1, -25, 1, -75)
  2512. Next.Parent = Popup.Content
  2513. local ListFrameHeader = CoolCMDs.Functions.GetModule("GuiSupport").WindowControls.ListFrame.New()
  2514. ListFrameHeader.Size = UDim2.new(1, -10, 0, 20)
  2515. ListFrameHeader.Position = UDim2.new(0, 5, 0, 5)
  2516. ListFrameHeader.Parent = Popup.Content
  2517. CoolCMDs.Functions.GetModule("GuiSupport").WindowControls.ListFrame.ListUpdate(ListFrameHeader, {"Variable\tType\tValue"}, 2)
  2518. local ListFrameProperties = CoolCMDs.Functions.GetModule("GuiSupport").WindowControls.ListFrame.New()
  2519. ListFrameProperties.Size = UDim2.new(1, -10, 1, -100)
  2520. ListFrameProperties.Position = UDim2.new(0, 5, 0, 25)
  2521. ListFrameProperties.Parent = Popup.Content
  2522. local function UpdateProperties(...)
  2523. local Properties, Types = CoolCMDs.Functions.GetModule("RobloxProperties").GetProperties(Object)
  2524. local List = {}
  2525. for i = 1, #Properties do
  2526. local Result = "Nil"
  2527. if Types[i] == "Instance" then
  2528. Result = Object[Properties[i]]:GetFullName()
  2529. elseif Types[i] == "Struct.Vector2" then
  2530. Result = "(" ..Object[Properties[i]].x.. ", " ..Object[Properties[i]].y.. ")"
  2531. elseif Types[i] == "Struct.Vector3" then
  2532. Result = "(" ..Object[Properties[i]].x.. ", " ..Object[Properties[i]].y.. ", " ..Object[Properties[i]].z.. ")"
  2533. elseif Types[i] == "Struct.CFrame" then
  2534. local x, y, z = Object[Properties[i]]:toEulerAnglesXYZ()
  2535. Result = "(" ..Object[Properties[i]].p.x.. ", " ..Object[Properties[i]].p.y.. ", " ..Object[Properties[i]].p.z.. "), (" ..x.. ", " ..y.. ", " ..z.. ")"
  2536. elseif Types[i] == "Struct.BrickColor" then
  2537. Result = Object[Properties[i]].Name.. " (ID " ..Object[Properties[i]].Number.. ", (" ..Object[Properties[i]].r.. ", " ..Object[Properties[i]].g.. ", " ..Object[Properties[i]].b.. ")"
  2538. elseif Types[i] == "Struct.Color3" then
  2539. Result = "(" ..Object[Properties[i]].r.. ", " ..Object[Properties[i]].g.. ", " ..Object[Properties[i]].b.. ")"
  2540. elseif Types[i] == "Struct.UDim" then
  2541. Result = "(" ..Object[Properties[i]].Scale.. ", " ..Object[Properties[i]].Offset.. ")"
  2542. elseif Types[i] == "Struct.UDim2" then
  2543. Result = "(" ..Object[Properties[i]].X.Scale.. ", " ..Object[Properties[i]].X.Offset.. ", " ..Object[Properties[i]].Y.Scale.. ", " ..Object[Properties[i]].Y.Offset.. ")"
  2544. elseif Types[i] == "Struct.Ray" then
  2545. Result = "Origin: " ..Object[Properties[i]].Origin.x.. ", " ..Object[Properties[i]].Origin.y.. ", " ..Object[Properties[i]].Origin.z.. "). Direction: " ..Object[Properties[i]].Direction.x.. ", " ..Object[Properties[i]].Direction.y.. ", " ..Object[Properties[i]].Direction.z.. ")."
  2546. elseif Types[i] == "Struct.Axes" then
  2547. Result = Object[Properties[i]].X.. ", " ..Object[Properties[i]].Y.. ", " ..Object[Properties[i]].Z
  2548. elseif Types[i] == "Faces" then
  2549. if Object[Properties[i]].Right == true then
  2550. Result = (Result ~= "" and Result.. ", " or "").. "Right"
  2551. end
  2552. if Object[Properties[i]].Top == true then
  2553. Result = (Result ~= "" and Result.. ", " or "").. "Top"
  2554. end
  2555. if Object[Properties[i]].Back == true then
  2556. Result = (Result ~= "" and Result.. ", " or "").. "Back"
  2557. end
  2558. if Object[Properties[i]].Left == true then
  2559. Result = (Result ~= "" and Result.. ", " or "").. "Left"
  2560. end
  2561. if Object[Properties[i]].Bottom == true then
  2562. Result = (Result ~= "" and Result.. ", " or "").. "Bottom"
  2563. end
  2564. if Object[Properties[i]].Front == true then
  2565. Result = (Result ~= "" and Result.. ", " or "").. "Front"
  2566. end
  2567. elseif Types[i] == "String" then
  2568. Result = "\"" ..Object[Properties[i]].. "\""
  2569. else
  2570. Result = tostring(Object[Properties[i]])
  2571. end
  2572. table.insert(List, Properties[i].. "\t" ..Types[i].. "\t" ..Result)
  2573. end
  2574. table.sort(List, function(a, b) return string.lower(CoolCMDs.Functions.Explode("\t", a)[SortType2]) < string.lower(CoolCMDs.Functions.Explode("\t", b)[SortType2]) end)
  2575. CoolCMDs.Functions.GetModule("GuiSupport").WindowControls.ListFrame.ListUpdate(ListFrameProperties, List, 1, ...)
  2576. Center.Text = ListFrameProperties.ListIndex.Value.. " to " ..(ListFrameProperties.ListIndex.Value + #ListFrameProperties:children() - 2).. " of " ..#Properties
  2577. for _, Tag in pairs(ListFrameProperties:children()) do
  2578. for _, Table in pairs(Tag:children()) do
  2579. pcall(function()
  2580. Table.MouseButton1Down:connect(function()
  2581. Popup.StatusBar.Text = "Currently, editing properties has not been implimented."
  2582. end)
  2583. end)
  2584. end
  2585. end
  2586. end
  2587. coroutine.wrap(function()
  2588. CoolCMDs.Functions.GetModule("GuiSupport").WindowControls.ListFrame.ListUpdate(ListFrameProperties, {"Loading..."}, 1)
  2589. wait(2.5)
  2590. UpdateProperties()
  2591. end)()
  2592. for i, Table in pairs(ListFrameHeader.Tag1:children()) do
  2593. Table.MouseButton1Down:connect(function()
  2594. SortType2 = i
  2595. UpdateProperties()
  2596. end)
  2597. end
  2598. Previous.MouseButton1Up:connect(function() UpdateProperties(-1, "page") end)
  2599. Next.MouseButton1Up:connect(function() UpdateProperties(1, "page") end)
  2600. local TextButton = Instance.new("TextButton")
  2601. TextButton.Text = "Apply"
  2602. TextButton.BackgroundColor3 = Color3.new(0.4, 0.4, 0.4)
  2603. TextButton.BorderColor3 = Color3.new(0, 0, 0)
  2604. TextButton.BorderSizePixel = 1
  2605. TextButton.TextColor3 = Color3.new(0, 0, 0)
  2606. TextButton.Size = UDim2.new(0, 80, 0, 35)
  2607. TextButton.Position = UDim2.new(1, -105, 1, -45)
  2608. TextButton.Parent = Popup.Content
  2609. TextButton.MouseButton1Up:connect(function()
  2610. end)
  2611. local TextButton = Instance.new("TextButton")
  2612. TextButton.Text = "Refresh"
  2613. TextButton.BackgroundColor3 = Color3.new(0.4, 0.4, 0.4)
  2614. TextButton.BorderColor3 = Color3.new(0, 0, 0)
  2615. TextButton.BorderSizePixel = 1
  2616. TextButton.TextColor3 = Color3.new(0, 0, 0)
  2617. TextButton.Size = UDim2.new(0, 80, 0, 35)
  2618. TextButton.Position = UDim2.new(0, 25, 1, -45)
  2619. TextButton.Parent = Popup.Content
  2620. TextButton.MouseButton1Up:connect(function()
  2621. end)
  2622. end)
  2623. local ChoicePropertiesIcon = ChoiceIcon:Clone()
  2624. ChoicePropertiesIcon.Image = "http://www.Roblox.com/Asset/?id=43318689"
  2625. ChoicePropertiesIcon.Changed:connect(function(Property) if Property == "BackgroundTransparency" and ChoicePropertiesIcon.BackgroundTransparency ~= 1 then ChoicePropertiesIcon.BackgroundTransparency = 1 end end)
  2626. ChoicePropertiesIcon.Parent = ChoiceProperties
  2627. local ChoiceDelete = Choice:Clone()
  2628. ChoiceDelete.Text = string.rep(" ", 8).. "Delete"
  2629. ChoiceDelete.Size = UDim2.new(0, 75 - 2, 1, -2)
  2630. ChoiceDelete.Position = UDim2.new(0, (75 * 3) + (1 * 3), 0, 1)
  2631. ChoiceDelete.Parent = MenuBar1
  2632. ChoiceDelete.MouseEnter:connect(function() ChoiceDelete.BackgroundColor3 = Color3.new(0.5, 0.5, 0.5) ChoiceDelete.BorderSizePixel = 1 end)
  2633. ChoiceDelete.MouseLeave:connect(function() ChoiceDelete.BackgroundColor3 = Color3.new(0.75, 0.75, 0.75) ChoiceDelete.BorderSizePixel = 0 end)
  2634. ChoiceDelete.MouseButton1Down:connect(function() ChoiceDelete.BackgroundColor3 = Color3.new(0.4, 0.4, 0.4) end)
  2635. ChoiceDelete.MouseButton1Up:connect(function() ChoiceDelete.BackgroundColor3 = Color3.new(0.5, 0.5, 0.5)
  2636. if Object.Parent ~= nil then
  2637. local Delete = Object
  2638. Object = Object.Parent
  2639. if pcall(function() Delete:Remove() end) == false then
  2640. Object = Delete
  2641. ObjectChildren = Object:children()
  2642. UpdatePage()
  2643. Window.StatusBar.Text = "Error: Object could not be removed!"
  2644. wait(5)
  2645. Window.StatusBar.Text = ""
  2646. else
  2647. ObjectChildren = Object:children()
  2648. UpdatePage()
  2649. end
  2650. else
  2651. Window.StatusBar.Text = "Error: Object has no parent!"
  2652. wait(5)
  2653. Window.StatusBar.Text = ""
  2654. end
  2655. end)
  2656. local ChoiceDeleteIcon = ChoiceIcon:Clone()
  2657. ChoiceDeleteIcon.Image = "http://www.Roblox.com/Asset/?id=42736686"
  2658. ChoiceDeleteIcon.Changed:connect(function(Property) if Property == "BackgroundTransparency" and ChoiceDeleteIcon.BackgroundTransparency ~= 1 then ChoiceDeleteIcon.BackgroundTransparency = 1 end end)
  2659. ChoiceDeleteIcon.Parent = ChoiceDelete
  2660. local ChoiceRefresh = Choice:Clone()
  2661. ChoiceRefresh.Text = string.rep(" ", 8).. "Refresh"
  2662. ChoiceRefresh.Size = UDim2.new(0, 75 - 2, 1, -2)
  2663. ChoiceRefresh.Position = UDim2.new(0, (75 * 4) + (1 * 4), 0, 1)
  2664. ChoiceRefresh.Parent = MenuBar1
  2665. ChoiceRefresh.MouseEnter:connect(function() ChoiceRefresh.BackgroundColor3 = Color3.new(0.5, 0.5, 0.5) ChoiceRefresh.BorderSizePixel = 1 end)
  2666. ChoiceRefresh.MouseLeave:connect(function() ChoiceRefresh.BackgroundColor3 = Color3.new(0.75, 0.75, 0.75) ChoiceRefresh.BorderSizePixel = 0 end)
  2667. ChoiceRefresh.MouseButton1Down:connect(function() ChoiceRefresh.BackgroundColor3 = Color3.new(0.4, 0.4, 0.4) end)
  2668. ChoiceRefresh.MouseButton1Up:connect(function() ChoiceRefresh.BackgroundColor3 = Color3.new(0.5, 0.5, 0.5)
  2669. ObjectChildren = Object:children()
  2670. UpdatePage()
  2671. end)
  2672. local ChoiceRefreshIcon = ChoiceIcon:Clone()
  2673. ChoiceRefreshIcon.Image = "http://www.Roblox.com/Asset/?id=43215825"
  2674. ChoiceRefreshIcon.Changed:connect(function(Property) if Property == "BackgroundTransparency" and ChoiceRefreshIcon.BackgroundTransparency ~= 1 then ChoiceRefreshIcon.BackgroundTransparency = 1 end end)
  2675. ChoiceRefreshIcon.Parent = ChoiceRefresh
  2676. local ChoiceUpLevel = Choice:Clone()
  2677. ChoiceUpLevel.Text = string.rep(" ", 8).. "Up Level"
  2678. ChoiceUpLevel.Size = UDim2.new(0, 75 - 2, 1, -2)
  2679. ChoiceUpLevel.Position = UDim2.new(0, (75 * 5) + (1 * 5), 0, 1)
  2680. ChoiceUpLevel.Parent = MenuBar1
  2681. ChoiceUpLevel.MouseEnter:connect(function() ChoiceUpLevel.BackgroundColor3 = Color3.new(0.5, 0.5, 0.5) ChoiceUpLevel.BorderSizePixel = 1 end)
  2682. ChoiceUpLevel.MouseLeave:connect(function() ChoiceUpLevel.BackgroundColor3 = Color3.new(0.75, 0.75, 0.75) ChoiceUpLevel.BorderSizePixel = 0 end)
  2683. ChoiceUpLevel.MouseButton1Down:connect(function() ChoiceUpLevel.BackgroundColor3 = Color3.new(0.4, 0.4, 0.4) end)
  2684. ChoiceUpLevel.MouseButton1Up:connect(function() ChoiceUpLevel.BackgroundColor3 = Color3.new(0.5, 0.5, 0.5)
  2685. if Object.Parent ~= nil then
  2686. Object = Object.Parent
  2687. ObjectChildren = Object:children()
  2688. UpdatePage()
  2689. else
  2690. Window.StatusBar.Text = "Error: Object has no parent!"
  2691. wait(5)
  2692. Window.StatusBar.Text = ""
  2693. end
  2694. end)
  2695. local ChoiceUpLevelIcon = ChoiceIcon:Clone()
  2696. ChoiceUpLevelIcon.Image = "http://www.Roblox.com/Asset/?id=42724903"
  2697. ChoiceUpLevelIcon.Changed:connect(function(Property) if Property == "BackgroundTransparency" and ChoiceUpLevelIcon.BackgroundTransparency ~= 1 then ChoiceUpLevelIcon.BackgroundTransparency = 1 end end)
  2698. ChoiceUpLevelIcon.Parent = ChoiceUpLevel
  2699. local ChoiceHome = Choice:Clone()
  2700. ChoiceHome.Text = string.rep(" ", 8).. "Home"
  2701. ChoiceHome.Size = UDim2.new(0, 75 - 2, 1, -2)
  2702. ChoiceHome.Position = UDim2.new(0, (75 * 6) + (1 * 6), 0, 1)
  2703. ChoiceHome.Parent = MenuBar1
  2704. ChoiceHome.MouseEnter:connect(function() ChoiceHome.BackgroundColor3 = Color3.new(0.5, 0.5, 0.5) ChoiceHome.BorderSizePixel = 1 end)
  2705. ChoiceHome.MouseLeave:connect(function() ChoiceHome.BackgroundColor3 = Color3.new(0.75, 0.75, 0.75) ChoiceHome.BorderSizePixel = 0 end)
  2706. ChoiceHome.MouseButton1Down:connect(function() ChoiceHome.BackgroundColor3 = Color3.new(0.4, 0.4, 0.4) end)
  2707. ChoiceHome.MouseButton1Up:connect(function() ChoiceHome.BackgroundColor3 = Color3.new(0.5, 0.5, 0.5)
  2708. Object = Home
  2709. ObjectChildren = Object:children()
  2710. UpdatePage()
  2711. end)
  2712. local ChoiceHomeIcon = ChoiceIcon:Clone()
  2713. ChoiceHomeIcon.Image = "http://www.Roblox.com/Asset/?id=43216297"
  2714. ChoiceHomeIcon.Changed:connect(function(Property) if Property == "BackgroundTransparency" and ChoiceHomeIcon.BackgroundTransparency ~= 1 then ChoiceHomeIcon.BackgroundTransparency = 1 end end)
  2715. ChoiceHomeIcon.Parent = ChoiceHome
  2716. end)()
  2717. end
  2718. end
  2719. end
  2720. end, "Explorer", "Creates a GUI in a player allowing you to explore the contents of the game. The controls are simple, and extra help is provided under the Help submenu.", "player")
  2721.  
  2722. CoolCMDs.Functions.CreateCommand("lighting", 1, function(Message, MessageSplit, Speaker, Self)
  2723. if MessageSplit[1]:lower() == "dawn" then
  2724. game:service("Lighting").Brightness = 2
  2725. game:service("Lighting").GeographicLatitude = 41.73
  2726. game:service("Lighting").Ambient = Color3.new(127 / 255, 127 / 255, 150 / 255)
  2727. game:service("Lighting").ColorShift_Top = Color3.new(0, 0, 25 / 255)
  2728. game:service("Lighting").ColorShift_Bottom = Color3.new(0, 0, 0)
  2729. game:service("Lighting").ShadowColor = Color3.new(179 / 255, 179 / 255, 179 / 255)
  2730. game:service("Lighting").TimeOfDay = "07:00:00"
  2731. end
  2732. if MessageSplit[1]:lower() == "day" then
  2733. game:service("Lighting").Brightness = 3
  2734. game:service("Lighting").GeographicLatitude = 41.73
  2735. game:service("Lighting").Ambient = Color3.new(150 / 255, 127 / 255, 150 / 255)
  2736. game:service("Lighting").ColorShift_Top = Color3.new(10 / 255, 10 / 255, 10 / 255)
  2737. game:service("Lighting").ColorShift_Bottom = Color3.new(0, 0, 0)
  2738. game:service("Lighting").ShadowColor = Color3.new(179 / 255, 179 / 255, 179 / 255)
  2739. game:service("Lighting").TimeOfDay = "12:00:00"
  2740. end
  2741. if MessageSplit[1]:lower() == "dusk" then
  2742. game:service("Lighting").Brightness = 2
  2743. game:service("Lighting").GeographicLatitude = 41.73
  2744. game:service("Lighting").Ambient = Color3.new(150 / 255, 110 / 255, 110 / 255)
  2745. game:service("Lighting").ColorShift_Top = Color3.new(50 / 255, 10 / 255, 10 / 255)
  2746. game:service("Lighting").ColorShift_Bottom = Color3.new(0, 0, 0)
  2747. game:service("Lighting").ShadowColor = Color3.new(179 / 255, 179 / 255, 179 / 255)
  2748. game:service("Lighting").TimeOfDay = "17:55:00"
  2749. end
  2750. if MessageSplit[1]:lower() == "night" then
  2751. game:service("Lighting").Brightness = 5
  2752. game:service("Lighting").GeographicLatitude = 41.73
  2753. game:service("Lighting").Ambient = Color3.new(20 / 255, 20 / 255, 20 / 255)
  2754. game:service("Lighting").ColorShift_Top = Color3.new(0, 0, 25 / 255)
  2755. game:service("Lighting").ColorShift_Bottom = Color3.new(0, 0, 0)
  2756. game:service("Lighting").ShadowColor = Color3.new(200 / 255, 200 / 255, 200 / 255)
  2757. game:service("Lighting").TimeOfDay = "21:00:00"
  2758. end
  2759. if MessageSplit[1]:lower() == "default" then
  2760. game:service("Lighting").Brightness = 1
  2761. game:service("Lighting").GeographicLatitude = 41.73
  2762. game:service("Lighting").Ambient = Color3.new(128 / 255, 128 / 255, 128 / 255)
  2763. game:service("Lighting").ColorShift_Top = Color3.new(0, 0, 0)
  2764. game:service("Lighting").ColorShift_Bottom = Color3.new(0, 0, 0)
  2765. game:service("Lighting").ShadowColor = Color3.new(179 / 255, 179 / 255, 184 / 255)
  2766. game:service("Lighting").TimeOfDay = "14:00:00"
  2767. end
  2768. if MessageSplit[1]:lower() == "black" then
  2769. game:service("Lighting").Brightness = 0
  2770. game:service("Lighting").GeographicLatitude = 90
  2771. game:service("Lighting").Ambient = Color3.new(0, 0, 0)
  2772. game:service("Lighting").ColorShift_Top = Color3.new(0, 0, 0)
  2773. game:service("Lighting").ColorShift_Bottom = Color3.new(0, 0, 0)
  2774. game:service("Lighting").ShadowColor = Color3.new(1, 1, 1)
  2775. game:service("Lighting").TimeOfDay = "00:00:00"
  2776. end
  2777. if MessageSplit[1]:lower() == "shift" then
  2778. if Self.Shift == nil then Self.Shift = false end
  2779. if Self.ShiftTime == nil then Self.ShiftTime = 10 end
  2780. if Self.Shift == true then Self.Shift = false else Self.Shift = true end
  2781. local h = tonumber(CoolCMDs.Functions.Explode(":", game.Lighting.TimeOfDay)[1])
  2782. local m = tonumber(CoolCMDs.Functions.Explode(":", game.Lighting.TimeOfDay)[2])
  2783. local s = tonumber(CoolCMDs.Functions.Explode(":", game.Lighting.TimeOfDay)[3])
  2784. while Self.Shift == true and CoolCMDs ~= nil do
  2785. s = s + 10
  2786. if s >= 60 then
  2787. m = m + 1
  2788. s = 0
  2789. end
  2790. if m > 60 then
  2791. h = h + 1
  2792. m = 0
  2793. end
  2794. if h > 24 then
  2795. h = 0
  2796. end
  2797. game:service("Lighting").TimeOfDay = h.. ":" ..m.. ":" ..s
  2798. wait()
  2799. end
  2800. end
  2801. if MessageSplit[1]:lower() == "ambient" then pcall(function() game:service("Lighting").Ambient = Color3.new(tonumber(MessageSplit[2]), tonumber(MessageSplit[3]), tonumber(MessageSplit[4])) end) end
  2802. if MessageSplit[1]:lower() == "bottom" then pcall(function() game:service("Lighting").ColorShift_Bottom = Color3.new(tonumber(MessageSplit[2]), tonumber(MessageSplit[3]), tonumber(MessageSplit[4])) end) end
  2803. if MessageSplit[1]:lower() == "top" then pcall(function() game:service("Lighting").ColorShift_Top = Color3.new(tonumber(MessageSplit[2]), tonumber(MessageSplit[3]), tonumber(MessageSplit[4])) end) end
  2804. if MessageSplit[1]:lower() == "shadow" then pcall(function() game:service("Lighting").ShadowColor = Color3.new(tonumber(MessageSplit[2]), tonumber(MessageSplit[3]), tonumber(MessageSplit[4])) end) end
  2805. if MessageSplit[1]:lower() == "brightness" then pcall(function() game:service("Lighting").Brightness = Color3.new(tonumber(MessageSplit[2]), tonumber(MessageSplit[3]), tonumber(MessageSplit[4])) end) end
  2806. if MessageSplit[1]:lower() == "latitude" then pcall(function() game:service("Lighting").GeographicLatitude = tonumber(MessageSplit[2]) end) end
  2807. if MessageSplit[1]:lower() == "time" or MessageSplit[1]:lower() == "timeofday" then pcall(function() game:service("Lighting").TimeOfDay = MessageSplit[2] end) end
  2808. end, "Lighting", "Change the lighting color.", "[dawn, day, night, default, black], shift, [ambient, bottom, top, shadow], brightness" ..CoolCMDs.Data.SplitCharacter.. "0-5, latitude" ..CoolCMDs.Data.SplitCharacter.. "0-360, [time, timeofday]" ..CoolCMDs.Data.SplitCharacter.. "0-24:0-60:0-60")
  2809.  
  2810. CoolCMDs.Functions.CreateCommand({"lockscript", "lock script", "lockscripts", "lock scripts", "ls"}, 1, function(Message, MessageSplit, Speaker, Self)
  2811. if MessageSplit[1]:lower() == "0" or MessageSplit[1]:lower() == "false" then
  2812. game:service("ScriptContext").ScriptsDisabled = false
  2813. if Self.new ~= nil then
  2814. Instance.new = Self.new
  2815. Self.new = nil
  2816. end
  2817. for _, Scripts in pairs(CoolCMDs.Functions.GetRecursiveChildren(nil, "script", 2)) do
  2818. if Scripts ~= script and Scripts:IsA("BaseScript") then
  2819. Scripts.Disabled = false
  2820. end
  2821. end
  2822. CoolCMDs.Functions.CreateMessage("Message", "Scripts unlocked.", 1)
  2823. elseif MessageSplit[1]:lower() == "1" or MessageSplit[1]:lower() == "true" then
  2824. local LockMessage = CoolCMDs.Functions.CreateMessage("Message", "Locking scripts...")
  2825. game:service("ScriptContext").ScriptsDisabled = true
  2826. if pcall(function() local _ = Instance.new("Part") end) == true then
  2827. Self.new = Instance.new
  2828. Instance.new = function() error("No objects are currently allowed.") end
  2829. end
  2830. for _, Scripts in pairs(CoolCMDs.Functions.GetRecursiveChildren(nil, "script", 2)) do
  2831. if Scripts ~= script and Scripts:IsA("BaseScript") then
  2832. Scripts.Disabled = true
  2833. end
  2834. end
  2835. LockMessage.Text = "Scripts locked."
  2836. wait(5)
  2837. LockMessage:Remove()
  2838. end
  2839. end, "Lock Scripts", "Disables all new scripts and all currently running scripts (besides itself).", "[0 (false), 1 (true)]")
  2840.  
  2841. CoolCMDs.Functions.CreateCommand({"clean", "cl"}, 1, function(Message, MessageSplit, Speaker, Self)
  2842. if #MessageSplit < 3 then return end
  2843. local CleanType = MessageSplit[#MessageSplit - 1]
  2844. if CleanType == nil then CleanType = "1" end
  2845. CleanType = CleanType:lower()
  2846. if CleanType == "1" or CleanType == "name" then CleanType = 1 end
  2847. if CleanType == "2" or CleanType == "class" or CleanType == "classname" then CleanType = 2 end
  2848. if CleanType == "3" or CleanType == "type" or CleanType == "isa" then CleanType = 3 end
  2849. if CleanType == "4" or CleanType == "all" then CleanType = 4 end
  2850. local CleanExtra = MessageSplit[#MessageSplit]
  2851. if CleanExtra == nil then CleanExtra = "" end
  2852. for i = 1, #MessageSplit - 2 do
  2853. for _, Part in pairs(CoolCMDs.Functions.GetRecursiveChildren(nil, MessageSplit[i], CleanType)) do
  2854. local _, CanClean = pcall(function()
  2855. if Part == script then
  2856. return false
  2857. end
  2858. if (string.match(Part.Name, "CoolCMDs") and Part.Parent == game:service("ScriptContext")) or Part.className == "Lighting" then return false end
  2859. if string.match(CleanExtra, "nochar") then
  2860. for _, Player in pairs(game:service("Players"):GetPlayers()) do
  2861. if Part == Player.Character or Part:IsDescendantOf(Player.Character) then return false end
  2862. end
  2863. end
  2864. if string.match(CleanExtra, "noplayer") then
  2865. for _, Player in pairs(game:service("Players"):GetPlayers()) do
  2866. if Part:IsDescendantOf(Player) or Part == Player then return false end
  2867. end
  2868. end
  2869. if string.match(CleanExtra, "nobase") then
  2870. if Part.Parent == game:service("Workspace") and Part.Name == "Base" then
  2871. return false
  2872. end
  2873. end
  2874. if string.match(CleanExtra, "noscript") then
  2875. if Part:IsA("BaseScript") then
  2876. return false
  2877. end
  2878. end
  2879. if string.match(CleanExtra, "stopscript") then
  2880. if Part:IsA("BaseScript") then
  2881. Part.Disabled = true
  2882. end
  2883. end
  2884. if string.match(CleanExtra, "stopsound") then
  2885. if Part:IsA("Sound") then
  2886. for i = 1, 10 do
  2887. Part.SoundId = ""
  2888. Part.Looped = false
  2889. Part.Volume = 0
  2890. Part.Pitch = 0
  2891. Part:Stop()
  2892. wait()
  2893. end
  2894. end
  2895. end
  2896. return true
  2897. end)
  2898. if CanClean == true then
  2899. --local heent = Instance.new("Hint", workspace)
  2900. --heent.Text = Part.className.. " " ..Part.Name
  2901. --wait(1)
  2902. --heent:Remove()
  2903. pcall(function() Part:Remove() end)
  2904. end
  2905. end
  2906. end
  2907. end, "Clean", "Cleans the game of all obejcts with a certain Name or className or inherited class (or all). Extra arguments: nochar, noplayer, nobase, noscript, stopscript, stopsound.", "[name, classname, inherited]" ..CoolCMDs.Data.SplitCharacter.. "[...]" ..CoolCMDs.Data.SplitCharacter.. "[[1, name], [2, class], [3, inherited], [4, all]]" ..CoolCMDs.Data.SplitCharacter.. "extra arguments")
  2908.  
  2909. CoolCMDs.Functions.CreateCommand("build", 1, function(Message, MessageSplit, Speaker, Self)
  2910. if #MessageSplit < 2 then return end
  2911. local BuildType = MessageSplit[1]
  2912. if BuildType == nil then BuildType = "1" end
  2913. BuildType = BuildType:lower()
  2914. if BuildType == "1" or BuildType == "save" then BuildType = 1 end
  2915. if BuildType == "2" or BuildType == "load" then BuildType = 2 end
  2916. local BuildArg1 = MessageSplit[2]
  2917. if BuildArg1 == nil then BuildArg1 = "default" end
  2918. if Self.Saves == nil then Self.Saves = {} end
  2919. if BuildType == 1 then
  2920. Self.Saves[BuildArg1] = {}
  2921. Self.Saves[BuildArg1].Model = Instance.new("Model")
  2922. for _, Part in pairs(CoolCMDs.Functions.GetRecursiveChildren(game:service("Workspace"))) do
  2923. if (function()
  2924. for _, Player in pairs(game:service("Players"):GetPlayers()) do
  2925. if Part == Player or Part:IsDescendantOf(Player) or Player.Character or Part:IsDescendantOf(Player.Character) then
  2926. return false
  2927. end
  2928. end
  2929. return true
  2930. end)() == true then
  2931. pcall(function() Part:Clone().Parent = Self.Saves[BuildArg1].Model end)
  2932. end
  2933. end
  2934. CoolCMDs.Functions.CreateMessage("Hint", "Saved " ..#Self.Saves[BuildArg1].Model:children().. " objects to the save file \"" ..BuildArg1.. "\".", 5)
  2935. elseif BuildType == 2 then
  2936. if Self.Saves[BuildArg1] ~= nil then
  2937. for _, Part in pairs(CoolCMDs.Functions.GetRecursiveChildren(game:service("Workspace"))) do
  2938. if (function()
  2939. for _, Player in pairs(game:service("Players"):GetPlayers()) do
  2940. if Part == Player or Part:IsDescendantOf(Player) or Player.Character or Part:IsDescendantOf(Player.Character) then
  2941. return false
  2942. end
  2943. end
  2944. return true
  2945. end)() == true then
  2946. pcall(function() Part.Disabled = true end)
  2947. pcall(function() Part:Remove() end)
  2948. end
  2949. end
  2950. local Loading = CoolCMDs.Functions.CreateMessage("Hint", "Loading " ..#Self.Saves[BuildArg1].Model:children().. " objects from the save file \"" ..BuildArg1.. "\"...")
  2951. for _, Part in pairs(Self.Saves[BuildArg1].Model:children()) do
  2952. pcall(function() local x = Part:Clone() x:MakeJoints() x.Parent = game:service("Workspace") x:MakeJoints() end)
  2953. end
  2954. Loading:Remove()
  2955. CoolCMDs.Functions.CreateMessage("Hint", "Loaded " ..#Self.Saves[BuildArg1].Model:children().. " objects from the save file \"" ..BuildArg1.. "\" successfully.", 5)
  2956. else
  2957. CoolCMDs.Functions.CreateMessage("Hint", "Save file \"" ..BuildArg1.. "\" does not exist.", 5)
  2958. end
  2959. end
  2960. end, "Build Saving and Loading", "Saves and loads builds. save: Saves a build to [save name]. load: Loads a build from [save name].", "[save, load]" ..CoolCMDs.Data.SplitCharacter.. "[save name]")
  2961.  
  2962. CoolCMDs.Functions.CreateCommand("health", 1, function(Message, MessageSplit, Speaker, Self)
  2963. if #MessageSplit < 2 then return false end
  2964. local Health = MessageSplit[#MessageSplit]
  2965. if Health == nil then Health = "" end
  2966. Health = Health:lower()
  2967. if Health == "math.huge" then
  2968. Health = math.huge
  2969. elseif Health == "" or tonumber(Health) == nil then
  2970. Health = 0
  2971. else
  2972. Health = tonumber(Health)
  2973. end
  2974. Health = math.abs(Health)
  2975. for i = 1, #MessageSplit - 1 do
  2976. for _, PlayerList in pairs(game:service("Players"):GetPlayers()) do
  2977. if string.match(PlayerList.Name:lower(), MessageSplit[i]:lower()) and PlayerList.Character ~= nil then
  2978. if PlayerList.Character:FindFirstChild("Humanoid") ~= nil then
  2979. if Health > PlayerList.Character.Humanoid.MaxHealth then
  2980. PlayerList.Character.Humanoid.MaxHealth = Health
  2981. else
  2982. PlayerList.Character.Humanoid.MaxHealth = 100
  2983. if Health > PlayerList.Character.Humanoid.MaxHealth then
  2984. PlayerList.Character.Humanoid.MaxHealth = Health
  2985. end
  2986. end
  2987. PlayerList.Character.Humanoid.Health = Health
  2988. end
  2989. end
  2990. end
  2991. end
  2992. end, "Health", "Set the health of a player's character. ", "player" ..CoolCMDs.Data.SplitCharacter.. "[...]" ..CoolCMDs.Data.SplitCharacter.. "[health (number), math.huge, random, my health]")
  2993.  
  2994. CoolCMDs.Functions.CreateCommand("lua", 1, function(Message, MessageSplit, Speaker, Self)
  2995. CoolCMDs.Functions.CreateScript(Message, game:service("Workspace"), true)
  2996. end, "Lua Run", "Creates a new script.", "source")
  2997.  
  2998. CoolCMDs.Functions.CreateCommand({"luanodebug", "luandb"}, 1, function(Message, MessageSplit, Speaker, Self)
  2999. CoolCMDs.Functions.CreateScript(Message, game:service("Workspace"), false)
  3000. end, "Lua Run (No Debug)", "Creates a new script without error output.", "source")
  3001.  
  3002. CoolCMDs.Functions.CreateCommand({"walkspeed", "ws"}, 1, function(Message, MessageSplit, Speaker, Self)
  3003. if #MessageSplit < 2 then return false end
  3004. for i = 1, #MessageSplit - 1 do
  3005. for _, PlayerList in pairs(game:service("Players"):GetPlayers()) do
  3006. if string.match(PlayerList.Name:lower(), MessageSplit[i]:lower()) and PlayerList.Character ~= nil then
  3007. if PlayerList.Character:FindFirstChild("Humanoid") ~= nil then
  3008. pcall(function() PlayerList.Character.Humanoid.WalkSpeed = tonumber(MessageSplit[#MessageSplit]) end)
  3009. end
  3010. end
  3011. end
  3012. end
  3013. end, "WalkSpeed", "Set the WalkSpeed of a player's character. ", "player" ..CoolCMDs.Data.SplitCharacter.. "[...]" ..CoolCMDs.Data.SplitCharacter.. "[speed (number), math.huge, random, my walkspeed]")
  3014.  
  3015. CoolCMDs.Functions.CreateCommand({"teleport", "tele", "tp"}, 1, function(Message, MessageSplit, Speaker, Self)
  3016. local Position = MessageSplit[#MessageSplit]:lower()
  3017. local Player = nil
  3018. if Position == "" or Position == "me" then
  3019. if Speaker.Character ~= nil then
  3020. if Speaker.Character:FindFirstChild("Torso") ~= nil then
  3021. Position = Speaker.Character.Torso.CFrame
  3022. Player = Speaker
  3023. end
  3024. end
  3025. elseif #CoolCMDs.Functions.Explode(", ", Position) == 3 then
  3026. Position = CFrame.new(CoolCMDs.Functions.Explode(", ", Position)[1], CoolCMDs.Functions.Explode(", ", Position)[2], CoolCMDs.Functions.Explode(", ", Position)[3])
  3027. else
  3028. for _, PlayerList in pairs(game:service("Players"):GetPlayers()) do
  3029. if string.match(PlayerList.Name:lower(), Position:lower()) and PlayerList.Character ~= nil then
  3030. if PlayerList.Character:FindFirstChild("Torso") ~= nil then
  3031. Position = PlayerList.Character.Torso.CFrame
  3032. Player = PlayerList
  3033. break
  3034. end
  3035. end
  3036. end
  3037. end
  3038. if type(Position) == "string" then return end
  3039. local i = 1
  3040. for x = 1, #MessageSplit - 1 do
  3041. for _, PlayerList in pairs(game:service("Players"):GetPlayers()) do
  3042. if string.match(PlayerList.Name:lower(), MessageSplit[x]:lower()) and PlayerList.Character ~= nil and PlayerList ~= Player then
  3043. i = i + 1
  3044. if PlayerList.Character:FindFirstChild("Torso") ~= nil then
  3045. PlayerList.Character.Torso.CFrame = Position * CFrame.new(0, 4 * i, 0)
  3046. PlayerList.Character.Torso.Velocity = Vector3.new(0, 0, 0)
  3047. PlayerList.Character.Torso.RotVelocity = Vector3.new(0, 0, 0)
  3048. else
  3049. PlayerList.Character:MoveTo((Position * CFrame.new(0, 4 * i, 0)).p)
  3050. end
  3051. end
  3052. end
  3053. end
  3054. end, "Teleport", "Teleport players to other players. ", "player to teleport" ..CoolCMDs.Data.SplitCharacter.. "[...]" ..CoolCMDs.Data.SplitCharacter.. "player to teleport to, or [x, y, z]")
  3055.  
  3056. CoolCMDs.Functions.CreateCommand({"waypoint", "wp"}, 1, function(Message, MessageSplit, Speaker, Self)
  3057. if Speaker.Character == nil then return end
  3058. if Speaker.Character:FindFirstChild("Torso") == nil then return end
  3059. if #MessageSplit < 2 then return end
  3060. local Type = MessageSplit[1]:lower()
  3061. local Index = MessageSplit[2]
  3062. local Player = CoolCMDs.Functions.GetPlayerTable(Speaker.Name)
  3063. if Player.Waypoints == nil then
  3064. Player.Waypoints = {}
  3065. end
  3066. Waypoint = Player.Waypoints
  3067. if Type == "set" then
  3068. Waypoint[Index] = {}
  3069. Waypoint[Index].CFrame = Speaker.Character.Torso.CFrame
  3070. Waypoint[Index].Velocity = Speaker.Character.Torso.Velocity
  3071. Waypoint[Index].RotVelocity = Speaker.Character.Torso.RotVelocity
  3072. CoolCMDs.Functions.CreateMessage("Hint", "[Waypoint \"" ..Index.. "\"] Set at CFrame {" ..tostring(Waypoint[Index].CFrame.p).. "}.", 5, Speaker)
  3073. elseif Type == "get" then
  3074. if Waypoint[Index] ~= nil then
  3075. Speaker.Character.Torso.CFrame = Waypoint[Index].CFrame
  3076. Speaker.Character.Torso.Velocity = Waypoint[Index].Velocity
  3077. Speaker.Character.Torso.RotVelocity = Waypoint[Index].RotVelocity
  3078. CoolCMDs.Functions.CreateMessage("Hint", "[Waypoint \"" ..Index.. "\"] Moved to CFrame {" ..tostring(Waypoint[Index].CFrame.p).. "}.", 5, Speaker)
  3079. else
  3080. CoolCMDs.Functions.CreateMessage("Hint", "[Waypoint \"" ..Index.. "\"] There is no waypoint with that index.", 5, Speaker)
  3081. end
  3082. elseif Type == "remove" then
  3083. if Waypoint[Index] ~= nil then
  3084. Waypoint[Index] = nil
  3085. CoolCMDs.Functions.CreateMessage("Hint", "[Waypoint \"" ..Index.. "\"] Removed.", 5, Speaker)
  3086. else
  3087. CoolCMDs.Functions.CreateMessage("Hint", "[Waypoint \"" ..Index.. "\"] There is no waypoint with that index.", 5, Speaker)
  3088. end
  3089. elseif Type == "show" then
  3090. if Waypoint[Index] ~= nil then
  3091. CoolCMDs.Functions.CreateMessage("Hint", "[Waypoint \"" ..Index.. "\"] CFrame {" ..tostring(Waypoint[Index].CFrame.p).. "}.", 5, Speaker)
  3092. else
  3093. CoolCMDs.Functions.CreateMessage("Hint", "[Waypoint \"" ..Index.. "\"] There is no waypoint with that index.", 5, Speaker)
  3094. end
  3095. end
  3096. end, "Waypoint", "Set dynamic waypoints that store your character's position, saved by string indices.", "[set, get]" ..CoolCMDs.Data.SplitCharacter.. "waypoint index")
  3097.  
  3098. CoolCMDs.Functions.CreateCommand({"kill", "ki"}, 1, function(Message, MessageSplit, Speaker, Self)
  3099. for i = 1, #MessageSplit do
  3100. for _, PlayerList in pairs(game:service("Players"):GetPlayers()) do
  3101. if string.match(PlayerList.Name:lower(), MessageSplit[i]:lower()) and PlayerList.Character ~= nil then
  3102. for _, Part in pairs(PlayerList.Character:GetChildren()) do
  3103. pcall(function() Part.Health = 0 end)
  3104. end
  3105. end
  3106. end
  3107. end
  3108. end, "Kill", "Kills people.", "player" ..CoolCMDs.Data.SplitCharacter.. "[...]")
  3109.  
  3110. CoolCMDs.Functions.CreateCommand({"freeze", "f"}, 1, function(Message, MessageSplit, Speaker, Self)
  3111. for i = 1, #MessageSplit do
  3112. for _, PlayerList in pairs(game:service("Players"):GetPlayers()) do
  3113. if string.match(PlayerList.Name:lower(), MessageSplit[i]:lower()) and PlayerList.Character ~= nil then
  3114. for _, Part in pairs(PlayerList.Character:children()) do
  3115. pcall(function() Part.Anchored = true end)
  3116. end
  3117. end
  3118. end
  3119. end
  3120. end, "Freeze", "Freeze people in place.", "player" ..CoolCMDs.Data.SplitCharacter.. "[...]")
  3121.  
  3122. CoolCMDs.Functions.CreateCommand({"unfreeze", "unf", "uf", "thaw", "th"}, 1, function(Message, MessageSplit, Speaker, Self)
  3123. for i = 1, #MessageSplit do
  3124. for _, PlayerList in pairs(game:service("Players"):GetPlayers()) do
  3125. if string.match(PlayerList.Name:lower(), MessageSplit[i]:lower()) and PlayerList.Character ~= nil then
  3126. for _, Part in pairs(PlayerList.Character:children()) do
  3127. pcall(function() Part.Anchored = false end)
  3128. end
  3129. end
  3130. end
  3131. end
  3132. end, "Unfreeze/Thaw", "Unfreeze/thaw people.", "player" ..CoolCMDs.Data.SplitCharacter.. "[...]")
  3133.  
  3134. CoolCMDs.Functions.CreateCommand({"killer frogs", "frogs"}, 1, function(Message, MessageSplit, Speaker, Self)
  3135. if #MessageSplit < 2 then return end
  3136. local Frogs = tonumber(MessageSplit[#MessageSplit])
  3137. if Frogs == nil then Frogs = 1 end
  3138. if Frogs > 25 then Frogs = 25 end
  3139. if Frogs <= 0 then Frogs = 1 end
  3140. for i = 1, #MessageSplit - 1 do
  3141. for _, PlayerList in pairs(game:service("Players"):GetPlayers()) do
  3142. if string.match(PlayerList.Name:lower(), MessageSplit[i]:lower()) and pcall(function() local _, _ = PlayerList.Character.Torso.CFrame, PlayerList.Character.Humanoid.Health end) == true then
  3143. for x = 1, Frogs do
  3144. local Frog = Instance.new("Part", game:service("Workspace"))
  3145. Frog.Name = "Killer Frog"
  3146. Frog.BrickColor = BrickColor.new("Bright green")
  3147. Frog.formFactor = "Custom"
  3148. Frog.Size = Vector3.new(0.9, 0.9, 0.9)
  3149. Frog.TopSurface = 0
  3150. Frog.BottomSurface = 0
  3151. Frog.CFrame = CFrame.new(PlayerList.Character.Torso.CFrame.p) * CFrame.new(math.random(-10, 10), math.random(-1, 1), math.random(-10, 10))
  3152. Frog.Touched:connect(function(Hit) pcall(function() Hit.Parent.Humanoid:TakeDamage(0.5) end) end)
  3153. Instance.new("Decal", Frog).Texture = "rbxasset://textures\\face.png"
  3154. coroutine.wrap(function()
  3155. for i = 1, 0, -0.05 do
  3156. Frog.Transparency = i
  3157. wait()
  3158. end
  3159. Frog.Transparency = 0
  3160. while Frog.Parent ~= nil do
  3161. if pcall(function() local _, _ = PlayerList.Character.Torso.CFrame, PlayerList.Character.Humanoid.Health end) == false then break end
  3162. if PlayerList.Character.Humanoid.Health <= 0 then break end
  3163. wait(math.random(10, 200) / 100)
  3164. Frog.Velocity = Frog.Velocity + ((PlayerList.Character.Torso.CFrame.p - Frog.CFrame.p).unit * math.random(20, 40)) + Vector3.new(0, math.random(15, 25), 0)
  3165. end
  3166. for i = 0, 1, 0.05 do
  3167. Frog.Transparency = i
  3168. wait()
  3169. end
  3170. Frog:Remove()
  3171. end)()
  3172. end
  3173. end
  3174. end
  3175. end
  3176. end, "Killer Frogs", "Throw some frogs at people.", "player" ..CoolCMDs.Data.SplitCharacter.. "[...]" ..CoolCMDs.Data.SplitCharacter.. "number of frogs")
  3177.  
  3178. CoolCMDs.Functions.CreateCommand({"killer bees", "bees"}, 1, function(Message, MessageSplit, Speaker, Self)
  3179. if #MessageSplit < 2 then return end
  3180. local Bees = tonumber(MessageSplit[#MessageSplit])
  3181. if Bees == nil then Bees = 1 end
  3182. if Bees > 50 then Bees = 50 end
  3183. if Bees <= 0 then Bees = 1 end
  3184. for i = 1, #MessageSplit - 1 do
  3185. for _, PlayerList in pairs(game:service("Players"):GetPlayers()) do
  3186. if string.match(PlayerList.Name:lower(), MessageSplit[i]:lower()) and pcall(function() local _, _ = PlayerList.Character.Torso.CFrame, PlayerList.Character.Humanoid.Health end) == true then
  3187. for x = 1, Bees do
  3188. local Bee = Instance.new("Part", game:service("Workspace"))
  3189. Bee.Name = "Killer Bee"
  3190. Bee.BrickColor = BrickColor.new("Bright yellow")
  3191. Bee.formFactor = "Custom"
  3192. Bee.Size = Vector3.new(0.4, 0.9, 0.4)
  3193. Bee.TopSurface = 0
  3194. Bee.BottomSurface = 0
  3195. Bee.CFrame = CFrame.new(PlayerList.Character.Torso.CFrame.p) * CFrame.new(math.random(-10, 10), math.random(1, 25), math.random(-10, 10))
  3196. Bee.Touched:connect(function(Hit) pcall(function() Hit.Parent.Humanoid:TakeDamage(0.25) end) end)
  3197. Instance.new("SpecialMesh", Bee).MeshType = "Head"
  3198. coroutine.wrap(function()
  3199. for i = 1, 0, -0.05 do
  3200. Bee.Transparency = i
  3201. wait()
  3202. end
  3203. Bee.Transparency = 0
  3204. while Bee.Parent ~= nil do
  3205. if pcall(function() local _, _ = PlayerList.Character.Torso.CFrame, PlayerList.Character.Humanoid.Health end) == false then break end
  3206. if PlayerList.Character.Humanoid.Health <= 0 then break end
  3207. Bee.Velocity = Bee.Velocity + ((PlayerList.Character.Torso.CFrame.p - Bee.CFrame.p).unit * math.random(15, 20)) + Vector3.new(math.random(-5, 5), math.random(-5, 5) + 2.5, math.random(-5, 5))
  3208. wait(math.random(1, 10) / 100)
  3209. end
  3210. for i = 0, 1, 0.05 do
  3211. Bee.Transparency = i
  3212. wait()
  3213. end
  3214. Bee:Remove()
  3215. end)()
  3216. end
  3217. end
  3218. end
  3219. end
  3220. end, "Killer Bees", "Throw clouds of angry bees at people.", "player" ..CoolCMDs.Data.SplitCharacter.. "[...]" ..CoolCMDs.Data.SplitCharacter.. "number of bees")
  3221.  
  3222. CoolCMDs.Functions.CreateCommand({"blind", "b"}, 1, function(Message, MessageSplit, Speaker, Self)
  3223. for i = 1, #MessageSplit do
  3224. for _, PlayerList in pairs(game:service("Players"):GetPlayers()) do
  3225. if string.match(PlayerList.Name:lower(), MessageSplit[i]:lower()) then
  3226. local Blind = Instance.new("ScreenGui", PlayerList.PlayerGui)
  3227. Blind.Name = "CoolCMDsBlind"
  3228. local Black = Instance.new("Frame", Blind)
  3229. Black.Name = "Black"
  3230. Black.BorderSizePixel = 0
  3231. Black.ZIndex = math.huge
  3232. Black.BackgroundColor3 = Color3.new(0, 0, 0)
  3233. Black.Size = UDim2.new(2, 0, 2, 0)
  3234. Black.Position = UDim2.new(-0.5, 0, -0.5, 0)
  3235. Black.Changed:connect(function(Property)
  3236. if Property == "Parent" then
  3237. if Black.Parent ~= Blind then
  3238. Black.Parent = Blind
  3239. end
  3240. end
  3241. end)
  3242. Blind.Changed:connect(function(Property)
  3243. if Property == "Parent" then
  3244. if Blind.Name == "CoolCMDsBlindDisabled" then return end
  3245. if Blind.Parent ~= PlayerList.PlayerGui then
  3246. Blind.Parent = PlayerList.PlayerGui
  3247. end
  3248. end
  3249. end)
  3250. end
  3251. end
  3252. end
  3253. end, "Blind", "Blind people.", "player" ..CoolCMDs.Data.SplitCharacter.. "[...]")
  3254.  
  3255. CoolCMDs.Functions.CreateCommand({"unblind", "noblind", "unb", "ub", "nb"}, 1, function(Message, MessageSplit, Speaker, Self)
  3256. for i = 1, #MessageSplit do
  3257. for _, PlayerList in pairs(game:service("Players"):GetPlayers()) do
  3258. if string.match(PlayerList.Name:lower(), MessageSplit[i]:lower()) then
  3259. pcall(function() while true do PlayerList.PlayerGui.CoolCMDsBlind.Name = "CoolCMDsBlindDisabled" PlayerList.PlayerGui.CoolCMDsBlindDisabled:Remove() end end)
  3260. end
  3261. end
  3262. end
  3263. end, "Unblind", "Let people see again.", "player" ..CoolCMDs.Data.SplitCharacter.. "[...]")
  3264.  
  3265. CoolCMDs.Functions.CreateCommand({"nogui", "ng"}, 1, function(Message, MessageSplit, Speaker, Self)
  3266. for i = 1, #MessageSplit do
  3267. for _, PlayerList in pairs(game:service("Players"):GetPlayers()) do
  3268. if string.match(PlayerList.Name:lower(), MessageSplit[i]:lower()) then
  3269. for _, Part in pairs(PlayerList.PlayerGui:children()) do
  3270. if Part:IsA("GuiBase") then
  3271. pcall(function() Part:Remove() end)
  3272. end
  3273. end
  3274. end
  3275. end
  3276. end
  3277. end, "No Gui", "Remove all Guis.", "player" ..CoolCMDs.Data.SplitCharacter.. "[...]")
  3278.  
  3279. CoolCMDs.Functions.CreateCommand({"crush", "cr"}, 1, function(Message, MessageSplit, Speaker, Self)
  3280. for i = 1, #MessageSplit do
  3281. for _, PlayerList in pairs(game:service("Players"):GetPlayers()) do
  3282. if string.match(PlayerList.Name:lower(), MessageSplit[i]:lower()) and pcall(function() local _ = PlayerList.Character.Torso.CFrame end) == true and pcall(function() local _ = PlayerList.Character.Humanoid end) == true then
  3283. coroutine.wrap(function()
  3284. local WalkSpeed = PlayerList.Character.Humanoid.WalkSpeed
  3285. PlayerList.Character.Humanoid.WalkSpeed = 0
  3286. wait(3)
  3287. PlayerList.Character.Humanoid.WalkSpeed = WalkSpeed
  3288. end)()
  3289. local Brick = Instance.new("Part", game:service("Workspace"))
  3290. Brick.Name = "Brick"
  3291. Brick.BrickColor = BrickColor.new("Really black")
  3292. Brick.TopSurface = 0
  3293. Brick.BottomSurface = 0
  3294. Brick.formFactor = "Symmetric"
  3295. Brick.Size = Vector3.new(10, 7, 8)
  3296. Brick.CFrame = CFrame.new(PlayerList.Character.Torso.CFrame.p) * CFrame.new(0, 200, 0) * CFrame.fromEulerAnglesXYZ(0, math.rad(math.random(0, 360)), 0)
  3297. Instance.new("SpecialMesh", Brick).MeshType = "Torso"
  3298. local BodyVelocity = Instance.new("BodyVelocity", Brick)
  3299. BodyVelocity.maxForce = Vector3.new(math.huge, math.huge, math.huge)
  3300. BodyVelocity.velocity = Vector3.new(0, -300, 0)
  3301. Brick.Touched:connect(function(Hit)
  3302. if Hit.Parent == nil then return end
  3303. if Hit.Parent:FindFirstChild("Humanoid") ~= nil then
  3304. Hit.Parent.Humanoid.MaxHealth = 100
  3305. Hit.Parent.Humanoid.Health = 0
  3306. else
  3307. if Hit:GetMass() > 1000 then return end
  3308. Hit.Anchored = false
  3309. Hit:BreakJoints()
  3310. end
  3311. end)
  3312. coroutine.wrap(function()
  3313. for i = 1, 0, -0.05 do
  3314. Brick.Transparency = i
  3315. wait()
  3316. end
  3317. Brick.Transparency = 0
  3318. wait(2)
  3319. for i = 0, 1, 0.015 do
  3320. Brick.Transparency = i
  3321. wait()
  3322. end
  3323. Brick:Remove()
  3324. end)()
  3325. end
  3326. end
  3327. end
  3328. end, "Crush", "WHAM.", "player" ..CoolCMDs.Data.SplitCharacter.. "[...]")
  3329.  
  3330. CoolCMDs.Functions.CreateCommand({"respawn", "rs"}, 1, function(Message, MessageSplit, Speaker, Self)
  3331. for i = 1, #MessageSplit do
  3332. for _, PlayerList in pairs(game:service("Players"):GetPlayers()) do
  3333. if string.match(PlayerList.Name:lower(), MessageSplit[i]:lower()) then
  3334. pcall(function()
  3335. local Model = Instance.new("Model", game:service("Workspace"))
  3336. local Part = Instance.new("Part", Model)
  3337. Part.Name = "Head"
  3338. Part.Transparency = 1
  3339. Part.CanCollide = false
  3340. Part.Anchored = true
  3341. Part.Locked = true
  3342. Part.Parent = Model
  3343. local Humanoid = Instance.new("Humanoid", Model)
  3344. Humanoid.Health = 100
  3345. PlayerList.Character = Model
  3346. Humanoid.Health = 0
  3347. end)
  3348. end
  3349. end
  3350. end
  3351. end, "Respawn", "Respawn a player.", "player" ..CoolCMDs.Data.SplitCharacter.. "[...]")
  3352.  
  3353. CoolCMDs.Functions.CreateCommand({"forcefield", "ff", "shield", "sh"}, 1, function(Message, MessageSplit, Speaker, Self)
  3354. for i = 1, #MessageSplit do
  3355. for _, PlayerList in pairs(game:service("Players"):GetPlayers()) do
  3356. if string.match(PlayerList.Name:lower(), MessageSplit[i]:lower()) and PlayerList.Character ~= nil then
  3357. Instance.new("ForceField", PlayerList.Character)
  3358. end
  3359. end
  3360. end
  3361. end, "Spawn ForceField", "Spawn a ForceField object in a Player's character.", "player" ..CoolCMDs.Data.SplitCharacter.. "[...]")
  3362.  
  3363. CoolCMDs.Functions.CreateCommand({"unforcefield", "noforcefield", "unff", "uff", "noff", "unshield", "unsh", "ush", "noshield", "nosh"}, 1, function(Message, MessageSplit, Speaker, Self)
  3364. for i = 1, #MessageSplit do
  3365. for _, PlayerList in pairs(game:service("Players"):GetPlayers()) do
  3366. if string.match(PlayerList.Name:lower(), MessageSplit[i]:lower()) and PlayerList.Character ~= nil then
  3367. for _, Part in pairs(PlayerList.Character:children()) do
  3368. if Part:IsA("ForceField") then
  3369. Part:Remove()
  3370. end
  3371. end
  3372. end
  3373. end
  3374. end
  3375. end, "Remove ForceField", "Remove all ForceField objects in a Player's character.", "player" ..CoolCMDs.Data.SplitCharacter.. "[...]")
  3376.  
  3377. CoolCMDs.Functions.CreateCommand({"explode", "ex"}, 1, function(Message, MessageSplit, Speaker, Self)
  3378. for i = 1, #MessageSplit do
  3379. for _, PlayerList in pairs(game:service("Players"):GetPlayers()) do
  3380. if string.match(PlayerList.Name:lower(), MessageSplit[i]:lower()) and PlayerList.Character ~= nil then
  3381. for _, Part in pairs(PlayerList.Character:children()) do
  3382. if Part:isA("BasePart") then
  3383. local Explosion = Instance.new("Explosion")
  3384. Explosion.BlastPressure = math.random(100000, 1000000)
  3385. Explosion.BlastRadius = math.random(1, 25)
  3386. Explosion.Position = Part.CFrame.p
  3387. Explosion.Parent = PlayerList.Character
  3388. end
  3389. end
  3390. PlayerList.Character:BreakJoints()
  3391. end
  3392. end
  3393. end
  3394. end, "Explode", "Spawn an explosion in all parts of a player.", "player" ..CoolCMDs.Data.SplitCharacter.. "[...]")
  3395.  
  3396. CoolCMDs.Functions.CreateCommand("hax", 1, function(Message, MessageSplit, Speaker, Self)
  3397. if #MessageSplit < 2 then return false end
  3398. if CoolCMDs.Functions.IsModuleEnabled("CharacterSupport") == false then
  3399. CoolCMDs.Functions.CreateMessage("Hint", "This command requires the CharacterSupport module to be enabled.", 5, Speaker)
  3400. return
  3401. elseif CoolCMDs.Functions.GetModule("CharacterSupport") == nil then
  3402. CoolCMDs.Functions.CreateMessage("Hint", "This command requires the CharacterSupport module to be installed.", 5, Speaker)
  3403. return
  3404. end
  3405. local Characters = tonumber(MessageSplit[#MessageSplit])
  3406. if Characters == nil then Characters = 1 end
  3407. if Characters <= 0 then Characters = 1 end
  3408. if Characters > 10 then Characters = 10 end
  3409. for i = 1, #MessageSplit - 1 do
  3410. for _, PlayerList in pairs(game:service("Players"):GetPlayers()) do
  3411. if string.match(PlayerList.Name:lower(), MessageSplit[i]:lower()) and pcall(function() local _ = PlayerList.Character.Torso end) == true then
  3412. for i = 1, Characters do
  3413. coroutine.wrap(function()
  3414. local Character = CoolCMDs.Functions.GetModule("CharacterSupport").CreateCharacter(true)
  3415. Character.Name = "Dr. Hax"
  3416. local Head = Character.Head
  3417. Head.face.Texture = "http://www.Roblox.com/Asset/?id=16580646"
  3418. local Torso = Character.Torso
  3419. local RightShoulder = Character.Torso["Right Shoulder"]
  3420. local RightArm = Character["Right Arm"]
  3421. local Humanoid = Character.Humanoid
  3422. Character.Shirt.ShirtTemplate = "http://www.Roblox.com/Asset/?id=12702133"
  3423. Character.Pants.PantsTemplate = "http://www.Roblox.com/Asset/?id=12702160"
  3424. local Hat = Instance.new("Hat")
  3425. Hat.Name = "White Hair"
  3426. Hat.AttachmentPos = Vector3.new(0, 0.1, 0)
  3427. local Handle = Instance.new("Part")
  3428. Handle.Name = "Handle"
  3429. Handle.formFactor = 0
  3430. Handle.Size = Vector3.new(2, 1, 1)
  3431. Handle.TopSurface = 0
  3432. Handle.BottomSurface = 0
  3433. Handle.Parent = Hat
  3434. local Mesh = Instance.new("SpecialMesh")
  3435. Mesh.MeshId = "http://www.Roblox.com/Asset/?id=13332444"
  3436. Mesh.VertexColor = Vector3.new(1, 1, 1)
  3437. Mesh.Parent = Handle
  3438. Hat.Parent = Character
  3439. local Hat = Instance.new("Hat")
  3440. Hat.Name = "Beard"
  3441. for i = 0, math.pi, math.pi / 10 do Hat.AttachmentForward = Hat.AttachmentForward + Vector3.new(0, math.pi, 0) end
  3442. Hat.AttachmentPos = Vector3.new(0, -0.5, 0.7)
  3443. local Handle = Instance.new("Part")
  3444. Handle.Name = "Handle"
  3445. Handle.formFactor = 0
  3446. Handle.Size = Vector3.new(1, 1, 1)
  3447. Handle.TopSurface = 0
  3448. Handle.BottomSurface = 0
  3449. Handle.BrickColor = BrickColor.new("Industrial white")
  3450. Handle.Parent = Hat
  3451. local Mesh = Instance.new("CylinderMesh")
  3452. Mesh.Scale = Vector3.new(0.675, 0.199, 0.675)
  3453. Mesh.Parent = Handle
  3454. Hat.Parent = Character
  3455. Torso.CFrame = CFrame.new(PlayerList.Character.Torso.CFrame.p) * CFrame.new(math.sin(math.random(0, (math.pi * 100) * 2) / 100) * 25, 5, math.cos(math.random(0, (math.pi * 100) * 2) / 100) * 25)
  3456. Character.Parent = game:service("Workspace")
  3457. Character:MakeJoints()
  3458. coroutine.wrap(function()
  3459. for i = 1, 0, -0.05 do
  3460. for _, Part in pairs(Character:children()) do
  3461. pcall(function() Part.Transparency = i end)
  3462. end
  3463. wait()
  3464. end
  3465. for _, Part in pairs(Character:children()) do
  3466. pcall(function() Part.Transparency = 0 end)
  3467. end
  3468. end)()
  3469. coroutine.wrap(function()
  3470. while true do
  3471. if PlayerList.Character == nil then break end
  3472. if PlayerList.Character:FindFirstChild("Torso") == nil or PlayerList.Character:FindFirstChild("Humanoid") == nil or RightArm.Parent ~= Character or Humanoid.Health <= 0 then break end
  3473. if PlayerList.Character.Humanoid.Health <= 0 then break end
  3474. if (Torso.CFrame.p - PlayerList.Character.Torso.CFrame.p).magnitude > 30 then
  3475. Humanoid:MoveTo(PlayerList.Character.Torso.CFrame.p, PlayerList.Character.Torso)
  3476. else
  3477. Humanoid:MoveTo(Torso.CFrame.p, Torso)
  3478. end
  3479. Torso.CFrame = CFrame.new(Torso.CFrame.p, Vector3.new(PlayerList.Character.Torso.CFrame.p.x, Torso.CFrame.p.y, PlayerList.Character.Torso.CFrame.p.z))
  3480. wait()
  3481. end
  3482. Humanoid:MoveTo(Torso.CFrame.p, Torso)
  3483. end)()
  3484. wait(2)
  3485. RightShoulder.DesiredAngle = math.rad(90)
  3486. wait(1)
  3487. while true do
  3488. if PlayerList.Character == nil then break end
  3489. if PlayerList.Character:FindFirstChild("Torso") == nil or PlayerList.Character:FindFirstChild("Humanoid") == nil or RightArm.Parent ~= Character or Humanoid.Health <= 0 then break end
  3490. if PlayerList.Character.Humanoid.Health <= 0 then break end
  3491. if Humanoid.Health <= 0 then break end
  3492. local Monitor = Instance.new("Part")
  3493. Monitor.Name = "Monitor"
  3494. Monitor.formFactor = 0
  3495. Monitor.Size = Vector3.new(2, 2, 2)
  3496. Monitor.TopSurface = 0
  3497. Monitor.BottomSurface = 0
  3498. Monitor.BrickColor = BrickColor.new("Brick yellow")
  3499. Monitor.Parent = game:service("Workspace")
  3500. Monitor.CFrame = RightArm.CFrame * CFrame.new(0, -3, 0)
  3501. Monitor.Velocity = ((PlayerList.Character.Torso.CFrame.p - Monitor.CFrame.p).unit * math.random(100, 500)) + Vector3.new(math.random(-25, 25), math.random(-25, 25), math.random(-25, 25))
  3502. local HasTouched = false
  3503. Monitor.Touched:connect(function(Hit)
  3504. if Hit.Parent == nil then return end
  3505. if Hit.Parent == Character or string.match("Dr. Hax", Hit.Parent.Name) or Hit.Name == "Monitor" then return end
  3506. local Sound = Instance.new("Sound", Monitor)
  3507. Sound.Name = "Crash"
  3508. Sound.Volume = math.random(10, 90) / 100
  3509. Sound.SoundId = "rbxasset://sounds/Glassbreak.wav"
  3510. Sound.Pitch = math.random(90, 200) / 100
  3511. Sound:Play()
  3512. coroutine.wrap(function()
  3513. wait(math.random(5, 50) / 100)
  3514. for i = Sound.Volume, 0, -math.random(75, 100) / 1000 do
  3515. Sound.Volume = i
  3516. wait()
  3517. end
  3518. Sound:Stop()
  3519. Sound:Remove()
  3520. end)()
  3521. if HasTouched == true then return end
  3522. HasTouched = true
  3523. if Hit.Parent:FindFirstChild("Humanoid") ~= nil then
  3524. Hit.Parent.Humanoid:TakeDamage(math.random(5, 25))
  3525. else
  3526. if Hit.Anchored == true and Hit:GetMass() < 1000 and math.random(1, 3) == 1 then
  3527. Hit.Anchored = false
  3528. end
  3529. if math.random(1, 10) == 1 then Hit:BreakJoints() end
  3530. end
  3531. wait(1)
  3532. for i = 0, 1, 0.05 do
  3533. Monitor.Transparency = i
  3534. wait()
  3535. end
  3536. Monitor:Remove()
  3537. end)
  3538. wait(math.random(1, 500) / 1000)
  3539. end
  3540. if Humanoid.Health > 0 then
  3541. wait(1)
  3542. RightShoulder.DesiredAngle = 0
  3543. wait(2)
  3544. end
  3545. for i = 0, 1, 0.05 do
  3546. for _, Part in pairs(Character:children()) do
  3547. pcall(function() Part.Transparency = i end)
  3548. end
  3549. wait()
  3550. end
  3551. Character:Remove()
  3552. end)()
  3553. end
  3554. end
  3555. end
  3556. end
  3557. end, "Hax", "Summon Dr. Hax on weary travelers.", "player" ..CoolCMDs.Data.SplitCharacter.. "[...]" ..CoolCMDs.Data.SplitCharacter.. "number of characters to spawn (max of 10)")
  3558.  
  3559. CoolCMDs.Functions.CreateCommand("maul", 1, function(Message, MessageSplit, Speaker, Self)
  3560. if #MessageSplit < 2 then return false end
  3561. if CoolCMDs.Functions.IsModuleEnabled("CharacterSupport") == false then
  3562. CoolCMDs.Functions.CreateMessage("Hint", "This command requires the CharacterSupport module to be enabled.", 5, Speaker)
  3563. return
  3564. elseif CoolCMDs.Functions.GetModule("CharacterSupport") == nil then
  3565. CoolCMDs.Functions.CreateMessage("Hint", "This command requires the CharacterSupport module to be installed.", 5, Speaker)
  3566. return
  3567. end
  3568. local Characters = tonumber(MessageSplit[#MessageSplit])
  3569. if Characters == nil then Characters = 1 end
  3570. if Characters <= 0 then Characters = 1 end
  3571. if Characters > 10 then Characters = 10 end
  3572. for i = 1, #MessageSplit - 1 do
  3573. for _, PlayerList in pairs(game:service("Players"):GetPlayers()) do
  3574. if string.match(PlayerList.Name:lower(), MessageSplit[i]:lower()) and pcall(function() local _ = PlayerList.Character.Torso end) == true and pcall(function() local _ = PlayerList.Character.Humanoid end) == true then
  3575. PlayerList.Character.Humanoid.WalkSpeed = 0
  3576. local Health = PlayerList.Character.Humanoid.Health
  3577. local MaxHealth = PlayerList.Character.Humanoid.MaxHealth
  3578. PlayerList.Character.Humanoid.MaxHealth = 100
  3579. PlayerList.Character.Humanoid.Health = MaxHealth * (Health / MaxHealth)
  3580. for _, Part in pairs(PlayerList.Character:children()) do if Part:IsA("ForceField") then Part:Remove() end end
  3581. for i = 1, Characters do
  3582. coroutine.wrap(function()
  3583. local Character = CoolCMDs.Functions.GetModule("CharacterSupport").CreateCharacter(math.random(1, 2) == 1 and true or false)
  3584. Character.Name = "Zombie"
  3585. local Head = Character.Head
  3586. Head.face.Texture = "http://www.Roblox.com/Asset/?id=16580646"
  3587. Head.BrickColor = BrickColor.new("Br. yellowish green")
  3588. local Torso = Character.Torso
  3589. Torso.BrickColor = BrickColor.new("Reddish brown")
  3590. local LeftShoulder = Character.Torso["Left Shoulder"]
  3591. local RightShoulder = Character.Torso["Right Shoulder"]
  3592. local LeftHip = Character.Torso["Left Hip"]
  3593. local RightHip = Character.Torso["Right Hip"]
  3594. local Humanoid = Character.Humanoid
  3595. Character["Left Arm"].BrickColor = BrickColor.new("Br. yellowish green")
  3596. Character["Right Arm"].BrickColor = BrickColor.new("Br. yellowish green")
  3597. Character["Left Leg"].BrickColor = BrickColor.new("Reddish brown")
  3598. Character["Right Leg"].BrickColor = BrickColor.new("Reddish brown")
  3599. Torso.CFrame = CFrame.new(PlayerList.Character.Torso.CFrame.p) * CFrame.new(math.sin(math.random(0, (math.pi * 100) * 2) / 100) * 25, 5, math.cos(math.random(0, (math.pi * 100) * 2) / 100) * 25)
  3600. Character.Parent = game:service("Workspace")
  3601. Character:MakeJoints()
  3602. coroutine.wrap(function()
  3603. for i = 1, 0, -0.05 do
  3604. for _, Part in pairs(Character:children()) do
  3605. pcall(function() Part.Transparency = i end)
  3606. end
  3607. wait()
  3608. end
  3609. for _, Part in pairs(Character:children()) do
  3610. pcall(function() Part.Transparency = 0 end)
  3611. end
  3612. end)()
  3613. coroutine.wrap(function()
  3614. while true do
  3615. LeftHip.DesiredAngle = math.rad(45)
  3616. RightHip.DesiredAngle = math.rad(45)
  3617. wait(0.5)
  3618. LeftHip.DesiredAngle = math.rad(-45)
  3619. RightHip.DesiredAngle = math.rad(-45)
  3620. wait(0.5)
  3621. end
  3622. end)()
  3623. while true do
  3624. if PlayerList.Character == nil then break end
  3625. if PlayerList.Character:FindFirstChild("Torso") == nil or PlayerList.Character:FindFirstChild("Humanoid") == nil or Humanoid.Health <= 0 then break end
  3626. if PlayerList.Character.Humanoid.Health <= 0 then break end
  3627. if Humanoid.Health <= 0 then break end
  3628. Humanoid:MoveTo(PlayerList.Character.Torso.CFrame.p + Vector3.new(math.random(-3, 3), math.random(-3, 3), math.random(-3, 3)), PlayerList.Character.Torso)
  3629. if (PlayerList.Character.Torso.CFrame.p - Torso.CFrame.p).magnitude < 5 then
  3630. PlayerList.Character.Humanoid:TakeDamage(math.random(1, 10) / 10)
  3631. LeftShoulder.DesiredAngle = -math.rad(math.random(0, 180))
  3632. RightShoulder.DesiredAngle = math.rad(math.random(0, 180))
  3633. else
  3634. LeftShoulder.DesiredAngle = -math.rad(90)
  3635. RightShoulder.DesiredAngle = math.rad(90)
  3636. end
  3637. wait()
  3638. end
  3639. for i = 0, 1, 0.05 do
  3640. for _, Part in pairs(Character:children()) do
  3641. pcall(function() Part.Transparency = i end)
  3642. end
  3643. wait()
  3644. end
  3645. Character:Remove()
  3646. end)()
  3647. end
  3648. end
  3649. end
  3650. end
  3651. end, "Maul", "Summon flesh-hungry zombies to eat players.", "player" ..CoolCMDs.Data.SplitCharacter.. "[...]" ..CoolCMDs.Data.SplitCharacter.. "number of zombies to spawn (max of 10)")
  3652.  
  3653. CoolCMDs.Functions.CreateCommand({"ignite", "i"}, 1, function(Message, MessageSplit, Speaker, Self)
  3654. if #MessageSplit < 2 then return false end
  3655. local Duration = tonumber(MessageSplit[#MessageSplit])
  3656. if Duration == nil then Duration = 0 end
  3657. for i = 1, #MessageSplit - 1 do
  3658. for _, PlayerList in pairs(game:service("Players"):GetPlayers()) do
  3659. if string.match(PlayerList.Name:lower(), MessageSplit[i]:lower()) and pcall(function() local _ = PlayerList.Character.Torso end) == true and pcall(function() local _ = PlayerList.Character.Humanoid end) == true and pcall(function() local _ = PlayerList.Character.CoolCMDsIsOnFire end) == false then
  3660. local Tag = Instance.new("Model", PlayerList.Character)
  3661. Tag.Name = "CoolCMDsIsOnFire"
  3662. coroutine.wrap(function()
  3663. if Duration <= 0 then return end
  3664. wait(Duration)
  3665. Tag:Remove()
  3666. end)()
  3667. coroutine.wrap(function()
  3668. while true do
  3669. if PlayerList.Character == nil then break end
  3670. if PlayerList.Character:FindFirstChild("Humanoid") == nil or PlayerList.Character:FindFirstChild("CoolCMDsIsOnFire") == nil then break end
  3671. if PlayerList.Character.Humanoid.Health <= 0 then break end
  3672. PlayerList.Character.Humanoid:TakeDamage(0.25)
  3673. wait()
  3674. end
  3675. Tag:Remove()
  3676. end)()
  3677. for _, Part in pairs(PlayerList.Character:children()) do
  3678. if pcall(function() local _ = Part.CFrame end) == true then
  3679. local FireHolder = Instance.new("Part", game:service("Workspace"))
  3680. FireHolder.Name = "FireHolder"
  3681. FireHolder.formFactor = "Symmetric"
  3682. FireHolder.Size = Vector3.new(1, 1, 1)
  3683. FireHolder.Anchored = true
  3684. FireHolder.TopSurface = 0
  3685. FireHolder.BottomSurface = 0
  3686. FireHolder.Transparency = 1
  3687. FireHolder.CanCollide = false
  3688. local Fire = Instance.new("Fire", FireHolder)
  3689. Fire.Heat = 10
  3690. Fire.Size = 5
  3691. local Sound = Instance.new("Sound", FireHolder)
  3692. Sound.Looped = true
  3693. Sound.Pitch = math.random(90, 110) / 100
  3694. Sound.Volume = 1
  3695. Sound.SoundId = "http://www.Roblox.com/Asset/?id=31760113"
  3696. Sound:Play()
  3697. coroutine.wrap(function()
  3698. while pcall(function() local _ = PlayerList.Character.CoolCMDsIsOnFire end) == true do
  3699. FireHolder.CFrame = CFrame.new(Part.CFrame.p)
  3700. wait()
  3701. end
  3702. Fire.Enabled = false
  3703. for i = 1, 0, -0.05 do
  3704. Sound.Volume = i
  3705. wait()
  3706. end
  3707. Sound:Stop()
  3708. wait(3)
  3709. FireHolder:Remove()
  3710. end)()
  3711. end
  3712. end
  3713. end
  3714. end
  3715. end
  3716. end, "Ignite", "Set players alight. Fire damages a player by 0.25 per milisecond.", "player" ..CoolCMDs.Data.SplitCharacter.. "[...]" ..CoolCMDs.Data.SplitCharacter.. "duration (in seconds, <= 0 for infinite)")
  3717.  
  3718. CoolCMDs.Functions.CreateCommand({"unignite", "uni", "ui"}, 1, function(Message, MessageSplit, Speaker, Self)
  3719. for i = 1, #MessageSplit do
  3720. for _, PlayerList in pairs(game:service("Players"):GetPlayers()) do
  3721. if string.match(PlayerList.Name:lower(), MessageSplit[i]:lower()) then
  3722. pcall(function() PlayerList.Character.CoolCMDsIsOnFire:Remove() end)
  3723. end
  3724. end
  3725. end
  3726. end, "Unignite", "Put a player out.", "player" ..CoolCMDs.Data.SplitCharacter.. "[...]")
  3727.  
  3728. CoolCMDs.Functions.CreateCommand("kick", 1, function(Message, MessageSplit, Speaker, Self)
  3729. for i = 1, #MessageSplit do
  3730. for _, PlayerList in pairs(game:service("Players"):GetPlayers()) do
  3731. if string.match(PlayerList.Name:lower(), MessageSplit[i]:lower()) and PlayerList ~= Speaker then
  3732. CoolCMDs.Functions.CreateMessage("Hint", "[Kick] Player(s) removed.", 2.5, Speaker)
  3733. pcall(function() PlayerList:Remove() end)
  3734. end
  3735. end
  3736. end
  3737. end, "Kick", "Kick (remove) a player from the game.", "player" ..CoolCMDs.Data.SplitCharacter.. "[...]")
  3738.  
  3739. CoolCMDs.Functions.CreateCommand({"banish", "ban"}, 1, function(Message, MessageSplit, Speaker, Self)
  3740. if Self.Bans == nil then Self.Bans = {} end
  3741. if Self.CatchBan == nil then
  3742. Self.CatchBan = game:service("Players").ChildAdded:connect(function(Player)
  3743. for i = 1, #Self.Bans do
  3744. if string.match(Player.Name:lower(), Self.Bans[i]:lower()) then
  3745. CoolCMDs.Functions.CreateMessage("Hint", "[Ban] Player \"" ..Player.Name.. "\" is banned from this server.", 2.5)
  3746. wait()
  3747. pcall(function() Player:Remove() end)
  3748. end
  3749. end
  3750. end)
  3751. end
  3752. local Type = MessageSplit[1]:lower()
  3753. if Type == "player" or Type == "p" then
  3754. local Completed = false
  3755. for i = 2, #MessageSplit do
  3756. for _, PlayerList in pairs(game:service("Players"):GetPlayers()) do
  3757. if string.match(PlayerList.Name:lower(), MessageSplit[i]:lower()) and PlayerList ~= Speaker then
  3758. table.insert(Self.Bans, PlayerList.Name:lower())
  3759. pcall(function() PlayerList:Remove() end)
  3760. Completed = true
  3761. end
  3762. end
  3763. end
  3764. if Completed == true then
  3765. CoolCMDs.Functions.CreateMessage("Hint", "[Ban] Player(s) banned.", 2.5, Speaker)
  3766. else
  3767. CoolCMDs.Functions.CreateMessage("Hint", "[Ban] Player(s) not found!", 2.5, Speaker)
  3768. end
  3769. elseif Type == "name" or Type == "n" then
  3770. for i = 2, #MessageSplit do
  3771. table.insert(Self.Bans, MessageSplit[i]:lower())
  3772. end
  3773. CoolCMDs.Functions.CreateMessage("Hint", "[Ban] Names added.", 2.5, Speaker)
  3774. elseif Type == "remove" or Type == "r" then
  3775. local Completed = false
  3776. for i = 2, #MessageSplit do
  3777. for i = 1, #Self.Bans do
  3778. if string.match(Self.Bans:lower(), MessageSplit[i]:lower()) then
  3779. table.remove(Self.Bans, i)
  3780. end
  3781. end
  3782. end
  3783. if Completed == true then
  3784. CoolCMDs.Functions.CreateMessage("Hint", "[Ban] Name(s) removed.", 2.5, Speaker)
  3785. else
  3786. CoolCMDs.Functions.CreateMessage("Hint", "[Ban] Name(s) not found!", 2.5, Speaker)
  3787. end
  3788. elseif Type == "remove all" or Type == "ra" then
  3789. Self.Bans = {}
  3790. CoolCMDs.Functions.CreateMessage("Hint", "[Ban] Ban table reset.", 2.5, Speaker)
  3791. end
  3792. end, "Ban", "Place a ban (removes the player on entering) on a player from the game. Player: Ban and remove a player from the game. Name: Add a name to the ban list. Remove, Remove All: Remove a name or remove all names from the ban list.", "[[player, p], [name, n], [remove, r]]" ..CoolCMDs.Data.SplitCharacter.. "player" ..CoolCMDs.Data.SplitCharacter.. "[...], remove all")
  3793.  
  3794. CoolCMDs.Functions.CreateCommand({"slap", "s"}, 1, function(Message, MessageSplit, Speaker, Self)
  3795. if #MessageSplit < 3 then return false end
  3796. local Speed = tonumber(MessageSplit[#MessageSplit - 1])
  3797. local Strength = tonumber(MessageSplit[#MessageSplit])
  3798. if Speed == nil then Speed = 10 end
  3799. if Strength == nil then Strength = 0 end
  3800. Speed = math.abs(Speed)
  3801. Strength = math.abs(Strength)
  3802. for i = 1, #MessageSplit - 2 do
  3803. for _, PlayerList in pairs(game:service("Players"):GetPlayers()) do
  3804. if string.match(PlayerList.Name:lower(), MessageSplit[i]:lower()) and PlayerList.Character ~= nil then
  3805. if PlayerList.Character:FindFirstChild("Humanoid") ~= nil then
  3806. PlayerList.Character.Humanoid:TakeDamage(Strength)
  3807. PlayerList.Character.Humanoid.Sit = true
  3808. end
  3809. for _, Children in pairs(PlayerList.Character:children()) do
  3810. if Children:IsA("BasePart") then
  3811. Children.Velocity = Children.Velocity + Vector3.new(math.random(-Speed, Speed), math.random(-Speed, Speed), math.random(-Speed, Speed))
  3812. Children.RotVelocity = Children.RotVelocity + Vector3.new(math.random(-Speed, Speed), math.random(-Speed, Speed), math.random(-Speed, Speed))
  3813. end
  3814. end
  3815. end
  3816. end
  3817. end
  3818. end, "Slap", "Slap people.", "player" ..CoolCMDs.Data.SplitCharacter.. "[...]" ..CoolCMDs.Data.SplitCharacter.. "speed" ..CoolCMDs.Data.SplitCharacter.. "strength")
  3819.  
  3820. CoolCMDs.Functions.CreateCommand({"blocker", "blk"}, 1, function(Message, MessageSplit, Speaker, Self)
  3821. if Self.Activated == nil then Self.Activated = false end
  3822. if Self.Type == nil then Self.Type = 1 end
  3823. if Self.Names == nil then Self.Names = {} end
  3824. if Self.ClassNames == nil then Self.ClassNames = {} end
  3825. if MessageSplit[1]:lower() == "on" then
  3826. Self.Activated = true
  3827. CoolCMDs.Functions.CreateMessage("Hint", "[Blocker] Activated.", 2.5, Speaker)
  3828. end
  3829. if MessageSplit[1]:lower() == "off" then
  3830. Self.Activated = false
  3831. CoolCMDs.Functions.CreateMessage("Hint", "[Blocker] Deactivated.", 2.5, Speaker)
  3832. end
  3833. if MessageSplit[1]:lower() == "name" then
  3834. for i = 2, #MessageSplit do
  3835. table.insert(Self.Names, MessageSplit[i])
  3836. end
  3837. CoolCMDs.Functions.CreateMessage("Hint", "[Blocker] Added.", 2.5, Speaker)
  3838. end
  3839. if MessageSplit[1]:lower() == "class" then
  3840. for i = 2, #MessageSplit do
  3841. table.insert(Self.ClassNames, MessageSplit[i])
  3842. end
  3843. CoolCMDs.Functions.CreateMessage("Hint", "[Blocker] Added.", 2.5, Speaker)
  3844. end
  3845. if MessageSplit[1]:lower() == "type" then
  3846. if MessageSplit[2] == "match" or MessageSplit[2] == "1" then
  3847. Self.Type = 1
  3848. CoolCMDs.Functions.CreateMessage("Hint", "[Blocker] Set evaluation type to match (1).", 2.5, Speaker)
  3849. elseif MessageSplit[2] == "exact" or MessageSplit[2] == "2" then
  3850. Self.Type = 2
  3851. CoolCMDs.Functions.CreateMessage("Hint", "[Blocker] Set evaluation type to exact (2).", 2.5, Speaker)
  3852. end
  3853. end
  3854. if MessageSplit[1]:lower() == "remove" then
  3855. for i = 2, #MessageSplit do
  3856. for x = 1, #Self.Names do
  3857. if string.match(Self.Names[x], MessageSplit[i]) then
  3858. table.remove(Self.Names, x)
  3859. end
  3860. end
  3861. for x = 1, #Self.ClassNames do
  3862. if string.match(Self.ClassNames[x], MessageSplit[i]) then
  3863. table.remove(Self.ClassNames, x)
  3864. end
  3865. end
  3866. end
  3867. CoolCMDs.Functions.CreateMessage("Hint", "[Blocker] Removed.", 2.5, Speaker)
  3868. end
  3869. if MessageSplit[1]:lower() == "remove all" then
  3870. Self.Names = {}
  3871. Self.ClassNames = {}
  3872. CoolCMDs.Functions.CreateMessage("Hint", "[Blocker] Removed all entries.", 2.5, Speaker)
  3873. end
  3874. if Self.Activated == true then
  3875. if Self.DescendantAdded ~= nil then
  3876. Self.DescendantAdded:disconnect()
  3877. Self.DescendantAdded = nil
  3878. end
  3879. Self.DescendantAdded = game.DescendantAdded:connect(function(Object)
  3880. local Remove = false
  3881. for i = 1, #Self.Names do
  3882. if (Self.Type == 1 and string.match(Object.Name:lower(), Self.Names[i]:lower())) or (Self.Type == 2 and Object.Name:lower() == Self.Names[i]:lower()) then
  3883. Remove = true
  3884. end
  3885. end
  3886. for i = 1, #Self.ClassNames do
  3887. if (Self.Type == 1 and string.match(Object.className:lower(), Self.ClassNames[i]:lower())) or (Self.Type == 2 and Object.className:lower() == Self.ClassNames[i]:lower()) then
  3888. Remove = true
  3889. end
  3890. end
  3891. if Remove == true then
  3892. CoolCMDs.Functions.CreateMessage("Hint", "[Blocker] \"" ..Object.className.. " object (" ..Object.Name.. ") is blocked and has been removed.", 10)
  3893. pcall(function() Object.Disabled = true end)
  3894. pcall(function() Object.Active = false end)
  3895. pcall(function() Object.Activated = false end)
  3896. pcall(function() Object:Remove() end)
  3897. end
  3898. end)
  3899. else
  3900. if Self.DescendantAdded ~= nil then
  3901. Self.DescendantAdded:disconnect()
  3902. Self.DescendantAdded = nil
  3903. end
  3904. end
  3905. end, "Blocker", "Blocks objects by name or className.", "on, off, name" ..CoolCMDs.Data.SplitCharacter.. "object name, class" ..CoolCMDs.Data.SplitCharacter.. "object className, type" ..CoolCMDs.Data.SplitCharacter.. "[match, exact]")
  3906.  
  3907. CoolCMDs.Functions.CreateCommand({"characterappearance", "ca"}, 1, function(Message, MessageSplit, Speaker, Self)
  3908. for i = 2, #MessageSplit - (MessageSplit[1]:lower() == "default" and 0 or 1) do
  3909. for _, PlayerList in pairs(game:service("Players"):GetPlayers()) do
  3910. if string.match(PlayerList.Name:lower(), MessageSplit[i]) then
  3911. if MessageSplit[1] == "default" then
  3912. PlayerList.CharacterAppearance = "http://www.Roblox.com/Asset/CharacterFetch.ashx?userId=" ..PlayerList.userId
  3913. elseif MessageSplit[1] == "set" then
  3914. PlayerList.CharacterAppearance = MessageSplit[#MessageSplit]
  3915. elseif MessageSplit[1] == "userid" then
  3916. PlayerList.CharacterAppearance = "http://www.Roblox.com/Asset/CharacterFetch.ashx?userId=" ..tonumber(MessageSplit[#MessageSplit])
  3917. elseif MessageSplit[1] == "assetid" then
  3918. PlayerList.CharacterAppearance = "http://www.Roblox.com/Asset/?id=" ..tonumber(MessageSplit[#MessageSplit])
  3919. end
  3920. end
  3921. end
  3922. end
  3923. end, "CharacterAppearance Editor", "See command name.", "default, set, userid, assetid" ..CoolCMDs.Data.SplitCharacter.. "player" ..CoolCMDs.Data.SplitCharacter.. "[...]" ..CoolCMDs.Data.SplitCharacter.. "[url, userid, assetid]")
  3924.  
  3925. CoolCMDs.Functions.CreateCommand({"character", "char", "ch"}, 1, function(Message, MessageSplit, Speaker, Self)
  3926. if #MessageSplit < 2 then return end
  3927. for i = 2, #MessageSplit do
  3928. for _, PlayerList in pairs(game:service("Players"):GetPlayers()) do
  3929. if string.match(PlayerList.Name:lower(), MessageSplit[i]:lower()) and PlayerList.Character ~= nil then
  3930. if PlayerList.Character:FindFirstChild("Humanoid") ~= nil and PlayerList.Character:FindFirstChild("Torso") ~= nil then
  3931. if MessageSplit[1]:lower() == "sit" then
  3932. PlayerList.Character.Humanoid.Sit = true
  3933. elseif MessageSplit[1]:lower() == "jump" then
  3934. PlayerList.Character.Humanoid.Jump = true
  3935. elseif MessageSplit[1]:lower() == "platformstand" or MessageSplit[1]:lower() == "ps" then
  3936. PlayerList.Character.Humanoid.PlatformStand = true
  3937. elseif MessageSplit[1]:lower() == "trip" then
  3938. PlayerList.Character.Humanoid.PlatformStand = true
  3939. PlayerList.Character.Torso.RotVelocity = Vector3.new(math.random(-25, 25), math.random(-25, 25), math.random(-25, 25))
  3940. coroutine.wrap(function()
  3941. wait(0.5)
  3942. PlayerList.Character.Humanoid.PlatformStand = false
  3943. end)()
  3944. elseif MessageSplit[1]:lower() == "stand" then
  3945. PlayerList.Character.Humanoid.Sit = false
  3946. PlayerList.Character.Humanoid.PlatformStand = false
  3947. end
  3948. end
  3949. end
  3950. end
  3951. end
  3952. end, "Character Editor", "Make people do things.", "sit, jump, [platformstand, ps], trip, stand" ..CoolCMDs.Data.SplitCharacter.. "player" ..CoolCMDs.Data.SplitCharacter.. "[...]")
  3953.  
  3954. CoolCMDs.Functions.CreateCommand("seisure", 1, function(Message, MessageSplit, Speaker, Self)
  3955. if #MessageSplit < 2 then return false end
  3956. local Duration = tonumber(MessageSplit[#MessageSplit])
  3957. if Duration == nil then Duration = math.random(5, 10) end
  3958. for i = 1, #MessageSplit - 1 do
  3959. for _, PlayerList in pairs(game:service("Players"):GetPlayers()) do
  3960. if string.match(PlayerList.Name:lower(), MessageSplit[i]:lower()) and PlayerList.Character ~= nil then
  3961. if PlayerList.Character:FindFirstChild("Humanoid") ~= nil then
  3962. coroutine.wrap(function()
  3963. for i = 0, Duration, 0.25 do
  3964. if PlayerList == nil then break end
  3965. if PlayerList.Character == nil then break end
  3966. if PlayerList.Character:FindFirstChild("Humanoid") == nil then break end
  3967. PlayerList.Character.Humanoid.PlatformStand = math.random(1, 3) == 1 and false or true
  3968. for _, Part in pairs(PlayerList.Character:children()) do
  3969. if Part:IsA("BasePart") then
  3970. Part.RotVelocity = Part.RotVelocity + Vector3.new(math.random(-50, 50), math.random(-50, 50), math.random(-50, 50))
  3971. end
  3972. end
  3973. wait(0.25)
  3974. end
  3975. pcall(function() PlayerList.Character.Humanoid.PlatformStand = false end)
  3976. end)()
  3977. end
  3978. end
  3979. end
  3980. end
  3981. end, "Seisure", "Make people have seisures.", "player" ..CoolCMDs.Data.SplitCharacter.. "[...]" ..CoolCMDs.Data.SplitCharacter.. "time (seconds)")
  3982.  
  3983. CoolCMDs.Functions.CreateCommand("rocket", 1, function(Message, MessageSplit, Speaker, Self)
  3984. if #MessageSplit < 3 then return false end
  3985. local Speed = tonumber(MessageSplit[#MessageSplit - 1])
  3986. local Duration = tonumber(MessageSplit[#MessageSplit])
  3987. if Speed == nil then Speed = 100 end
  3988. if Duration == nil then Duration = math.random(5, 10) end
  3989. for i = 1, #MessageSplit - 2 do
  3990. for _, PlayerList in pairs(game:service("Players"):GetPlayers()) do
  3991. if string.match(PlayerList.Name:lower(), MessageSplit[i]:lower()) and PlayerList.Character ~= nil then
  3992. for _, Children in pairs(PlayerList.Character:children()) do
  3993. if Children:IsA("BasePart") then
  3994. coroutine.wrap(function()
  3995. local BodyVelocity = Instance.new("BodyVelocity", Children)
  3996. BodyVelocity.maxForce = Vector3.new(math.huge, math.huge, math.huge)
  3997. local Fire = Instance.new("Fire", Children)
  3998. Fire.Heat = 0
  3999. Fire.Size = 3
  4000. local Smoke = Instance.new("Smoke", Children)
  4001. Smoke.Enabled = false
  4002. Smoke.RiseVelocity = 0
  4003. Smoke.Size = 2.5
  4004. local Sound = Instance.new("Sound", Children)
  4005. Sound.SoundId = "rbxasset://sounds/Shoulder fired rocket.wav"
  4006. Sound.Pitch = 0.8
  4007. Sound.Volume = 1
  4008. Sound:Play()
  4009. Children.Velocity = Children.Velocity + Vector3.new(0, 1000, 0)
  4010. wait(0.25)
  4011. Fire.Size = 10
  4012. Smoke.Enabled = true
  4013. local Sound = Instance.new("Sound", Children)
  4014. Sound.SoundId = "rbxasset://sounds/Rocket whoosh 01.wav"
  4015. Sound.Pitch = 0.5
  4016. Sound.Volume = 1
  4017. Sound:Play()
  4018. coroutine.wrap(function()
  4019. for i = 0, 1, 0.01 do
  4020. BodyVelocity.velocity = Vector3.new(0, Speed * i, 0)
  4021. wait()
  4022. end
  4023. BodyVelocity.velocity = Vector3.new(0, Speed, 0)
  4024. end)()
  4025. if Duration ~= 0 then
  4026. coroutine.wrap(function()
  4027. wait(Duration)
  4028. BodyVelocity:Remove()
  4029. local Explosion = Instance.new("Explosion", workspace)
  4030. Explosion.Position = Children.CFrame.p
  4031. Explosion.BlastPressure = 50000
  4032. Explosion.BlastRadius = 25
  4033. Fire.Enabled = false
  4034. Smoke.Enabled = false
  4035. Children:BreakJoints()
  4036. end)()
  4037. end
  4038. end)()
  4039. end
  4040. end
  4041. wait(math.random(1, 10) / 10)
  4042. end
  4043. end
  4044. end
  4045. end, "Rocket", "Fires bodyparts into the air that explode after a set time.", "player" ..CoolCMDs.Data.SplitCharacter.. "[...]" ..CoolCMDs.Data.SplitCharacter.. "speed" ..CoolCMDs.Data.SplitCharacter.. "duration (in seconds)")
  4046.  
  4047. CoolCMDs.Functions.CreateCommand({"jail", "j"}, 1, function(Message, MessageSplit, Speaker, Self)
  4048. for i = 1, #MessageSplit do
  4049. for _, PlayerList in pairs(game:service("Players"):GetPlayers()) do
  4050. if string.match(PlayerList.Name:lower(), MessageSplit[i]:lower()) and PlayerList.Character ~= nil then
  4051. if PlayerList.Character:FindFirstChild("Torso") ~= nil then
  4052. local Position = PlayerList.Character.Torso.CFrame
  4053. local IsJailed = Instance.new("IntValue")
  4054. IsJailed.Name = "IsJailed"
  4055. IsJailed.Parent = PlayerList
  4056. coroutine.wrap(function()
  4057. while IsJailed.Parent == PlayerList and PlayerList.Parent ~= nil do
  4058. if PlayerList.Character ~= nil then
  4059. if PlayerList.Character:FindFirstChild("Torso") ~= nil then
  4060. if (PlayerList.Character.Torso.CFrame.p - Position.p).magnitude > 10 then
  4061. PlayerList.Character.Torso.CFrame = Position * CFrame.new(0, 1.5, 0)
  4062. PlayerList.Character.Torso.Velocity = Vector3.new(0, 0, 0)
  4063. PlayerList.Character.Torso.RotVelocity = Vector3.new(0, 0, 0)
  4064. CoolCMDs.Functions.CreateMessage("Hint", (function()
  4065. local Text = math.random(1, 12)
  4066. if Text == 1 then
  4067. return "You were put here for a reason."
  4068. elseif Text == 2 then
  4069. return "This is your new home; stay in it."
  4070. elseif Text == 3 then
  4071. return "You can't escape, you know."
  4072. elseif Text == 4 then
  4073. return "Resistance is futile!"
  4074. elseif Text == 5 then
  4075. return "You, plus jail, equals: Stop trying to get out of it."
  4076. elseif Text == 6 then
  4077. return "It's called a \"jail\" for a reason."
  4078. elseif Text == 7 then
  4079. return "This is why we can't have nice things."
  4080. elseif Text == 8 then
  4081. return "You are a reason why we can't have nice things."
  4082. elseif Text == 9 then
  4083. return "Not even God himself can save you now."
  4084. elseif Text == 10 then
  4085. return "Where is your God now?"
  4086. elseif Text == 11 then
  4087. return "Jailed forever."
  4088. elseif Text == 12 then
  4089. return "Beat your head on the bars a few times, that might help."
  4090. end
  4091. end)(), 5, PlayerList)
  4092. end
  4093. end
  4094. end
  4095. wait(math.random(1, 10) / 100)
  4096. end
  4097. for _, Part in pairs(game:service("Workspace"):children()) do
  4098. if string.match(Part.Name, "JailPart") and string.match(Part.Name, PlayerList.Name) then
  4099. pcall(function() Part:Remove() end)
  4100. end
  4101. end
  4102. end)()
  4103. wait()
  4104. local JailPart1 = Instance.new("Part")
  4105. JailPart1.Name = PlayerList.Name.. "JailPart"
  4106. JailPart1.TopSurface = 0
  4107. JailPart1.BottomSurface = 0
  4108. JailPart1.BrickColor = BrickColor.new("Really black")
  4109. JailPart1.formFactor = "Custom"
  4110. JailPart1.Anchored = true
  4111. JailPart1.CanCollide = true
  4112. JailPart1.Size = Vector3.new(11, 1, 11)
  4113. local JailPart2 = JailPart1:Clone()
  4114. JailPart2.Size = Vector3.new(0.5, 8, 0.5)
  4115. local JailPart = JailPart1:Clone()
  4116. JailPart.CFrame = Position * CFrame.new(0, -2, 0)
  4117. JailPart.Parent = game:service("Workspace")
  4118. for i = 5, -4, -1 do
  4119. local JailPart = JailPart2:Clone()
  4120. JailPart.CFrame = Position * CFrame.new(-5, 2, i)
  4121. JailPart.Parent = game:service("Workspace")
  4122. end
  4123. for i = -5, 4, 1 do
  4124. local JailPart = JailPart2:Clone()
  4125. JailPart.CFrame = Position * CFrame.new(i, 2, -5)
  4126. JailPart.Parent = game:service("Workspace")
  4127. end
  4128. for i = -5, 4, 1 do
  4129. local JailPart = JailPart2:Clone()
  4130. JailPart.CFrame = Position * CFrame.new(5, 2, i)
  4131. JailPart.Parent = game:service("Workspace")
  4132. end
  4133. for i = 5, -4, -1 do
  4134. local JailPart = JailPart2:Clone()
  4135. JailPart.CFrame = Position * CFrame.new(i, 2, 5)
  4136. JailPart.Parent = game:service("Workspace")
  4137. end
  4138. local JailPart = JailPart1:Clone()
  4139. JailPart.CFrame = Position * CFrame.new(0, 6, 0)
  4140. JailPart.Parent = game:service("Workspace")
  4141. end
  4142. end
  4143. end
  4144. end
  4145. end, "Jail", "Jail people.", "player" ..CoolCMDs.Data.SplitCharacter.. "[...]")
  4146.  
  4147. CoolCMDs.Functions.CreateCommand({"unjail", "unj", "uj"}, 1, function(Message, MessageSplit, Speaker, Self)
  4148. for i = 1, #MessageSplit do
  4149. for _, PlayerList in pairs(game:service("Players"):GetPlayers()) do
  4150. if string.match(PlayerList.Name:lower(), MessageSplit[i]:lower()) and PlayerList.Character ~= nil then
  4151. for _, Part in pairs(PlayerList:children()) do
  4152. if string.match(Part.Name, "IsJailed") then
  4153. Part:Remove()
  4154. end
  4155. end
  4156. end
  4157. end
  4158. end
  4159. end, "Unjail", "Unjail people.", "player" ..CoolCMDs.Data.SplitCharacter.. "[...]")
  4160.  
  4161. CoolCMDs.Functions.CreateCommand({"rebase", "rb"}, 1, function(Message, MessageSplit, Speaker, Self)
  4162. for _, Part in pairs(game:service("Workspace"):children()) do
  4163. if Part.Name == "Base" then
  4164. Part:Remove()
  4165. end
  4166. end
  4167. Base = Instance.new("Part")
  4168. Base.Name = "Base"
  4169. Base.BrickColor = BrickColor.new("Dark green")
  4170. Base.TopSurface = "Studs"
  4171. Base.BottomSurface = "Smooth"
  4172. Base.formFactor = "Custom"
  4173. Base.Size = Vector3.new(1000, 5, 1000)
  4174. Base.CFrame = CFrame.new(0, -2, 0)
  4175. Base.Locked = true
  4176. Base.Anchored = true
  4177. Base.Parent = game:service("Workspace")
  4178. end, "Rebase", "Make a new base.", "None")
  4179.  
  4180. CoolCMDs.Functions.CreateCommand({"spawn", "sp"}, 1, function(Message, MessageSplit, Speaker, Self)
  4181. local Part = Instance.new("Part")
  4182. Part.Name = "Base"
  4183. Part.BrickColor = BrickColor.new("Really black")
  4184. Part.TopSurface = "Smooth"
  4185. Part.BottomSurface = "Smooth"
  4186. Part.formFactor = "Custom"
  4187. Part.Size = Vector3.new(9, 1, 9)
  4188. Part.CFrame = CFrame.new(0, 1, 0)
  4189. Part.Locked = true
  4190. Part.Anchored = true
  4191. Part.Parent = game:service("Workspace")
  4192. local Part = Part:Clone()
  4193. Part.Size = Vector3.new(0.5, 8, 0.5)
  4194. Part.CFrame = CFrame.new(4, 5.5, 4)
  4195. Part.Parent = game:service("Workspace")
  4196. local Part = Part:Clone()
  4197. Part.CFrame = CFrame.new(4, 5.5, -4)
  4198. Part.Parent = game:service("Workspace")
  4199. local Part = Part:Clone()
  4200. Part.CFrame = CFrame.new(-4, 5.5, -4)
  4201. Part.Parent = game:service("Workspace")
  4202. local Part = Part:Clone()
  4203. Part.CFrame = CFrame.new(-4, 5.5, 4)
  4204. Part.Parent = game:service("Workspace")
  4205. local Part = Part:Clone()
  4206. Part.Size = Vector3.new(0.5, 0.5, 8)
  4207. Part.CFrame = CFrame.new(4, 9.75, -0.25)
  4208. Part.Parent = game:service("Workspace")
  4209. local Part = Part:Clone()
  4210. Part.Size = Vector3.new(8, 0.5, 0.5)
  4211. Part.CFrame = CFrame.new(0.25, 9.75, 4)
  4212. Part.Parent = game:service("Workspace")
  4213. local Part = Part:Clone()
  4214. Part.Size = Vector3.new(0.5, 0.5, 8)
  4215. Part.CFrame = CFrame.new(-4, 9.75, 0.25)
  4216. Part.Parent = game:service("Workspace")
  4217. local Part = Part:Clone()
  4218. Part.Size = Vector3.new(8, 0.5, 0.5)
  4219. Part.CFrame = CFrame.new(-0.25, 9.75, -4)
  4220. Part.Parent = game:service("Workspace")
  4221. local Part1 = Instance.new("Part")
  4222. Part1.Name = "Base"
  4223. Part1.BrickColor = BrickColor.new("Dark stone grey")
  4224. Part1.TopSurface = "Smooth"
  4225. Part1.BottomSurface = "Smooth"
  4226. Part1.formFactor = "Custom"
  4227. Part1.Size = Vector3.new(6, 0.25, 6)
  4228. Part1.CFrame = CFrame.new(0, 1.625, 0)
  4229. Part1.Locked = true
  4230. Part1.Anchored = true
  4231. Part1.Parent = game:service("Workspace")
  4232. local Part2 = Instance.new("SpawnLocation")
  4233. Part2.Name = "Base"
  4234. Part2.BrickColor = BrickColor.new("Dark stone grey")
  4235. Part2.TopSurface = "Smooth"
  4236. Part2.BottomSurface = "Smooth"
  4237. Part2.formFactor = "Custom"
  4238. Part2.Size = Vector3.new(4, 0.25, 4)
  4239. Part2.CFrame = CFrame.new(0, 1.875, 0)
  4240. Part2.Locked = true
  4241. Part2.Anchored = true
  4242. Part2.Parent = game:service("Workspace")
  4243. coroutine.wrap(function()
  4244. for i = 0, math.huge, 0.005 do
  4245. if Part1.Parent == nil or Part2.Parent == nil then break end
  4246. Part1.CFrame = CFrame.new(Part1.CFrame.p) * CFrame.fromEulerAnglesXYZ(0, math.rad(math.sin(i) * 360 * -5.25), 0)
  4247. Part2.CFrame = CFrame.new(Part2.CFrame.p) * CFrame.fromEulerAnglesXYZ(0, math.rad(math.cos(i) * 360 * 2), 0)
  4248. wait()
  4249. end
  4250. end)()
  4251. end, "Spawn", "Make a spawn.", "None")
  4252.  
  4253. CoolCMDs.Functions.CreateCommand("shutdown", 1, function(Message, MessageSplit, Speaker, Self)
  4254. local Hint = Instance.new("Hint", game:service("Workspace"))
  4255. for i = 5, 0, -1 do
  4256. Hint.Text = "Shutting down server in " ..i.. "..."
  4257. wait(1)
  4258. end
  4259. pcall(function() Instance.new("ManualSurfaceJointInstance", game:service("Workspace")) end)
  4260. wait(0.5)
  4261. Hint.Text = "Shutdown failed!"
  4262. wait(5)
  4263. Hint:Remove()
  4264. end, "Shutdown", "Kill the server.", "None")
  4265.  
  4266. CoolCMDs.Functions.CreateCommand("remove", 5, function(Message, MessageSplit, Speaker, Self)
  4267. loadstring([==[_G.CoolCMDs[CoolCMDs.Initialization.InstanceNumber]:Remove(CoolCMDs.Data.AccessCode)]==])()
  4268. end, "Remove Script", "Remove CoolCMDs.", "None")
  4269.  
  4270. game:service("Players").ChildAdded:connect(function(Player) CoolCMDs.Functions.CreatePlayerTable(Player) end)
  4271. game:service("Players").ChildRemoved:connect(function(Player) CoolCMDs.Functions.RemovePlayerTable(Player) end)
  4272. for _, PlayerList in pairs(game:service("Players"):GetPlayers()) do pcall(function() CoolCMDs.Functions.CreatePlayerTable(PlayerList) end) end
  4273. CoolCMDs.Functions.LoadModule(true, nil, true)
  4274. CoolCMDs.Initialization.FinishTime = game:service("Workspace").DistributedGameTime
  4275. CoolCMDs.Initialization.ElapsedTime = CoolCMDs.Initialization.FinishTime - CoolCMDs.Initialization.StartTime
  4276. CoolCMDs.Functions.CreateMessage("Hint", "Command(s) loaded: " ..#CoolCMDs.CommandHandles, 5)
  4277. wait(5)
  4278. CoolCMDs.Functions.CreateMessage("Hint", "CoolCMDs version created by Calze900 " ..CoolCMDs.Data.Version.. " loaded successfully.", 5)
  4279.  
  4280. end
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement