Ayuda tiempo de comando.
#1

Hola, he intentado buscar la forma, de que el tiempo baje en este comando, lo intente hacer como el del canal de dudas, que muestra cuantos segundos me quedan, osea, no se queda paralizado siempre diciendo que me quedan 300segundos, lo que quiero es que se mueva, hasta llegar a 0, y cuando llegй a 0, poder utilizar el comando de nuevo, sabrнan como hacerlo? yo ya me perdi haciendolo.



pawn Код:
CMD:transportar(playerid, params[])
{
new string[128];
new mision = random(9);
new vehicleid;
vehicleid = GetPlayerVehicleID(playerid);
if(TransTimer[playerid] > 0)
   {
      format(string, sizeof(string), "Debes esperar {FFC400}%d{FFFFFF} segundos para volver a transportar.", TransTimer[playerid]);
      SendClientMessageEx(playerid, COLOR_GREY, string);
      return 1;
   }
if(Info[playerid][pJob] == 15) {
if(GetVehicleModel(vehicleid) == 578) //
{
if(mision == 0)
{
SendClientMessage(playerid,-1,"Te llamaron para una carga, usa {6E9AFF}/responder{FFFFFF} para ir, o {6E9AFF}/ignorar{FFFFFF} para cancelarlo");
SendClientMessage(playerid,-1,"[{FFFF00}SRUNKS{FFFFFF}]: La ruta prevista, es en {00CBFF}Montgomery{FFFFFF} (Ganancia: 2900$)");
Info[playerid][Reparto] = 1;
TransTimer[playerid] = 300;
}
else if(mision == 1)
{
SendClientMessage(playerid,-1,"Te llamaron para una carga, usa {6E9AFF}/responder{FFFFFF} para ir, o {6E9AFF}/ignorar{FFFFFF} para cancelarlo");
SendClientMessage(playerid,-1,"[{FFFF00}ROCAS{FFFFFF}]: La ruta prevista, es en la {00CBFF}Cantera de Hunter Quarry{FFFFFF} (Ganancia: 2950$)");
Info[playerid][Reparto] = 2;
TransTimer[playerid] = 300;
}
else if(mision == 2)
{
SendClientMessage(playerid,-1,"Te llamaron para una carga, usa {6E9AFF}/responder{FFFFFF} para ir, o {6E9AFF}/ignorar{FFFFFF} para cancelarlo");
SendClientMessage(playerid,-1,"[{FFFF00}GENERADORES{FFFFFF}]: La ruta prevista, es en {00CBFF}Bayside{FFFFFF} (Ganancia: 3300$)");
Info[playerid][Reparto] = 3;
TransTimer[playerid] = 300;
}
else if(mision == 3)
{
SendClientMessage(playerid,-1,"Te llamaron para una carga, usa {6E9AFF}/responder{FFFFFF} para ir, o {6E9AFF}/ignorar{FFFFFF} para cancelarlo");
SendClientMessage(playerid,-1,"[{FFFF00}BIDУN{FFFFFF}]: La ruta prevista, es en {00CBFF}Easter Basin{FFFFFF} (Ganancia: 3000$)");
Info[playerid][Reparto] = 4;
TransTimer[playerid] = 300;
}
else if(mision == 4)
{
SendClientMessage(playerid,-1,"Te llamaron para una carga, usa {6E9AFF}/responder{FFFFFF} para ir, o {6E9AFF}/ignorar{FFFFFF} para cancelarlo");
SendClientMessage(playerid,-1,"[{FFFF00}ESCOMBROS{FFFFFF}]: La ruta prevista, es en {00CBFF}Cantera Hunter Quarry{FFFFFF} (Ganancia: 3100$)");
Info[playerid][Reparto] = 5;
TransTimer[playerid] = 300;
}
else if(mision == 5)
{
SendClientMessage(playerid,-1,"Te llamaron para una carga, usa {6E9AFF}/responder{FFFFFF} para ir, o {6E9AFF}/ignorar{FFFFFF} para cancelarlo");
SendClientMessage(playerid,-1,"[{FFFF00}MALETAS{FFFFFF}]: La ruta prevista, es en el {00CBFF}Aeropuerto LS{FFFFFF} (Ganancia: 3200$)");
Info[playerid][Reparto] = 6;
TransTimer[playerid] = 300;
}
else if(mision == 6)
{
SendClientMessage(playerid,-1,"Te llamaron para una carga, usa {6E9AFF}/responder{FFFFFF} para ir, o {6E9AFF}/ignorar{FFFFFF} para cancelarlo");
SendClientMessage(playerid,-1,"[{FFFF00}TUBO{FFFFFF}]: La ruta prevista, es en la {00CBFF}Cantera de Bone County{FFFFFF} (Ganancia: 2900$)");
Info[playerid][Reparto] = 7;
TransTimer[playerid] = 300;
}
else if(mision == 7)
{
SendClientMessage(playerid,-1,"Te llamaron para una carga, usa {6E9AFF}/responder{FFFFFF} para ir, o {6E9AFF}/ignorar{FFFFFF} para cancelarlo");
SendClientMessage(playerid,-1,"[{FFFF00}CHATARRA{FFFFFF}]: La ruta prevista, es en la {00CBFF}Chatarreria LS{FFFFFF} (Ganancia: 3200$)");
Info[playerid][Reparto] = 8;
TransTimer[playerid] = 300;
}
else if(mision == 8)
{
SendClientMessage(playerid,-1,"Te llamaron para una carga, usa {6E9AFF}/responder{FFFFFF} para ir, o {6E9AFF}/ignorar{FFFFFF} para cancelarlo");
SendClientMessage(playerid,-1,"[{FFFF00}PRODUCTOS{FFFFFF}]: La ruta prevista, es en los {00CBFF}Muelles de SF{FFFFFF} (Ganancia: 3400$)");
Info[playerid][Reparto] = 9;
TransTimer[playerid] = 300;
}
}
else SendClientMessage(playerid,-1,"No estбs en un DFT-30 o No eres Transportista.");
}
else SendClientMessage(playerid,-1,"No eres transportista.");
return 1;
}
Reply
#2

