Jump to content

KronoS Lettify

Members
  • Posts

    112
  • Joined

  • Last visited

  • Days Won

    4

Everything posted by KronoS Lettify

  1. local nomeDoServidor = "Brasil Alguma Coisa" function cancelarInit() local nAtual = getServerName() if (nAtual ~= nomeDoServidor) then cancelEvent() end end addEventHandler('onResourceStart', resourceRoot, cancelarInit) Quando o script iniciar, haverá uma comparação entre o nome do servidor em que o script foi iniciado e o nome que está na variável. Se o nome do servidor em que o script foi iniciado for diferente do nome que foi definido na variável nomeDoServidor então o evento de inicialização desse script é cancelado.
  2. @Lord Henry Falou que a wiki do resource está na descrição da página da comunidade. Basta acessar e ver quais são as funções disponíveis
  3. Fazer isso por nick pode ser um tanto inseguro. Por que não tenta fazer isso por nome de conta? Em casos específico pode até usar as funções account-data para salvar algo.
  4. Há várias formas de definir um dono para um veículo, se quiser especificar mais um pouco ou explicar o que você está fazendo ou o que quer fazer.
  5. Não. Dá uma olhada nas páginas explicativas dos dois eventos que mencionei, na wiki do MTA. Essas páginas mostrarão como deve usar o evento.
  6. Em vez de você utilizar Command Handlers para as funções, pode usar Event Handlers. Os eventos que podem ser úteis no seu caso, é: onPlayerLogin e onPlayerQuit
  7. Você quer definir um dono para o carro?
  8. Respondendo à sua primeira pergunta: function enterVehicle(thePlayer, seat, jacked) local account = getPlayerAccount(thePlayer) if (not account or isGuestAccount(account)) then return end local accountName = getAccountName(account) if (not isObjectInACLGroup("user.".. accountName,aclGetGroup("VIPCARRO"))) then -- Se não estiver em tal grupo da ACL, então if (seat == 0) and (getElementModel(source) == 602) then -- Se estiver entrando como motorista, então cancelo o evento e ele não entra outputChatBox("#ffff00SOMENTE MEMBROS DA #000000[ #ff0000Nome da gang #000000] #ffff00PODEM USAR ESSE VEICULO!", thePlayer) cancelEvent() end end end addEventHandler("onVehicleStartEnter",root,enterVehicle) Detalhe do código: A lógica: Se não estiver no determinado grupo e tentar entrar como motorista no carro de tal ID, ele não vai conseguir entrar. O que quer dizer que ele vai poder entrar em qualquer outro assento mesmo não sendo do determinado grupo da ACL. OBS: Usei a função cancelEvent pois ela é mais fácil e prática de se lidar nessas ocasiões que o setVehicleLocked. Quanto à sua segunda pergunta, se puder esclarecer melhor tentarei responder.
  9. Na função createMarker(server-side) tem um argumento que você pode especificar para qual elemento o marker deve ser visível, e também há uma função chamada setElementVisibleTo que você pode usar para definir quem poderá ver o marker.
  10. @Loudss Qualquer coisa, leia a página de Introdução ao Scripting do MTA
  11. Ou você reinicia (ou deixa iniciado) o mod chamado play ou você programa um sistema para respawnar o jogador quando ele morrer. Um sistema que pode ajudar a resolver isso é o save-system, se seu servidor for RolePlay isso pode ajudar. Contudo é isso, qualquer coisa só continuar o tópico
  12. @SkillZNT você pode usar o seguinte código para fazer isso que procura: addEventHandler('onVehicleExplode', root, function () destroyElement(source) end )
  13. E não era pq tava sendo criado vários objetos quando encostasse em um COL?
  14. Você executando várias vezes o script criará vários objetos
  15. no final do código onde se encontra o end, 1000, 0, col) você deve alterar as vezes que o timer é executado, no seu caso você deverá trocar o 0 pelo 1 depois disso testa o código novamente, e quaisquer novos relatos, responda o tópico detalhando tudo
  16. Algo no filepath que você colocou está errado, verifique o que é e corrija
  17. A função xmlLoadFile pode estar retornando false ao invés do xml-node q você precisa. Verifica se os parâmetros que usou na função estão corretos e crie uma condição depois dela para verificar se ela realmente retornou o que você precisava
  18. Ao contrário, você tem que permitir o acesso admin ao resouce
  19. Talvez não funcione ainda pq (como o Lord Henry falou na resposta acima) não criou o evento pra chamar a função.
  20. É que você colocou aqui para parar o nome do script não o script kk Ou seja, no stopResource você deve usar a variável thisResource, não resourceName
  21. O que você estava armazenando em resourceName ?
  22. Essa função que você mencionou pode ser usada também para pegar o nome do resource e colocar como parâmetro da função isObjectInACLGroup. Vejamos, o 1° parâmetro do isObjectInACLGroup é o Objeto(string) que ficará à disposição do grupo da ACL, tendo como exemplos: "user.Jim"; "resource.ctf". Usando o objeto resource, você deverá usar o nome do resource para usar como objeto, e vai conseguir isso usando as funções: getResourceName e getThisResource. Lembrando que usando o getThisResource vai pegar o resource onde foi executada a função, para pegar qualquer outro resource use getResourceFromName. Após compreendido o uso do 1° argumento do isObjectInACLGroup, a hipótese poderá ficar da seguinte forma: local este_resource = getResourceName(getThisResource()) if (isObjectInACLGroup("resource."..este_resource, aclGetGroup("GrupoACL"))) then -- else -- end Este exemplo é bem parecido com uns que são frequentemente usados, veja só: local account_name = getAccountName(getPlayerAccount(thePlayer)) if (isObjectInACLGroup('user.'..account_name, aclGetGroup("GrupoACL"))) then -- else -- end Qualquer dúvida sobre esta resposta, só marcar
  23. @Instity dá uma olhada na página da função isObjectInACLGroup, com base nessa função você pode fazer a sua verificação.
×
×
  • Create New...