All pastes #957923 Raw Edit

Countdown

public cpp v1 · immutable
#957923 ·published 2008-03-26 09:53 UTC
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;}