Jump to content

Lord Henry

Other Languages Moderators
  • Posts

    4,008
  • Joined

  • Last visited

  • Days Won

    184

Everything posted by Lord Henry

  1. Quando o cara logar no servidor, verifica a ACL Group que ele está e seta uma data nele com o nome correspondente. Dai na HUD vc mostra o texto salvo nessa data.
  2. local level = getElementData (thePlayer, "exp") setElementData (thePlayer, "exp", level + 10) Tipo isso.
  3. Faz por setElementData. Ela funciona both-side.
  4. @VitorAgertt favor não reviver tópicos antigos.
  5. Como eu disse, setElementData. Dai quando for colidir, verifica essa data no jogador.
  6. Daria pra fazer por setElementData, dai quando o player colide no marker, verifica a data do player. Se for a data do último marker, atualiza a data para este marker que ele acabou de colidir e faz o próximo marker aparecer, se não for, nada acontece. Essa data muda de acordo com o último marker que o player colidiu. Se o player tentar colidir num marker que ainda nem apareceu, seguindo essa lógica, não vai acontecer nada, pois o player não teria a data do marker anterior a ele. Inicia o trabalho, cria todos os markers com todos os seus respectivos addEventHandlers de colisão e seta todos como invisíveis, exceto o primeiro. Jogador colide no primeiro marker, que irá setar uma data no jogador, por exemplo setElementData (thePlayer, "markerData.Cobrador", 1) Torna o segundo marker visível e o primeiro invisível. Ao colidir no segundo marker, verifica a data do jogador, se for a mesma data que o marker anterior setou, então: Torna o terceiro marker visível, o segundo invisível e seta a data "markerData.Cobrador", 2 nele. Se não for a mesma data (tiver um valor diferente de 1 ou não existir a data), então: Nada acontece. E assim por diante até ser o último marker, que em vez de tornar o marker seguinte visível (não existe marker seguinte), apenas vai tornar a si mesmo invisível, remover a data do jogador e dar o dinheiro pra ele, concluindo a rota de trabalho. Mas saiba que setElementData consome muita banda larga do servidor, pois ele é sincronizado com todos os clientes por padrão. Além disso criar vários markers e vários addEventHandlers pra cada um não é nada otimizado. No entanto eu faria isso tudo diferente. Por se tratar de um trabalho single player, pra começar eu faria isso tudo client-side. (algumas coisas precisariam de triggerServerEvent, por exemplo a parte de dar dinheiro pro jogador, que tem que ser server-side) e em vez de trabalhar com setElementData, eu apenas iria criar e movimentar os markers na ordem em que o player vai colidindo com eles. Seguindo a lógica das corridas: Inicia o trabalho, criando o marker na posição 1. (as posições estariam em uma table no client-side), e faz addEventHandler de colisão no marker. Ao colidir no marker, seta a posição dele para a posição 2. Sem precisar criar outro marker e nem destruir o atual. E assim por diante até chegar na última posição da table. Quando não existir a posição seguinte, destrói o marker e dá o dinheiro pro jogador.
  7. Já tentou baixar essa versão superior aqui? Me avise se depois de testar, esse resource estiver com esse erro também. Obs: Ele funciona diferente dessa sua versão original aí, leia a descrição dele.
  8. Claramente vc está mexendo no resource da internet, o House System. Oq vc está tentando fazer?
  9. Tem vários mods disso na internet. Só procurar por "Luzes Polícia", "Luzes Alerta" ou "Luzes viaturas"
  10. Pois é, se vc tivesse demonstrado interesse em aprender e mostrado alguma coisa que vc tentou fazer, talvez eu pudesse ter dado código pronto pra vc. Mas da forma que vc apresentou, deu a impressão de que vc nem tentou e só quer que façam o código pra você. Não é assim que funciona. Por isso eu disse boa sorte, vc vai precisar de sorte para que alguém aqui faça o código de graça pra vc. Responder de maneira agressiva também não ajuda em nada, amigo.
  11. Esse Ctrl+C e Ctrl+V todo aí daria pra fazer com 1 função só.
  12. Supondo que vc já saiba lógica de programação e entenda inglês. isObjectInACLGroup outputChatBox getElementData getPlayerFromPartialName addCommandHandler Boa sorte.
  13. Eu simplesmente usaria GetPlayerFromPartialName. function getPlayerFromPartialName(name) local name = name and name:gsub("#%x%x%x%x%x%x", ""):lower() or nil if name then for _, player in ipairs(getElementsByType("player")) do local name_ = getPlayerName(player):gsub("#%x%x%x%x%x%x", ""):lower() if name_:find(name, 1, true) then return player end end end end
  14. Solicitações de Staffs/Scripters/Mappers devem ser feitos na seção OffTopic.
  15. @diogoo não reviva tópicos antigos. Veja as regras no tópico fixado da seção geral.
  16. Já testou com outra máquina, amigo? Peça emprestado um notebook de um amigo, instale o mesmo GTA e o MTA nele. Depois teste na mesma internet. Se não der problema, então é realmente um problema com sua máquina, faça backup de tudo e formate. Você diz que formatar não é uma opção, mas quais outras opções vc tem? No meu caso, eu sempre deixo os instaladores e alguns cracks dos programas que eu uso separados no backup, pra caso dê algum problema no meu PC, eu não ter que procurar tudo na internet novamente. O único empenho é ter que reinstalar tudo. Quanto aos jogos, a maioria é da Steam, então não tenho problemas com os saves. Os jogos que não são da Steam também faço backup semanal dos saves. Se der problema, então é a versão do seu GTA que está com defeito. Desinstale-o e pegue de outra fonte. Lembrando que não pode ter mods.
  17. Ou então pegar todo o texto do meta.xml e dentro do script verificar se ele é igual ao que foi programado, se não for, cancela a ativação. (mas ainda teria esse problema de burlar o cancelEvent)
  18. Ou, se preferir, você pode baixar um resource de concessionárias que já funciona: https://community.multitheftauto.com/index.php?p=resources&s=details&id=14855
  19. setPlayerWantedLevel takePlayerMoney onClientGUIClick - Supondo que seja clicando em um botão do painel GUI.
  20. Hum... Declarei depois. Na linha seguinte.
  21. Mesma dúvida que esse cara: Parecem até a mesma pessoa. Bem suspeito isso ae.
  22. Da próxima vez poste na seção de Programação em Lua. E também poste seu código através do botão <> para verificarmos os erros.
  23. Já perdi a linha de raciocínio, hauhuahaua. To entendendo mais nada. Mas eu testei ali o esquema do "cancelEvent local" e não consegui mais burlar ele com script externo. Em relação a obter os nomes das variáveis do script por meio do _G, eu fiz aqui e ele retornou nomes de funções de diversos scripts '-' O que não ajuda em nada pra burlar o sistema, pois não tem como saber quais são deste resource.
  24. onPlayerWasted setAccountData getAccountData onPlayerLogin onPlayerLogout
×
×
  • Create New...