-
Posts
112 -
Joined
-
Last visited
-
Days Won
4
Everything posted by KronoS Lettify
-
Compilar script com o nome do servidor
KronoS Lettify replied to Twin MTA's topic in Programação em Lua
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. -
@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
-
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.
-
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.
-
Você quer definir um dono para o carro?
-
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.
-
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.
-
Como fazer uma rolagem infinita de uma tabela?
KronoS Lettify replied to Gaimo's topic in Programação em Lua
Eu acho que ele tirou esse += e -= do Javascript '-' -
Queria colocar o chat T só para comandos
KronoS Lettify replied to Loudss's topic in Programação em Lua
@Loudss Qualquer coisa, leia a página de Introdução ao Scripting do MTA -
@SkillZNT você pode usar o seguinte código para fazer isso que procura: addEventHandler('onVehicleExplode', root, function () destroyElement(source) end )
-
help AJUDA (CRIANDO O MESMO OBJETO)
KronoS Lettify replied to Big Smoker's topic in Programação em Lua
E não era pq tava sendo criado vários objetos quando encostasse em um COL? -
help AJUDA (CRIANDO O MESMO OBJETO)
KronoS Lettify replied to Big Smoker's topic in Programação em Lua
Você executando várias vezes o script criará vários objetos -
help AJUDA (CRIANDO O MESMO OBJETO)
KronoS Lettify replied to Big Smoker's topic in Programação em Lua
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 -
Algo no filepath que você colocou está errado, verifique o que é e corrija
-
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
-
Ao contrário, você tem que permitir o acesso admin ao resouce
-
Talvez não funcione ainda pq (como o Lord Henry falou na resposta acima) não criou o evento pra chamar a função.
-
É 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
-
Mas assim também está certo kk
-
O que você estava armazenando em resourceName ?
-
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
-
@Instity dá uma olhada na página da função isObjectInACLGroup, com base nessa função você pode fazer a sua verificação.