Jump to content

Lord Henry

Other Languages Moderators
  • Posts

    3,972
  • Joined

  • Last visited

  • Days Won

    179

Everything posted by Lord Henry

  1. Isso pode ser feito com a função útil DxDrawImage3D e um marker normal invisível com createMarker.
  2. @Sousateewcuidado para não se equivocar. Sua solução não tem nada a ver com o problema do tópico.
  3. @Sousateewisso está além dos limites do GTA SA. Só é possível fazer isso na skin do CJ.
  4. Esse parâmetro ali não é aplicável. Ele serve somente para verificações de script. Aplique o parâmetro em todos os objetos do .map
  5. @M4DD NØGessa distância está muito alta. Pode acabar removendo outros objetos com mesmo ID que estejam dentro dessa área. A não ser que seja esse o objetivo.
  6. setPlayerVoiceBroadcastTo faz isso. Vc define pra quem a voz do jogador será transmitida. Essa função não tem relação com o resource voice. Não é possível estar em duas frequências ao mesmo tempo. Ao setar um novo canal de voz para o jogador, ele já vai sair do canal que estava antes. Na Wiki não deixa explícito sobre as frequências (canais de voz) pois isso é uma função do resource voice e não do MTA. Ao usar a função setPlayerVoiceBroadcastTo, ele vai ignorar os canais, a não ser que você sete o jogador em um novo canal depois. Na verdade essa função já faz a mesma coisa que os canais, ele define quem vai ouvir a voz do jogador. -------- Sobre o seu exemplo de tabelas, não faz sentido atribuir valores aleatórios aos jogadores, pois podem repetir. Por se tratar de uma tabela de elementos (jogadores), você usa o pairs. Só se usa ipairs em tables indexadas com integers (números inteiros). for player,value in pairs (exemplo) do -- Para cada jogador na lista exemplo, faça: if (isElement (player)) then -- Se player ainda é um elemento, então: local name = getPlayerName (player) -- Obtém o nick desse player. print ("Valor de "..name..": "..value) -- Mostra o nick e o valor dele salvo na table. end end Evento que é acionado sempre que um jogador habilita seu microfone para falar. Se quem começou a falar for você mesmo (localPlayer) então você será o source desse evento. Se foi outro player que começou a falar com vc, então ele será o source. Sobre o script que vc está mostrando, no resource voice essa tabela serve apenas para informar ao cDrawIcon.lua quais jogadores próximos (inclusive o próprio localPlayer) estão falando para poder desenhar o microfone em cima de sua cabeça. Além disso ele verifica se o jogador que está tentando falar está mutado ou não. Se estiver, o microfone também não será desenhado. Ou seja, o player que estiver como true, terá um microfone sendo desenhado em cima da sua cabeça, após o script verificar se ele está mutado ou não. O primeiro é um evento e o segundo é uma função. O evento onClientPlayerVoiceStart é ativado quando o jogador libera o microfone para falar (segurando a tecla Z, por exemplo). A função setPlayerVoiceBroadcastTo serve para definir pra quais jogadores a voz de tal jogador será transmitida.
  7. Então não procurou direito. Está sim no admin_main.lua, o checkbox se chama aTab6.OutputPlayer
  8. Coloque isso na linha anterior: if not (getElementData(player, "char.money")) then return end
  9. Provavelmente seu gamemode está salvando as armas ao morrer. É o mesmo que dá respawn no jogador depois dele morrer.
  10. O erro ocorre pois provavelmente getElementData(player, "char.money") é false.
  11. Só pra avisar que ainda é possível obter os dados do jogador ao deixar selecionada a opção "Output player information to console on select" na aba Options do painel. As informações aparecem no F8 ao selecionar o nome do jogador no painel. Nesse caso, deve-se bloquear essa opção também.
  12. O problema está dizendo que precisa do resource Scripts_OnMarkerMsgs_ ativo no servidor.
  13. Somente para quem está no canal e estiver próximo. Não é possível remover o canal de um jogador pois isso faria ele não ouvir e nem falar com ninguém (rádio sem conexão). Se quiser ter um canal "global" você pode definir um ID padrão para colocar todos os jogadores nesse ID ao conectarem no servidor. Por exemplo, coloque todos os jogadores para o canal 0 quando eles entram no servidor. Assim quando quiser que um jogador volte ao canal global pra falar com geral, basta setá-lo no canal 0. Os jogadores só são removidos dos canais ao desconectarem do servidor, então defina um canal padrão para manter os "sem canal". Proximidade, como dito na primeira resposta. OBS: Por padrão, o resource voice está configurado para criar canais associados aos teams. Se o jogador estiver em um team, o resource irá colocá-lo no canal do team, assim ele só poderá se comunicar com os jogadores deste team. Você pode desabilitar a criação automática de canais de equipe deixando a configuração "autoassign_to_teams" como false pelo painel Admin. Da mesma forma, para colocar um jogador no canal de sua equipe (caso ele não esteja em nenhum ou esteja em canal numérico), basta não declarar o parâmetro de ID ao usar o setPlayerChannel que ele irá identificar o team do jogador e colocá-lo no canal do mesmo.
  14. @Vinícius 123não reviva tópicos antigos. Veja as regras aqui:
  15. Uma sugestão: A animação de plantando a semente poderia ser aquela de plantar bomba. Que ele abaixa e fica manuseando algo. Dai a animação de colheita poderia ser essa que está sendo usada pra plantar a semente.
  16. Testei aqui e está funcionando normal. Certifique-se de ter deixado seu script como client-side e que ele está ativado.
  17. Source não tem nada a ver com quem executou tal função. Ela é definida pelo evento que ativou aquela função. Se o evento que está ativando a função for por exemplo onVehicleEnter, então source será o veículo que foi entrado pelo jogador. Por outro lado, se o evento ativador for onPlayerVehicleEnter, então dai sim source será o jogador que entrou no veículo. É necessário ler na Wiki o source de cada evento antes de usá-lo na função para saber o que está guardado nessa variável.
  18. if (math.floor(id) == id) then -- Se o número arredondado é igual a ele mesmo, então ele é inteiro. print ("É inteiro.") else print ("Não é inteiro.") end
  19. Não use source como parâmetro de função, troque por thePlayer. O segundo parâmetro de função nem precisa neste caso. Nome de função está curto demais, a não ser que seja apenas um teste. Mas evite. Linha 2 nunca vai passar pela condição, pois accountName não existe. Troque todos os source por thePlayer. Na linha 9, falta 1 TAB na linha. Falta um end depois da linha 9. Pra fechar aquele if e else. Corrija esses problemas por enquanto. Depois mande novamente o código corrigido e te ajudo com o próximo passo.
  20. Só anexar o veículo ao caminhão usando os parâmetros de offset pra ele ficar na posição correta em relação ao caminhão. attachElements (veh, truck, 0, -2, 3) -- Mude os números para encaixar melhor o carro no caminhão, eu fiz de cabeça. -- veh = o carro que vc quer anexar ao caminhão. -- truck = o caminhão no qual vc quer anexar o carro.
  21. Pra np++ eu não conheço. Eu também uso ele pra programar meus resources mas não utilizo autocompletar pra me forçar a aprender as sintaxes. Mas em outros editores de texto sei que tem.
×
×
  • Create New...