SA-MP Forums Archive
[DUDA] Como busco la ID en 0? - 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: [DUDA] Como busco la ID en 0? (/showthread.php?tid=607934)



[DUDA] Como busco la ID en 0? - yesid001 - 25.05.2016

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



Respuesta: [DUDA] Como busco la ID en 0? - Parka - 25.05.2016

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
}



Re: [DUDA] Como busco la ID en 0? - NullBot - 25.05.2016

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


Respuesta: [DUDA] Como busco la ID en 0? - The-Krew - 31.05.2016

por que no usar un while?...

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