SA-MP Forums Archive
(Ayuda)Detectar si el modelo del vehiculo esta cerca - Printable Version

+- SA-MP Forums Archive (https://sampforum.blast.hk)
+-- Forum: Non-English (https://sampforum.blast.hk/forumdisplay.php?fid=9)
+--- Forum: Languages (https://sampforum.blast.hk/forumdisplay.php?fid=33)
+---- Forum: Español/Spanish (https://sampforum.blast.hk/forumdisplay.php?fid=29)
+---- Thread: (Ayuda)Detectar si el modelo del vehiculo esta cerca (/showthread.php?tid=568121)



(Ayuda)Detectar si el modelo del vehiculo esta cerca - iimma - 19.03.2015

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


Re: (Ayuda)Detectar si el modelo del vehiculo esta cerca - SickAttack - 19.03.2015

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...
        }
    }
}



Respuesta: (Ayuda)Detectar si el modelo del vehiculo esta cerca - Zume - 19.03.2015

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;




Respuesta: (Ayuda)Detectar si el modelo del vehiculo esta cerca - jotajeda - 19.03.2015

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.


Re: Respuesta: (Ayuda)Detectar si el modelo del vehiculo esta cerca - SickAttack - 19.03.2015

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.