[Duda] Ayuda
#1

Buenas amigos de Forum samp, hago este post por que quiero que me ayuden en algo, estoy con la continuacion del GameMode de 0 de Jeff y Zume, y en las facciones agregue autos, en lo cual reciйn me di cuenta del error, agregue lo siguiente.
En los new coloco lo siguiente

pawn Код:
new carropolicia[2];
pawn Код:
forward CochesPolicia(carid);
public CochesPolicia(carid)
{
    for(new i = 0; i < sizeof(carropolicia); i++)
    {
        if(carid == carropolicia[i])    return 1; // en esta linea el if no sale completo es if(carid == carropolicia[i])
    }
    return 0;
}
En OnGameModeInit
pawn Код:
carropoliciai[0] = AddStaticVehicleExP(596,2202.9690,21.4333,26.2109,89.1932,0,1,TIEMPO_SPAWN); // Auto Patrulla 1
    carropolicia[1] = AddStaticVehicleExP(596,2203.2393,18.6386,26.2104,87.9438,0,1,TIEMPO_SPAWN); // Auto Patrulla 2
En el public OnPlayerStateChange puse lo siguiente
pawn Код:
new newcar = GetPlayerVehicleID(playerid);
    if(CochesPolicia(newcar)){
            if(Informacion[playerid][pLider] == 1|| Informacion[playerid][pMiembro] == 1) { }
            else { RemovePlayerFromVehicle(playerid);
                   SendClientMessage(playerid, COLOR_GRAD2, "Usted no es policia.");}}
El problema es que cuando voy al auto ID 1 es el primer coche de policia me subo y si me quita osea se ejecuta el RemovePlayerFromVehicle, pero cuando voy al siguiente auto de policia , siendo civil si lo puedo manejar , no se por que pasa eso, por eso quiero que me despejen esa duda.
Gracias.!
PD: Me di cuenta que se corren las Ids con los autos en venta, como puedo ver eso?Ў
Reply
#2

assi

pawn Код:
new carropolicia[2];

// OnGameModeInit
carropolicia[0] = AddStaticVehicleExP(596,2202.9690,21.4333,26.2109,89.1932,0,1,TIEMPO_SPAWN); // Auto Patrulla 1
carropolicia[1] = AddStaticVehicleExP(596,2203.2393,18.6386,26.2104,87.9438,0,1,TIEMPO_SPAWN); // Auto Patrulla 2

                   
public OnPlayerStateChange(playerid, newstate, oldstate)
{
    if(newstate == PLAYER_STATE_DRIVER)
    {
        new vid = GetPlayerVehicleID(playerid);
        if(vid == carropolicia && Informacion[playerid][pLider] != 1 || Informacion[playerid][pMiembro] != 1)
        {
            RemovePlayerFromVehicle(playerid);
            SendClientMessage(playerid, COLOR_GRAD2, "Usted no es policia.");
        }
    }
    return 1;
}
Reply
#3

Quote:
Originally Posted by PT
Посмотреть сообщение
assi

pawn Код:
new carropolicia[2];

// OnGameModeInit
carropolicia[0] = AddStaticVehicleExP(596,2202.9690,21.4333,26.2109,89.1932,0,1,TIEMPO_SPAWN); // Auto Patrulla 1
carropolicia[1] = AddStaticVehicleExP(596,2203.2393,18.6386,26.2104,87.9438,0,1,TIEMPO_SPAWN); // Auto Patrulla 2

                   
public OnPlayerStateChange(playerid, newstate, oldstate)
{
    if(newstate == PLAYER_STATE_DRIVER)
    {
        new vid = GetPlayerVehicleID(playerid);
        if(vid == carropolicia && Informacion[playerid][pLider] != 1 || Informacion[playerid][pMiembro] != 1)
        {
            RemovePlayerFromVehicle(playerid);
            SendClientMessage(playerid, COLOR_GRAD2, "Usted no es policia.");
        }
    }
    return 1;
}
Me sale el siguiente error :
Код:
 error 033: array must be indexed (variable "carropolicia")
Reply
#4

perdon

pawn Код:
// el topo del game  mode
new carropolicia[2];

// OnGameModeInit
carropolicia[0] = AddStaticVehicleExP(596,2202.9690,21.4333,26.2109,89.1932,0,1,TIEMPO_SPAWN); // Auto Patrulla 1
carropolicia[1] = AddStaticVehicleExP(596,2203.2393,18.6386,26.2104,87.9438,0,1,TIEMPO_SPAWN); // Auto Patrulla 2


//OnPlayerEnterVehicle
for(new c = 0; c < sizeof(carropolicia); c++)
{
    new stat = GetPlayerState(playerid);
    if(stat == PLAYER_STATE_DRIVER)
    {
        if(Informacion[playerid][pLider] != 1 || Informacion[playerid][pMiembro] != 1)
        {
            RemovePlayerFromVehicle(playerid);
            SendClientMessage(playerid, COLOR_GRAD2, "Usted no es policia.");
        }
    }
}
Reply
#5

Nada amigo, no define los autos todabia, їTe puedo pasar el link por mp del GameMode y asi lo ves?
Reply
#6

Deja el cуdigo de la funciуn "AddStaticVehicleExP".
Reply
#7

Quote:
Originally Posted by Gustavolemon
Посмотреть сообщение
Nada amigo, no define los autos todabia, їTe puedo pasar el link por mp del GameMode y asi lo ves?
Yo no veo en ningъn GameMode.

sуlo el estudio de algunas funciones se hacen fбcilmente
Reply
#8

Quote:
Originally Posted by DesingMyCry
Посмотреть сообщение
Deja el cуdigo de la funciуn "AddStaticVehicleExP".
pawn Код:
forward AddStaticVehicleExP(modelid, Float:spawn_x, Float:spawn_y, Float:spawn_z, Float:z_angle, color1, color2, respawn_delay);
public AddStaticVehicleExP(modelid, Float:spawn_x, Float:spawn_y, Float:spawn_z, Float:z_angle, color1, color2, respawn_delay)
{
    AddStaticVehicleEx(modelid, Float:spawn_x, Float:spawn_y, Float:spawn_z, Float:z_angle, color1, color2, respawn_delay);
    AutosDelGM++;
    return 1;
}
Quote:
Originally Posted by PT
Посмотреть сообщение
Yo no veo en ningъn GameMode.

sуlo el estudio de algunas funciones se hacen fбcilmente
Lo que te digo es que si te pueod pasar el GameMode que estoy usando para asi ver cual es el error, ya que me he matado viendo el error y nada que lo encuentro
Reply
#9

Quote:
Originally Posted by Gustavolemon
Посмотреть сообщение
Lo que te digo es que si te pueod pasar el GameMode que estoy usando para asi ver cual es el error, ya que me he matado viendo el error y nada que lo encuentro
con un poco de estudio tu consigues solucionar ...
Reply
#10

PT, el error ya se puede ver. Le pedн el cуdigo de la funciуn "AddStaticVehicleExP" que ese era el problema.

Explico. Los vehнculos tienen IDs desde 1 hasta 2000. No son como los IDs de los jugadores, que parten desde 0 hasta 499 (500 en total).

La funciуn que creaste retorna siempre 1, entonces la variable que asignas el ID (donde creias) siempre guardarб 1 que es el ID del primer vehнculo.

La soluciуn es retornar el ID del vehнculo, o directamente lo que retorna la funciуn nativa de SA-MP que ocupas. Asн.


pawn Код:
forward AddStaticVehicleExP(modelid, Float:spawn_x, Float:spawn_y, Float:spawn_z, Float:z_angle, color1, color2, respawn_delay);
public AddStaticVehicleExP(modelid, Float:spawn_x, Float:spawn_y, Float:spawn_z, Float:z_angle, color1, color2, respawn_delay)
{
    AutosDelGM++;
    return AddStaticVehicleEx(modelid, Float:spawn_x, Float:spawn_y, Float:spawn_z, Float:z_angle, color1, color2, respawn_delay);
}
Reply


Forum Jump:


Users browsing this thread: 1 Guest(s)