Alguna Funcion que recuerde!
#1

Hola amigos del samp, me preguntaba si existe alguna funciуn que recuerde quien escribiу el comando y los respawne despues de 5 min.


Ejemplo a lo que me refiero,sale un mensaje cada 5 min como este:
PHP код:
format(string2sizeof(string2), "{B0C4DE}empezara una batalla 1 vs 1 en 5min  typea /unirme");
SendClientMessage(VERDELIMAstring2); 
Y los players que escriban /unirme le salga un mensaje como este:

PHP код:
format(string2sizeof(string2), "{B0C4DE}Exelente te has inscrito en minutos empezara el minijuego");
SendClientMessage(VERDELIMAstring2); 
Nota: ese rato no lo spawnea, sino despues de los 5 min que escribio /unirme


Seria mas o menos recordar quien escribiу el comando, y spawnearlos despues de los 5 min de haberlo escrito a todos los jugadores que lo hayan escrito, en este caso /unirme.


gracias
Reply
#2

No, no hay funciones que hace eso. Utiliza variables tipo booleans cuando lo escriben y luego haz un loop para verificar quien lo tiene en verdadero y luego haz lo que quieras con ellos.
Reply
#3

Quote:
Originally Posted by SickAttack
Посмотреть сообщение
No, no hay funciones que hace eso. Utiliza variables tipo booleans cuando lo escriben y luego haz un loop para verificar quien lo tiene en verdadero y luego haz lo que quieras con ellos.
Si te entendi men utilizando booleans

PHP код:

newbool
Minijuego;
Minijuego true// cuando escribe algun comando lo pone en true
Minijuego false// cuando sale de minijuego y se desconecta false 
pero como hago para llamar a las ID que escribieron el comando despuйs de 5 min, verificando que el Minijuego = true; me podrias despejar esa duda..?
Reply
#4

Quote:
Originally Posted by Zodiaco
Посмотреть сообщение
Si te entendi men utilizando booleans

PHP код:

newbool
Minijuego;
Minijuego true// cuando escribe algun comando lo pone en true
Minijuego false// cuando sale de minijuego y se desconecta false 
pero como hago para llamar a las ID que escribieron el comando despuйs de 5 min, verificando que el Minijuego = true; me podrias despejar esa duda..?
Te dejo un ejemplo..
pawn Код:
new bool:JugandoM[MAX_PLAYERS];
pawn Код:
CMD:unirme(playerid,params[])
{
        if(JugandoM[playerid] == true) return SendClientMessage(playerid,-1,"Ya te has unido.");
        SendClientMessage(playerid,-1,"Te has unido al juego");
        JugandoM[playerid] = true;
        return 1;
}
Por si lo quieres...
pawn Код:
CMD:salirme(playerid,params[])
{
        if(JugandoM[playerid] == false) return SendClientMessage(playerid,-1,"No estas jugando.");
        SendClientMessage(playerid,-1,"Te has salido del juego");
        JugandoM[playerid] = false;
        return 1;
}
Puedes hacer un timer, pero yo solo te dejo ejemplo, tu cambia a tu gusto o lo que necesites.

pawn Код:
CMD:comenzarjuego(playerid,params[])
{
        foreach(Player, i)
    {
          if(JugandoM[i] == false) continue; //Saltar a los jugadores que no tengan esta variable en true
          else
          {
                       new string[60];
               format(string,sizeof(string), "Hay %d jugadores listos, bla bla bla",i);
                       SendClientMessageToAll(-1,string);
               break;
          }
    }
         return 1;
}
Hace rato no toco pawn, si quiera juego samp, tal vez haya uno que otro error, pero te dejo una base de lo que deberнas hacer, si alguien ve que me he equivocado esta en todo su derecho de corregirlo, saludos cordiales.
Reply
#5

Si no, se podrнa hacer lo siguiente:
pawn Код:
new Iterator:iMinijuego<MAX_PLAYERS>;
new bool:EstaInscrito[MAX_PLAYERS];

public OnPlayerDisconnect(playerid, reason)
{
    if(EstaInscrito[playerid])
    {
        EstaInscrito[playerid] = false;
        Iter_Remove(iMinijuego,playerid);
    }
    return 1;
}

CMD:entrarminijuego(playerid, params[])
{
    if(EstaInscrito[playerid]) return SendClientMessage(playerid, 0xFF0000FF, "Ya te encuentras el evento!");
    EstaInscrito[playerid] = true;
    Iter_Add(iMinijuego, playerid);
    return 1;
}

CMD:salirminijuego(playerid, params[])
{
    if(!EstaInscrito[playerid]) return SendClientMessage(playerid, 0xFF0000FF, "No te encuentras inscrito en el minijuego!");
    EstaInscrito[playerid] = true;
    Iter_Remove(iMinijuego,playerid);
    return 1;
}

CMD:comenzarminijuego(playerid, params[])
{
    new count;
    foreach(iMinijuego, i)
    {
        count++;
    }
    printf("Hay %i en el minijuego.",count);
    return 1;
}
Obviamente es un ejemplo, tu lo harбs con timers y todo eso.
Reply


Forum Jump:


Users browsing this thread: 1 Guest(s)