Includes necessбrias
pawn Код:
- Código:
#include < a_samp > // Obrigatуria
#include < ZCMD > // Opcional
Cуdigo e Explicaзгo
pawn Код:
- Código:
[center][left]#include < a_samp >
#include < ZCMD >
forward Countdown();
new CounterCountdown;
CMD:countdown(playerid, params[])
{
SendClientMessage(playerid, -1, "Comeзaste um countdown!");
CounterCountdown = 11;
SetTimer("Countdown", 1000, true);
return 1;
}
public Countdown()
{
new string[3];
if(CounterCountdown != 0)
{
CounterCountdown--;
format(string, sizeof(string), "%i", CounterCountdown);
GameTextForAll(string, 999, 4);
}
else if(CounterCountdown == 0)
{
KillTimer(CounterCountdown);
}
return 1;
}[/left][/center]
[center][font=Verdana][size=14]
[/size][/font][/center]
forward Countdown(); - estamos a permitir a chamada da callback Countdown
new CounterCountdown; - criamos uma variбvel global para poder ser chamada em qualquer callback
CMD:countdown(playerid, params[]) - permite, atravйz da include ZCMD criar um comando chamado
SendClientMessage(playerid, -1, "Comeзaste um countdown!"); - Envia uma mensagem ao jogador que executou o comando countdown
CounterCountdown = 11; - Setamos o valor da variбvel CounterCountdown para 11. O nosso countdown vai ser de 10 atй 0, portanto, coloquem SEMPRE 1 valor acima do que querem
SetTimer("Countdown", 1000, true); - Chamamos a callback Countdown de segundo a segundo, atй desligarmos o Timer
public Countdown() - Abrimos a callback Countdown
new string[3]; - Cria uma variбvel local com o nome string, de 3 cйlulas
if(CounterCountdown != 0) - Se a variбvel CounterCountdown for diferente de 0...
CounterCountdown--; - Retira um valor а variбvel CounterCountdown, cada vez que a callback for chamada
format(string, sizeof(string), "%i", CounterCountdown); - Formata a variбvel string, para o countdown aparecer
GameTextForAll(string, 999, 4); - Aperece o valor da variбvel CounterCountdown, como foi formatada antes, e fica na tela 0.99 segundos. Isto vai dar melhor efeito ao countdown
else if(CounterCountdown == 0) - Se a variбvel CounterCountdown for igual a 0, vai...
KillTimer(CounterCountdown); - Acaba com o Timer CounterCountdown, iniciado no comando.
new CounterCountdown; - criamos uma variбvel global para poder ser chamada em qualquer callback
CMD:countdown(playerid, params[]) - permite, atravйz da include ZCMD criar um comando chamado
SendClientMessage(playerid, -1, "Comeзaste um countdown!"); - Envia uma mensagem ao jogador que executou o comando countdown
CounterCountdown = 11; - Setamos o valor da variбvel CounterCountdown para 11. O nosso countdown vai ser de 10 atй 0, portanto, coloquem SEMPRE 1 valor acima do que querem
SetTimer("Countdown", 1000, true); - Chamamos a callback Countdown de segundo a segundo, atй desligarmos o Timer
public Countdown() - Abrimos a callback Countdown
new string[3]; - Cria uma variбvel local com o nome string, de 3 cйlulas
if(CounterCountdown != 0) - Se a variбvel CounterCountdown for diferente de 0...
CounterCountdown--; - Retira um valor а variбvel CounterCountdown, cada vez que a callback for chamada
format(string, sizeof(string), "%i", CounterCountdown); - Formata a variбvel string, para o countdown aparecer
GameTextForAll(string, 999, 4); - Aperece o valor da variбvel CounterCountdown, como foi formatada antes, e fica na tela 0.99 segundos. Isto vai dar melhor efeito ao countdown
else if(CounterCountdown == 0) - Se a variбvel CounterCountdown for igual a 0, vai...
KillTimer(CounterCountdown); - Acaba com o Timer CounterCountdown, iniciado no comando.
Creditos: Bruxo00