[DUDA] Como busco la ID en 0?
#1

PHP код:
if(PickUp[0] == 0PickUp[0] = CreatePickup(12791Float:xFloat:yFloat:z0);
else if(
PickUp[1] == 0PickUp[1] = CreatePickup(12791Float:xFloat:yFloat:z0);
else if(
PickUp[2] == 0PickUp[2] = CreatePickup(12791Float:xFloat:yFloat:z0);
else if(
PickUp[3] == 0PickUp[3] = CreatePickup(12791Float:xFloat:yFloat:z0);
else if(
PickUp[4] == 0PickUp[4] = CreatePickup(12791Float:xFloat:yFloat:z0);
else if(
PickUp[5] == 0PickUp[5] = CreatePickup(12791Float:xFloat:yFloat:z0);
//Etc... Hasta 100 veces. 
їComo hago eso pero en 1 sola linea? Algo asн como, ejemplo: Si el PickUp[0] no esta en 0 entonces salte al ID PickUp[1], y asн hasta encontrar un en 0.

Intente con "for(new %0 = %2; %0 < %1; %0++)" repitiendolo 100 veces, asн:

PHP код:
#define Loop(%0,%1,%2) for(new %0 = %2; %0 < %1; %0++)
Loop(i,100,0) if(PickUp[i] == 0PickUp[i] = CreatePickup(12791Float:xFloat:yFloat:z0); 
Pero sucediу lo que me temнa, no se detiene al encontrar uno en 0, sino que crea 100 Pickups mas xD

їAlguna idea? Doy +rep
Reply
#2

Usa break para romper el bucle o return para detener la funciуn completa.
pawn Код:
#define MAX_PICKUP 100
new PickUp[MAX_PICKUP];
for(new i=0; i<MAX_PICKUP; i++)
{
    if(!PickUp[i])
    {
        PickUp[i] = CreatePickup(1279, 1, Float:x, Float:y, Float:z, 0);
        break;
    }
    //Mas cosas
}
Reply
#3

PHP код:

#define MAX_PICKUP 100
new PickUp[MAX_PICKUP] ={-1, ...};//iniciamos  en -1 las variables
for(new i=0i<MAX_PICKUPi++)
{
    if(
PickUp[i]== -1)//el -1 quiere decir que no esta creado el pickup 
    
{
        
PickUp[i] = CreatePickup(12791Float:xFloat:yFloat:z0); 
        break;
    }

Ahн con mбs detalle el pequeсo cуdigo que te pasу el camarada Parka
Reply
#4

por que no usar un while?...

int i=0;
while( pickup[i] != 0 ) i++;
pickup[i]... resto del code
Reply


Forum Jump:


Users browsing this thread: 1 Guest(s)