[Ayuda] Como Hacer Eso... GetVehicleVelocity...
#1

Buenas, com o puedo hacer para comprobar la velocidad del vehiculo con GetVehicleVelocity, y que cuando el vehiculo tenga la velocidad ejemplo: 120 le de una funcion, etc.

Yo hice esto pero no va:

Код:
new Float:Get[4];
new Cant = GetVehicleVelocity(GetPlayerVehicleID(playerid),Get[0], Get[1], Get[2]);
if(Cant >= Cant*120)  { Funcion }
Alguien me ayuda?.
Reply
#2

Fijate si te sirve:
pawn Код:
new Float: KMH;
new Float: Xa;
new Float: Ya;
new Float: Za;
new Float: Xb[MAX_PLAYERS];
new Float: Yb[MAX_PLAYERS];
new Float: Zb[MAX_PLAYERS];
pawn Код:
GetPlayerPos(i,Xa,Ya,Za);
            KMH = floatsqroot(floatpower(floatabs(floatsub(Xa,Xb[i])),2)+floatpower(floatabs(floatsub(Ya,Yb[i])),2)+floatpower(floatabs(floatsub(Za,Zb[i])),2));
            KMH *= 10.2;
Reply
#3

pawn Код:
stock GetPlayerVehicleSpeed(playerid){
    new vehicleid = GetPlayerVehicleID(playerid);
    if(!vehicleid) return -1;
    new Float:speed_x, Float:speed_y, Float:speed_z;
    GetVehicleVelocity(vehicleid,speed_x,speed_y,speed_z);
    return floatround(floatsqroot(((speed_x*speed_x)+(speed_y*speed_y))+(speed_z*speed_z))*136.666667,floatround_round);
}
Podes usarla en OnPlayerUpdate para un textdraw.
Reply
#4

Quote:
Originally Posted by Kurama
Посмотреть сообщение
pawn Код:
stock GetPlayerVehicleSpeed(playerid){
    new vehicleid = GetPlayerVehicleID(playerid);
    if(!vehicleid) return -1;
    new Float:speed_x, Float:speed_y, Float:speed_z;
    GetVehicleVelocity(vehicleid,speed_x,speed_y,speed_z);
    return floatround(floatsqroot(((speed_x*speed_x)+(speed_y*speed_y))+(speed_z*speed_z))*136.666667,floatround_round);
}
Podes usarla en OnPlayerUpdate para un textdraw.
eso lo que estaba haciendo al l o primero pero no me detecta , es para un velocimetro y son numeros en un texdraw, y yo quiero que cuando llegue a pore ejemplo a 120 de velocidad le muestre el texdraw que dice 120.

Como deberia poner el if en OnPlayerUpdate? debe esta mal puesto.
Reply
#5

Yo hago esto:
pawn Код:
new Activar[MAX_PLAYERS]; // si esta en 1 el velocimetro se activa, en 0 se desactiva
el textdraw
pawn Код:
for(new i=0; i<GetMaxPlayers(); i++)
    {
        Activar[i] = 1;// lo activa
        Velocimetro[i] = TextDrawCreate(450.000000, 429.000000, " ");
        TextDrawAlignment(Velocimetro[i],0);
        TextDrawBackgroundColor(Velocimetro[i],0x000000ff);
        TextDrawFont(Velocimetro[i],0);
        TextDrawLetterSize(Velocimetro[i],0.48000,0.90000);
        TextDrawSetProportional(Velocimetro[i],1);
        TextDrawSetShadow(Velocimetro[i],0);
        TextDrawSetOutline(Velocimetro[i],1);
        TextDrawColor(Velocimetro[i],0xFFFFFFAA);
pawn Код:
forward Velo();
pawn Код:
public Velo()
{
    for(new i=0; i<GetMaxPlayers(); i++)
    {
        if(IsPlayerConnected(i) && IsPlayerInAnyVehicle(i) && Gosterge[i] == 1)
        {

            new HGG[265]; new Float:Can;
            GetVehicleHealth(GetPlayerVehicleID(i), Can);
            GetPlayerPos(i,Xa,Ya,Za);
            KMH =         floatsqroot(floatpower(floatabs(floatsub(Xa,Xb[i])),2)+floatpower(floatabs(floatsub(Ya,Yb[i])),2)+floatpower(floatabs(floatsub(Za,Zb[i])),2));
            KMH *= 10.2;
            format(HGG, sizeof(HGG), "~h~Velocidad: ~w~%0.0f km/h",KMH);
            TextDrawSetString(Text:Velocimetro[i], HGG);// el nombre del velocimetro
                        TextDrawShowForPlayer(i, Velocimetro[i]);

        }   GetPlayerPos(i,Xb[i],Yb[i],Zb[i]), Xb[i] = Xa; Yb[i] = Ya; Zb[i] = Za;
    }
}
pawn Код:
new HGS;
pawn Код:
public OnGameModeInit //o filterscriptinit
{
HGS = SetTimer("Velo",300,1); // si pones que loopee mas rapido te va a dar velocidad mas presisa
}
Reply
#6

Hay un pequeсo error xD:
pawn Код:
forward velo();
public Velo()// Mirб la letra v, una es mayъscula y la otra es minъscula.
//Lo correcto serнa
forward Velo();
Lo demбs es cuestiуn de la fуrmula, hay varias fуrmulas para obtener KM/H y MPH que son mбs precisas.
Reply
#7

Es para que vea la forma de mostrarlo -.- la formula puede poner cualquiera, casi ni te das cuenta la diferencia, a mi esa me funciona.
Reply


Forum Jump:


Users browsing this thread: 1 Guest(s)