[Ayuda]Car Speed Checker
#1

Hola Buenas,

intento hacer speed checker en onplayerupdate y no me sale. quero hacer por ejemplo:

pawn Код:
if(PlayerToPoint(50.0,playerid,-1786.9025,1207.7767,25.1250))
si jugador esta en esta posicion y velocidad es mas que 110 km/h quero que escriva:

pawn Код:
SendClientMessage(playerid, COLOR_WHITE,"Max Velocidad es 110 km/h en esta calle");
Reply
#2

pawn Код:
public OnPlayerUpdate(playerid)
{
    static speed;
    speed = GetPlayerVehicleSpeed(playerid);
    if(IsPlayerInRangeOfPoint(playerid,50.0,-1786.9025,1207.7767,25.1250) && speed == 110)
    {
         SendClientMessage(playerid, COLOR_WHITE,"Max Velocidad es 110 km/h en esta calle");
    }
    return 1;
}
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);
}
Reply
#3

Kurama

Gracias Man funciona pero ahora hay otra problema, envia el texto muchas veces :S casi 5-6 veces.
Reply
#4

Creб una variable que checkee si el jugador ya fue avisado o no.

pawn Код:
new bool:Avisado[MAX_PLAYERS];


pawn Код:
public OnPlayerUpdate(playerid)
{
    static speed;
    speed = GetPlayerVehicleSpeed(playerid);
    if(IsPlayerInRangeOfPoint(playerid,50.0,-1786.9025,1207.7767,25.1250) && speed == 110)
    {
         if(Avisado[playerid] == false)
         {
             SendClientMessage(playerid, COLOR_WHITE,"Max Velocidad es 110 km/h en esta calle");
             Avisado[playerid] = true;
         }
    }
    return 1;
}
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);
}

Y despuйs podйs setear la variable denuevo en false cuando salga del lugar o en un timer o cuando quieras con este cуdigo:


pawn Код:
Avisado[playerid] = false;

Espero que te sirva, saludos.
Reply
#5

Gracias, ya areglй la problema
Reply


Forum Jump:


Users browsing this thread: 2 Guest(s)