[Ajuda] Me ajudem a estudar essa linha!
#1

PHP код:
stock GetPlayerSpeed(playeridbool:kmh true)
{
    new
        
Float:xx,
        
Float:yy,
        
Float:zz,
        
Float:pSpeed;
    if(
IsPlayerInAnyVehicle(playerid))
    {
        
GetVehicleVelocity(GetPlayerVehicleID(playerid), xxyyzz);
    }
    else
    {
        
GetPlayerVelocity(playeridxxyyzz);
    }
    
pSpeed floatsqroot((xx xx) + (yy yy) + (zz zz)); // preciso estudar essa linha
    
return kmh floatround((pSpeed 165.12)) : floatround((pSpeed 103.9)); // e essa

ambas linhas eu nгo compreendo e desejava aprender, essa parte foi tirada do sistema de radar de uma antiga GM!
Poderiam ajudar?
Reply
#2

Isso sгo cбlculos trigonomйtricos.

https://sampwiki.blast.hk/wiki/Floatsqroot
https://sampwiki.blast.hk/wiki/Floatround
https://en.wikipedia.org/wiki/Trigonometry

Na wikipйdia do samp, vocк encontra as respostas.
Reply
#3

Obrigado, mas pq 165.12, 103.9? Pq esses valores?
Reply
#4

Quote:
Originally Posted by vitinhosamp
Посмотреть сообщение
Obrigado, mas pq 165.12, 103.9? Pq esses valores?
Sгo os cбlculos para obter a velocidade, em km/h.
Olhe este tуpico.

Como nгo criei esta funзгo, nгo posso responder quais os cбlculos que o autor fez para se chegar ao resultado e nem o mйtodo.
Reply
#5

floatpower tira a raiz quadrada, no primeiro floatpower tira a raiz quadrada de x, logo depois y, e depois do Z, em seguida junta tudo e multiplica por 103.9, so estiver usando isso para um velocimetro estб "errado", digo, tem outro modo melhor de fazer e mais preciso
Reply
#6

Quote:
Originally Posted by GSantana
Посмотреть сообщение
* floatpower * tira a raiz quadrada, no primeiro floatpower tira a raiz quadrada de x, logo depois y, e depois do Z, em seguida junta tudo e multiplica por 103.9, so estiver usando isso para um velocimetro estб "errado", digo, tem outro modo melhor de fazer e mais preciso
Sу uma correзгo: Й floatsqroot.
Reply
#7

Quote:
Originally Posted by ipsLuan
Посмотреть сообщение
Sу uma correзгo: Й floatsqroot.
erro meu kkk, geralmente para velocimetros se usa floatpower, acabei nem vendo muito bem, apenas vi o comeзo a jб entendi para oque servia, um equivoco meu
Reply
#8

Poderiam me passar a forma mais precisa de fazer, estou usando para um sistema de radar que estou fazendo, mas estou implementando o sistema de velocнmetro tbm, poderiam me passar?
Reply
#9

Quote:
Originally Posted by vitinhosamp
Посмотреть сообщение
Poderiam me passar a forma mais precisa de fazer, estou usando para um sistema de radar que estou fazendo, mas estou implementando o sistema de velocнmetro tbm, poderiam me passar?
PHP код:
stock GetPlayerSpeed(playerid)
{
    new 
Float:ST[4];
    if(
IsPlayerInAnyVehicle(playerid))
    
GetVehicleVelocity(GetPlayerVehicleID(playerid),ST[0],ST[1],ST[2]);
    else 
GetPlayerVelocity(playerid,ST[0],ST[1],ST[2]);
    
ST[3] = floatsqroot(floatpower(floatabs(ST[0]), 2.0) + floatpower(floatabs(ST[1]), 2.0) + floatpower(floatabs(ST[2]), 2.0)) * 118.3;
    return 
floatround(ST[3]);

ai й sу tu usar um timer para verificar a velocidade do player tipo


PHP код:
if(ST[3] >= 110)
{
//oque vai acontecer aqui 

Reply
#10

Quote:
Originally Posted by GSantana
Посмотреть сообщение
PHP код:
stock GetPlayerSpeed(playerid)
{
    new 
Float:ST[4];
    if(
IsPlayerInAnyVehicle(playerid))
    
GetVehicleVelocity(GetPlayerVehicleID(playerid),ST[0],ST[1],ST[2]);
    else 
GetPlayerVelocity(playerid,ST[0],ST[1],ST[2]);
    
ST[3] = floatsqroot(floatpower(floatabs(ST[0]), 2.0) + floatpower(floatabs(ST[1]), 2.0) + floatpower(floatabs(ST[2]), 2.0)) * 118.3;
    return 
floatround(ST[3]);

ai й sу tu usar um timer para verificar a velocidade do player tipo


PHP код:
if(ST[3] >= 110)
{
//oque vai acontecer aqui 

Eu so nгo entendo pq *118,3, alguem me explica?
Reply


Forum Jump:


Users browsing this thread: 4 Guest(s)