:) Salut,
Bon après la commande de /count de SFTDM pour compter en choisissant la durée du compte ( /count [Nombre de secondes] ) :
if(strcmp(cmd, "/count", true) == 0)
{
if(IsPlayerAdmin(playerid))
{
new seconds;
tmp = strtok(cmdtext, idx);
seconds = strval(tmp);
if (!seconds)
SendClientMessage(playerid, COLOR_BRIGHTRED, "Vous devez Indiquer un nombre en secondes.");
if (seconds > 20)
{
SendClientMessage(giveplayerid, COLOR_BRIGHTRED, "Vous devez écrire une durée entre 1 et 20 secondes");
return 1;
}
else if (cseconds)
SendClientMessage(playerid, COLOR_BRIGHTRED, "Le chrono est déjà enclenché.");
else
{
format(cstring,40,"Vous avez commencé un compte de %d secondes.",seconds);
SendClientMessage(playerid,COLOR_LIGHTBLUE, cstring);
cseconds = seconds+1;
Count[playerid] = 1;
}
}
return 1;
}
J'ai crée une petit commande pour compter en Freezant les joueur et avec la Durée Voulue ( /countfr [Nombre de secondes] ) :)
public OnPlayerCommandText
if(strcmp(cmd, "/countfr", true) == 0)
{
if(IsPlayerAdmin(playerid))
{
new seconds;
tmp = strtok(cmdtext, idx);
seconds = strval(tmp);
if (!seconds)
SendClientMessage(playerid, COLOR_BRIGHTRED, "Vous devez Indiquer un nombre en secondes.");
if (seconds > 20)
{
SendClientMessage(giveplayerid, COLOR_BRIGHTRED, "Vous devez écrire une durée entre 1 et 20 secondes");
return 1;
}
else if (cseconds)
SendClientMessage(playerid, COLOR_BRIGHTRED, "Le chrono est déjà enclenché.");
else
{
format(cstring,40,"Vous avez commencé un compte de %d secondes.",seconds);
SendClientMessage(playerid,COLOR_LIGHTBLUE, cstring);
for(new i=0; i<MAX_PLAYERS; i++)
TogglePlayerControllable(i, 0); //on Freeze les player
cseconds = seconds+1;
Count[playerid] = 1;
}
}
return 1;
}
En bas de votre Scripte
public ctimer()
{
if (cseconds)
{
format(cstring,6,"~w~%d", cseconds-1);
GameTextForAll(cstring,1100,4);
SoundForAll(1056);
cseconds --;
if (!cseconds)
{
GameTextForAll("~r~GO GO GO!!!",2000,4);
SoundForAll(1057);
for (new i = 0; i < MAX_PLAYERS; i ++)
{
TogglePlayerControllable(i, 1); // On unfreeze les player
if (IsPlayerConnected(i)) SetTimer("resetcount",2000,0);
}
}
}
}
En haut de votre scripte : ( Pour le Le Forward du timer )
forward ctimer();
et pour le Timer a mettre dans public OnGameModeInit()
SetTimer("ctimer",1000,1);
et Surtout ne pas oublier : #define COLOR_BRIGHTRED 0xDC143CAA
#define COLOR_LIGHTBLUE 0x33CCFFAA
:D
Atlas ;)