[Duda] Detener un timer
#2

Antes de nada lйete SetTimer, SetTimerEx, KillTimer

Tienes que declarar el timer:

pawn Код:
new Timer1;

//CMD
if(strcmp(cmd, "/timer", true) == 0)
{
Timer1 = SetTimer("Test", 5000, true); //Retorna la id del timer .true es para que se repita cada 5 segundos, normalmente si es false no necesitas 'KillerTimer' al no ser que quieras pararlo antes de que se cumpla la funciуn.
return 1;
}

//public
forward Test();
public Test()
{
print("timer 1");
return 1;
}

//CMD Kill
if(strcmp(cmd, "/killtimer", true) == 0)
{
KillTimer(Timer1); // Ahora ya no mandarнa mбs prints.
return 1;
}
Un error que muchos cometen, esque cuando usamos el timer para un solo player (SetTimerEx), no declaran el tamaсo de la array, y esto causarнa bugs importantes

Un ejemplo correcto:
pawn Код:
new Timer2[MAX_PLAYERS]; // MAX_PLAYERS = 500, puedes cambiar MAX_PLAYERS por el nъmero de maxplayers de tu sv para optimizar. o tambiйn debajo de los includes y antes de los news:
#undef MAX_PLAYERS
#define MAX_PLAYERS 100 //100 es un ejemplo si tu server usara 100 slots.
// esto no tiene nada que ver con lo del timer es tan solo para optimizar.

if(strcmp(cmd, "/timer", true) == 0)
{
Timer2[playerid] = SetTimerEx("Test", 5000, true. "i", playerid); //Timer para un solo jugador, lйete SetTimerEx en la samp wiki.
return 1;
}

forward Test(playerid);
public Test(playerid)
{
SendClientMessage(playerid, -1, "timer 2");
return 1;
}

//CMD Kill
if(strcmp(cmd, "/killtimer2", true) == 0)
{
KillTimer(Timer2[playerid]); // Ahora ya no mandarнa mбs mensajes al jugador.
return 1;
}
Saludos, y espero haberte aclarado tus dudas con los timers.

PD: http://forum.sa-mp.com/showpost.php?...&postcount=334
Reply


Messages In This Thread
[Duda] Detener un timer - by Loox - 02.03.2013, 20:15
Respuesta: [Duda] Detener un timer - by adri1 - 02.03.2013, 20:39
Respuesta: [Duda] Detener un timer - by Loox - 02.03.2013, 20:47
Respuesta: [Duda] Detener un timer - by adri1 - 02.03.2013, 21:03
Respuesta: [Duda] Detener un timer - by Loox - 02.03.2013, 21:07
Respuesta: [Duda] Detener un timer - by Loox - 02.03.2013, 22:23
Respuesta: [Duda] Detener un timer - by CrossOv3r - 02.03.2013, 23:09
Respuesta: [Duda] Detener un timer - by Loox - 02.03.2013, 23:15
Respuesta: [Duda] Detener un timer - by CrossOv3r - 02.03.2013, 23:19
Respuesta: [Duda] Detener un timer - by Loox - 02.03.2013, 23:22

Forum Jump:


Users browsing this thread: 5 Guest(s)