Jump to content

Jonas^

Members
  • Posts

    1,016
  • Joined

  • Last visited

  • Days Won

    9

Everything posted by Jonas^

  1. A função GetPlayerWantedLevel vai mostrar apenas os procurados.
  2. Você deve fazer um loop obtendo todos jogadores e assim usando a função GetPlayerWantedLevel para obter o level de procurado de cada um.
  3. call(getResourceFromName("admin"), "getPlayerCountry", player)
  4. Essa é uma das alternativa, mas eu na minha opinião acho mais viável adicionar um timer ao loop que atualiza os dados de todas as contas, e colocar um limite de contas no rank de contas ex: TOP-100 listar apenas as 100 contas, por que na verdade, o client não vai entrar em contato com o server, somente quando der o loop nas contas o server ira atualizar os valores no client e assim sera mostrado aos jogadores.
  5. Pelo que eu sei, a gamemode nativa DayZ vem com um script de zombies, e não necessita da npc_hlc pra funcionar corretamente, eu te aconselho não usar npc_hlc e usar o zombies padrão da gamemode, e fazer modificações no script padrão da gamemode.
  6. Se for usar somente no DayZ você vai ter que criar uma db separada pra guardar os kills e deaths de cada jogador, se usar na internal, provavelmente vai listar os outros registros que tem lá.. como por exemplo os veículos, tendas etc, a não ser que você faça uma verificação pra mostrar apenas as contas, mas ainda acho melhor criar uma db separada pra armazenar esses valores, no tópico do Lord explica muitas coisas a respeito, aconselho também usar um timer pra dar loop nas contas, pois se fizer pra quando abrir o painel ele der loop em todas as contas pode causar problemas se vários jogadores abrirem o painel ao mesmo tempo, imagine a explosão de processamento que ira acontecer, ainda mais se a db tiver muitos registros.
  7. Quase certo amigo, você precisa salvar em .lua, dai você cria um meta e coloca o nome deste arquivo e lá você define ele como client, tudo isso dentro de uma pasta juntamente com o txd, dff e col se você não sabe criar um meta, de uma olhada na wiki, ou pegue um pronto de alguma resource. OBS: No meta você precisa informar os arquivos col, txd e dff também, de uma olhadinha na wiki sobre meta.
  8. Basta baixar o arquivo txd, dff, col e usar juntamente com aquele script que te passei, após isso inicie como resource no mapEditor e procure pelo ID que você colocou para ser substituído por esse objeto.
  9. Você deveria ter postado a parte do código que ocorre este aviso, sem código fica bem complicado ajudar, alias você tentou traduzir pra ver o que esta ocorrendo? '' Bad argument @ 'setElementSyncer' [jogador esperado no argumento 2, objeto obtido] '' Você postou na área incorreta, área correta: Programação em Lua
  10. Na realidade, acho um pouco exagero de sua parte abordar desta forma, todos estamos tentando te ajudar, poderia ter deixado um like no post do malignos também pra agradecer o tempo que ele perdeu fornecendo esta ótima explicação pra todos nós, e você não tem um cargo superior e não pode finalizar tópicos. @DNL291
  11. Bom, se estiver acompanhando este tópico ainda, pode me informar o erro que da pra mim poder tentar te ajudar.
  12. client-side é como server-side com algumas diferenças, como por exemplo algumas funções são destinadas apenas para client-side, client-side é baixado e executado no seu computador e você pode ter acesso a esse arquivo em algumas ocasiões, já server-side não, você não consegue ter acesso a esse arquivo, dizem que dá porém não posso afirmar.
  13. A principio você pode fazer um script como este que vou te mostrar pra carregar os arquivos no mapEditor, lembrando que esse script é client-side txd = engineLoadTXD ( "nomeTXD.txd" ) -- Coloque o nome do TXD engineImportTXD ( txd, ID ) -- ID Do objeto do GTA que você quer que tenha a textura do objeto col = engineLoadCOL ( "nomeCOL.col" ) -- Coloque o nome do COL ( SE TIVER ) engineReplaceCOL ( col, ID ) -- ID Do objeto do GTA que você quer que tenha a textura do objeto dff = engineLoadDFF ( "nomeDFF.dff", 0 ) -- Coloque o nome do DFF engineReplaceModel ( dff, ID ) -- ID Do objeto do GTA que você quer que tenha a textura do objeto engineSetModelLODDistance(ID, 400) -- Aqui é a distancia que o OBJETO vai ser carregado DFF E COL você não precisa mexer, você na verdade não precisa mexer nem no TXD, apenas configure os arquivos para carregar no mapEditor, caso queira trocar a cor das texturas, dai você tem que mexer no TXD
  14. Não se abre txd com notepad++, você usa txdworkshop, realmente não tem nada compilado nos arquivos, você pode adicionar tranquilamente no mapEditor e editar seus mapas... basta configurar como o Lord disse acima, isso é coisa simples.
  15. Você poderia ter explicado melhor, os parâmetros 255, 255, 255 usando eles você pode evitar usar uma cor hex. Exemplos: -- Com #Hex definindo os parâmetros. outputChatBox ( "#FF0000Olá DNL ", thePlayer, 255, 255, 255) -- Sem #Hex outputChatBox ( "Olá DNL ", thePlayer, 255, 0, 0) No caso você evitaria de usar um #hex na mensagem. se você quisesse alterar apenas a cor do DNL era só usar um #HEX ao invés de 2 Você também esqueceu de explicar o argumento root usado no output de exemplo. Vou explicar. root chama a função getRootElement() tanto faz você usar root ou getRootElement(), porém não sei se altera alguma coisa em questão de performance. No caso getRootElement() é mostrado para todos jogadores, e se você definir um argumento thePlayer por exemplo, mostra apenas para o jogador que utilizou um comando. Exemplo: function chamarPlayer( thePlayer ) outputChatBox ( "Olá DNL ", thePlayer, 255, 0, 0, true) end addCommandHandler("teste", chamarPlayer) Exemplo ² - Todos jogadores iram ver a mensagem quando algum jogador usar o comando ' teste ' function chamarRoot( ) outputChatBox ( "Olá DNL ", root, 255, 0, 0, true) end addCommandHandler("teste", chamarRoot) Agora vamos entender sobre o último argumento do output ' true ', nada mais é que justamente o que habilita a #hex no output, você pode usar false ou se preferir deixe sem nada apenas assim por exemplo: function chamarRoot( ) outputChatBox ( "Olá DNL ", root ) -- No caso aqui ele envia a mensagem quase branca -- mas se quiser que envie branca basta usar> outputChatBox ( "Olá DNL ", root, 255, 255, 255 ) -- sem o hex no caso.. end addCommandHandler("teste", chamarRoot) Então - true = Permite usar cores #hex no output false ou sem nada = Desabilita o uso de #hex no output deixando somente o argumento r,g,b function chamarRoot( ) outputChatBox ( "Olá DNL ", root, 255, 255, 0 ) end addCommandHandler("teste", chamarRoot) Enfim, só que da próxima vez antes de criar um tutorial, certifique-se se alguém já não fez, ou se fez faça melhor, mas boa tentativa mano, continue tentando aprender sobre .lua.
  16. Acredito que não teria como, apenas se o jogador liberar os objetos para você adicionar como resource no mapEditor.
  17. Se o jogador liberar os objetos sim.
  18. Terminei seu código e organizei, resolvi os erros de português, espero que eu tenha ajudado, se tiver alguma dúvida no que foi feito, deixe aqui em baixo, espero que você entenda olhando o que eu fiz no código, basta trocar as coordenadas dos markers de pegar o trabalho/entregar a carga, adicionei um comando pra você ir até o marker de pegar o trabalho, use /ir se quiser tirar fique a vontade, coloquei apenas pra mim testar. OBS: Não adicionei recompensa para o jogador que entregar, mas se quiser adicionar use: givePlayerMoney( source, quantia ) Na função: finalTrabalho Tentei deixar o código o mais simples possível . CÓDIGO: SERVER-SIDE local markInicio = createMarker ( 2477.7475585938, 1763.9855957031, 10.8203125 -1, "cylinder", 2, 255 ,0 ,0, 255) local markFinal = createMarker ( 2506.6440429688,1794.1475830078,10.671875 -1, "cylinder", 2, 0 ,255 ,0, 255) blipFim = createBlipAttachedTo ( markFinal, 19 ) setElementVisibleTo ( blipFim, root, false ) veh = {} function inicioTrabalho (source) if isElementWithinMarker(source, markInicio) then if veh[source] and isElement( veh[source] ) then destroyElement ( veh[source] ) veh[source] = nil end x,y,z = getElementPosition(source) Trabalho = true veh[source] = createVehicle(462, 2491.1274414063, 1760.0168457031, 10.8203125) setElementVisibleTo ( blipFim, source, true ) warpPedIntoVehicle ( source, veh[source] ) setPedSkin( source, 280 ) outputChatBox ( "=====================================================", source, 0, 255, 0, true ) outputChatBox ( "Leve o veículo até o Blip De uma Bandeira Vermelha No Seu Radar ! ", source, 0, 255, 255, true ) outputChatBox ( "=====================================================", source, 0, 255, 0, true ) end end addEventHandler( "onMarkerHit", markInicio, inicioTrabalho ) function finalTrabalho (source) if veh[source] and isElement(veh[source]) then destroyElement (veh[source]) setElementVisibleTo ( blipFim, source, false ) outputChatBox( "Você terminou o trabalho ! ", source, 0, 255, 0, true ) end end addEventHandler("onMarkerHit", markFinal, finalTrabalho) function vehicleExit (source) if (veh[source]) and isElement(veh[source]) then setElementVisibleTo ( blipFim, source, false ) destroyElement (veh[source]) outputChatBox( "Você saiu do veículo e o trabalho foi cancelado. ", source, 255, 0, 0, true ) end end addEventHandler ( "onVehicleExit", getRootElement(), vehicleExit ) function trabalhoTele (thePlayer) setElementPosition ( thePlayer, 2472.747, 1763.9855957031, 10.8203125 ) end addCommandHandler ( "ir", trabalhoTele)
  19. Mas o que você quer que esse script faça? De cara já vejo um erro: Setpedskin -- Errado setPedSkin -- Correto
  20. Até concordo, mas acho que esse código pode tentar dar uma ' noção ' do que ele teria que fazer pra reproduzir realmente o que ele deseja. Mas enfim, o código pode ajudar outras pessoas também.
  21. Não vejo problema nisso, por que pelo que percebi o rapaizinho não saiu nem do 0% ainda, problema é se o rapaz aí pegar o código e nem tentar interpretar, o certo seria agora ele agradecer primeiramente o @Gw8 depois ele tentar entender o código e ir comentando linha por linha da parte que ele entendeu, e a que a ele não entendeu ele poste aqui para ser ajudado a entender. Pelo menos eu penso assim, e claro agradecer você também por ter ajudado deis do principio.
  22. Claro, peço desculpas pela minha atitude, dificilmente faço isso, mas ele me chamou muito atenção, encerrei por aqui.
  23. Era deste post mesmo que eu estava me referindo. Talvez eu possa te indicar um oculista, até por que em nem um momento eu citei '' tópico '' e sim '' post '', peço que VOCÊ preste mais a atenção antes de sair '' cagando pelos dedos '' usando seu próprio termo ... e sim, tenho sim, você é muito arrogantezinho pro meu gosto... deveria olhar para si próprio.
  24. Enfim ja havia um post muito semelhante a esse que o colega @Lord Henry fez de qualquer forma ótimo tutorial...
×
×
  • Create New...