SA-MP Forums Archive
[Duda] Esperar al usar un comando - 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] Esperar al usar un comando (/showthread.php?tid=481720)



[Duda] Esperar al usar un comando - Kryzis - 17.12.2013

Hola, bueno, quiero saber cуmo hago para que al usar un comando (Un comando especifico) no se pueda usarlo nuevamente hasta que yo quiera.
Ejemplo:

pawn Код:
CMD:Prueba(playerid, params[])
{
    //Acб al usar este comando yo quiero que no se vuelva a usar hasta que se llegue a globop1.
     SendClientMessage(playerid, COLOR_BLANCO, "En 10 segundos se moverб el objeto.");
     SetTimerEx("globop0", 10000, false, "d", playerid);
     return 1;
}

forward globop0(playerid);
public globop0(playerid)
{
   MoveObject(globo1, 407.60870, -2086.76392, 56.29790, 8.0);
   SetTimerEx("globop1", 2500, false, "d", playerid);
   return 1;
}
forward globop1(playerid);
public globop1(playerid)
{
   //Y aquн se podrб volver a usar /prueba
   MoveObject(globo1, 577.20459, -1739.67261, 51.29821, 13.0);
   SendClientMessage(playerid, COLOR_BLANCO, "Haz completado el recorrido satisfactoriamente.");
   return 1;
}
Seguro es una pavada, pero busquй e intentй hacerlo yo pero no lo logrй, ojalб que me ayuden y un saludo.

Edito: A este ejemplo lo hice en el momento, asн que si tiene algъn error no se preocupen, es tan solo un ejemplo.


Respuesta: [Duda] Esperar al usar un comando - Jejox - 17.12.2013

Primero definis la variable

pawn Код:
Info[playerid][pYalouso] = 0;
Luego la pones en el codigo con 1
pawn Код:
CMD:Prueba(playerid, params[])
{
     if(Info[playerid][pYalouso] > 1) return SendClientMessageEx(playerid, COLOR_GRAD2, "Ya pediste tu regalo de navidad.");
     {
          //Acб al usar este comando yo quiero que no se vuelva a usar hasta que se llegue a globop1.
          SendClientMessage(playerid, COLOR_BLANCO, "En 10 segundos se moverб el objeto.");
          Info[playerid][pYalouso] = 1;
          SetTimerEx("globop0", 10000, false, "d", playerid);
     }
     return 1;
}

forward globop0(playerid);
public globop0(playerid)
{
   MoveObject(globo1, 407.60870, -2086.76392, 56.29790, 8.0);
   SetTimerEx("globop1", 2500, false, "d", playerid);
   return 1;
}
forward globop1(playerid);
public globop1(playerid)
{
   //Y aquн se podrб volver a usar /prueba
   MoveObject(globo1, 577.20459, -1739.67261, 51.29821, 13.0);
   SendClientMessage(playerid, COLOR_BLANCO, "Haz completado el recorrido satisfactoriamente.");
   return 1;
}
Y listo ahora el comando lo va a usar una ves :P y si queres que lo use otra ves ase un comando que le de esa variable en 0;


Respuesta: [Duda] Esperar al usar un comando - JustBored - 17.12.2013

Eso esta mal:
pawn Код:
new Yalouso[MAX_PLAYERS];
CMD:Prueba(playerid, params[])
{
     if(Info[playerid][pYalouso] == 1) return SendClientMessageEx(playerid, COLOR_GRAD2, "Ya pediste tu regalo de navidad.");
     {
          //Acб al usar este comando yo quiero que no se vuelva a usar hasta que se llegue a globop1.
          SendClientMessage(playerid, COLOR_BLANCO, "En 10 segundos se moverб el objeto.");
          Yalouso[playerid] = 1;
          SetTimerEx("globop0", 10000, false, "d", playerid);
     }
     return 1;
}

forward globop0(playerid);
public globop0(playerid)
{
   MoveObject(globo1, 407.60870, -2086.76392, 56.29790, 8.0);
   SetTimerEx("globop1", 2500, false, "d", playerid);
   return 1;
}
forward globop1(playerid);
public globop1(playerid)
{
   //Y aquн se podrб volver a usar /prueba
   MoveObject(globo1, 577.20459, -1739.67261, 51.29821, 13.0);
   SendClientMessage(playerid, COLOR_BLANCO, "Haz completado el recorrido satisfactoriamente.");
   return 1;
}



Respuesta: [Duda] Esperar al usar un comando - Jejox - 17.12.2013

Quote:
Originally Posted by JustBored
Посмотреть сообщение
Eso esta mal:
pawn Код:
new Yalouso[MAX_PLAYERS];
CMD:Prueba(playerid, params[])
{
     if(Info[playerid][pYalouso] == 1) return SendClientMessageEx(playerid, COLOR_GRAD2, "Ya pediste tu regalo de navidad.");
     {
          //Acб al usar este comando yo quiero que no se vuelva a usar hasta que se llegue a globop1.
          SendClientMessage(playerid, COLOR_BLANCO, "En 10 segundos se moverб el objeto.");
          Yalouso[playerid] = 1;
          SetTimerEx("globop0", 10000, false, "d", playerid);
     }
     return 1;
}

forward globop0(playerid);
public globop0(playerid)
{
   MoveObject(globo1, 407.60870, -2086.76392, 56.29790, 8.0);
   SetTimerEx("globop1", 2500, false, "d", playerid);
   return 1;
}
forward globop1(playerid);
public globop1(playerid)
{
   //Y aquн se podrб volver a usar /prueba
   MoveObject(globo1, 577.20459, -1739.67261, 51.29821, 13.0);
   SendClientMessage(playerid, COLOR_BLANCO, "Haz completado el recorrido satisfactoriamente.");
   return 1;
}
Ahh yo lo hacia para que cuando desconecte igual no pueda usar el comando, xd.


Respuesta: [Duda] Esperar al usar un comando - OTACON - 17.12.2013

https://sampforum.blast.hk/showthread.php?pid=2547692#pid2547692


Respuesta: [Duda] Esperar al usar un comando - Kryzis - 18.12.2013

Quote:
Originally Posted by OTACON
Посмотреть сообщение
Exactamente йsto necesitaba, muchas gracias.
Gracias a todos igualmente.