SA-MP Forums Archive
[Ajuda] Contagem em milhas - Printable Version

+- SA-MP Forums Archive (https://sampforum.blast.hk)
+-- Forum: Non-English (https://sampforum.blast.hk/forumdisplay.php?fid=9)
+--- Forum: Languages (https://sampforum.blast.hk/forumdisplay.php?fid=33)
+---- Forum: Português/Portuguese (https://sampforum.blast.hk/forumdisplay.php?fid=34)
+---- Thread: [Ajuda] Contagem em milhas (/showthread.php?tid=600406)



Contagem em milhas - DarthVeider - 07.02.2016

Bom galera eu estou fazendo meu velocimetro com velocidade e distвncia percorrida em milhas, mas estб acontecendo simplesmente isso com a distвncia percorrida

https://www.youtube.com/watch?v=sJfSSWy8Nwc

como vocкs podem ver o valor nгo sai de "0", eu ACHO que nгo й o valor que coloquei na linha de cуdigo que geta o valor mas mesmo assim ta ai a linha do cуdigo

pawn Код:
GetVehicleVelocity(vehicle, PosX, PosY, PosZ);
MPH[vehicle] += (floatround(floatmul((floatmul(floatsqroot(floatadd(floatadd(floatpower(PosX, 2), floatpower(PosY, 2)),  floatpower(PosZ, 2))), 170.0) * 1.609344),1000)) / 3600);
espero que possam me ajudar, e desde jб agradeзo


Re: Contagem em milhas - rjjj - 09.02.2016

Vocк pode otimizar o seu cуdigo com esta funзгo padrгo existente jб hб algum tempo :



https://sampwiki.blast.hk/wiki/VectorSize



Bem, para conseguir precisamente a distвncia percorrida a partir da velocidade vocк teria que usar um algoritmo de integraзгo numйrica:



https://en.wikipedia.org/wiki/Numerical_integration



Basicamente, o sistema consistiria em obter muitos valores de velocidade em vбrios pequenos intervalos de tempo e a partir deles calcular precisamente a distвncia percorrida em determinado tempo decorrido .



Por exemplo, se o seu velocнmetro fosse atualizado a cada 1 s, vocк poderia coletar valores de velocidade a cada 10 ms com um timer e, ao completar 1000 ms (1 s), aplicar uma integraзгo numйrica de 0 ms a 1000 ms nos valores de velocidade para conseguir o acrйscimo de distвncia em 1 s.



Depois vocк apenas teria que, a cada 1 s de atualizaзгo do velocнmetro, acumular em uma variбvel os acrйscimos de distвncia a cada 1 s para construir pouco a pouco um valor de distвncia total percorrida e exibн-lo para o jogador.



Espero ter ajudado .