[DUDA] Detectar vehнculo cercano
#1

Buenas, tengo una duda, estoy haciendo un sistema para cerrar vehнculos y demбs, pero tengo un problema, їcуmo podrнa detectar un vehнculo cercano?

No tengo idea de como empezar con esa funciуn ahora mismo, mirare funciones de samp a ver...
Reply
#2

Primero, debes colocar un if que detecte si el vehнculo es de esa persona, y luego, йsto:

pawn Код:
GetVehiclePos(keycar, x, y, z);
                    if(PlayerToPoint(20.0,playerid, x, y, z))
Donde dice 20, lo puedes modificar por la distancia que tъ quieras.
Reply
#3

pawn Код:
COMMAND:comando(playerid, params[])
{
    new counter, result;
    for(new i; i != MAX_VEHICLES; i++)
    {
        new dist = CheckPlayerDistanceToVehicle(3.5, playerid, i);
        if(dist)
        {
            result = i;
            counter++;
        }
    }
    if(counter == 0) return Message(playerid, -1, "Ningъn vehнculo cerca de usted.");
    if(counter > 1) return Message(playerid, -1, "Encontrado mбs de un vehнculo acercate bien.");
   
    //aca tu funcion
    return 1;
}

//[*] Utiliza result como  la variable para detectar el id del vehiculo   Ejemplo: if(variable[result] == 1)
Para definir CheckPlayerDistanceToVehicle, colocalo abajo de todo del script.
pawn Код:
stock CheckPlayerDistanceToVehicle(Float:radi, playerid, vehicleid)
{
    if(IsPlayerConnected(playerid))
    {
        new Float:PX,Float:PY,Float:PZ,Float:X,Float:Y,Float:Z;
        GetPlayerPos(playerid,PX,PY,PZ);
        GetVehiclePos(vehicleid, X,Y,Z);
        new Float:Distance = (X-PX)*(X-PX)+(Y-PY)*(Y-PY)+(Z-PZ)*(Z-PZ);
        if(Distance <= radi*radi)
        {
            return 1;
        }
    }
    return 0;
}
Reply


Forum Jump:


Users browsing this thread: 1 Guest(s)