rendered paste body//-----0000----0----0--------00000---------0-------000000-----------------------//-----0---0----0--0---------0----0-------0-0------0----------------------------//-----0000------0-----------00000-------0---0-----00000------------------------//-----0---0-----0-----------0-00-------0000000----0----------------------------//-----0000-----0------------0---00----0-------0---0-----------------by R@f ©---#include <a_samp>//new Compte;new countdown;new EnMarche;forward CountDown(playerid);public OnPlayerCommandText(playerid, cmdtext[]){ new cmd[256],idx,pName[MAX_PLAYER_NAME],temps,string[256]; cmd = strtok (cmdtext, idx); if (strcmp(cmd, "/race", true) == 0) { if(EnMarche==0) { new tmp[256]; tmp = strtok(cmdtext, idx); temps = strval(tmp); countdown = temps + 1; GetPlayerName(playerid, pName, sizeof(pName)); for(new i = 0; i < MAX_PLAYERS; i++) { if(GetDistanceBetweenPlayers(playerid, i) < 20) { format(string, sizeof(string), "%s à lancé un compte à rebours",pName); SendClientMessage(i,0xFF0000FF,string); TogglePlayerControllable(i,0); } } SetTimerEx("CountDown",100,0,"i",playerid); EnMarche = 1; } else { SendClientMessage(playerid,0xFF0000FF,"Désolé mais le Compte à rebours est déjà en marche"); } return 1; } return 0;}public CountDown(playerid){ countdown--; for(new i = 0; i < MAX_PLAYERS; i++) { if(GetDistanceBetweenPlayers(playerid, i) < 20) { new string[128]; if(countdown == 0) { GameTextForPlayer(i,"~g~GO GO GO !",1000,3); TogglePlayerControllable(i,1); PlayerPlaySound(i,1057,0.0,0.0,0.0); } else { format(string,sizeof(string),"~r~%d",countdown); GameTextForPlayer(i,string,1000,3); PlayerPlaySound(i,1056,0.0,0.0,0.0); } } } if (countdown == 0) { EnMarche=0; } else { SetTimerEx("CountDown",1000,0,"i",playerid); } return 1;}stock GetDistanceBetweenPlayers(playerid, playerid2){ new Float:x1, Float:y1, Float:z1, Float:x2, Float:y2, Float:z2; new Float:tmpdis; GetPlayerPos(playerid, x1, y1, z1); GetPlayerPos(playerid2, x2, y2, z2); tmpdis = floatsqroot(floatpower(floatabs(floatsub(x2, x1)), 2) + floatpower(floatabs(floatsub(y2, y1)), 2) + floatpower(floatabs(floatsub(z2, z1)), 2)); return floatround(tmpdis);}strtok (const string[], &index){ new length = strlen(string); while ((index < length) && (string[index] <= ' ')) { index++; } new offset = index; new result[20]; while ((index < length) && (string[index] > ' ') && ((index - offset) < (sizeof(result) - 1))) { result[index - offset] = string[index]; index++; } result[index - offset] = EOS; return result;}