Jump to content

Adicionar player na ACL apartir de skin


Recommended Posts

Estou fazendo esse sistema pra quando o player estiver com uma skin ele será setado para uma acl especifica e quando não estiver ele remove 

Mas não esta setando, alguém pode me ajudar?

 

function addAcl (source)
  local id = getElementModel(source)
     if id == 280 then
      	aclGroupAddObject (aclGetGroup("Policial"), "user."..source) 
        exports.Mrx_info:addNotification(source, "Você está em Serviço" "!", "info")
      	aclSave()  
      else 
        aclGroupRemoveObject (aclGetGroup("Policial"), "user."..source)
        exports.Mrx_info:addNotification(source, "Você está à paisana" "!", "info")
      	aclSave()	
      end
end
addEventHandler ( "onResourceStart", getRootElement(), addAcl )

 

Edited by MRXBBC
Link to comment
  • Other Languages Moderators

No evento "onResourceStart", source não é um jogador. Até porque, você declarou source como parâmetro de função, outro vacilo.

Outra coisa: Você anexou o evento ao getRootElement ( ), isso significa que essa função será chamada sempre que qualquer resource for iniciado além deste.

  • Thanks 1
Link to comment
20 minutes ago, Lord Henry said:

No evento "onResourceStart", source não é um jogador. Até porque, você declarou source como parâmetro de função, outro vacilo.

Outra coisa: Você anexou o evento ao getRootElement ( ), isso significa que essa função será chamada sempre que qualquer resource for iniciado além deste.

como eu declararia como jogador? 

Iria atribuir o source como um localplayer() ?

Edited by MRXBBC
Link to comment
35 minutes ago, Lord Henry said:

localPlayer só existe em scripts client-side.

Dei uma melhorada e vi no que eu tava errando 

function addAcl (jogador)
  local id = getElementModel(jogador)
     if id == 280 then
      	aclGroupAddObject (aclGetGroup("Policial"), "user."..getAccountName(getPlayerAccount(jogador)))
       exports.Mrx_info:addNotification(source, "Você está em Serviço" "!", "info")
      	aclSave()  
      else 
      aclGroupRemoveObject (aclGetGroup("Policial"), "user."..getAccountName(getPlayerAccount(jogador)))
      	 exports.Mrx_info:addNotification(source, "Você está à paisana" "!", "info")
        aclSave()	
      end
      if isObjectInACLGroup ("user."..getAccountName(getPlayerAccount(jogador)), aclGetGroup ( "Admin" ) ) and id ~= 280  then
          aclGroupRemoveObject (aclGetGroup("Policial"), "user."..getAccountName(getPlayerAccount(jogador)))
      else 
      	aclGroupAddObject (aclGetGroup("Policial"), "user."..getAccountName(getPlayerAccount(jogador)))
      	aclSave()  

end

addCommandHandler ( "skin", addAcl )

 

 

Edited by MRXBBC
Link to comment
  • Other Languages Moderators

Está faltando um end

E pelo que estou vendo na sua lógica, todo mundo que não for Admin vai entrar naquela última condição do else e ficar na ACL Group "Policial".

Edited by Lord Henry
  • Thanks 1
Link to comment
  • Moderators

Na função exportada addNotification você deixou source, troque para 'jogador'. Lembre-se de dar acl para o resource e deixar o debug ativado quando testar (/debugscript 3). O segundo if eu não entendi o que você quer fazer ali.

  • Thanks 1
Link to comment
3 hours ago, DNL291 said:

Na função exportada addNotification você deixou source, troque para 'jogador'. Lembre-se de dar acl para o resource e deixar o debug ativado quando testar (/debugscript 3). O segundo if eu não entendi o que você quer fazer ali.

Só tava testando algumas condições, vc sabe me dizer se tem algum meio de chamar essa função quando o player trocar de skin?

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