![]() |
[Ajuda] Congelar veículos - Versão de Impressão +- Portal SAMP (https://portalsamp.com) +-- Fórum: SA-MP (https://portalsamp.com/forumdisplay.php?fid=5) +--- Fórum: Área de suporte (https://portalsamp.com/forumdisplay.php?fid=6) +--- Tópico: [Ajuda] Congelar veículos (/showthread.php?tid=1761) |
Congelar veículos - enige - 24/10/2021 Como posso congelar veículos spawnados com AddStaticVehicleEx? "congelar" quero dizer impedir que os veículos sejam arrastados por jogadores, ou seja, o veículo continua na mesma posição até que alguém entre no veículo. Se alguém puder ajudar, fico grato RE: Congelar veículos - ipsLuan - 24/10/2021 Como se fosse um freio de mão? Bom... vamos pela lógica! Percorra um loop a cada 1 segundo verificando todos os veículos criados pelo servidor. Após fazer isso, verifica se o veículo percorrido está ocupado com algum passageiro ou motorista. 1. Se estiver desocupado: Verificar se a posição atual é a mesma posição em que ele estava quando criou o veículo. 2. Se a posição estiver diferente da posição quando criou: Faz o respawn do veículo para o seu local de criação. Observações: Você precisa criar uma variável com MAX_VEHICLES e colocar a posição de criação do veículo. Ex: new Float:_Pos[MAX_VEHICLES][3] e salvar o X, Y, Z. Para pegar a posição atual do veículo, use GetVehiclePos. Para fazer o respawn do veículo, use SetVehicleToRespawn. No mais, acredito que com apenas esses critérios você consegue fazer um sistema eficaz. RE: Congelar veículos - xbruno1000x - 25/10/2021 Para você impedir um veículo vazio de ser movido, deve utilizar a função nativa OnUnoccupiedVehicleUpdate. Passam por essa callback todos os updates em veículos vazios. https://open.mp/pt/docs/scripting/callbacks/OnUnoccupiedVehicleUpdate RE: Congelar veículos - enige - 25/10/2021 Muito obrigado a todos, vou escrever o código! RE: Congelar veículos - enige - 25/10/2021 Obrigado novamente, usei a checagem do ipsLuan, porém ao invés do timer, usei a callback que o xbruno1000x mandou. Está funcionando perfeitamente, obrigado pessoal, +rep RE: Congelar veículos - xbruno1000x - 25/10/2021 (25/10/2021 22:35)enige Escreveu: Obrigado novamente, usei a checagem do ipsLuan, porém ao invés do timer, usei a callback que o xbruno1000x mandou. Está funcionando perfeitamente, obrigado pessoal, +rep Fico feliz por ter ajudado. Poucas pessoas lembram-se dessa callback pois é muito antiga (lançada no SA-MP 0.3c). Usando a variável nativa new_x, new_y e new_z, pode-se facilmente criar anti-cheaters e outras funções simplesmente comparando com a GetVehiclePos. Vale ressaltar que o GetVehiclePos nessa callback entrega as coordenadas do veículo antes do update, então não há possibilidade de bugar. |