Doongogar Posted February 6, 2023 Share Posted February 6, 2023 entao eu queria saber como eu faco para verficar se o player esta em dois grupos de acl de uma tabela EX: Uma tabela com Grupo: samu, mecanico e detran verificar se ele ta em dois desses grupos ao mesmo tempo Link to comment
Blaack Posted February 6, 2023 Share Posted February 6, 2023 (edited) 27 minutes ago, SciptNovato said: entao eu queria saber como eu faco para verficar se o player esta em dois grupos de acl de uma tabela EX: Uma tabela com Grupo: samu, mecanico e detran verificar se ele ta em dois desses grupos ao mesmo tempo Olá, você pode usar uma tabela para armazenar as tabelas necessarias, fazendo um for dentro delas e verificando se o player está naquele grupo com o isObjectInACLGroup Vou deixar um exemplo aqui pra ti: Spoiler local grupos = { {"Samu"}, {"Policial"}, {"Mecanico"}, } addCommandHandler("acl", function (player) local conta = getPlayerAccount(player) if conta and not isGuestAccount(conta) then -- verificando se a conta existe, e se não é uma conta guest (player sem estar logado) local nomeconta = getAccountName(conta) if verificarAcl(nomeconta) then -- acionando a função util para verificação outputChatBox("Você possui as acl's necessarias!", player) else outputChatBox("Você não possui as acl's necessarias!", player, 255, 0, 255) end end end) function verificarAcl(conta) local acls = 0 if conta then -- verificamos se conta existe for index, grupo in ipairs(grupos) do -- fazemos um loop na tabela if aclGetGroup(grupo[1]) then -- verificamos se a acl existe if isObjectInACLGroup("user."..conta, aclGetGroup(grupo[1])) then -- verificamos se o player está na acl acls = acls + 1 -- definimos a variavel que inicialmente é zero como (+1) end if acls >= 2 then -- caso essa variavel seja maior ou igual que 2, retornar true return true end end end end return false end Perdão pela identação, o forum parece que distorce kk Edited February 6, 2023 by Blaack 1 Link to comment
Other Languages Moderators Lord Henry Posted February 6, 2023 Other Languages Moderators Share Posted February 6, 2023 8 minutes ago, Blaack said: Perdão pela identação, o forum parece que distorce kk O fórum indenta com 8 espaços. Pra não distorcer é só vc usar 4 espaços em vez de TAB. 1 Link to comment
Blaack Posted February 6, 2023 Share Posted February 6, 2023 4 minutes ago, Lord Henry said: O fórum indenta com 8 espaços. Pra não distorcer é só vc usar 4 espaços em vez de TAB. Ok Lord, obrigado! Link to comment
Doongogar Posted February 6, 2023 Author Share Posted February 6, 2023 4 hours ago, Blaack said: Olá, você pode usar uma tabela para armazenar as tabelas necessarias, fazendo um for dentro delas e verificando se o player está naquele grupo com o isObjectInACLGroup Vou deixar um exemplo aqui pra ti: Reveal hidden contents local grupos = { {"Samu"}, {"Policial"}, {"Mecanico"}, } addCommandHandler("acl", function (player) local conta = getPlayerAccount(player) if conta and not isGuestAccount(conta) then -- verificando se a conta existe, e se não é uma conta guest (player sem estar logado) local nomeconta = getAccountName(conta) if verificarAcl(nomeconta) then -- acionando a função util para verificação outputChatBox("Você possui as acl's necessarias!", player) else outputChatBox("Você não possui as acl's necessarias!", player, 255, 0, 255) end end end) function verificarAcl(conta) local acls = 0 if conta then -- verificamos se conta existe for index, grupo in ipairs(grupos) do -- fazemos um loop na tabela if aclGetGroup(grupo[1]) then -- verificamos se a acl existe if isObjectInACLGroup("user."..conta, aclGetGroup(grupo[1])) then -- verificamos se o player está na acl acls = acls + 1 -- definimos a variavel que inicialmente é zero como (+1) end if acls >= 2 then -- caso essa variavel seja maior ou igual que 2, retornar true return true end end end end return false end Perdão pela identação, o forum parece que distorce kk Obrigado! Link to comment
Sx666 Posted February 18, 2023 Share Posted February 18, 2023 Parra verificar se um jogador está em dois grupos de uma única tabela de grupos, você pode seguir os seguintes passos: Obtenha a tabela de grupos usando a função aclGroupList. local groupList = aclGroupList() Neste exemplo, a função aclGroupList é usada para obter a lista de todos os grupos ACL no servidor. Encontre os grupos pelos nomes que deseja verificar se o jogador pertence a eles. Você pode fazer isso usando a função aclGetGroup. local group1 = aclGetGroup("nome_do_grupo_1") local group2 = aclGetGroup("nome_do_grupo_2") Neste exemplo, as funções aclGetGroup são usadas para obter os grupos pelos seus nomes. Verifique se o jogador pertence a ambos os grupos usando a função isObjectInACLGroup. local isInGroup1 = isObjectInACLGroup("user", group1) local isInGroup2 = isObjectInACLGroup("user", group2) if isInGroup1 and isInGroup2 then -- o jogador está em ambos os grupos end Neste exemplo, a função isObjectInACLGroup é usada para verificar se o jogador "user" pertence a ambos os grupos. As variáveis isInGroup1 e isInGroup2 indicam se o jogador está em cada grupo. Se o jogador estiver em ambos os grupos, o código dentro do bloco if será executado. Link to comment
Recommended Posts
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 accountSign in
Already have an account? Sign in here.
Sign In Now