(Ayuda)Detectar si el modelo del vehiculo esta cerca
#1

Buenas, estoy creando un comando para cargar un objeto en un vehiculo, la cosa es, quiero que este comando logre detectar si el vehiculo es un modelo especifico. Por ejemplo, si el vehiculo no es el modelo 443, que te diga, no es una camioneta de sapd. Todo esto debe ser hecho fuera del vehiculo, porque no puedes entrar al vehiculo con el objeto en la mano, espero que me puedan ayudar. gracias por tomarse el tiempo de leer
Reply
#2

Aver si te sirve esto:
pawn Код:
for(new i = 1; i < MAX_VEHICLES; i ++)
{
    new Float:x, Float:y, Float:z;
    GetVehiclePos(i, x, y, z);

    if(IsPlayerInRangeOfPoint(playerid, 10.0, x, y, z))
    {
        if(GetVehicleModel(i) == 443)
        {
            // codigo...
        }
    }
}
Reply
#3

Perdуn, escribн el mensaje justo cuando Sick lo estaba enviando. Aprovechando, estб en una funciуn.

PHP код:
native IsValidVehicle(vehicleid);
// Ej. ModelVehicleIsNear(playerid, 522).
stock ModelVehicleIsNear(playeridmodelFloat:radius 5.0)
{
    new
        
Float:vPos[3]
        ;
    
    if(!
IsPlayerConnected(playerid))
        return 
0;
    for(new 
1!= MAX_VEHICLESv++)
    {
        if(!
IsValidVehicle(v))
            continue;
        
GetVehiclePos(vvPos[0], vPos[1], vPos[2]);
        if(!
IsPlayerInRangeOfPoint(playeridradiusvPos[0], vPos[1], vPos[2]))
            continue;
            
        if(
GetVehicleModel(v) != model)
            continue;
            
        return 
1;
    }
    return 
0;

PHP код:
public OnPlayerCommandText(playeridcmdtext[])
{
    if (
strcmp("/nrg_cerca"cmdtexttrue10) == 0)
    {
        if(!
ModelVehicleIsNear(playerid5226.0))
            return 
SendClientMessage(playerid, -1"No hay una NRG-500 cerca en 6 metros!");
        
SendClientMessage(playerid, -1"Sн hay una NRG-500 cerca 6 metros!");
        return 
1;
    }
    return 
0;

Reply
#4

PHP код:
new Taxi;
public 
OnGameModeInit( )
{
    
// Agregar un taxi al juego con un tiempo de 60 segundos de reaparecer
    
Taxi CreateVehicle(4202109.17631503.045332.288782.28730160);
    return 
1;
}

new 
Float:pos[3], rango 15;
GetVehiclePos(Taxi,pos[0],pos[1],pos[2]);
if(
IsPlayerInRangeOfPoint(playerid,rango,pos[0],pos[1],pos[2])) printf("Esta cerca del vehiculo modelo # %i",GetVehicleModel(Taxi));
else print(
"No esta cerca de un taxi modelo 420"); 
Si hay un error disculpa.
Reply
#5

Quote:
Originally Posted by _Zume
Посмотреть сообщение
Perdуn, escribн el mensaje justo cuando Sick lo estaba enviando. Aprovechando, estб en una funciуn.

PHP код:
native IsValidVehicle(vehicleid);
// Ej. ModelVehicleIsNear(playerid, 522).
stock ModelVehicleIsNear(playeridmodelFloat:radius 5.0)
{
    new
        
Float:vPos[3]
        ;
    
    if(!
IsPlayerConnected(playerid))
        return 
0;
    for(new 
v!= MAX_VEHICLESv++)
    {
        if(!
IsValidVehicle(v))
            continue;
        
GetVehiclePos(vvPos[0], vPos[1], vPos[2]);
        if(!
IsPlayerInRangeOfPoint(playeridradiusvPos[0], vPos[1], vPos[2]))
            continue;
            
        if(
GetVehicleModel(v) != model)
            continue;
            
        return 
1;
    }
    return 
0;

PHP код:
public OnPlayerCommandText(playeridcmdtext[])
{
    if (
strcmp("/nrg_cerca"cmdtexttrue10) == 0)
    {
        if(!
ModelVehicleIsNear(playerid5226.0))
            return 
SendClientMessage(playerid, -1"No hay una NRG-500 cerca en 6 metros!");
        
SendClientMessage(playerid, -1"Sн hay una NRG-500 cerca 6 metros!");
        return 
1;
    }
    return 
0;

Solo una nota, los IDS de los vehiculos empiezan desde 1 y estas empezando con 0.
Reply


Forum Jump:


Users browsing this thread: 1 Guest(s)