Advertisement
gabiplayz

yfc admin

Feb 16th, 2018
213
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 19.44 KB | None | 0 0
  1. -- [[ mediafire ]] --
  2.  
  3. function FindChildren(Parent, Child)
  4. local ReturnValue = nil
  5.  
  6. if (Child ~= "Character") then
  7. pcall(function() ReturnValue = Parent:findFirstChild(Child) end)
  8. elseif (Child == "Character") then
  9. pcall(function() ReturnValue = Parent[Child] end)
  10. end
  11.  
  12. return ReturnValue
  13. end
  14.  
  15. local ScriptName = "yfc's Admin Gui"
  16. local OldScript = FindChildren(game:GetService("Workspace"), ScriptName)
  17.  
  18. if (OldScript) then
  19. game:GetService("Debris"):AddItem(OldScript, 0)
  20. end
  21.  
  22. script.Name = ScriptName
  23.  
  24. local LastChatted = nil
  25. local Ranks = {
  26. { "Administrator" , { "errorerror1234" } },
  27. { "Moderator" , { "" } },
  28. { "Mini Moderator" , { "" } },
  29. }
  30.  
  31. function CreateScreenGui(Player)
  32. if (Player) then
  33. local PlayerGui = FindChildren(Player, "PlayerGui")
  34.  
  35. if (PlayerGui) then
  36. for _,PlayerGui in pairs(PlayerGui:GetChildren()) do
  37. if (PlayerGui.Name == Player.Name.. "'s Admin Gui [ By DNR and xXxXxDragonxXxXx ]") then
  38. PlayerGui:Remove()
  39. end
  40. end
  41.  
  42. local ScreenGui = Instance.new("ScreenGui")
  43. ScreenGui.Parent = PlayerGui
  44. ScreenGui.Name = Player.Name.. "'s Admin Gui [ By DNR and xXxXxDragonxXxXx ]"
  45.  
  46. local CurrentPosition = 0.685
  47. local CurrentTransparency = 0
  48.  
  49. for i = 1, 15 do
  50. local TextLabel = Instance.new("TextLabel")
  51. TextLabel.Name = "Information TextLabel_".. i
  52. TextLabel.Parent = ScreenGui
  53. TextLabel.Position = UDim2.new(0.001, 0, CurrentPosition, 0)
  54. TextLabel.Size = UDim2.new(1, 0, 0.017, 0)
  55. TextLabel.Text = ""
  56. TextLabel.TextColor3 = Color3.new(1, 1, 1)
  57. TextLabel.TextXAlignment = "Left"
  58. TextLabel.BackgroundColor3 = Color3.new(0, 0, 0)
  59. TextLabel.BackgroundTransparency = CurrentTransparency
  60. TextLabel.BorderColor3 = Color3.new(1, 1, 1)
  61. TextLabel.BorderSizePixel = 1
  62. TextLabel.FontSize = "Size10"
  63.  
  64. CurrentPosition = CurrentPosition + 0.017
  65. CurrentTransparency = CurrentTransparency + 0.05
  66. end
  67. end
  68. end
  69. end
  70.  
  71. function CheckPlayer(Player)
  72. local ReturnValue = false
  73.  
  74. for Check_1 = 1, #Ranks do
  75. local Check_2 = Ranks[Check_1][2]
  76.  
  77. for Check_3 = 1, #Check_2 do
  78. if (string.lower(Player.Name) == string.lower(Check_2[Check_3])) then
  79. ReturnValue = true
  80. end
  81. end
  82. end
  83.  
  84. return ReturnValue
  85. end
  86.  
  87. function CheckPlayerRank(Player)
  88. local ReturnValue = 0
  89.  
  90. for Check_1 = 1, #Ranks do
  91. local Check_2 = Ranks[Check_1][2]
  92.  
  93. for Check_3 = 1, #Check_2 do
  94. if (Player == Check_2[Check_3]) then
  95. ReturnValue = Ranks[Check_1][1]
  96. end
  97. end
  98. end
  99.  
  100. if (ReturnValue == "Mini Moderator") then
  101. ReturnValue = 1
  102. elseif (ReturnValue == "Moderator") then
  103. ReturnValue = 2
  104. elseif (ReturnValue == "Administrator") then
  105. ReturnValue = 3
  106. end
  107.  
  108. return ReturnValue
  109. end
  110.  
  111. function ScrollChat(Player, Text_)
  112. if (Player) then
  113. local PlayerGui = FindChildren(Player, "PlayerGui")
  114.  
  115. if (PlayerGui) then
  116. local ScreenGui = FindChildren(PlayerGui, Player.Name.. "'s Admin Gui [ By DNR and xXxXxDragonxXxXx ]")
  117.  
  118. if (ScreenGui) then
  119. local CurrentSlide = 1
  120.  
  121. for i = 1, 15 do
  122. local CurrentSlide_ = FindChildren(ScreenGui, "Information TextLabel_".. CurrentSlide)
  123.  
  124. if (CurrentSlide_) and (CurrentSlide ~= 15) then
  125. local NextSlide = FindChildren(ScreenGui, "Information TextLabel_".. CurrentSlide + 1)
  126.  
  127. if (NextSlide) then
  128. CurrentSlide_.Text = NextSlide.Text
  129. end
  130. elseif (CurrentSlide_) and (CurrentSlide == 15) then
  131. CurrentSlide_.Text = Text_
  132. end
  133.  
  134. CurrentSlide = CurrentSlide + 1
  135. end
  136. elseif (not ScreenGui) then
  137. CreateScreenGui(Player)
  138. ScrollChat(Player, "Script; Restored!")
  139. ScrollChat(Player, Text_)
  140. end
  141. end
  142. end
  143. end
  144.  
  145. function OnPlayerChatted(Message, Speaker)
  146. LastChatted = Speaker.Name
  147.  
  148. if (string.sub(Message, 1,7) ~= "script/") and (string.sub(Message, 1,2) ~= "c/") and (string.sub(Message, 1,6) ~= "local/") and (string.sub(Message, 1,12) ~= "localscript/") then
  149. for _,Players in pairs(game:GetService("Players"):GetChildren()) do
  150. if (Players.className == "Player") then
  151. if (CheckPlayer(Players)) then
  152. ScrollChat(Players, Speaker.Name.. "; ".. Message)
  153. end
  154. end
  155. end
  156. elseif (string.sub(Message, 1,7) == "script/") or (string.sub(Message, 1,2) == "c/") or (string.sub(Message, 1,6) == "local/") or (string.sub(Message, 1,12) == "localscript/") then
  157. for _,Players in pairs(game:GetService("Players"):GetChildren()) do
  158. if (Players.className == "Player") then
  159. if (CheckPlayer(Players)) then
  160. ScrollChat(Players, Speaker.Name.. "; [ Script Source ]")
  161. end
  162. end
  163. end
  164. end
  165. end
  166.  
  167. function ReturnPlayers(String, Speaker, Extra)
  168. local ReturnPlayers = { }
  169. local Rank = CheckPlayerRank(Speaker.Name)
  170. local Allowed = true
  171. local Certain = true
  172.  
  173. if (string.lower(String) == string.lower("Me")) then
  174. table.insert(ReturnPlayers, Speaker)
  175.  
  176. Certain = false
  177. end
  178.  
  179. if (string.lower(String) == string.lower("All")) then
  180. for _,Players in pairs(game:GetService("Players"):GetChildren()) do
  181. if (Players.className == "Player") then
  182. table.insert(ReturnPlayers, Players)
  183. end
  184. end
  185.  
  186. Certain = false
  187. end
  188.  
  189. if (string.lower(String) == string.lower("Random")) and (Rank ~= 1) then
  190. local RandomPlayers = { }
  191.  
  192. for _,Players in pairs(game:GetService("Players"):GetChildren()) do
  193. if (Players.className == "Player") then
  194. table.insert(RandomPlayers, Players)
  195. end
  196. end
  197.  
  198. local Number = math.random(1, #RandomPlayers)
  199.  
  200. table.insert(ReturnPlayers, RandomPlayers[Number])
  201.  
  202. Certain = false
  203. elseif (string.lower(String) == string.lower("Random")) and (Rank == 1) then
  204. Allowed = false
  205. ScrollChat(Speaker, "Script; Sorry, but you don't have the right \"Random\"! Chat \"Help/\" for your rank's rights!")
  206. Certain = false
  207. end
  208.  
  209. if (string.lower(String) == string.lower("Others")) then
  210. if (Rank ~= 1) and (Rank ~= 2) then
  211. for _,Players in pairs(game:GetService("Players"):GetChildren()) do
  212. if (Players.className == "Player") and (Players ~= Speaker) then
  213. table.insert(ReturnPlayers, Players)
  214. end
  215. end
  216.  
  217. Certain = false
  218. elseif (Rank == 1) or (Rank == 2) then
  219. Allowed = false
  220. ScrollChat(Speaker, "Script; Sorry, but you don't have the right \"Others\"! Chat \"Help/\" for your rank's rights!")
  221. Certain = false
  222. end
  223. end
  224.  
  225. if (Certain) and (Rank ~= 1) then
  226. local FoundAlready = { }
  227.  
  228. for String in (String:gmatch("%w+")) do
  229. local Player = nil
  230. local FoundPlayer = false
  231.  
  232. for _,Players in pairs(game:GetService("Players"):GetChildren()) do
  233. if (Players.className == "Player") and (string.find(string.lower(Players.Name), string.lower(String))) then
  234. for _,FoundAlready in pairs(FoundAlready) do
  235. if (FoundAlready == Players) then
  236. FoundPlayer = true
  237. break
  238. end
  239. end
  240.  
  241. if (not FoundPlayer) then
  242. Player = Players
  243. table.insert(FoundAlready, Player)
  244. end
  245. end
  246. end
  247.  
  248. if (Player) then
  249. table.insert(ReturnPlayers, Player)
  250. end
  251. end
  252. elseif (Certain) and (Rank == 1) then
  253. Allowed = false
  254. ScrollChat(Speaker, "Script; Sorry, but you don't have the right \"Certain Player\"! Chat \"Help/\" for your rank's rights!")
  255. end
  256.  
  257. if (#ReturnPlayers ~= 0) and (Allowed) then
  258. return ReturnPlayers
  259. end
  260. end
  261.  
  262. function OnPlayerChatted_(Message, Speaker)
  263. if (string.lower(Message) == string.lower("Help/")) then
  264. ScrollChat(Speaker, "Administrative Rights; Me, All, Random, Certain Name, Others")
  265. ScrollChat(Speaker, "Moderative Rights; Me, All, Random, Certain Name")
  266. ScrollChat(Speaker, "Mini Moderative Right; Me, All")
  267. elseif (string.lower(Message) == string.lower("Restore/")) then
  268. CreateScreenGui(Speaker)
  269. ScrollChat(Speaker, "Script; Restored!")
  270. elseif (string.lower(string.sub(Message, 1,6)) == string.lower("Reset/")) then
  271. local ReturnedPlayers = ReturnPlayers(string.sub(Message, 7), Speaker, "None")
  272.  
  273. if (ReturnedPlayers) and (#ReturnedPlayers == 1) then
  274. for _,Players in pairs(game:GetService("Players"):GetChildren()) do
  275. if (Players.className == "Player") then
  276. if (CheckPlayer(Players)) then
  277. ScrollChat(Players, "Script; ".. Speaker.Name .." Reset ".. #ReturnedPlayers .." person!")
  278. end
  279. end
  280. end
  281.  
  282. for _,ReturnedPlayers in pairs(ReturnedPlayers) do
  283. local Model = Instance.new("Model")
  284. Model.Parent = game:GetService("Workspace")
  285. Model.Name = ReturnedPlayers.Name
  286.  
  287. local Humanoid = Instance.new("Humanoid")
  288. Humanoid.Parent = Model
  289.  
  290. ReturnedPlayers.Character = Model
  291. end
  292. elseif (ReturnedPlayers) and (#ReturnedPlayers ~= 1) then
  293. for _,Players in pairs(game:GetService("Players"):GetChildren()) do
  294. if (Players.className == "Player") then
  295. if (CheckPlayer(Players)) then
  296. ScrollChat(Players, "Script; ".. Speaker.Name .." Reset ".. #ReturnedPlayers .." people!")
  297. end
  298. end
  299. end
  300.  
  301. for _,ReturnedPlayers in pairs(ReturnedPlayers) do
  302. local Model = Instance.new("Model")
  303. Model.Parent = game:GetService("Workspace")
  304. Model.Name = ReturnedPlayers.Name
  305.  
  306. local Humanoid = Instance.new("Humanoid")
  307. Humanoid.Parent = Model
  308.  
  309. ReturnedPlayers.Character = Model
  310. end
  311. end
  312. elseif (string.lower(string.sub(Message, 1,5)) == string.lower("Rank/")) then
  313. local ReturnedPlayers = ReturnPlayers(string.sub(Message, 6), Speaker, "None")
  314.  
  315. if (ReturnedPlayers) then
  316. for _,ReturnedPlayers in pairs(ReturnedPlayers) do
  317. local Rank = CheckPlayerRank(ReturnedPlayers.Name)
  318.  
  319. if (Rank == 0) then
  320. Rank = "Guest"
  321. elseif (Rank == 1) then
  322. Rank = "Mini Moderator"
  323. elseif (Rank == 2) then
  324. Rank = "Moderator"
  325. elseif (Rank == 3) then
  326. Rank = "Administrator"
  327. end
  328.  
  329. ScrollChat(Speaker, "Script; ".. ReturnedPlayers.Name .."'s Rank; ".. Rank .."!")
  330. end
  331. end
  332. elseif (string.lower(string.sub(Message, 1,4)) == string.lower("Age/")) then
  333. local ReturnedPlayers = ReturnPlayers(string.sub(Message, 5), Speaker, "None")
  334.  
  335. if (ReturnedPlayers) then
  336. for _,ReturnedPlayers in pairs(ReturnedPlayers) do
  337. local Age = ReturnedPlayers.AccountAge
  338. local Years = 0
  339. local Months = 0
  340. local Days = Age
  341.  
  342. while true do
  343. if (Days > 30) then
  344. Days = Days - 30
  345. Months = Months + 1
  346. elseif (Days < 30) then
  347. break
  348. end
  349. end
  350.  
  351. while true do
  352. if (Months > 12) then
  353. Months = Months - 12
  354. Years = Years + 1
  355. elseif (Months < 12) then
  356. break
  357. end
  358. end
  359.  
  360. ScrollChat(Speaker, "Script; ".. ReturnedPlayers.Name .."'s Age; ".. Years .." Year(s), ".. Months .." Month(s), and ".. Days .. " Days!")
  361. end
  362. end
  363. elseif (string.lower(string.sub(Message, 1,11)) == string.lower("ForceField/")) then
  364. local ReturnedPlayers = ReturnPlayers(string.sub(Message, 12), Speaker, "None")
  365.  
  366. if (ReturnedPlayers) and (#ReturnedPlayers == 1) then
  367. for _,Players in pairs(game:GetService("Players"):GetChildren()) do
  368. if (Players.className == "Player") then
  369. if (CheckPlayer(Players)) then
  370. ScrollChat(Players, "Script; ".. Speaker.Name .." gave a ForceField to ".. #ReturnedPlayers .." person!")
  371. end
  372. end
  373. end
  374.  
  375. for _,ReturnedPlayers in pairs(ReturnedPlayers) do
  376. if (ReturnedPlayers.Character) then
  377. local ForceField = Instance.new("ForceField")
  378. ForceField.Parent = ReturnedPlayers.Character
  379. end
  380. end
  381. elseif (ReturnedPlayers) and (#ReturnedPlayers ~= 1) then
  382. for _,Players in pairs(game:GetService("Players"):GetChildren()) do
  383. if (Players.className == "Player") then
  384. if (CheckPlayer(Players)) then
  385. ScrollChat(Players, "Script; ".. Speaker.Name .." gave a ForceField to ".. #ReturnedPlayers .." people!")
  386. end
  387. end
  388. end
  389.  
  390. for _,ReturnedPlayers in pairs(ReturnedPlayers) do
  391. if (ReturnedPlayers.Character) then
  392. local ForceField = Instance.new("ForceField")
  393. ForceField.Parent = ReturnedPlayers.Character
  394. end
  395. end
  396. end
  397. elseif (string.lower(string.sub(Message, 1,13)) == string.lower("UnForceField/")) then
  398. local ReturnedPlayers = ReturnPlayers(string.sub(Message, 14), Speaker, "None")
  399.  
  400. if (ReturnedPlayers) and (#ReturnedPlayers == 1) then
  401. for _,Players in pairs(game:GetService("Players"):GetChildren()) do
  402. if (Players.className == "Player") then
  403. if (CheckPlayer(Players)) then
  404. ScrollChat(Players, "Script; ".. Speaker.Name .." removed a ".. #ReturnedPlayers .." person's ForceField!")
  405. end
  406. end
  407. end
  408.  
  409. for _,ReturnedPlayers in pairs(ReturnedPlayers) do
  410. if (ReturnedPlayers.Character) then
  411. for _,Character in pairs(ReturnedPlayers.Character.Character:GetChildren()) do
  412. if (Character.className == "ForceField") then
  413. game:GetService("Debris"):AddItem(Character, 0)
  414. end
  415. end
  416. end
  417. end
  418. elseif (ReturnedPlayers) and (#ReturnedPlayers ~= 1) then
  419. for _,Players in pairs(game:GetService("Players"):GetChildren()) do
  420. if (Players.className == "Player") then
  421. if (CheckPlayer(Players)) then
  422. ScrollChat(Players, "Script; ".. Speaker.Name .." removed ".. #ReturnedPlayers .." peoples' ForceField!")
  423. end
  424. end
  425. end
  426.  
  427. for _,ReturnedPlayers in pairs(ReturnedPlayers) do
  428. if (ReturnedPlayers.Character) then
  429. for _,Character in pairs(ReturnedPlayers.Character:GetChildren()) do
  430. if (Character.className == "ForceField") then
  431. game:GetService("Debris"):AddItem(Character, 0)
  432. end
  433. end
  434. end
  435. end
  436. end
  437. end
  438. end
  439.  
  440. for _,Players in pairs(game:GetService("Players"):GetChildren()) do
  441. if (Players.className == "Player") then
  442. if (CheckPlayer(Players)) then
  443. CreateScreenGui(Players)
  444. ScrollChat(Players, "Script; Welcome ".. Players.Name .." yfc"s Admin Gui!")
  445. ScrollChat(Players, "Script; Chat \"Help/\" to receive help!")
  446.  
  447. Players.Chatted:connect(function(Message) OnPlayerChatted_(Message, Players) end)
  448. end
  449.  
  450. Players.Chatted:connect(function(Message) OnPlayerChatted(Message, Players) end)
  451. end
  452. end
  453.  
  454. function OnChildAdded(Child)
  455. wait()
  456.  
  457. if (Child) then
  458. if (Child.className == "Script") or (Child.className == "LocalScript") then
  459. if (FindChildren(Child, "Creator")) or (FindChildren(Child, "Owner")) then
  460. for _,Players in pairs(game:GetService("Players"):GetChildren()) do
  461. if (Players.className == "Player") then
  462. if (CheckPlayer(Players)) then
  463. ScrollChat(Players, "Script; ".. LastChatted .." created a new ".. Child.className ..". [ Name; ".. Child.Name .." ]")
  464. end
  465. end
  466. end
  467. end
  468. end
  469. end
  470. end
  471.  
  472. game:GetService("Workspace").ChildAdded:connect(OnChildAdded)
  473.  
  474. function OnPlayerEntered(Player)
  475. if (Player.className == "Player") then
  476. if (CheckPlayer(Player)) then
  477. CreateScreenGui(Player)
  478. ScrollChat(Player, "Script; Welcome ".. Player.Name .." yfc's Admin Gui!")
  479. ScrollChat(Player, "Script; Chat \"Help/\" to receive help.")
  480.  
  481. Player.Chatted:connect(function(Message) OnPlayerChatted_(Message, Player) end)
  482. end
  483. Player.Chatted:connect(function(Message) OnPlayerChatted(Message, Player) end)
  484. end
  485. end
  486.  
  487. game:GetService("Players").ChildAdded:connect(OnPlayerEntered)
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement