detectar gente en el auto
#1

Hay alguna forma de detectar si hay jugadores dentro del auto al que estas subido? osea, si hay alguien de player_state_passenger en el auto que estas subido. Gracias
Reply
#2

esta funcion deberia funcionar bien:

pawn Код:
PlayerVehicleHasPassengers(playerid)
{
    if(!IsPlayerInAnyVehicle(playerid))return -1;
    if(GetPlayerState(playerid) != PLAYER_STATE_DRIVER)return -1;
    new count;
    for(new i, p=GetMaxPlayers(); i<p; i++)
        if(IsPlayerConnected(i) && playerid != i && IsPlayerInVehicle(i, GetPlayerVehicleID(playerid)))
            count++;
    if(count)return 1;
    return 0;
}
Reply
#3

Jaja el script no lo entendi mucho, pero eso es una funcion que hiciste? Osea, forward PlayerVehicleHasPassengers(playerid); y desp public PlayerHasPassengers(playerid) y el codigo que vos pusiste?
Reply
#4

Es una funcion, la colocas asi como esta en tu script.
Si el vehiculo del jugador tiene pasageros retorna 1, de lo contrario retorna 0. El valor -1 indica que el jugador no es el conductor del vehiculo o bien que no esta en un vehiculo.
La forma de uso es igual a cualquier otra funcion.
Reply
#5

The_Chaoz Creo que deverias darle un ejemplo con un cmd o algo del uso de tu codigo...
Reply
#6

Pero la usaria asi: if(PlayerVehicleHasPassengers(playerid)) ? podria saber quienes son los pasageros? osea, saber su faccion o job, etc. ? Gracias
Reply
#7

Quote:
Originally Posted by ValenRatti
Посмотреть сообщение
Pero la usaria asi: if(PlayerVehicleHasPassengers(playerid)) ? podria saber quienes son los pasageros? osea, saber su faccion o job, etc. ? Gracias
con una leve modificacion quedaria asi:
pawn Код:
PlayerVehicleHasPassengers(playerid, players[32])
{
    if(!IsPlayerInAnyVehicle(playerid))return -1;
    if(GetPlayerState(playerid) != PLAYER_STATE_DRIVER)return -1;
    new count;
    for(new i, p=GetMaxPlayers(); i<p; i++)
        if(IsPlayerConnected(i) && playerid != i && IsPlayerInVehicle(i, GetPlayerVehicleID(playerid))){
            count++;
            format(players, sizeof(players), "%s|%i", players, i);
        }
    if(count)return 1;
    return 0;
}
Ejemplo (uso): http://pastebin.com/gWbzy3LU
Reply
#8

Muchas gracias, eso era lo que necesitaba, solamente tengo que modificarlo a mi gusto, gracias x responder, pueden cerrar tema
Reply


Forum Jump:


Users browsing this thread: 1 Guest(s)