[Ajuda] Como detectar quando dois veнculos se chocam?
#1

Enfim eu ate consegui fazer um sistema que detecta se o veнculo colidiu com alguma coisa pelo GetVehicleHealth e tals

Porйm supondo que dois player se choquem, como obter o ID seja dos veнculos ou dos players que se chocaram.
Tem alguma funзгo que detecte?
Qualquer informaзгo a respeito e bem vinda!
Reply
#2

De modo preciso, й muito dificil, podem ser feitas varias gambiarras diferentes, mas todas tem algum problema!
Getvehiclehealth* й um metodo meio ruim, pois o veiculo podem perder HP por varios motivos alem de colisгo (e sу funcionaria com os veiculos desocupados)

O Melhor mйtodo, perde muito memoria (й bom ter uma boa maquina), й criar um plugin , e usar as funзхes do colandreas, para verificar a colisгo "fantasma" dos veнculos!

Quote:
Getvehiclehealth->Corrido, n sei o q tava na cabeзa com getplayerhealth
Reply
#3

pawn Код:
public OnVehicleDamageStatusUpdate(vehicleid, playerid)
Uma possнvel soluзгo й verificar, atravйs dessa callback, se hб um veнculo nas proximidades da colisгo.
Reply
#4

Quote:
Originally Posted by RazorGuigo
Посмотреть сообщение
De modo preciso, й muito dificil, podem ser feitas varias gambiarras diferentes, mas todas tem algum problema!
Getplayerhealth й um metodo meio ruim, pois o veiculo podem perder HP por varios motivos alem de colisгo (e sу funcionaria com os veiculos desocupados)

O Melhor mйtodo, perde muito memoria (й bom ter uma boa maquina), й criar um plugin , e usar as funзхes do colandreas, para verificar a colisгo "fantasma" dos veнculos!
Sim, й uma boa ideia!
Vou verificar!

Quote:

Uma possнvel soluзгo й verificar, atravйs dessa callback, se hб um veнculo nas proximidades da colisгo.

Exatamente! Cheguei a fazer esse sistema, porem pra usar em um server(Mapa grande fica уtimo) porem pra Derby, acaba pegando sempre o mais proximo as vezes quem nem bateu...


Alguйm tem um tutorial de como criar plugin?
Qualquer um... eu me viro rsrsrs

Obrigado aos dois!
Reply
#5

Vocк pode usar a callback que o ViniBorn citou e matemбtica pra identificar o veнculo mais prуximo da parte danificada.
Reply
#6

bom os dois veнculos vгo sofrer dano com a colisгo vocк pode verificar se os dois que sofreram estгo prуximos um do outro
Reply
#7

Quote:
Originally Posted by Whoo
Посмотреть сообщение
bom os dois veнculos vгo sofrer dano com a colisгo vocк pode verificar se os dois que sofreram estгo prуximos um do outro
exato, poderia fazer um timer, apartir da colisгo de 1 veiculo
detecta todos os carros proximos, que tem a variavel Ex. "Bateu = true" por 1 segundo.
no final se encontrar pode printar atй a distancia, os carros que bateram, quem bateu primeiro. E atй o health que foi tirado do veiculo. Boa sorte!
Reply
#8

Se utilizar, a alteraзгo de vida do veiculo, como parte da identificaзгo do evento, terб muitos problemas,
pois o veiculo pode sofrer danos de mъltiplas formas (tiro, chamas, Colisхes, Socos) elem de que servidores com mais de 60 de ping, as batidas podem haver diferenзas sicronicas enormemente defasadas! (ex: para mim, tu bateu de moto no meu carro, e fui para longe, para vocк somente me ultrapassou)

Sobre o meu metodo: se este sistema й muito importante para seu server, e nгo pode abrir mгo, deverб estudar sobre criaзгo de plugins (necessбrio saber C++), pois Pawn й um linguagem, ruim para detecзгo de eventos (baixo desempenho),
seu objetivo й com um timer, fazer uma especie de escudo de detecзгo (utilizar o colandreas, para tentar prever uma colisгo)
Reply
#9

Na verdade ele nгo vai precisar de c++ nenhum se for usar o ColAndreas, sу vai necessitar de uma mбquina potente.
Reply
#10

Quote:
Originally Posted by AdrianoStk
Посмотреть сообщение
Exatamente! Cheguei a fazer esse sistema, porem pra usar em um server(Mapa grande fica уtimo) porem pra Derby, acaba pegando sempre o mais proximo as vezes quem nem bateu...
Que tal juntar o que eu disse ao tempo exato em que a batida ocorreu? Creio que isso acabaria com o problema
Reply


Forum Jump:


Users browsing this thread: 1 Guest(s)