Jump to content

Lord Henry

Other Languages Moderators
  • Posts

    3,985
  • Joined

  • Last visited

  • Days Won

    181

Everything posted by Lord Henry

  1. function exitVehicle (thePlayer, seat, jacked) if (isVehicleLocked (source)) then outputChatBox ("The door is locked! You can't exit the vehicle!", thePlayer) cancelEvent() end end addEventHandler ("onVehicleStartExit", root, exitVehicle)
  2. setElementInterior e setElementDimension no pickup.
  3. Diminuindo a posição Z dele.
  4. Faça a parte de setar o interior e dimensão no script server-side.
  5. O problema está na table. Você fez uma table para funcionar com somente 1 ped, dessa forma não precisaria de loop nenhum. PedLoja = {0, 1398.5822753906, -1630.8250732422, 14.102245330811, 88} -- id, x, y, z, rotZ (não aceita outros Peds, pois precisaria de uma sub-table. PedLoja = { {0, 1398.5822753906, -1630.8250732422, 14.102245330811, 88}, -- Agora sim, cada ped separado em uma sub-table. {0, 1398.5822753906, -1630.8250732422, 14.102245330811, 88} } -- Se usar a primeira tabela, o loop vai rodar 5 vezes. Na primeira vez, v = 0, na segunda vez, v = 1398.5822... e assim por diante. for i, v in ipairs(PedLoja) do ped = createPed(v[1], v[2], v[3], v[4], v[5]) -- erro, não é possível indexar o número 0[1]. end -- Se usar a segunda tabela, o loop vai rodar duas vezes, pois no exemplo a tabela tem 2 itens. Sendo cada item uma sub-table. for i, v in ipairs(PedLoja) do -- Na primeira vez, v = {0, 1398.5822753906, -1630.82507324422, 14.102245330811, 88} ped = createPed(v[1], v[2], v[3], v[4], v[5]) -- Agora sim, v[1] = 0. Pois é o primeiro item da sub-table v, v[2] = 1398.5822753906, e assim por diante. end
  6. Na próxima vez, poste na seção de Programação em Lua. Veja as regras aqui:
  7. Estranho... era pra ter funcionado desta forma.
  8. Este script só funciona client-side. Você precisa especificar o tipo do script como "client" no meta.xml
  9. Trancar veículo por fora: setVehicleLocked Trancar veículo por dentro: use cancelEvent() no evento onVehicleStartExit.
  10. Eu faria com imagem mesmo e animaria a posição da imagem com interpolateBetween.
  11. Mostre o que você já tentou fazer. Utilize o botão <> do fórum para postar o código.
  12. @PedroFaria seu pedido foi recusado. Infelizmente você não atende aos critérios necessários para ser da Staff do MTA. Entre os requisitos, destacamos: Conhecer todas as regras do fórum. (falhou) O mínimo que todo usuário deveria fazer. Consideramos que você não conhece as regras do fórum, pois criou o tópico no local incorreto e na linguagem incorreta daquela seção. A propósito, você pode ver as regras aqui. Ser ativo no fórum/discord do MTA (falhou/falhou) Você acabou de criar sua conta aqui no fórum, é necessário ser ativo no fórum, ajudar os usuários, ter um número razoável de mensagens que ajudaram os usuários. Sua conta não é membro no Discord do MTA. Ter habilidade de MTA Scripting (falhou) É necessário saber programar resources para o MTA no nível intermediário ou avançado, assim você tem capacidade para ajudar nas dúvidas de scripting dos outros usuários, responder dúvidas sobre os resources, etc. Ter habilidade para corrigir bugs do MTA (OK) É necessário saber resolver bugs de crashes e fechamentos inesperados do programa para poder ajudar os usuários a resolvê-los. Saber falar em inglês (falhou) Inglês intermediário ou avançado é necessário para manter a comunicação com o resto da Staff. Como vc solicitou em português numa seção inglesa, consideramos que você não sabe inglês. Ter alta habilidade de comunicação. (falhou) Analisamos a forma com que você se comunica de maneira escrita (seu tópico) e verbal (seu canal) e ela pode não ser compreendida por todos os usuários, principalmente por aqueles que utilizam linguagem mais culta. Além de diversos erros gramaticais na escrita. Para ser moderador é necessário linguagem formal enquanto estiver atuando como moderador. Critérios opcionais, não são necessários para se tornar moderador, mas fazem de você um moderador mais capaz. Ter habilidade de Modelagem 3D para GTA SA Saber modelar objetos, convertê-los para o formato que o MTA entende e saber como instalá-los num servidor de MTA. Para poder ajudar os usuários com dúvidas sobre modelagem. Ter habilidade de animação para GTA SA O mesmo que o critério acima. Ter habilidade com Host e Servidores. Saber criar um servidor de MTA tanto público quanto local e instalar resources nele. Ter habilidade com Banco de dados. Saber criar e gerenciar bancos de dados no MTA, tanto internal.db quanto registry.db e custom.db. Em SQLite ou MySQL. Ter habilidade em programação de Shaders. Utilizado em scripting no MTA. Os seguintes critérios não puderam ser analisados: É necessário ter inteligência emocional. Isto é, não se deixar levar por emoções e agir de maneira lógica. Se estiver ocorrendo algum tipo de conflito, o moderador precisa saber resolver sem brigar com os usuários. Quando algum usuário tenta provocar um moderador, ele deve saber agir de maneira séria sem entrar na provocação e sem abusar ao dar punições severas demais. Também entra neste critério, a capacidade de liderança. Outra coisa a ser considerada é que um moderador precisa ser querido em sua comunidade, isto é, os usuários gostam do trabalho de moderação dele. Ser uma pessoa que ajuda a todos sem ficar julgando ou se achando melhor que os outros. As pessoas não gostam de pedir ajuda para pessoas arrogantes ou desumildes. Vale lembrar que os moderadores não mandam nos usuários, eles apenas citam as regras e pedem para os usuários segui-las. Espero que entenda os motivos acima listados. Um abraço.
  13. DxDrawImage3D usando a posição do localPlayer com getElementPosition. Obviamente vai precisar estar dentro de uma função com evento onClientRender.
  14. Obtenha a cor do marker com getMarkerColor e verifique se ela é vermelha logo após a condição do isElementWithinMarker. Se a cor for vermelha, manda o outro outputChatBox. Caso contrário, compra normalmente e aplica a cor vermelha no marker com setMarkerColor.
  15. A função não funciona pois source não existe. Em vez disso, faça client-side e verifique o localPlayer.
  16. Na próxima vez, poste na seção de Programação em Lua, pois se trata de uma dúvida relacionada a scripting e não ao servidor/cliente em si. E não fique postando o mesmo tópico em diferentes seções, isso é considerado spam. Quanto a sua dúvida, na linha 41, troque sound por sound1.
  17. Na próxima vez, poste na seção correta em Portuguese/Português >> Programação em Lua. Veja as regras aqui:
  18. Na próxima vez, poste na seção adequada em Portuguese/Português >> Programação em Lua. Veja as regras aqui:
  19. Na próxima vez, poste na seção adequada em Portuguese/Português >> Programação em Lua. Veja as regras aqui:
  20. Ou troque o evento "onPlayerVehicleEnter" por "onVehicleEnter". Dai o primeiro parâmetro segue sendo o jogador.
  21. Consumo de banda não tem nada a ver com o tamanho do servidor. Você pode ter um servidor com pouquíssimos mods pra baixar e ter um consumo absurdo de banda por causa de mods mal-feitos. Da mesma forma, vc pode ter um servidor com gigas de download porém com pouco consumo de banda, uma vez que todos os mods foram feitos de maneira otimizada. Download compactado não influencia no consumo de banda do servidor. Só faz o jogador terminar o download dos mods mais rápido.
  22. local limite = 200 -- Velocidade máxima com 5 vagões. addEventHandler ("onClientVehicleEnter", root, function (thePlayer, seat) if (thePlayer == localPlayer) then -- Se o jogador que entrou no veículo for o localPlayer, então: if (getElementModel (source) == 449) and (seat == 0) then -- Se o jogador entrou como motorista em um Bonde, então: addEventHandler ("onClientPreRender", root, speedCheck) -- Inicia a verificação de velocidade no início de cada frame. end end end) function speedCheck () if (getVehicleType (getPedOccupiedVehicle(localPlayer)) == "Train" ) then -- Se o jogador local está em um veículo do tipo Train, então: local speed = getTrainSpeed (getPedOccupiedVehicle(localPlayer)) -- Obtém a velocidade atual do trem. OBS: Sempre será positiva, independente da direção do trem na pista ou se está indo de ré. dxDrawText (speed, 0, 0) -- Apenas para testes. Mostra a speed atual acima do chat. Bem no canto da tela. if (getElementData (getPedOccupiedVehicle(localPlayer), "wagons") >= 5) then -- Não sei como vc está fazendo para verificar quantos vagões o trem possui, usei elementData como exemplo. if (getPedControlState (localPlayer, "accelerate")) then -- Se o jogador está acelerando o trem, então: if (speed >= limite) then -- Se a velocidade do trem for maior ou igual a 200 km/h, então: -- OBS: Setar velocidade positiva fará o trem ir no sentido horário da pista e não necessariamente pra frente. Por isso fiz a verificação a seguir. if (getTrainDirection (getPedOccupiedVehicle(localPlayer))) then -- Se o trem está apontado no sentido horário da pista, então: setTrainSpeed (getPedOccupiedVehicle(localPlayer), limite) -- Seta 200 km/h na velocidade do trem, impedindo que o trem fique mais rápido do que isso. else -- Se o trem está apontado no sentido anti-horário, então: setTrainSpeed (getPedOccupiedVehicle(localPlayer), limite * -1) -- Seta -200 km/h na velocidade do trem, pois ele já estava indo no sentido anti-horário. end end end end end end addEventHandler ("onClientVehicleExit", root, function (thePlayer, seat) if (thePlayer == localPlayer) then -- Se o jogador que saiu do veículo for o localPlayer, então: if (getElementModel (source) == 449) and (seat == 0) then -- Se o jogador saiu como motorista de um Bonde, então: removeEventHandler ("onClientPreRender", root, speedCheck) -- Cancela a verificação de velocidade no início de cada frame. end end end) -- OBS: Ainda é possível burlar o limite andando de ré. Mas dai essa parte é com vc. Obs: Não testei, fiz de cabeça. Aguardo seu feedback.
×
×
  • Create New...