Advertisement
SGII2

Server Script: gen_admin.lua

Dec 14th, 2018
178
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Lua 3.25 KB | None | 0 0
  1. wait(.1)
  2.  
  3. local gsettings = require(workspace.GAL.Settings)
  4.  
  5. local Admins = gsettings.admins
  6.  
  7. local Moderators = gsettings.moderators
  8.  
  9. local Owners = gsettings.owners
  10.  
  11. local Prefix = gsettings.prefix
  12.  
  13. local Players = game:GetService("Players")
  14.  
  15. local Commands = require(script.commands)
  16.  
  17. local Help = require(script.help)
  18.  
  19. local function IsAdmin(Player)
  20.     for _,Admin in pairs (Admins) do
  21.         print(Admin,Player)
  22.         if type(Admin) == "string" and string.lower(Admin) == string.lower(Player.Name) then
  23.             return true
  24.         elseif type(Admin) == "number" and Admin == Player.UserId then
  25.             return true
  26.         end
  27.     end
  28.     return false
  29. end
  30.    
  31. local function IsOnwer(Player)
  32.     for _,Admin in pairs (Admins) do
  33.         print(Admin,Player)
  34.         if type(Admin) == "string" and string.lower(Admin) == string.lower(Player.Name) then
  35.             return true
  36.         elseif type(Admin) == "number" and Admin == Player.UserId then
  37.             return true
  38.         end
  39.     end
  40.     return false
  41. end
  42.    
  43. local function IsMod(Player)
  44.     for _,Admin in pairs (Admins) do
  45.         print(Admin,Player)
  46.         if type(Admin) == "string" and string.lower(Admin) == string.lower(Player.Name) then
  47.             return true
  48.         elseif type(Admin) == "number" and Admin == Player.UserId then
  49.             return true
  50.         end
  51.     end
  52.     return false
  53. end
  54.  
  55. local function checkUserLevel(player, level)
  56.     print(level)
  57.     if level <= 0 then
  58.         return true
  59.     elseif level <= 1 then
  60.         return IsMod(player)
  61.     elseif level <= 2 then
  62.         return IsAdmin(player)
  63.     elseif level <= 3 then
  64.         return IsOnwer(player)
  65.     elseif level == 4 then
  66.         local result = false
  67.        
  68.         if player.id == game.CreatorId then
  69.             result = true
  70.         end
  71.        
  72.         return result
  73.     end
  74. end
  75.  
  76.  
  77. local function ParseMessage(Player,Message,AvoidPrefixChech) print('ran ')
  78.     Message = tostring(Message) print('ran 2')
  79.    
  80.     local PrefixMatch = nil
  81.    
  82.     local args = {}
  83.    
  84.     for Argument in string.gmatch(Message,"[^%s]+") do
  85.         table.insert(args,Argument)
  86.     end
  87.    
  88.     print(args[1])
  89.    
  90.     if not AvoidPrefixChech then PrefixMatch = string.match(args[1], Prefix) end    print('ran 3')
  91.    
  92.     if PrefixMatch ~= nil or AvoidPrefixChech then
  93.         print('ran 4')
  94.         local Arguments = {}
  95.        
  96.         for Argument in string.gmatch(Message,"[^%s]+") do
  97.             table.insert(Arguments,Argument)
  98.         end
  99.         print('ran 5')
  100.        
  101.         local CommandName = string.lower(Arguments[1])
  102.         table.remove(Arguments,1)
  103.        
  104.         CommandName = string.gsub(CommandName, Prefix, "")
  105.        
  106.         print('ran 6')
  107.        
  108.         local CommandFunc = Commands[CommandName]
  109.        
  110.         local Info = Help[CommandName]
  111.        
  112.         print('ran 7')
  113.        
  114.         if (checkUserLevel(Player, Info['permission'])) then
  115.        
  116.         print('ran 8')
  117.         print(CommandName)
  118.        
  119.         if CommandFunc ~= nil then
  120.             print('success')
  121.             CommandFunc(Player,Arguments)
  122.         end
  123.        
  124.         else
  125.            
  126.         script.Hint:FireClient(Player, 'System', 'Permission Error: You don\'t have the valid permissions to use this.')
  127.        
  128.         end
  129.     end
  130. end
  131.  
  132. Players.PlayerAdded:Connect(function(Player)
  133.     Player.Chatted:Connect(function(Message,Recipient)
  134.         if not Recipient then
  135.             ParseMessage(Player,Message,false)
  136.         end
  137.     end)
  138. end)
  139.  
  140. script.recieveCommand.OnServerEvent:Connect(function(player, command, player1)
  141.     local text = tostring(command)
  142.    
  143.     if not string.match(tostring(command),"^"..Prefix) then
  144.         text = Prefix .. text  
  145.     end
  146.    
  147.     ParseMessage(player, text, true)
  148. end)
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement