[Consulta] їComo pongo un temporizador para volver a usar un comando?
#10

Quote:
Originally Posted by OTACON
Посмотреть сообщение
Este include es vergonzoso. En serio has necesitado TRES VERSIONES para usar gettime en vez de SetTimerEx? Y por favor, no me hagas empezar con la nomenclatura de las funciones. GetSegTimetCMD?

Quote:
Originally Posted by SickAttack
Посмотреть сообщение
Es tan simple como lo siguiente:
pawn Код:
new tsHola[MAX_PLAYERS];

CMD:hola(playerid, params[])
{
    if((gettime() - tsHola[playerid]) < 60 * 3) return SendClientMessage(playerid, -1, "Tienes que esperar 3 minutos para utilizar este comando de nuevo!");

    tsHola[playerid] = gettime();
    return 1;
}
Quote:
Originally Posted by ElBuho
Посмотреть сообщение
No entendi
Este es el modo correcto, por favor ElBuho te recomiendo que leas documentaciуn y uses la LУGICA para poder entender los comandos. Si no entiendes ese cуdigo tan primitivo no creo que puedas entender otras cosas mбs complejas.

A ver, gettime() es una funciуn para obtener el tiempo en segundos transcurridos desde el 1 de Enero de 1970 (Tiempo Unix). Puedes usar esta medida para referencia y calcular la diferencia de segundos entre un tiempo y el otro, usando esta diferencia para determinar si ha transcurrido cierto tiempo. Mi explicaciуn:

pawn Код:
if((gettime() - tsHola[playerid]) < 60 * 3) return SendClientMessage(playerid, -1, "Tienes que esperar 3 minutos para utilizar este comando de nuevo!");
/* Simplemente, si el Tiempo Unix en el instante que se introduce el comando menos el Tiempo Unix de la ъltima vez que se introduciу el comando es menor a 3 minutos (o sea, 60 x 3 segundos), saldrб error. */

tsHola[playerid] = gettime();
/* Si se ha introducido el comando se almacena el Tiempo Unix en una variable para compararlo con el Tiempo Unix la prуxima vez que se introduzca el comando. */
Reply


Messages In This Thread

Forum Jump:


Users browsing this thread: 2 Guest(s)