Jump to content

Client isPlayerInACL


Recommended Posts

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)

 

Link to comment
  • Other Languages Moderators

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.

Link to comment
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.

Link to comment
  • Other Languages Moderators

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)

 

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