[Duda] Esperar al usar un comando
#1

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.
Reply
#2

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;
Reply
#3

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;
}
Reply
#4

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.
Reply
#5

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

Exactamente йsto necesitaba, muchas gracias.
Gracias a todos igualmente.
Reply


Forum Jump:


Users browsing this thread: 1 Guest(s)