03.08.2012, 00:22
CountDown
Aquн traigo este nuevo include que acabo de hacer, es un simple include para hacer countdowns con facilidad, tiene un limite de 4000 countdowns, si lo modifican el limite no funcionara correctamente...
Funciones que trбe
Код:
Funciуn: InitManagerInstance Parametros: 0 Retorna algun dato? Si, retorna 0 si la "estancia" ya esta iniciada, de lo contrario 1
Код:
Funciуn: StopManagerInstance Parametros: 0 Retorna algun dato? Si, retorna 0 si la "estancia" ya fue finalizada o nunca fue iniciada, de lo contrario 1
Код:
Funciуn: StartCountDown Parametros: 4 Minutos - Los minutos que durarб la "cuenta regresiva". Segundos - Los segundos que durarб la "cuenta regresiva". CallBackEx - El callback al que se va a llamar por cada segundo que decrece ( Opcional ) bool:two_callbacks: - Esto es para indicar si va a llamar a los 2 calbacks ( el default que es "OnCountDownTick" y el definido por el usuario) Retorna algun dato? Si, retorna el id del countdown que se ha iniciado, retornarб -1 si no hay para mas countdowns disponibles o si la estancia no esta iniciada
Код:
Funciуn: StopCountDown Parametros: 1 Countdown ID - El id del CountDown a finalizar/detener Retorna algun dato? Si, retorna 0 si tal id no existe, de lo contrario 1
Simple conteo de 10 segundos
pawn Код:
#include <a_samp>
#include <countdown>
public OnCountDownTick(countdown_id, minutos, segundos, stateid)
{
printf("ID: %04d - Minutos: %d - Segundos: %d - State: %s", countdown_id, minutos, segundos, stateid ? ("active"):("finished") );
}
forward OnCountDecrece(minutos, segundos, stateid);
public OnCountDecrece(minutos, segundos, stateid)
{
printf("OnCountDecrece: %d:%d", minutos, segundos);
}
public OnFilterScriptInit()
{
InitManagerInstance();
StartCountDown(0, 10, "OnCountDecrece", false);
}
public OnFilterScriptExit()
{
StopManagerInstance();
}
pawn Код:
#include <a_samp>
#include <countdown>
public OnFilterScriptInit()
{
InitManagerInstance();
return 1;
}
public OnFilterScriptExit()
{
StopManagerInstance();
return 1;
}
forward Count_Down(Minutos, Segundos, stateid);
public Count_Down(Minutos, Segundos, stateid)
{
new str[32];
if(Segundos == 0) format(str, 32, "~g~~h~Ya!");
else format(str, 32, "~w~%d", Segundos);
GameTextForAll(str, 1000, 5);
}
public OnPlayerCommandText(playerid, cmdtext[])
{
if (strcmp("/conteo", cmdtext, true) == 0)
{
StartCountDown(0, 4, "Count_Down");
return 1;
}
return 0;
}
NOTA IMPORTANTE: Esto no sirve para remplazar cualquier timer