Jump to content

.Dev

Members
  • Posts

    13
  • Joined

  • Last visited

  • Days Won

    3

Posts posted by .Dev

  1. 7 hours ago, kevincouto6 said:

    Existe outra forma de eu alterar o dano de uma arma, ou eu criar uma arma substituindo alguma existente, tipo um mp5 ou outra armas, porem seria possivel alterar uma mp5 e transformar em uma Desert deagle, algo nesse estilo ?

    Tem uma forma de você alterar o dano das armas, você poderia usar as funções onPlayerDamage /  onClientPlayerDamage, teria que setar o dano de cada arma com getElementHealth e setElementHealth, alem de ter que considerar o dano variado para cada parte do corpo, como cabeça, tronco , braços e pernas. Funciona legal mas da um trabalho de caramba fazer isso.

    Em realação a alterar a arma, apenas o modelo dela, sendo a .dff e a.txd, não acredito que tu possar criar uma nova cadencia de tiro e etc, apesar que no setWeaponProperty, tu pode mudar numero de balas e afins, mas na wiki tenho certeza que tu deve encontrar as outras opções as vezes da pra fazer algo legal, mas mudar completamente acho muito dificil.

    EDIT: Com essa função custom, tu poderia criar tipo um nivel de habilidade de armas, setando bonus de dano para jogadores e afins, poderia definir por ACL e etc, ai é só usar a imaginação mesmo.

    • Thanks 1
  2. 9 hours ago, Tommy. said:

    Se eu não me engano(posso estar enganado.) Quando você freeza um player a animação é cancelada. O que você pode fazer, ao invés de usar freeze você desativar pra ele conseguir andar.

    toggleControl

    Então Tommy, obrigado por responder, mas no exemplo de código acima eu já uso o toggleAllControls e ja tentei usar o toggleControl, porem o jogador continua conseguindo cancelar a animação e se movimentar. Teria alguma outra opção pra frezzar ou proibir o mesmo de realizar qualquer ação, porque eu já tentei bloquear os 3 tipos de controle e mesmo assim não adiantou.

  3. Olá pessoal, gostaria de uma ajuda, eu estou editando um script de Taser e encontrei os seguintes problemas:

    - O jogador fica freezado, porem não inicia a animação;

    - O Jogador inicia a animação porem não fica freezado;

    Também tentei bloquear as teclas com "onClientKey", e uma tabela com todas as teclas seguido de um cancelEvent(), pra evitar que o mesmo burle a animação, ou simplesmente se mova enquanto está caido. Para fazer isso eu fiz um script para pegar onde foi o tiro no jogador utilizando a função "onClientPlayerDamage" e "onClientPedDamage". Deixando de lado as animações diferentes eu fiz uma função para trigar o evento do lado server:

    -- Freezar Player que Tomou Taser --
    function playerTased(source)
            setPedFrozen(source, true) 
            toggleAllControls(source, false, false, false)
        setTimer(function()
            setPedFrozen(source, false) 
            toggleAllControls(source, true, true, true) 
        end, 5000, 1)
    end
    addEvent("onPlayerTased", true)
    addEventHandler("onPlayerTased", getRootElement(), playerTased)

    E passei do lado client chamando o evento da seguinte forma:

    triggerServerEvent("onPlayerTased", localPlayer, source)
    setPedAnimation(source, "ped", "KO_shot_face", 10000, false, true, false)

    A minha duvida é a seguinte, tem alguma forma de eu forçar o Freeze com o cara no chão no final da animação? Existe alguma outra função que possa me ajudar, porque sendo um servidor RP, não tem como eu deixar o cara ter a possibilidade de se mover ou até mesmo atirar, que é esse um dos outros problemas, quando a animação não acontece, o jogador ainda consegue atirar, mesmo quando eu usei o cancelEvent() e o For com as keys.
     

     

     

  4. 1 hour ago, DNL291 said:

    O job de quem irá aceitar o trabalho já está pronto? Se não tiver comece por aí, se você pensar lá na frente sem ter feito antes a base, vai ficar bem confuso pra você.

    A lógica de aceitar um job funciona assim:

    O jogador interage pelo lado cliente, caso seja por meio de uma interface, e faz o trigger para o lado server. Se não envolver interfaces, esses passos podem ser feitos server-side.

    A sua lógica de 'ativar uma bind para aceitar um trabalho' não irá funcionar se mais pessoas pedirem um trabalho ao mesmo tempo, então você vai precisar de um meio de deixar o jogador escolher qual trabalho ele deseja fazer.

    A cada pedido de trabalho, adicione na tabela esse pedido. Se o jogador que executar o trabalho tiver que escolher, envie a tabela ao cliente com os serviços listados nela e retorne ao lado server o serviço escolhido para o jogador que pediu.

    Entendi DNL, eu fiz tudo server side, mas vou usar interface grafica do lado client, minha ideia pra evitar que mais pessoas aceitem o trabalho, seria verificar uma tabela com quem já aceitou e nomear o primeiro, e setar o blip e etc. Assim apenas uma pessoa poderia aceitar um pedido por vez, no caso uma VTR de policia, mas vou usar a base pra todos os trabalho, mecanicos, taxi e etc.

  5. 5 hours ago, Lord Henry said:
    • AddCommandHandler - Adicionar um comando pro jogador chamar tal profissional.
    • BindKey - Binda uma tecla a uma função, para fazer o profissional aceitar ou negar o chamado. Pode ser uma tecla pra aceitar e outra pra negar.
    • Se as profissões estão separadas por ACL Group
      • GetPlayersInACLGroup - Função útil que pega todos os jogadores que estão em determinada ACL Group.
    • Se as profissões estão separadas em times
    • Se as profissões estão separadas por elementData
      • GetElementsByType - Pega todos os elementos do tipo específico. (use o tipo "player" para pegar todos os players conectados no servidor)
      • For - Faz um loop que passa entre cada jogador,
      • GetElementData - Verifica se tal elemento possui a elementData daquela profissão específica. (no caso o elemento é um jogador)
    • OutputChatBox - Manda o texto para o jogador específico ou pra todo mundo.

    Obrigado Henry, mas tenho mais uma duvida, seria necessário triggar um event para que o jogador aceitasse o Job, ou posso só passar as funções normais com o o bindKey? Porque na minha cabeça eu tinha que fazer um evento para iniciar o trabalho, depois as keys para iniciar o evento de trabalho, e uma para negar, funciona dessa forma ou apenas as funções aceitar/negar e o commandHadle daria conta?

  6. Olá pessoal, gostaria de uma ajuda, estou começando a programar para MTA e queria fazer um Script de trabalho com as seguintes funcionalidades:

    O cliente iria solicitar o Trabalho, eu pegaria a posição dele, e mandaria um aviso para todas as pessoas que estão naquele trabalho, por exemplo a policia, então o policial iria apertar uma tecla definida para aceitar o chamado ou negar o chamado. A minha duvida é como vou pegar essa tecla sem inutilizar ela para o jogador, alguém poderia me dizer quais os nomes das funções que poderia me ajudar, que o resto eu olho na wiki e faço os testes.

    Desde já obrigado.

×
×
  • Create New...