ayudaaaaaaaaaaa
Reply
#3

prueba asн:

pawn Код:
new timer;

CMD:transportar(playerid, params[])
{
    new string[128];
    new mision = random(9);
    new vehicleid;
    vehicleid = GetPlayerVehicleID(playerid);
    if(TransTimer[playerid] > 0)
    {
        format(string, sizeof(string), "Debes esperar {FFC400}%d{FFFFFF} segundos para volver a transportar.", TransTimer[playerid]);
        SendClientMessageEx(playerid, COLOR_GREY, string);
        return 1;
    }
    if(Info[playerid][pJob] == 15)
    {
        if(GetVehicleModel(vehicleid) == 578) //
        {
            switch(mision)
            {
                case 0:
                {
                    SendClientMessage(playerid,-1,"Te llamaron para una carga, usa {6E9AFF}/responder{FFFFFF} para ir, o {6E9AFF}/ignorar{FFFFFF} para cancelarlo");
                    SendClientMessage(playerid,-1,"[{FFFF00}SRUNKS{FFFFFF}]: La ruta prevista, es en {00CBFF}Montgomery{FFFFFF} (Ganancia: 2900$)");
                    Info[playerid][Reparto] = 1;
                }
                case 1:
                {
                    SendClientMessage(playerid,-1,"Te llamaron para una carga, usa {6E9AFF}/responder{FFFFFF} para ir, o {6E9AFF}/ignorar{FFFFFF} para cancelarlo");
                    SendClientMessage(playerid,-1,"[{FFFF00}ROCAS{FFFFFF}]: La ruta prevista, es en la {00CBFF}Cantera de Hunter Quarry{FFFFFF} (Ganancia: 2950$)");
                    Info[playerid][Reparto] = 2;
                }
                case 2:
                {
                    SendClientMessage(playerid,-1,"Te llamaron para una carga, usa {6E9AFF}/responder{FFFFFF} para ir, o {6E9AFF}/ignorar{FFFFFF} para cancelarlo");
                    SendClientMessage(playerid,-1,"[{FFFF00}GENERADORES{FFFFFF}]: La ruta prevista, es en {00CBFF}Bayside{FFFFFF} (Ganancia: 3300$)");
                    Info[playerid][Reparto] = 3;
                }
                case 3:
                {
                    SendClientMessage(playerid,-1,"Te llamaron para una carga, usa {6E9AFF}/responder{FFFFFF} para ir, o {6E9AFF}/ignorar{FFFFFF} para cancelarlo");
                    SendClientMessage(playerid,-1,"[{FFFF00}BIDУN{FFFFFF}]: La ruta prevista, es en {00CBFF}Easter Basin{FFFFFF} (Ganancia: 3000$)");
                    Info[playerid][Reparto] = 4;
                }
                case 4:
                {
                    SendClientMessage(playerid,-1,"Te llamaron para una carga, usa {6E9AFF}/responder{FFFFFF} para ir, o {6E9AFF}/ignorar{FFFFFF} para cancelarlo");
                    SendClientMessage(playerid,-1,"[{FFFF00}ESCOMBROS{FFFFFF}]: La ruta prevista, es en {00CBFF}Cantera Hunter Quarry{FFFFFF} (Ganancia: 3100$)");
                    Info[playerid][Reparto] = 5;
                }
                case 5:
                {
                    SendClientMessage(playerid,-1,"Te llamaron para una carga, usa {6E9AFF}/responder{FFFFFF} para ir, o {6E9AFF}/ignorar{FFFFFF} para cancelarlo");
                    SendClientMessage(playerid,-1,"[{FFFF00}MALETAS{FFFFFF}]: La ruta prevista, es en el {00CBFF}Aeropuerto LS{FFFFFF} (Ganancia: 3200$)");
                    Info[playerid][Reparto] = 6;
                }
                case 6:
                {
                    SendClientMessage(playerid,-1,"Te llamaron para una carga, usa {6E9AFF}/responder{FFFFFF} para ir, o {6E9AFF}/ignorar{FFFFFF} para cancelarlo");
                    SendClientMessage(playerid,-1,"[{FFFF00}TUBO{FFFFFF}]: La ruta prevista, es en la {00CBFF}Cantera de Bone County{FFFFFF} (Ganancia: 2900$)");
                    Info[playerid][Reparto] = 7;
                }
                case 7:
                {
                    SendClientMessage(playerid,-1,"Te llamaron para una carga, usa {6E9AFF}/responder{FFFFFF} para ir, o {6E9AFF}/ignorar{FFFFFF} para cancelarlo");
                    SendClientMessage(playerid,-1,"[{FFFF00}CHATARRA{FFFFFF}]: La ruta prevista, es en la {00CBFF}Chatarreria LS{FFFFFF} (Ganancia: 3200$)");
                    Info[playerid][Reparto] = 8;
                }
                case 8:
                {
                    SendClientMessage(playerid,-1,"Te llamaron para una carga, usa {6E9AFF}/responder{FFFFFF} para ir, o {6E9AFF}/ignorar{FFFFFF} para cancelarlo");
                    SendClientMessage(playerid,-1,"[{FFFF00}PRODUCTOS{FFFFFF}]: La ruta prevista, es en los {00CBFF}Muelles de SF{FFFFFF} (Ganancia: 3400$)");
                    Info[playerid][Reparto] = 9;
                }
            }
            TransTimer[playerid] = 300;
            timer = SetTimerEx("Transportar", 1000, true, "i", playerid);
        }
        else SendClientMessage(playerid,-1,"No estбs en un DFT-30 o No eres Transportista.");
    }
    else SendClientMessage(playerid,-1,"No eres transportista.");
    return 1;
}

forward Transportar(playerid);
public Transportar(playerid)
{
    TransTimer[playerid]--;
    if(TransTimer[playerid] == 0)
    {
        SendClientMessage(playerid,-1,"Ya puedes usar el comando");
        KillTimer(timer);
    }
    return 1;
}
si errй en algo perdуn, podrбs arreglarlo sуlo o decir que fallу xD
Reply
#4

te podrнa servir esto--> https://sampforum.blast.hk/showthread.php?pid=2547692#pid2547692
Reply
#5

pawn Код:
warning 219: local variable "YSI_timer" shadows a variable at a preceding level
pero ya funciona
Reply
#6

supongo que es por el include y_timers de ******
Reply


Forum Jump:


Users browsing this thread: 1 Guest(s)