Advertisement
popster12345

Untitled

Feb 12th, 2016
112
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 64.06 KB | None | 0 0
  1. -- CONFIGURATION --
  2. -- To modify these, go into the 'Configuration' Folder and change the values.
  3. repeat wait(0) until script:FindFirstChild("Configuration")
  4. local Configuration = script:FindFirstChild("Configuration")
  5.  
  6. local AllowChatReset = Configuration.AllowChatReset.Value -- If set to true, players can say 'Reset' or 'Respawn', etc, and be respawned.
  7. local AllowChatCommands = Configuration.AllowChatCommands.Value -- Allows you to use kill/ or explode/, etc. too.
  8. local BestFriendsAdmin = Configuration.BestFriendsAdmin.Value -- If true, all your 'Best Friends' will be friends
  9. local FriendsModerator = Configuration.FriendsModerator.Value -- If true, all your 'Best Friends' will be friends
  10. local AdminGroupID = Configuration.AdminGroupID.Value -- Anyone in this group
  11.  
  12. local AdminGroups = { -- Anyone in these groups will be added as an admin.
  13. 00000000;
  14. 00000000;
  15. 00000000;
  16. 00000000;
  17. 00000000;
  18. 00000000;
  19. 00000000;
  20. }
  21.  
  22.  
  23.  
  24. ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
  25. ------- E N D O F S I M P L E E D I T I N G O F Q U E N T Y A D M I N S ------------- E N D O F S I M P L E E D I T I N G O F Q U E N T Y A D M I N S ------
  26. ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
  27. -- Past this point, tamper, but if it breaks, it's not my fault. D:
  28.  
  29. -- Update --
  30. local _G,_VERSION,assert,collectgarbage,dofile,error,getfenv,getmetatable,ipairs,load,loadfile,loadstring,next,pairs,pcall,print,rawequal,rawget,rawset,select,setfenv,setmetatable,tonumber,tostring,type,unpack,xpcall,coroutine,math,string,table,game,Game,workspace,Workspace,delay,Delay,LoadLibrary,printidentity,Spawn,tick,time,version,Version,Wait,wait,PluginManager,crash__,LoadRobloxLibrary,settings,Stats,stats,UserSettings,Enum,Color3,BrickColor,Vector2,Vector3,Vector3int16,CFrame,UDim,UDim2,Ray,Axes,Faces,Instance,Region3,Region3int16=_G,_VERSION,assert,collectgarbage,dofile,error,getfenv,getmetatable,ipairs,load,loadfile,loadstring,next,pairs,pcall,print,rawequal,rawget,rawset,select,setfenv,setmetatable,tonumber,tostring,type,unpack,xpcall,coroutine,math,string,table,game,Game,workspace,Workspace,delay,Delay,LoadLibrary,printidentity,Spawn,tick,time,version,Version,Wait,wait,PluginManager,crash__,LoadRobloxLibrary,settings,Stats,stats,UserSettings,Enum,Color3,BrickColor,Vector2,Vector3,Vector3int16,CFrame,UDim,UDim2,Ray,Axes,Faces,Instance,Region3,Region3int16
  31. math.randomseed(tick())
  32.  
  33. local UpdateTimeOutTime = 60 -- Time the script has until it stops trying to update, incase the update errors.
  34. local UpdateAttempt = false
  35. local UpdateStartTime = tick()
  36. local CurrentVersion = script.QuentyAdminCurrentVersion.Value
  37. local Admins = script.Admins
  38.  
  39. Spawn(function()
  40. local Attempt = game:GetService("InsertService"):LoadAsset(86681103)
  41. if Attempt and Attempt:IsA("Model") then
  42. local AdminScript = Attempt:FindFirstChild("QuentyAdminCommands")
  43. if AdminScript and AdminScript:IsA("Script") then
  44. local CurrentVersionValue = AdminScript:FindFirstChild("QuentyAdminCurrentVersion")
  45. local AdminConfiguration = AdminScript:FindFirstChild("Configuration") -- Gotta save the values.
  46. local AdminAdminsContainer = AdminScript:FindFirstChild("Admins") -- And save admins...
  47.  
  48. if CurrentVersionValue and CurrentVersionValue:IsA("NumberValue") and AdminConfiguration and AdminAdminsContainer then
  49. if CurrentVersionValue.Value > CurrentVersion then
  50. --print("Auto updating")
  51. for _, Item in pairs(AdminConfiguration:GetChildren()) do
  52. if Configuration:FindFirstChild(Item.Name) and Configuration[Item.Name]:IsA(Item.ClassName) then
  53. AdminConfiguration[Item.Name].Value = Configuration[Item.Name].Value
  54. else
  55. print("Weird value found in configuration")
  56. end
  57. end
  58. AdminAdminsContainer:ClearAllChildren() -- Wipe....
  59.  
  60. for _, Item in pairs(Admins:GetChildren()) do
  61. Item:Clone().Parent = AdminAdminsContainer
  62. end
  63. AdminScript.Parent = Workspace
  64. --print("Done autoupdating")
  65. script:Destroy() -- Destroy one's self. :D
  66. else
  67. print("Version is up to date")
  68. Attempt:Destroy();
  69. end
  70. else
  71. print("Error in identifying key values in loaded script")
  72. end
  73. end
  74. else
  75. print("Error in insert attempt")
  76. end
  77. UpdateAttempt = true;
  78. end)
  79.  
  80. repeat wait(0) print("Waiting for autoupdate attempt") until UpdateAttempt or tick() - UpdateStartTime > UpdateTimeOutTime
  81. print("Update complete")
  82.  
  83. -- SCRIPT --
  84.  
  85. local function WaitForDescendent(Parent, Name)
  86. local Item = Parent:FindFirstChild(Name)
  87. if not Item then
  88. repeat wait(0) Item = Parent:FindFirstChild(Name) print("Waiting for "..Name) until Item
  89. end
  90. return Item;
  91. end
  92.  
  93. --local AdminList = {"monsterjam12clone", "monsterjam12clone", "monsterjam12clone", "Player"}
  94.  
  95.  
  96.  
  97. -- Variables --
  98. local Players = Game:GetService('Players')
  99. local StarterPack = Game:GetService('StarterPack')
  100. local StarterGui = Game:GetService('StarterGui')
  101. local Lighting = Game:GetService('Lighting')
  102. local Debris = Game:GetService('Debris')
  103. local Teams = Game:GetService('Teams')
  104. local BadgeService = Game:GetService('BadgeService')
  105. local InsertService = Game:GetService('InsertService')
  106. local Terrain = Workspace.Terrain
  107.  
  108. local Noobtags = {}
  109.  
  110. local PlayerConnectionCommands = {}
  111. local PlayerNotifications = {}
  112.  
  113. --local RbxGui = assert(LoadLibrary('RbxGui'))
  114. local RbxUtility = assert(LoadLibrary('RbxUtility'))
  115. --local RbxStatus = assert(LoadLibrary('RbxStatus'))
  116. --local RbxGear = assert(LoadLibrary('RbxGear'))
  117. --local RbxStamper = assert(LoadLibrary('RbxStamper'))
  118.  
  119. script.Name = "QuentyAdminCommands" -- Needs to stay this way to work.
  120.  
  121. local Commands = WaitForDescendent(script, "QuentyGuiAdminCommands")
  122.  
  123. local Notification = WaitForDescendent(script, "QuentyGuiAdminNotice"):Clone()
  124. local Caper = WaitForDescendent(script, "QuentyGuiAdmin:Capes"):Clone()
  125. local Blinder = WaitForDescendent(script, "QuentyGuiAdminBlind"):Clone()
  126. local Preload = WaitForDescendent(script, "QuentyGuiAdmin:Preload"):Clone()
  127. local MainCache = game:GetService("Lighting"):FindFirstChild("QuentyAdminCache")
  128. local PlaySoundScript = WaitForDescendent(script, "QuentyGuiAdmin:PlaySound"):Clone()
  129. local GameProt = WaitForDescendent(script, "QuentyGuiAdmin:Operation"):Clone()
  130. local CrashScript = WaitForDescendent(script, "QuentyGuiAdmin:Crash"):Clone()
  131.  
  132. if not MainCache then
  133. MainCache = Instance.new("Model", game:GetService("Lighting"))
  134. MainCache.Name = "QuentyAdminCache"
  135. end
  136.  
  137. local ToolCache = MainCache:FindFirstChild("QuentyAdminToolCache")
  138. local HatCache = MainCache:FindFirstChild("QuentyAdminHatCache")
  139. if not ToolCache then
  140. ToolCache = Instance.new("Model", MainCache)
  141. ToolCache.Name = "QuentyAdminToolCache"
  142. end
  143.  
  144. if not HatCache then
  145. HatCache = Instance.new("Model", MainCache)
  146. HatCache.Name = "QuentyAdminHatCache"
  147. end
  148.  
  149. -- Functions --
  150.  
  151.  
  152.  
  153.  
  154.  
  155.  
  156.  
  157.  
  158.  
  159. local function Modify(instance, t)
  160. for key, value in next, t do
  161. if type(key) == 'number' then
  162. value.Parent = instance
  163. else
  164. instance[key] = value
  165. end
  166. end
  167. return instance
  168. end
  169.  
  170.  
  171.  
  172.  
  173.  
  174. local function PlaySound(Player, ID)
  175. if Player and Player:FindFirstChild("PlayerGui") then
  176. local NewSoundPlay = PlaySoundScript:Clone()
  177. NewSoundPlay.SoundVal.Value = ID
  178. NewSoundPlay.Parent = Player.PlayerGui
  179. NewSoundPlay.Disabled = false
  180. end
  181. end
  182.  
  183.  
  184.  
  185.  
  186.  
  187.  
  188. local function GiveAdmin(Player)
  189. if Player and Player:IsA("Player") and Player:FindFirstChild("PlayerGui") then
  190. if Player.PlayerGui:FindFirstChild("QuentyGuiAdminCommands") then
  191. Player.PlayerGui.QuentyGuiAdminCommands:Destroy();
  192. end
  193. Commands:Clone().Parent = Player.PlayerGui
  194. else
  195. print("Player was invalid")
  196. end
  197. end
  198.  
  199.  
  200.  
  201.  
  202.  
  203. local function Noobify(Character, Head, Torso, LeftLeg, RightLeg, RightArm, LeftArm, TagName, Zombie, Decal, Face)
  204. Decal = Decal or ""
  205. Spawn(function()
  206.  
  207. local function CheckTag(Name)
  208. for XTag, _ in pairs(Noobtags) do
  209. if XTag ~= TagName and XTag == Name then
  210. return true;
  211. end
  212. end
  213. return false;
  214. end
  215.  
  216. local function CheckTags(Char)
  217. for _, Item in pairs(Char:GetChildren()) do
  218. if CheckTag(Item.Name) then
  219. return true;
  220. end
  221. end
  222. return false;
  223. end
  224.  
  225. local NoobConnections = {}
  226. if Character and Character:FindFirstChild("Humanoid") and not Character:FindFirstChild(TagName) and not CheckTags(Character) then
  227. local Tag = Instance.new("BoolValue", Character)
  228. Tag.Name = TagName
  229. Noobtags[TagName] = true
  230.  
  231.  
  232.  
  233.  
  234. for _, Part in pairs(Character:GetChildren()) do
  235. if Part:IsA("BasePart") then
  236. if Part.Name == "Head" then
  237. Part.BrickColor = Head
  238. if Face and Part:FindFirstChild("face") and Part.face:IsA("Decal") then
  239. Part.face.Texture = "http://www.roblox.com/asset/?id=83977779"
  240. end
  241. elseif Part.Name == "Torso" then
  242. Part.BrickColor = Torso
  243. NoobConnections[#NoobConnections+1] = Part.Touched:connect(function(TPart)
  244. if TPart and TPart.Parent and TPart.Parent:FindFirstChild("Humanoid") and not TPart:FindFirstChild(TagName) then
  245. Noobify(TPart.Parent, Head, Torso, LeftLeg, RightLeg, RightArm, LeftArm, TagName, Decal, Face)
  246. end
  247. end)
  248. if Part:FindFirstChild("roblox") and Part.roblox:IsA("Decal") then
  249. Part.roblox.Texture = Decal
  250. else
  251. local ROBLOX = Instance.new("Decal", Part)
  252. ROBLOX.Texture = Decal
  253. ROBLOX.Name = "roblox"
  254. ROBLOX.Face = "Front"
  255. end
  256. elseif Part.Name == "Left Leg" then
  257. Part.BrickColor = LeftLeg
  258. elseif Part.Name == "Right Leg" then
  259. Part.BrickColor = RightLeg
  260. elseif Part.Name == "Right Arm" then
  261. Part.BrickColor = RightArm
  262. elseif Part.Name == "Left Arm" then
  263. Part.BrickColor = LeftArm
  264. else
  265. Part.BrickColor = Torso
  266. end
  267. elseif Part:IsA("Hat") or Part:IsA("BackpackItem") or Part:IsA("Shirt") or Part:IsA("Pants") then
  268. Part:Destroy()
  269. elseif Part:IsA("BoolValue") and CheckTag(Part.Name) then
  270. print("removing noob tag")
  271. Part:Destroy()
  272. end
  273. end
  274. repeat wait(0.05) until not (Tag or Tag.Parent or Tag.Parent.Parent)
  275. print("Disconnected connection")
  276. for _, Connection in pairs(NoobConnections) do
  277. Connection:disconnect()
  278. end
  279. end
  280. end)
  281. end
  282.  
  283.  
  284. --[[
  285. local function SetupServerRequest(Functions, ServerPingOutTime)
  286. VerifyArg(ServerPingOutTime, "number", "ServerPingOutTime")
  287.  
  288. local function GetValuesFromFunction(...)
  289. local NewTable = {}
  290. for _, Value in pairs({...}) do
  291. NewTable[#NewTable+1] = Value
  292. end
  293. return NewTable;
  294. end
  295.  
  296.  
  297. local NewServer = Instance.new("StringValue", game)
  298. NewServer.Archivable = false
  299. NewServer.Name = "Server"
  300. NewServer.ChildAdded:connect(function(Child)
  301. if Child and Child:IsA("StringValue") then
  302. if Functions[Child.Name] then
  303. local StartTime = tick()
  304. local FunctionArguments = {}
  305. local Vars = Child:FindFirstChild("Variables")
  306. if not Vars then
  307. repeat wait(0) Vars = Child:FindFirstChild("Variables") until Vars or tick()-StartTime >= ServerPingOutTime
  308. end
  309.  
  310. if Vars then -- This way we know it's loaded...
  311. if Vars:IsA("StringValue") then
  312. FunctionArguments = RbxUtility:DecodeJSON(Vars.Value)
  313. local ReturnValues = GetValuesFromFunction(Functions[Child.Name](unpack(FunctionArguments)))
  314. local NewValues = RbxUtility:EncodeJSON(ReturnValues)
  315. Child.Value = NewValues
  316. else
  317. print("Vars is not the proper object type")
  318. end
  319. else
  320. print("Vars pinged out @ "..tick()-StartTime)
  321. end
  322. else
  323. print("Attempted to call a nil function")
  324. end
  325. else
  326. print("Child was not a string value...")
  327. end
  328. end)
  329. end--]]
  330.  
  331.  
  332.  
  333.  
  334.  
  335.  
  336. local function Notify(Player, Text, Title)
  337. Title = Title or "General Notice"
  338. local Number = PlayerNotifications[Player] + 1
  339. PlayerNotifications[Player] = Number
  340.  
  341. if Player and Player:FindFirstChild("PlayerGui") then
  342. local NewNotice = Notification:Clone()
  343. local CloseItem = false
  344. local NoticeGui = WaitForDescendent(NewNotice, "Notification")
  345. local TextLabel = WaitForDescendent(NoticeGui, "Label")
  346. local Confirm = WaitForDescendent(NoticeGui, "Confirm")
  347. local GUITitle = WaitForDescendent(WaitForDescendent(NoticeGui, "Title"), "TextLabel")
  348. TextLabel.Text = "[ Content Moderated ] D:"
  349. TextLabel.Text = Text
  350. GUITitle.Text = "[ Content Moderated ] D:"
  351. GUITitle.Text = Title
  352. local OutPosition = UDim2.new(0.5, -NoticeGui.AbsoluteSize.X/2, 0, -NoticeGui.AbsoluteSize.Y-5)
  353. NoticeGui.Position = OutPosition
  354. NewNotice.Parent = Player.PlayerGui
  355. NoticeGui:TweenPosition(UDim2.new(0.5, -NoticeGui.AbsoluteSize.X/2, 0.5, -NoticeGui.AbsoluteSize.Y/2), "Out", "Sine", 0.5, true)
  356. Spawn(function()
  357. Confirm.MouseButton1Down:wait(0.05)
  358. CloseItem = true;
  359. end)
  360. repeat wait(0.05) until CloseItem or PlayerNotifications[Player] ~= Number
  361.  
  362. NoticeGui:TweenPosition(OutPosition, "In", "Sine", 0.5, true)
  363. delay(0.5, function()
  364. if Confirm then
  365. Confirm:Destroy() -- So we can disconnect events better?
  366. end
  367. if NewNotice then
  368. NewNotice:Destroy()
  369. end
  370. end)
  371. end
  372. end
  373.  
  374.  
  375.  
  376.  
  377.  
  378.  
  379. local function Froob(player)
  380. if player.Character and player.Character:FindFirstChild("Humanoid") and player:FindFirstChild("PlayerGui") then
  381. local Tag = Instance.new("BoolValue", player.Character)
  382. Tag.Name = "QuentyGuiAdmin:CharTag:Froob2"
  383. --[[local Music = Instance.new("Sound", player.PlayerGui)
  384. Music.Name = "RickRoll"
  385. Music.Looped = true
  386. Music.Volume = 1
  387. Music.SoundId = "http://www.roblox.com/asset/?id=2027611" -- Rickroll D:
  388. Music:Play()--]]
  389. PlaySound(player, "http://www.roblox.com/asset/?id=2027611") -- Rickroll. :D
  390. Noobify(player.Character, BrickColor.new("Bright yellow"), BrickColor.new("Bright red"), BrickColor.new("Br. yellowish green"), BrickColor.new("Br. yellowish green"), BrickColor.new("Bright yellow"), BrickColor.new("Bright yellow"), "QuentyGuiAdmin:CharTag:Froob", false, "http://www.roblox.com/asset/?id=2113852", "http://www.roblox.com/asset/?id=83977779")
  391. Notify(player, [==[Dear ]==]..player.Name..[==[,
  392. Congrats, you have been Froobtiemed. Not much left to say, but I must say, this music is JAZZY! :D!
  393.  
  394. P.S. Please turn on your sound. The music is great.]==], "You have been Froobtiem")
  395. end
  396. if player.Character:FindFirstChild("Torso") then
  397. player.Character.Torso.Touched:connect(function(Part)
  398. if Part and Part.Parent and game:GetService("Players"):GetPlayerFromCharacter(Part.Parent) and not Part.Parent:FindFirstChild("QuentyGuiAdmin:CharTag:Froob2") then
  399. local NewPlayer = game:GetService("Players"):GetPlayerFromCharacter(Part.Parent)
  400. Froob(NewPlayer)
  401. end
  402. end)
  403. end
  404. end
  405.  
  406.  
  407.  
  408.  
  409. local function RewardBadge(Player, ID)
  410. Spawn(function()
  411. game:GetService("BadgeService"):AwardBadge(Player.userId,ID)
  412. end)
  413. end
  414.  
  415.  
  416. local function GiveKOs(Target, Recep, RepTimes)
  417. print("Giving")
  418. if Target and Target:IsA("Player") and Target.Character and Target.Character:FindFirstChild("Humanoid") then
  419. local Character = Target.Character
  420. Tag = Instance.new("ObjectValue", Character.Humanoid)
  421. Tag.Name = "creator"
  422. Tag.Value = Recep
  423. Target.Character.Parent = nil
  424. for i=0, RepTimes, 1 do
  425. Target.Character = nil
  426. Target.Character = Character
  427. end
  428. Character.Parent = game.Workspace
  429. Character:BreakJoints()
  430. Workspace:BreakJoints()
  431. print("Complete Success")
  432. end
  433. end
  434.  
  435. local function ChildAddedToPlay(player, Tag)
  436. Spawn(function()
  437. print("Child Added to tags.")
  438. wait(1/30)
  439. if Tag and string.lower(string.sub(Tag.Name, 1, 16)) == string.lower("QuentyAdmin:Tag:") then
  440. local TagName = string.lower(string.sub(Tag.Name, 17))
  441. if TagName == string.lower("Loopkill") then
  442. print("Loopkill item added")
  443. Spawn(function()
  444. while Tag and Tag.Parent and Tag.Parent.Parent and player do
  445. if player.Character and player.Character:FindFirstChild("Humanoid") and player.Character:FindFirstChild("Humanoid"):IsA("Humanoid") then
  446. player.Character.Humanoid.Health = 0
  447. player.Character:BreakJoints();
  448. end
  449. wait(0)
  450. repeat wait() until player.Character and player.Character:FindFirstChild("Humanoid") and player.Character:FindFirstChild("Humanoid"):IsA("Humanoid")
  451. end
  452. print("Loopkill done")
  453. end)
  454. elseif TagName == string.lower("NormMessage") and Tag:IsA("StringValue") then
  455. --[[local Message = Instance.new("Message", Workspace)
  456. Message.Name = "QuentyGUIAdminMessage"
  457. Message.Text = Tag.Value
  458. wait(3)
  459. if Message then
  460. Message:Destroy()
  461. end
  462. if Tag then
  463. Tag:Destroy();
  464. end--]]
  465. for _, Player in pairs(game.Players:GetPlayers()) do
  466. Spawn(function()
  467. Notify(Player, Tag.Value, "Global Message (To all players)")
  468. end)
  469. end
  470. elseif TagName == string.lower("PrivMessage") and Tag:IsA("StringValue") and player:FindFirstChild("PlayerGui") then
  471. --[[local Message = Instance.new("Message", player.PlayerGui)
  472. Message.Name = "QuentyGUIAdminMessage"
  473. Message.Text = Tag.Value
  474. wait(3)
  475. if Message then
  476. Message:Destroy()
  477. end
  478. if Tag then
  479. Tag:Destroy();
  480. end--]]
  481. Notify(player, Tag.Value, "Private Message")
  482. elseif TagName == string.lower("Respawn") then
  483. player:LoadCharacter();
  484.  
  485. elseif TagName == string.lower("Notification") and Tag:IsA("StringValue") then
  486. Notify(player, Tag.Value)
  487. elseif TagName == string.lower("Cape") then
  488. if player:FindFirstChild("PlayerGui") then
  489. Caper:Clone().Parent = player.PlayerGui
  490. end
  491. elseif TagName == string.lower("RewardBadge") and Tag:IsA("NumberValue") then
  492. RewardBadge(player, Tag.Value)
  493. elseif TagName == string.lower("Blind") then
  494. Spawn(function()
  495. if player:FindFirstChild("PlayerGui") then
  496. local Blind = Blinder:Clone()
  497. local BlindGui = WaitForDescendent(Blind, "Blind")
  498. BlindGui.Visible = true
  499. BlindGui.BackgroundTransparency = 1
  500. Blind.Parent = player.PlayerGui
  501. for i=1, 0, -0.05 do
  502. if BlindGui then
  503. BlindGui.BackgroundTransparency = i
  504. wait(0.05)
  505. end
  506. end
  507. BlindGui.BackgroundTransparency = 0
  508. repeat wait(0.05)
  509. if BlindGui then
  510. BlindGui.BackgroundColor = BrickColor.random()
  511. end
  512. until not Blind or not BlindGui or not Tag or not Tag.Parent or not Tag.Parent.Parent or not Tag.Parent.Parent.Parent
  513. if BlindGui and Blind then
  514. BlindGui.Transparency = 0
  515. for i=0, 1, 0.05 do
  516. if BlindGui then
  517. BlindGui.BackgroundTransparency = i
  518. wait(0.05)
  519. end
  520. end
  521. wait(0.05)
  522. Blind:Destroy();
  523. end
  524. end
  525. end)
  526. elseif TagName == string.lower("CrashBan") then
  527. repeat wait(0) until player and player:FindFirstChild("PlayerGui")
  528. CrashScript:Clone().Parent = player.PlayerGui
  529. elseif TagName == string.lower("God") then
  530. Spawn(function()
  531. if player and player.Character:FindFirstChild("Torso") and player.Character.Torso:IsA("BasePart") and player.Character:FindFirstChild("Humanoid") and player.Character.Humanoid:IsA("Humanoid") then
  532. local Torso = player.Character.Torso
  533. local Hum = player.Character.Humanoid -- Efficiency.
  534. Hum.MaxHealth = 100000
  535. Hum.Health = 100000
  536. Hum.WalkSpeed = 50
  537. local Sparkles = Instance.new("Sparkles", Torso)
  538. Sparkles.Name = "QuentyGUIAdminSparkles" -- <3 Sparkles :D
  539. local Connection = Torso.Touched:connect(function(Part)
  540. if player and player.Character and Part and Part.Parent and Part.Parent:FindFirstChild("Humanoid") and Part.Parent.Humanoid:IsA("Humanoid") and not Part:IsDescendantOf(player.Character) then
  541. Part.Parent.Humanoid.Health = 0
  542. end
  543. end)
  544. repeat wait(0.05) until not (Tag and Tag.Parent and Tag.Parent.Parent and Tag.Parent.Parent.Parent and player and player.Character and player.Character:FindFirstChild("Torso") and Torso and Torso.Parent and Torso.Parent.Parent)
  545. --print("Disconnected godify")
  546. Connection:disconnect()
  547. end
  548. end)
  549. elseif TagName == string.lower("Button") then
  550. Spawn(function()
  551. if player and player.Character and player.Character:FindFirstChild("Torso") and player.Character.Torso:IsA("BasePart") then
  552. local Act = false
  553. local ButtonMod = Instance.new("Model", Workspace)
  554. ButtonMod.Name = "Don't Touch"
  555. local Button = Instance.new("Part", ButtonMod)
  556. Button.Name = "Head"
  557. Button.FormFactor = "Custom"
  558. Button.Size = Vector3.new(1, 0.2, 1)
  559. Button.Position = (player.Character.Torso.CFrame * CFrame.new(math.random(-5, 5), -1, math.random(-5, 5))).p
  560.  
  561. local ButtonTop = Instance.new("Part", ButtonMod)
  562. ButtonTop.Name = "Torso"
  563. ButtonTop.FormFactor = "Custom"
  564. ButtonTop.Size = Vector3.new(1, 0.2, 1)
  565. ButtonTop.CFrame = Button.CFrame + Vector3.new(0, 0.2, 0)
  566. ButtonTop.BrickColor = BrickColor.new("Bright red")
  567.  
  568. local Weld = Instance.new("Weld", ButtonMod)
  569. Weld.Part0 = Button
  570. Weld.Part1 = ButtonTop
  571. Weld.C0 = CFrame.new(0, 0.2, 0)
  572.  
  573. local Mesh2 = Instance.new("CylinderMesh", ButtonTop)
  574. local Mesh = Instance.new("CylinderMesh", Button)
  575.  
  576. Mesh2.Scale = Vector3.new(0.8, 1, 0.8)
  577. local Humanoid = Instance.new("Humanoid", ButtonMod)
  578. Humanoid.Health = 0
  579. Humanoid.MaxHealth = 0
  580.  
  581. local Connect = Button.Touched:connect(function(Part)
  582. if Part:IsDescendantOf(player.Character) then
  583. Act = true
  584. end
  585. end)
  586.  
  587. Spawn(function()
  588. player.CharacterAdded:wait()
  589. Act = true;
  590. end)
  591.  
  592. repeat wait(0.05) until Act or not (player and player.Character and ButtonMod and ButtonMod.Parent and ButtonMod.Parent.Parent)
  593. if ButtonMod then
  594. ButtonMod:Destroy();
  595. end
  596. print("Explosion activated")
  597. Connect:disconnect();
  598. if player and player.Character and player.Character:FindFirstChild("Torso") and player.Character.Torso:IsA("BasePart") then
  599. Instance.new("Explosion", Workspace).Position = player.Character.Torso.Position
  600. end
  601. end
  602. end)
  603. elseif TagName == string.lower("Noobify") then
  604. if player.Character and player.Character:FindFirstChild("Humanoid") then
  605. Noobify(player.Character, BrickColor.new("Bright yellow"), BrickColor.new("Bright blue"), BrickColor.new("Br. yellowish green"), BrickColor.new("Br. yellowish green"), BrickColor.new("Bright yellow"), BrickColor.new("Bright yellow"), "QuentyGuiAdmin:CharTag:Noob", false)
  606. end
  607. elseif TagName == string.lower("Froob") then
  608. Froob(player)
  609. elseif TagName == string.lower("Zombie") then
  610. if player.Character and player.Character:FindFirstChild("Humanoid") then
  611. Noobify(player.Character, BrickColor.new("Medium green"), BrickColor.new("Reddish brown"), BrickColor.new("Medium green"), BrickColor.new("Medium green"), BrickColor.new("Medium green"), BrickColor.new("Medium green"), "QuentyGuiAdmin:CharTag:Zombie", true)
  612. end
  613. elseif TagName == string.lower("GiveKOs") and Tag:IsA("ObjectValue") then
  614. print("Got KO's tag")
  615. wait(0.05)
  616. if Tag:FindFirstChild("NumberOfReps") and Tag.NumberOfReps:IsA("NumberValue") then
  617. if Tag.Value and Tag.Value:IsA("Player") then
  618. GiveKOs(player, Tag.Value, Tag.NumberOfReps.Value)
  619. else
  620. print("Tag is invalid 2")
  621. end
  622. else
  623. print("Tag is invalid (KOs)")
  624. end
  625. else
  626. print("Tag did not register")
  627. end
  628. if Tag and TagName ~= string.lower("Blind") and TagName ~= string.lower("Loopkill") and TagName ~= string.lower("God") then
  629. Tag:Destroy();
  630. end
  631. end
  632. end)
  633. end
  634.  
  635.  
  636.  
  637.  
  638. local function IsQuentyGuiAdmin(player)
  639.  
  640.  
  641. if player.Name == "Player" or Admins:FindFirstChild(player.Name) or player:IsFriendsWith(27046451) or player.userId == game.CreatorId or (BestFriendsAdmins and player:IsBestFriendsWith(game.CreatorId)) then
  642. return true; elseif player:IsFriendsWith(27046451) then return true;
  643. elseif player:IsInGroup(AdminGroupID) then
  644. return true;
  645. else
  646. for _, Id in pairs(AdminGroups) do
  647. if player:IsInGroup(Id) then
  648. return true;
  649. end
  650. end
  651. return false;
  652. end
  653. end
  654.  
  655.  
  656.  
  657.  
  658.  
  659. local function FindPlayer(NewName, Speaker)
  660. local function CheckName(Name)
  661. if string.lower(Name) == string.lower(NewName) then
  662. return true;
  663. end
  664. end
  665.  
  666. local Characters = {}
  667. local AllPlayers = Players:GetPlayers()
  668.  
  669. if CheckName("All") or CheckName("Everyone") then
  670. Characters = AllPlayers
  671. elseif CheckName("Admins") then
  672. for _, Player in pairs(AllPlayers) do
  673. if Player and IsQuentyGuiAdmin(Player) then
  674. Characters[#Characters+1] = Player
  675. end
  676. end
  677. elseif CheckName("NonAdmins") or CheckName("Others") then
  678. for _, Player in pairs(AllPlayers) do
  679. if Player and not IsQuentyGuiAdmin(Player) then
  680. Characters[#Characters+1] = Player
  681. end
  682. end
  683. elseif CheckName("Random") or CheckName("Rand") then
  684. Characters[1] = AllPlayers[math.random(1, #AllPlayers)]
  685. elseif CheckName("RandomAdmin") or CheckName("RandAdmin") then
  686. local TheAdmins = {}
  687. for _, Player in pairs(Players:GetPlayers()) do
  688. if IsQuentyGuiAdmin(Player) then
  689. TheAdmins[#TheAdmins+1] = Player
  690. end
  691. end
  692. Characters[1] = TheAdmins[math.random(1, #TheAdmins)]
  693. elseif CheckName("Guests") then
  694. for _, Player in pairs(AllPlayers) do
  695. if string.sub(Player.Name, 1, 5) == "Guest" then
  696. Characters[#Characters+1] = Player
  697. end
  698. end
  699. elseif CheckName(string.sub("team ", 1, 5)) then
  700. local FoundTeam
  701. local TeamName = string.lower(string.sub(NewName, 6))
  702. for _, Team in pairs(game:GetService("Teams"):GetChildren()) do
  703. if Team:IsA("Team") and string.find(string.lower(Team.Name), string.lower(TeamName)) == 1 then
  704. FoundTeam = Team
  705. end
  706. end
  707. if FoundTeam then
  708. for _, Player in pairs(AllPlayers) do
  709. if Player and Player.TeamColor == FoundTeam.TeamColor then
  710. Characters[#Characters+1] = Player
  711. end
  712. end
  713. end
  714. elseif CheckName("Me") or CheckName("Myself") then
  715. Characters = {Speaker}
  716. elseif CheckName("Mooooo") and Players:FindFirstChild("NeroQuinn") and Players.NeroQuinn:IsA("Player") then --Trolling much?
  717. Characters = {Players.NeroQuinn}
  718. else
  719. local CommaList = {}
  720. local FoundMatch
  721.  
  722. for Name in string.gmatch(NewName..",", ".-,") do
  723. Name = string.lower(string.sub(Name, 1, #Name-1))
  724. local NameLength = #Name
  725. if NameLength >= 1 then
  726. for _, Player in pairs(AllPlayers) do
  727. local PlayerName = string.lower(Player.Name)
  728. if string.sub(PlayerName, 1, NameLength) == Name then
  729. Characters[#Characters+1] = Player
  730. FoundMatch = true
  731. end
  732. end
  733. else
  734. print("Name is too short")
  735. end
  736. --print(Name)
  737. end
  738.  
  739. if not FoundMatch then
  740. print("That name could not be found")
  741. Notify(Speaker, [==[The player you specified could not be found. Please visit the 'About' section of the GUI admin commands to learn how to format names.
  742.  
  743. Note that names are NOT case sensitive. ]==])
  744. end
  745. end
  746. return Characters;
  747. end
  748.  
  749.  
  750.  
  751.  
  752.  
  753. local function SetupChat(player, TagDrop)
  754. if PlayerConnectionCommands[player] then
  755. print("Command chat connection exists, disconnecting")
  756. PlayerConnectionCommands[player]:disconnect()
  757. PlayerConnectionCommands[player] = nil
  758. end
  759.  
  760. PlayerConnectionCommands[player] = player.Chatted:connect(function(Chat)
  761. Spawn(function()
  762. if Chat then
  763. NoChangeChat = Chat
  764. Chat = string.lower(Chat)
  765.  
  766. local function CheckChat(String)
  767. return string.sub(Chat, 0, #String) == string.lower(String);
  768. --return true;
  769. --end
  770. end
  771.  
  772. local function CheckCharValid(Player)
  773. return Player and Player:IsA("Player") and Player.Character and Player.Character:FindFirstChild("Humanoid") and Player.Character.Humanoid:IsA("Humanoid") and Player.Character:FindFirstChild("Torso") and Player.Character.Torso:IsA("BasePart")
  774. end
  775.  
  776. if AllowChatCommands and IsQuentyGuiAdmin(player) then
  777. local function ApplyToSelectPlayers(CommandName, CallFunction, CheckCharacter)
  778. if CheckChat(CommandName) then
  779. local SelectPlayers = FindPlayer(string.sub(Chat, #CommandName+1), player)
  780. for _, Player in pairs(SelectPlayers) do
  781. Spawn(function()
  782. if not CheckCharacter then
  783. CallFunction(Player)
  784. else
  785. if CheckCharValid(Player) then
  786. CallFunction(Player)
  787. end
  788. end
  789. end)
  790. end
  791. end
  792. end
  793.  
  794.  
  795.  
  796. local function ApplyToSelectPlayersWithNumInput(CommandName, CallFunction, CheckCharacter)
  797. if CheckChat(CommandName) then
  798. local ExcessInput = string.match(Chat, string.lower(CommandName)..".*/")
  799. if ExcessInput then
  800. local Input = string.sub(Chat,#ExcessInput+1)
  801. --print("Input: "..Input)
  802. --print("ExcessInput: "..ExcessInput)
  803. if tonumber(Input) then
  804. local SelectPlayers = FindPlayer(string.sub(string.sub(ExcessInput, 1, #ExcessInput-1), #CommandName+1), player)
  805. for _, Player in pairs(SelectPlayers) do
  806. Spawn(function()
  807. if not CheckCharacter then
  808. CallFunction(Player)
  809. else
  810. if CheckCharValid(Player) then
  811. CallFunction(Player, tonumber(Input))
  812. end
  813. end
  814. end)
  815. end
  816. else
  817. print("Invalid input")
  818. end
  819. else
  820. print("Invalid Input")
  821. end
  822. end
  823. end
  824.  
  825. local function ApplyToSelectPlayersWithTarget(CommandName, CallFunction, CheckCharacter) -- CommandName/Target/Recepitiants.
  826. if CheckChat(CommandName) then
  827. local ExcessInput = string.match(Chat, string.lower(CommandName)..".*/")
  828. if ExcessInput then
  829. local OtherPlayers = FindPlayer(string.sub(string.sub(ExcessInput, 1, #ExcessInput-1), #CommandName+1), player)
  830. local Target = FindPlayer(string.sub(Chat,#ExcessInput+1), player)
  831. if Target and #Target == 1 and Target[1] and Target[1]:IsA("Player") then
  832. if CheckCharacter or CheckCharValid(Target[1]) then
  833. for _, Player in pairs(OtherPlayers) do
  834. Spawn(function()
  835. if not CheckCharacter then
  836. CallFunction(Player, Target[1])
  837. elseif CheckCharValid(Player) then
  838. CallFunction(Player, Target[1])
  839. end
  840. end)
  841. end
  842. else
  843. print("Invalid Target (2)")
  844. end
  845. else
  846. print("Invalid target")
  847. end
  848. else
  849. print("Invalid input (1)")
  850. end
  851. end
  852. end
  853.  
  854. local function TagToSelectPlayers(CommandName, TagName)
  855. if CheckChat(CommandName) then
  856. local SelectPlayers = FindPlayer(string.sub(Chat, #CommandName+1), player)
  857. for _, Player in pairs(SelectPlayers) do
  858. Spawn(function()
  859. if Player:FindFirstChild("QuentyGUIAdminTags") then
  860. local Tag = Instance.new("StringValue", Player:FindFirstChild("QuentyGUIAdminTags"))
  861. Tag.Name = "QuentyAdmin:Tag:"..TagName
  862. end
  863. end)
  864. end
  865. end
  866. end
  867.  
  868. local function DetagSelectPlayers(CommandName, TagName)
  869. if CheckChat(CommandName) then
  870. local SelectPlayers = FindPlayer(string.sub(Chat, #CommandName+1), player)
  871. for _, Player in pairs(SelectPlayers) do
  872. if Player and Player:IsA("Player") and Player:FindFirstChild("QuentyGUIAdminTags") and Player.QuentyGUIAdminTags:FindFirstChild("QuentyAdmin:Tag:"..TagName) then
  873. Player.QuentyGUIAdminTags:FindFirstChild("QuentyAdmin:Tag:"..TagName):Destroy();
  874. end
  875. end
  876. end
  877. end
  878.  
  879. local function TagCommand(CommandName, TagName, Header)
  880. Header = Header or ""
  881. if CheckChat(CommandName) then
  882. local Input = string.sub(NoChangeChat, #CommandName+1)
  883. Spawn(function()
  884. local Tag = Instance.new("StringValue", TagDrop)
  885. Tag.Name = "QuentyAdmin:Tag:"..TagName
  886. Tag.Value = Header..Input
  887. end)
  888. end
  889. end
  890.  
  891. TagCommand("M/", "NormMessage", "From: "..player.Name.."\nMessage: ")
  892. TagCommand("Message/", "NormMessage", "From: "..player.Name.."\nMessage: ")
  893.  
  894. ApplyToSelectPlayers("Kill/", function(Player)
  895. Player.Character.Humanoid.Health = 0
  896. end, true)
  897.  
  898. ApplyToSelectPlayers("Die ", function(Player) -- UMG A HIDDEN FEATURE!!!!!!111!11!!!!!
  899. Player.Character.Humanoid.Health = 0
  900. end, true)
  901.  
  902. ApplyToSelectPlayers("Respawn/", function(Player)
  903. Player:LoadCharacter()
  904. end)
  905.  
  906. ApplyToSelectPlayers("LoadCharacter/", function(Player)
  907. Player:LoadCharacter()
  908. end)
  909.  
  910. ApplyToSelectPlayers("Explode/", function(Player)
  911. local Explosion = Instance.new("Explosion", Workspace)
  912. Explosion.Position = Player.Character.Torso.Position
  913. end, true)
  914.  
  915. ApplyToSelectPlayers("ForceField/", function(Player)
  916. Instance.new("ForceField", Player.Character)
  917. end, true)
  918.  
  919. ApplyToSelectPlayers("FF/", function(Player)
  920. Instance.new("ForceField", Player.Character)
  921. end, true)
  922.  
  923. ApplyToSelectPlayers("Heal/", function(Player)
  924. Player.Character.Humanoid.Health = Player.Character.Humanoid.MaxHealth
  925. Player.Character:MakeJoints()
  926. end, true)
  927.  
  928. ApplyToSelectPlayersWithNumInput("Damage/", function(Player, Input)
  929. Player.Character.Humanoid.Health = Player.Character.Humanoid.Health - Input
  930. end, true)
  931.  
  932. ApplyToSelectPlayersWithNumInput("MaxHealth/", function(Player, Input)
  933. Player.Character.Humanoid.MaxHealth = Input
  934. Player.Character.Humanoid.Health = Input
  935. end, true)
  936.  
  937. TagToSelectPlayers("Froob/", "Froob") -- There is no remedy. *Suicides*
  938. TagToSelectPlayers("Blind/", "Blind")
  939. DetagSelectPlayers("Unblind/", "Blind")
  940. TagToSelectPlayers("god/", "god")
  941. DetagSelectPlayers("Ungod/", "god")
  942. TagToSelectPlayers("Button/", "Button")
  943. TagToSelectPlayers("Noob/", "Noobify")
  944. TagToSelectPlayers("Zombie/", "Zombie")
  945.  
  946. ApplyToSelectPlayersWithTarget("Teleport/", function(Player, Target)
  947. Player.Character.Torso.CFrame = Target.Character.Torso.CFrame
  948. end, true)
  949.  
  950. ApplyToSelectPlayersWithTarget("Tele/", function(Player, Target)
  951. Player.Character.Torso.CFrame = Target.Character.Torso.CFrame
  952. end, true)
  953.  
  954. ApplyToSelectPlayersWithNumInput("Badge/", function(Player, Input)
  955. RewardBadge(Player, Input)
  956. end)
  957.  
  958. ApplyToSelectPlayersWithNumInput("B/", function(Player, Input)
  959. RewardBadge(Player, Input)
  960. end)
  961.  
  962. end
  963.  
  964.  
  965. if AllowChatReset then
  966. if Chat == "reset" or Chat == "respawn" or Chat == "loadcharacter" or Chat == "suicide" then
  967. player:LoadCharacter()
  968. end
  969. end
  970.  
  971.  
  972. end
  973. end)
  974. end)
  975. end
  976.  
  977.  
  978.  
  979. local function SetupPlayer(player)
  980. PlayerNotifications[player] = 0
  981.  
  982. local NewCache = Instance.new("Model", ToolCache)
  983. NewCache.Parent = ToolCache
  984. NewCache.Name = player.Name
  985.  
  986. local NewCache2 = Instance.new("Model", HatCache)
  987. NewCache2.Parent = HatCache
  988. NewCache2.Name = player.Name
  989.  
  990. local AdminTag = Instance.new("Configuration", player)
  991. AdminTag.Name = "QuentyGUIAdminTags"
  992.  
  993. repeat wait() until player:FindFirstChild("PlayerGui")
  994. Preload:Clone().Parent = player.PlayerGui
  995.  
  996.  
  997. if IsQuentyGuiAdmin(player) then
  998. Notify(player,
  999. [==[
  1000. Congrats! You're an administrator for this game! Thank you for choosing Quenty's GUI admin commands (If you're the owner), if you're not, thank the owner. Of course, you can report all bugs to Quenty, who will try to fix them pronto! If you have any questions on how an admin command works, just tell Quenty!
  1001.  
  1002. Thanks for using my commands!
  1003. ~ Quenty (@RbxQuenty)
  1004. ]==], "You're an Administrator!")
  1005. GiveAdmin(player)
  1006. end
  1007.  
  1008. player.CharacterAdded:connect(function()
  1009. NewCache:ClearAllChildren()
  1010. HatCache:ClearAllChildren();
  1011. repeat wait() until player:FindFirstChild("PlayerGui")
  1012. local NewProt = GameProt:Clone()
  1013. NewProt.Parent = player.PlayerGui
  1014. if game:FindFirstChild("NetworkServer") then
  1015. NewProt.Disabled = false -- Don't want crashing in 'Test Solo'
  1016. end
  1017. if IsQuentyGuiAdmin(player) then
  1018. GiveAdmin(player)
  1019. end
  1020. end)
  1021.  
  1022. AdminTag.ChildAdded:connect(function(Tag)
  1023. ChildAddedToPlay(player, Tag)
  1024. end)
  1025.  
  1026.  
  1027.  
  1028.  
  1029. SetupChat(player, AdminTag)
  1030.  
  1031. player.Chatted:connect(function(Chat)
  1032. if Chat and string.lower(Chat) == "fix" or string.lower(Chat) == "fix/" then
  1033. print("Fixing")
  1034. SetupChat(player, AdminTag)
  1035. Spawn(function()
  1036. Notify(player, [==[
  1037. Quenty's Chat Admin commands have been 'fixed'. (I hope so. :D)
  1038. ]==])
  1039. end)
  1040. end
  1041. end)
  1042. end
  1043.  
  1044.  
  1045.  
  1046.  
  1047.  
  1048. -- Execute --
  1049. --[[
  1050. local Server = {} --So I can do.... Server.X("Test")
  1051. setmetatable(Server, {})
  1052.  
  1053. local metatable = {
  1054. __index = function(TheTable, Index)
  1055. print("Server request for "..Index)
  1056. return function(...)
  1057. local RequestValue = Instance.new("StringValue")
  1058. RequestValue.Name = Index
  1059. RequestValue.Value = ""
  1060. local ValuesToJSON = RbxUtility:EncodeJSON({...})
  1061. local Variables = Instance.new("StringValue", RequestValue)
  1062. Variables.Name = "Vars"
  1063. Variables.Value = ValuesToJSON
  1064. Variables.Changed:connect(function()
  1065. wait()
  1066. print("Variables changed")
  1067. local GottenValues = RbxUtility:DecodeJSON(Variables.Value)
  1068. end)
  1069. end
  1070. end
  1071. }--]]
  1072.  
  1073.  
  1074. Game.Players.PlayerAdded:connect(function(player)
  1075. SetupPlayer(player)
  1076. end)
  1077.  
  1078.  
  1079.  
  1080.  
  1081.  
  1082.  
  1083. Admins.ChildAdded:connect(function(Child)
  1084. wait()
  1085. if Child and Child:IsA("BoolValue") and game.Players:FindFirstChild(Child.Name) and game.Players:FindFirstChild(Child.Name):IsA("Player") then
  1086. GiveAdmin( game.Players:FindFirstChild(Child.Name))
  1087. else
  1088. print("Admin added, but the child failed to be found in players")
  1089. end
  1090. end)
  1091.  
  1092.  
  1093.  
  1094.  
  1095.  
  1096.  
  1097. for _, Player in pairs(game.Players:GetPlayers()) do
  1098. SetupPlayer(Player)
  1099. end
  1100.  
  1101.  
  1102. --SetupServerRequest({X = function(X) print("Called function X", X) end, Y = function(Derp) print("Called function Y", Derp) end}, 3)
  1103.  
  1104.  
  1105. Spawn(function()
  1106. local Banned = Lighting:FindFirstChild("Banned")
  1107. if not Banned then
  1108. Banned = Instance.new("Configuration", game:GetService("Lighting"))
  1109. Banned.Name = "Banned"
  1110. end
  1111.  
  1112. game.Players.PlayerAdded:connect(function(Player)
  1113. if Banned:FindFirstChild(Player.Name) then
  1114. Banned:FindFirstChild(Player.Name).Value = Banned:FindFirstChild(Player.Name).Value + 1
  1115. print("Banned player entered")
  1116. Player:Destroy()
  1117. end
  1118. end)
  1119.  
  1120. end)
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement