Advertisement
1x_Gacha

Admin | Server

Aug 16th, 2020 (edited)
243
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Lua 5.76 KB | None | 0 0
  1. -- [[ 1x_Gacha's :ok_hand:
  2.    
  3. testing = false
  4.    
  5. local whitelist = {}
  6.  
  7. local bypass = {}
  8.  
  9. local serverban = {}
  10.  
  11. local log = {}
  12.  
  13. i = 0
  14.  
  15. local cmd = '[[k ' -- Normal Kick
  16. local cmds = '[[s ' -- Server Ban
  17. local cmdrs = '[[-s ' -- Remove Server Ban
  18. local cmdp = '[[p ' -- Permanent Ban
  19. local cmdr = '[[-p ' -- Remove Permanent Ban
  20. local cmdl = '[[lp' -- Permanent Ban List
  21. local cmdm = '[[m' -- Show Menu
  22.  
  23. local Players = game:GetService('Players')
  24.  
  25. local dds = game:GetService('DataStoreService')
  26. local ds = dds:GetDataStore('GCR_Permanent_Bans_List')
  27. local storage = game:GetService('ReplicatedStorage')
  28. local remote = storage:WaitForChild('Remotes'):WaitForChild('[1]Secure')
  29.  
  30. local key = 'aVe10n_GCR_Store2'
  31.  
  32. local function FindPlayer(target)
  33.     print(target)
  34.     if Players:FindFirstChild(target) then return target end
  35.    
  36.     for _, players in pairs(Players:GetChildren()) do
  37.        
  38.         if string.match(players.Name:sub(1, target:len()):lower(), (target:lower())) then
  39.            
  40.             return players.Name
  41.         end
  42.     end
  43. end
  44.  
  45. local function checkPlayer(player)
  46.     if testing then return true end
  47.     for _,v in pairs(whitelist)do
  48.         local id = game.Players[player.Name].UserId
  49.         if v == id then
  50.         return true
  51.         end
  52.     end
  53. end
  54.  
  55. local function updatePlayers()
  56.     for i,v in pairs(game.Players:GetChildren())do
  57.         if checkPlayer(v) then
  58.             local t = {log = {}, bans = {}, pbans = {}}
  59.             table.insert(t.log, log)
  60.             table.insert(t.bans, serverban)
  61.             table.insert(t.pbans, ds:GetAsync(key))
  62.             remote:FireClient(v, 'Update', t)
  63.         end
  64.     end
  65. end
  66.  
  67. local function onChatted(msg, player)
  68.     if checkPlayer(player) then
  69.        
  70.         if msg:sub(1, cmds:len()):lower()== cmds:lower() then
  71.         local playername = msg:sub(cmds:len() + 1)
  72.         local findplayer = FindPlayer(playername)
  73.         if findplayer then
  74.             table.insert(serverban, findplayer)
  75.             local plyr = game.Players:FindFirstChild(findplayer)
  76.             i = i+1
  77.             table.insert(log, i, {player = plyr.Name.." | "..plyr.UserId, action = "Server Ban", subduer = player.Name})           
  78.             plyr:Kick('Contact a Developer! Code : eeFtuYa')
  79.             updatePlayers()
  80.             end
  81.         end
  82.        
  83.         if msg:sub(1, cmd:len()):lower()== cmd:lower() then
  84.         local playername = msg:sub(cmd:len() + 1)
  85.         local findplayer = FindPlayer(playername)
  86.         if findplayer then
  87.             local plyr = game.Players:FindFirstChild(findplayer)
  88.             i = i+1
  89.             table.insert(log, i, {player = plyr.Name.." | "..plyr.UserId, action = "Kick", subduer = player.Name})
  90.             plyr:Kick('Contact a Developer! Code : eeFtuYa')
  91.             updatePlayers()
  92.             end
  93.         end
  94.        
  95.         if msg:sub(1, cmdm:len()):lower() == cmdm:lower() then
  96.             remote:FireClient(player, 'Open')
  97.         end
  98.        
  99.         if msg:sub(1, cmdrs:len()):lower()== cmdrs:lower() then
  100.             local target = msg:sub(cmd:len() + 1)
  101.             for i,v in pairs(serverban)do
  102.                 if v == target then
  103.                     table.remove(serverban, target)
  104.                     i = i+1
  105.                     table.insert(log, i, {player = target, action = "Remove Server Ban", subduer = player.Name})
  106.                     updatePlayers()
  107.                 end
  108.             end
  109.         end
  110.        
  111.         if msg:sub(1, cmdp:len()):lower()== cmdp:lower() then
  112.         local playername = msg:sub(cmdp:len() + 1)
  113.         local findplayer = FindPlayer(playername)
  114.         local IsBanned = false
  115.         if findplayer then
  116.             local plyr = game.Players:FindFirstChild(findplayer)
  117.             local t = {}
  118.             for i,v in pairs(ds:GetAsync(key))do
  119.                 if v == plyr.UserId then
  120.                     plyr:Kick('Contact a Developer! Code : eeFtuYa')
  121.                     IsBanned = true
  122.                 end
  123.                 table.insert(t, v)
  124.             end
  125.             if IsBanned then return end
  126.             table.insert(t, plyr.UserId)
  127.             ds:SetAsync(key, t)
  128.             i = i+1
  129.             table.insert(log, i, {player = plyr.Name.." | "..plyr.UserId, action = "Permanent Ban", subduer = player.Name})
  130.             plyr:Kick('Contact a Developer! Code : eeFtuYa')
  131.             updatePlayers()
  132.             end
  133.         end
  134.        
  135.         if msg:sub(1, cmdr:len()):lower()== cmdr:lower() then
  136.         local playername = msg:sub(cmdr:len() + 1)
  137.             local t = {}
  138.             for i,v in pairs(ds:GetAsync(key))do
  139.                 if tostring(v) ~= playername or not string.match(Players:GetNameFromUserIdAsync(v):sub(1, playername:len()):lower(), (playername:lower())) then --string.match(players.Name:sub(1, target:len()):lower(), (target:lower()))
  140.                 table.insert(t, v)
  141.                 end
  142.             end
  143.             warn('Removing Player From Permanent Bans! : '..playername)
  144.             ds:SetAsync(key, t)
  145.             i = i+1
  146.             table.insert(log, i, {player = playername, action = "Remove Permanent Ban", subduer = player.Name})
  147.             updatePlayers()        
  148.             wait(.5)
  149.             warn('\t Current Permanent Bans! \n ---------')
  150.             for i,v in pairs(ds:GetAsync(key))do
  151.                 warn(v..'\n -')
  152.             end
  153.             warn('\t [End]  \n ---------')
  154.         end
  155.        
  156.         if msg:sub(1, cmdl:len()):lower()== cmdl:lower() then
  157.             remote:FireClient(player, 'List')
  158.             warn('\t Current Permanent Bans! \n ---------')
  159.             for i,v in pairs(ds:GetAsync(key))do
  160.                 warn(v..'\n -')
  161.             end
  162.             warn('\t [End]  \n ---------')
  163.         end    
  164.     end
  165. end
  166.  
  167. game.Players.PlayerAdded:Connect(function(player)
  168.     for _,v in pairs(serverban)do if v == player.Name then print(player.Name..' | Server Ban! | Code : GatYuVC') player:Kick('Contact a Developer! Code : GatYuVC') end end
  169.     if player.AccountAge <= 15 then  for _,v in pairs(bypass)do if v == player.UserId then return end end print(player.Name..' | '..player.AccountAge..' | Code : FadQEc')player:Kick('Contact a Developer! Code : FadQEc') end
  170.     if ds:GetAsync(key) then
  171.         for _,v in pairs(ds:GetAsync(key))do if v == player.UserId then print(player.Name..' | Permanent Ban! | Code : vAleUio') player:Kick('Contact a Developer! Code : vAleUio') end  end
  172.     else
  173.         local t = {10101010101}
  174.         ds:SetAsync(key, t)
  175.     end
  176.    
  177.     if checkPlayer(player)then
  178.         local ui = script.GachaSecurityUI:Clone()
  179.         ui.Parent = player:WaitForChild('PlayerGui')
  180.         updatePlayers()
  181.     end
  182.    
  183.     player.Chatted:Connect(function(msg)
  184.     if checkPlayer(player) then
  185.             onChatted(msg, player)
  186.         end
  187.     end)
  188. end)
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement