-
Posts
4,008 -
Joined
-
Last visited
-
Days Won
184
Everything posted by Lord Henry
-
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.
-
local level = getElementData (thePlayer, "exp") setElementData (thePlayer, "exp", level + 10) Tipo isso.
-
Faz por setElementData. Ela funciona both-side.
-
@VitorAgertt favor não reviver tópicos antigos.
-
Como eu disse, setElementData. Dai quando for colidir, verifica essa data no jogador.
-
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.
-
Tem vários mods disso na internet. Só procurar por "Luzes Polícia", "Luzes Alerta" ou "Luzes viaturas"
-
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.
-
Esse Ctrl+C e Ctrl+V todo aí daria pra fazer com 1 função só.
-
Supondo que vc já saiba lógica de programação e entenda inglês. isObjectInACLGroup outputChatBox getElementData getPlayerFromPartialName addCommandHandler Boa sorte.
-
ajuda AJUDA O MAIS RAPIDO POSSIVEL
Lord Henry replied to CarLoSmAnnOel's topic in Programação em Lua
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 -
Solicitações de Staffs/Scripters/Mappers devem ser feitos na seção OffTopic.
-
Perdas de pacotes MTA
Lord Henry replied to DemK's topic in Ajudas relacionadas ao MTA:SA (Cliente/Servidor)
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. -
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)
-
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
-
setPlayerWantedLevel takePlayerMoney onClientGUIClick - Supondo que seja clicando em um botão do painel GUI.
-
Hum... Declarei depois. Na linha seguinte.
-
Mesma dúvida que esse cara: Parecem até a mesma pessoa. Bem suspeito isso ae.
-
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.
-
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.
-
Não entendi oq vc quis dizer.
-
onPlayerWasted setAccountData getAccountData onPlayerLogin onPlayerLogout
