[DUDA] Como busco la ID en 0? -
yesid001 - 25.05.2016
PHP код:
if(PickUp[0] == 0) PickUp[0] = CreatePickup(1279, 1, Float:x, Float:y, Float:z, 0);
else if(PickUp[1] == 0) PickUp[1] = CreatePickup(1279, 1, Float:x, Float:y, Float:z, 0);
else if(PickUp[2] == 0) PickUp[2] = CreatePickup(1279, 1, Float:x, Float:y, Float:z, 0);
else if(PickUp[3] == 0) PickUp[3] = CreatePickup(1279, 1, Float:x, Float:y, Float:z, 0);
else if(PickUp[4] == 0) PickUp[4] = CreatePickup(1279, 1, Float:x, Float:y, Float:z, 0);
else if(PickUp[5] == 0) PickUp[5] = CreatePickup(1279, 1, Float:x, Float:y, Float:z, 0);
//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] == 0) PickUp[i] = CreatePickup(1279, 1, Float:x, Float:y, Float:z, 0);
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=0; i<MAX_PICKUP; i++)
{
if(PickUp[i]== -1)//el -1 quiere decir que no esta creado el pickup
{
PickUp[i] = CreatePickup(1279, 1, Float:x, Float:y, Float:z, 0);
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