Jump to content

androksi

Other Languages Moderators
  • Posts

    545
  • Joined

  • Last visited

  • Days Won

    38

Everything posted by androksi

  1. Olá. Se você deseja realmente fazer isso, será necessário criar um sistema de dano/headshot totalmente do zero, sincronizando o cliente (jogador) ao servidor, pois apenas dessa forma seria possível. Eu já fiz algo assim, não é difícil, mas precisa ter certo conhecimento com a linguagem. Client-side: necessário apenas o evento onClientPlayerDamage, e a função dele seria enviar as informações de dano ao servidor, usando triggerServerEvent (pode usar triggerLatentServerEvent também, caso queira deixar ainda mais otimizado). As informações que devem ser enviadas, são: o source do evento (quem levou o dano), a weapon (arma), bodypart (parte do corpo) e o loss (dano dado). Server-side: no evento acionado pelo client-side, aquelas informações enviadas agora estarão presentes lá, no server-side. Uma vez com elas, basta trabalhar com algumas checagens e lógica para remover colete e vida, e também headshot. Para aquele problema não acontecer mais, você deve usar isPedDead no client (pessoa atacando), ou seja, se o jogador que estiver atacando morrer, não executará mais nada a partir disso, nenhum dano será aplicado ao alvo. Te dei um exemplo de como seria as coisas por trás, pois acredito que você está começando agora. O resto, você deve fazer. Peça ajuda aqui caso tenha dúvidas. ?
  2. You need to pass the zomb element as a parameter of the setTimer function, the same way you passed the spawn shape. Also make sure it's an element.
  3. Yes, I could notice that too. That's weird, because the x, y and z axis don't seem to have this behaviour, it's just the rotation. Dunno what you should do to solve it, without some workaround.
  4. Tested: I made a mistake by telling you to make the second function like the first one, actually it was first one like the second one, but adding a checker for isMoving variable. My bad ?
  5. The same way you did the first function, you should do in the second one. In this case, check if the isMoving is true.
  6. Tradução da resposta acima. INSTALAÇÃO Verifique se você possui o Sublime Text instalado para seguir os tópicos seguintes. Funciona com ambas versões, Sublime Text 2 e também o 3. (Obrigado Goonz por checar a compatibilidade com o Sublime Text 2) Baixe o arquivo 50pMTAEditor.zip do link abaixo. (O link está quebrado, mas você pode baixá-lo por aqui); Extraia a pasta 50pMTAEditor para este caminho: C:\Users\<SEU USER>\AppData\Roaming\Sublime Text 3\Packages\User - Para chegar até esse caminho, aperte Windows + R e digite %AppData% - então basta seguir por Sublime Text 3 => Packages => User; Abra o Sublime Text 3 e crie um novo arquivo. Será necessário apenas para ver se está funcionando; Selecione a sintaxe em (View => Syntax => Lua (MTA: SA)); Selecione o esquema de cores para visualização das funções do MTA. Vermelho para client-side, laranja para server-side e azul para funções que se encaixam em ambos lados. (Preferences => Color Scheme => User => 50pMTAEditor => Monokai-MTA-Edit) Tópico original em:
  7. Desligue o resource freeroam. Caso queira ainda jogar com ele ligado, edite-o para remover os blips. Se quiser saber onde o código está, ele fica em: resources/[gameplay]/freeroam/fr_server.lua - Começa na linha: 126 | Termina na linha: 140.
  8. Primeiramente, o IP 127.0.0.1 é o famoso localhost, ele sempre deve funcionar - caso contrário, sua rede está mal configurada ou o seu roteador pode estar com problemas. Sobre o seu servidor não estar aparecendo na lista, parece-me alguma configuração do DHCP do seu roteador que está mal feita (ou até mesmo não configurada). Sugiro que você abra o Prompt de Comando (CMD) e execute o comando ipconfig. Busque pelo nome do seu adaptador de rede e veja qual é o endereço IPv4. Encontrando-o, é nele que você deve se conectar, uma vez tendo o servidor MTA ligado. Se por ventura o seu IPv4 for, na verdade, um IPv6, acredito que o MTA ainda não suporta esse tipo de protocolo.
  9. Tente usar este IP para se conectar ao servidor: mtasa://127.0.0.1:22003 - caso não esteja conectando, é problema de configuração da sua rede.
  10. Olá. Por favor, na próxima vez, formate o código colocando-o aqui: Sobre o seu erro, você utilizou thePlayer ao invés de player, que seria o seu parâmetro. Aliás, você já está pegando o nome da conta do jogador na segunda linha, por que obtê-lo novamente? Também, não é necessário fazer várias chatboxes. Use a função clearChatBox.
  11. Você não passou os parâmetros para a função setTimer.
  12. Olá. Seja mais específico e já mostre parte do código que seja relevante para que outros possam te ajudar. Relate o problema.
  13. Olá. Por favor, sempre que for criar um tópico, insira um título pequeno que relate, em poucas palavras, o contexto do seu conteúdo que será postado. Não é necessário dizer o que está acontecendo, no título do tópico. Este título já seria suficiente: Como posso verificar se um argumento ainda existe? Também, evite mandar o código dessa forma (ESTÁ OCUPANDO MUITO ESPAÇO!!!) adicione o conteúdo do código dentro de um Spoiler. Sobre o seu erro: aonde está o erro? ? - poste apenas a parte do código onde ele se encontra, pois ninguém vai procurar nesse código imenso.
  14. Olá. Eu já reportei isso há alguns anos atrás, infelizmente não resolveram ainda (se é que tem solução). É fácil executar esse exploit, só funciona em modo janela. Então... uma ultra gambiarra que você poderia fazer (não recomendo, pois pode atrapalhar alguns jogadores que jogam em modo janela por opção e diversão), a gambiarra consiste em usar a função dxGetStatus e acessando a chave SettingWindowed. Desta forma: local isWindowed = dxGetStatus()["SettingWindowed"] Também é necessário usar uma outra função, agora uma útil. Tendo tudo em mãos, agora basta criar a lógica para verificar se o jogador teve uma queda muito brusca de FPS (esse exploit leva o FPS para 1 e depois volta). A lógica seria algo mais ou menos assim: Client-side: Server-side:
  15. Por favor, use a ferramenta de código: Insira o seu código no campo especificado e marque a linguagem Lua.
  16. Olá. Seja bem-vindo(a) ao fórum. ? Compartilhe o trecho do código cujo está retornando erro para que nós possamos o ajudar. Todos os erros que aparecem no debugscript 3 são irrelevantes a partir do momento que nós não estamos vendo o código que está sendo executado.
  17. Olá. Você pode usar a função aclGroupAddObject para adicionar algum jogador à ACL, assim que ele executar alguma ação, ou assim que algum evento seja disparado.
  18. O source do evento é o jogador que levou o dano. Basta usar getPlayerName que você terá o nick.
  19. Você pode sim usar o evento onPlayerDamage. Agora, ao invés de retornar somente a arma, no mesmo parâmetro é retornado a causa do dano. Aqui neste link você pode conferir alguns: https://wiki.multitheftauto.com/wiki/Damage_Types - no caso, o de queda seria o número 54. ?
  20. Hello, @xLion Your topic was moved to the right place. On-topic: it's a scripting problem. Check if the play gamemode is running. If you are using a different gamemode, make sure the script is correct, you need to use fadeCamera and spawnPlayer.
  21. A maneira na qual você organizou a sua tabela, está errada. Todos os elementos devem estar, também, dentro de chaves.
  22. Olá. Seja bem-vindo(a) ao fórum. Os parâmetros de callback da função addCommandHandler estão errados. O primeiro, está correto, é sim o jogador. O segundo parâmetro recebe o comando, no caso ele está recebendo o fr, por isso a mensagem sempre aparece sendo fr. Se você quer pegar a "mensagem", é necessário que você receba todos os parâmetros, usando ..., e, depois, concatenar usando table.concat. function rpMessage(player, cmd, ...) local text = table.concat({...}, " ") end addCommandHandler("fr", rpMessage)
  23. Não precisa responder à essa minha resposta. Você pode continuar postando aqui, sem problema algum. Porém, poste as coisas com mais detalhes para que a quantidade de informação seja usada em respostas futuras. Junte o máximo que conseguir: erros, imagens, vídeos (se possível), arquivos do resource e outros. Organize o seu tópico de uma maneira que seja legível, também. ?
  24. A opacidade está sendo aplicada? O negócio da colisão precisa estar atualizando sempre que um novo carro é criado, você precisa desenvolver alguma lógica pra isso - não irei explicar aqui, pois não faz parte do tópico. Mas de qualquer forma, é pra funcionar. Inclusive, este tópico já está com muitas postagens. Dê mais algumas olhadas, faça testes no seu servidor local e afins. Porque pode ser que algo esteja dando conflito no servidor em si, diante aos outros resources. Aplique mais detalhes nas suas respostas, também. Como imagens da pasta onde os arquivos estão, conteúdo do meta.xml, possíveis erros no debugscript 3.
×
×
  • Create New...