Jump to content

Como por varios grupos em um resource ACL


Recommended Posts

Olá pessaol estou com problema que não consigo resolver tipo

 

Eu começei assim criando servidores tals de MTA faz um tempinho

 

So que tipo eu estou com um problema que não estou sabendo resolver tipo

eu estou tentando colocar varios grupos de uma acl pra funcionar um comando de prisão /revistar

so que ele não aceita dois grupos de maneira nenhuma nem apenas 1 pra usar o comando ;(


function revistar (source, cmd, pname)
local accountname = getAccountName(getPlayerAccount(source))
    if isObjectInACLGroup("user."..accountname, aclGetGroup("BOPE")) then -- Grupo permitido a usar o comando
      local Player_2 = getPlayerFromPartialName(pname)
       if isElement(Player_2) then


Assim eu quero quero saber como deixo a acl ali funcionar com varios grupos exemplo "BOPE"  "PMRJ" "EB"

Ai tipo todos esses tres grupos vao poder ultilizar o /revistar

 

Edited by SkillZNT
Link to comment

Da próxima vez, utilize o botão <> do fórum para postar código.
 

Bom, vamos lá, você pode fazer isto de 2 formas:

Utilizando 'or', que na tradução para português é 'ou'

function revistar (source, cmd, pname)
local accountname = getAccountName(getPlayerAccount(source))
    if isObjectInACLGroup("user."..accountname, aclGetGroup("BOPE")) or isObjectInACLGroup("user."..accountname, aclGetGroup("PMERJ")) then 
    -- seguindo a lógica, se estiver na acl BOPE ou PMERJ, executa a funcao
      local Player_2 = getPlayerFromPartialName(pname)
       if isElement(Player_2) then

 

Ou através de uma função

function revistar (source, cmd, pname)
    if isPlayerPermission(source) then
      local Player_2 = getPlayerFromPartialName(pname)
       if isElement(Player_2) then

local corpACLS = {
	"BOPE",
	"PMERJ",
	"EB"
}

function isPlayerPermission(thePlayer) -- faz um loop das acls declaradas na tabela e verifica se a acl do jogador é uma das acls declarada na tabela
	if isElement(thePlayer) and getElementType(thePlayer) == "player" then 
		if isGuestAccount(getPlayerAccount(thePlayer)) then return end
		for _, group in ipairs(corpACLS) do
			if isObjectInACLGroup("user."..getAccountName(getPlayerAccount(thePlayer)), aclGetGroup(group)) then
				return true
			end
		end
	end
	return false
end

 

  • Like 1
Link to comment

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...