[Duda] Cуmo crear una mejor manera... - 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] Cуmo crear una mejor manera... (
/showthread.php?tid=532123)
[Duda] Cуmo crear una mejor manera... -
iPawn - 16.08.2014
En realidad no he pensado bien una manera, pero aprovecho porque las que he pensado no funcionarнan, bбsicamente mi duda es: їCуmo crear una mejor manera para reducir el siguiente script?
pawn Код:
/* [0]-[1] son un nъmero definido de slot, con un mбximo de por ej 200, es decir: #define SLOT 200, pero no podrнa utilizar for ( new i = 0; i < SLOT; i ++ ) porque realizarнa la tarea en los 200 en vez de verificar si 0 tiene Enum > 0 realizar en 1. No sй si me explico o se entiende en el cуdigo debajo */
if ( Data[ID][Enum][0] == 0 )
{
  // Tarea
}
else if ( Data[ID][Enum][0] > 0 && Data[ID][Enum][1] == 0 )
{
  // Tarea
}
Entonces si son 200 slots me tocarнa crear 199 "else if" mбs y es lo que no quiero...
Gracias de antemano
Respuesta: [Duda] Cуmo crear una mejor manera... -
The-Krew - 16.08.2014
pawn Код:
stock Slot()
{
  for(new k;k<MAX_SLOT;i++)
  {
    if(Data[ID][Enum][k] == 0)
    {
      return k;
    }
  }
  return -1;
}
stock Tarea(tarea)
{
  new k = Slot();
  if(k != -1)
  {
    Data[ID][Enum][k] = tarea;
  }
  else
  {
    //No hay slots disponibles
  }
}
Respuesta: [Duda] Cуmo crear una mejor manera... -
iPawn - 18.08.2014
No habнa tenido tiempo de probarlo por eso no di respuesta, pero ahora lo he probado y ha quedado perfecto, muchнsimas gracias The-Krew