Jump to content

Client isPlayerInACL


Recommended Posts

Posted

Ola galera, eu tenho um comando que eu quero que só quem é console pode usar, mas a função isPlayerInACL não funciona, como posso exportar ela para ser usado no arquivo client.Lua ?

 

-- server
function isPlayerInACL(player, acl)
	if isElement(player) and getElementType(player) == "player" and aclGetGroup(acl or "") and not isGuestAccount(getPlayerAccount(player)) then
		local account = getPlayerAccount(player)
		
		return isObjectInACLGroup( "user.".. getAccountName(account), aclGetGroup(acl) )
	end
	return false
end


-- client

function TesteCMD(thePlayer)
   if isPlayerInACL(thePlayer, "Console") then
      outputChatBox("Acesso concedido")
  else
      outputChatBox("Acesso negado")
   end
end
addCommandHandler("teste", TesteCMD)

 

  • Moderators
Posted

Vai precisar fazer trigger duplo. Use o comando no cliente, então com um triggerServerEvent, verifique a ACL no servidor, se estiver na ACL, faz um triggerClientEvent para fazer o que o comando deveria fazer.

É claro que, na maioria dos casos, é possível deixar o comando no server, junto com a verificação de ACL e então fazer um triggerClientEvent caso esteja na ACL.

Eu te ajudei ou achou meu comentário útil? Não esqueça de deixar um Thanks! spacer.png

Minhas contribuições para a comunidade: LordHenry - MTA Wiki Profile
Inscreva-se no meu canal do YouTube: Lord Henry - Entertainment
Discord Oficial do MTA: https://mtasa.com/discord
Blacklist e Whitelist de Scripters: Planilha

Por favor, não me envie mensagens privadas solicitando suporte. Crie um tópico no fórum em vez disso.

Posted
7 minutes ago, Lord Henry said:

Vai precisar fazer trigger duplo. Use o comando no cliente, então com um triggerServerEvent, verifique a ACL no servidor, se estiver na ACL, faz um triggerClientEvent para fazer o que o comando deveria fazer.

É claro que, na maioria dos casos, é possível deixar o comando no server, junto com a verificação de ACL e então fazer um triggerClientEvent caso esteja na ACL.

Poderia me dar um exemplo ? sou novo em Lua.

  • Moderators
Posted

client:

addCommandHandler ("testar", function (cmd)
	triggerServerEvent ("eventoS", resourceRoot) -- Pode ser QUASE qualquer nome.
end)

addEvent ("eventoC", true) -- Pode ser QUASE qualquer nome.
addEventHandler ("eventoC", root, function ()
	outputChatBox ("Comando funcionou.")
end)

server:

addEvent ("eventoS", true)
addEventHandler ("eventoS", root, function ()
	local accName = getAccountName (getPlayerAccount (client)) -- Obtém o nome da conta do jogador que executou o triggerServerEvent lá no client.
	if isObjectInACLGroup ("user."..accName, aclGetGroup ("Console")) then -- Verifica se está na ACL Group Console, pode ser qualquer outro grupo.
		triggerClientEvent (client, "eventoC", source) -- Ativa esse evento no client.
	else
		outputChatBox ("Comando não funcionou.", client)
	end
end)

 

Eu te ajudei ou achou meu comentário útil? Não esqueça de deixar um Thanks! spacer.png

Minhas contribuições para a comunidade: LordHenry - MTA Wiki Profile
Inscreva-se no meu canal do YouTube: Lord Henry - Entertainment
Discord Oficial do MTA: https://mtasa.com/discord
Blacklist e Whitelist de Scripters: Planilha

Por favor, não me envie mensagens privadas solicitando suporte. Crie um tópico no fórum em vez disso.

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...