Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- wait(.1)
- local gsettings = require(workspace.GAL.Settings)
- local Admins = gsettings.admins
- local Moderators = gsettings.moderators
- local Owners = gsettings.owners
- local Prefix = gsettings.prefix
- local Players = game:GetService("Players")
- local Commands = require(script.commands)
- local Help = require(script.help)
- local function IsAdmin(Player)
- for _,Admin in pairs (Admins) do
- print(Admin,Player)
- if type(Admin) == "string" and string.lower(Admin) == string.lower(Player.Name) then
- return true
- elseif type(Admin) == "number" and Admin == Player.UserId then
- return true
- end
- end
- return false
- end
- local function IsOnwer(Player)
- for _,Admin in pairs (Admins) do
- print(Admin,Player)
- if type(Admin) == "string" and string.lower(Admin) == string.lower(Player.Name) then
- return true
- elseif type(Admin) == "number" and Admin == Player.UserId then
- return true
- end
- end
- return false
- end
- local function IsMod(Player)
- for _,Admin in pairs (Admins) do
- print(Admin,Player)
- if type(Admin) == "string" and string.lower(Admin) == string.lower(Player.Name) then
- return true
- elseif type(Admin) == "number" and Admin == Player.UserId then
- return true
- end
- end
- return false
- end
- local function checkUserLevel(player, level)
- print(level)
- if level <= 0 then
- return true
- elseif level <= 1 then
- return IsMod(player)
- elseif level <= 2 then
- return IsAdmin(player)
- elseif level <= 3 then
- return IsOnwer(player)
- elseif level == 4 then
- local result = false
- if player.id == game.CreatorId then
- result = true
- end
- return result
- end
- end
- local function ParseMessage(Player,Message,AvoidPrefixChech) print('ran ')
- Message = tostring(Message) print('ran 2')
- local PrefixMatch = nil
- local args = {}
- for Argument in string.gmatch(Message,"[^%s]+") do
- table.insert(args,Argument)
- end
- print(args[1])
- if not AvoidPrefixChech then PrefixMatch = string.match(args[1], Prefix) end print('ran 3')
- if PrefixMatch ~= nil or AvoidPrefixChech then
- print('ran 4')
- local Arguments = {}
- for Argument in string.gmatch(Message,"[^%s]+") do
- table.insert(Arguments,Argument)
- end
- print('ran 5')
- local CommandName = string.lower(Arguments[1])
- table.remove(Arguments,1)
- CommandName = string.gsub(CommandName, Prefix, "")
- print('ran 6')
- local CommandFunc = Commands[CommandName]
- local Info = Help[CommandName]
- print('ran 7')
- if (checkUserLevel(Player, Info['permission'])) then
- print('ran 8')
- print(CommandName)
- if CommandFunc ~= nil then
- print('success')
- CommandFunc(Player,Arguments)
- end
- else
- script.Hint:FireClient(Player, 'System', 'Permission Error: You don\'t have the valid permissions to use this.')
- end
- end
- end
- Players.PlayerAdded:Connect(function(Player)
- Player.Chatted:Connect(function(Message,Recipient)
- if not Recipient then
- ParseMessage(Player,Message,false)
- end
- end)
- end)
- script.recieveCommand.OnServerEvent:Connect(function(player, command, player1)
- local text = tostring(command)
- if not string.match(tostring(command),"^"..Prefix) then
- text = Prefix .. text
- end
- ParseMessage(player, text, true)
- end)
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement