24.05.2010, 05:58
Bom Normalmente Muita Gente quer saber como se cria tempos para races, bom nгo й algo dificil, muita gente acha que й com SetTimer mas na verdade...
Topo GM:
EXPLICAЗГO:
new Corrida -> Esta Array irб definir que 'Corrida', й uma array especial chamada 'Array unidimensionai' que vгo de 0 a 999 exemplo
new string[999];
MAX_PLAYERS -> й uma constante na qual define o mбximo de players p/ servidor, melhor que ficar colocando nуmero de slots nгo? limite de 500
Entгo Vamos a Iniciar a Cronometrarem, Normalmente apуs descongelar/terminar tempo
EXPLICAЗГO:
Corrida -> й a array definida anteriormente
playerid ->seria quem sofre a aзгo no caso o 'playerid' (prуprio player)
Vamos Entгo parar a Contagem para Publicar os tempos(Normalmente ao Chegar no Ultimo Check):
ConvertTime -> Stock que usaremos logo abaixo, usada para converter milionйsimos de segundos em Hora,Minuto,Segundo
name -> Array que indica o numero maximo de nomes, ali no caso nossa constante esta MAX_PLAYER_NAME ou seja todos Maximos de Nomes
string -> Usado para definir o numero de caracteres que tera a mensagem (format) este limite no SA:MP й de 128
GetPlayerName -> Pegarб Nome do player para coloca-lo em %s na mensagem
format -> Formato que enviaremos a string
SendClientMessageToAll -> Enviarб a mensagem formatada a todos player conectados
Agora Vamos a Stock ConvertTimerFinal GM)
EXPLICAЗГO:
Bom Basicamente essa stock faz alguns calculos
/ Divdi
* Mutiplica-se
Assim Chegando ao Resultado pois 1000 Milisegundos = 1 Segundos
Links Importantes:
Caso queiram converter em um APP
Conversor Millisegundos
Caso queiram salvar recordes em arquivos
Salvar String em Arquivos
Crйditos a:
DraKoN
Joe Staff -> Criador (Acho) da Stock ConvertTime
Nгo Pretendo ver em outros Blog's fуrums sem minha autorizaзгo
" E Isso й Tudo Pessoal "
Criticas Elogios Serгo aceitos
Topo GM:
pawn Код:
new Corrida[MAX_PLAYERS];
new Corrida -> Esta Array irб definir que 'Corrida', й uma array especial chamada 'Array unidimensionai' que vгo de 0 a 999 exemplo
new string[999];
MAX_PLAYERS -> й uma constante na qual define o mбximo de players p/ servidor, melhor que ficar colocando nуmero de slots nгo? limite de 500
Entгo Vamos a Iniciar a Cronometrarem, Normalmente apуs descongelar/terminar tempo
pawn Код:
Corrida[playerid] = GetTickCount();
Corrida -> й a array definida anteriormente
playerid ->seria quem sofre a aзгo no caso o 'playerid' (prуprio player)
Vamos Entгo parar a Contagem para Publicar os tempos(Normalmente ao Chegar no Ultimo Check):
pawn Код:
new Min,Sec,MS;
ConvertTime(Corrida[playerid],Min,Sec,MS);
new name[MAX_PLAYER_NAME],string[128];
GetPlayerName(playerid,name,sizeof(name));
format(string,sizeof(string),"%s terminou o drift em %d:%d.%d, Parabйns \n!",name,Min,Sec,MS/100);
SendClientMessageToAll(COR,string)
name -> Array que indica o numero maximo de nomes, ali no caso nossa constante esta MAX_PLAYER_NAME ou seja todos Maximos de Nomes
string -> Usado para definir o numero de caracteres que tera a mensagem (format) este limite no SA:MP й de 128
GetPlayerName -> Pegarб Nome do player para coloca-lo em %s na mensagem
format -> Formato que enviaremos a string
SendClientMessageToAll -> Enviarб a mensagem formatada a todos player conectados
Agora Vamos a Stock ConvertTimerFinal GM)
pawn Код:
stock ConvertTime(Milliseconds,&rMin,&rS,&rMS)
{
rMin=Milliseconds/60000;
Milliseconds-=rMin*60000;
rS=Milliseconds/1000;
Milliseconds-=rS*1000
rMS=Milliseconds;
}
Bom Basicamente essa stock faz alguns calculos
/ Divdi
* Mutiplica-se
Assim Chegando ao Resultado pois 1000 Milisegundos = 1 Segundos
Links Importantes:
Caso queiram converter em um APP
Conversor Millisegundos
Caso queiram salvar recordes em arquivos
Salvar String em Arquivos
Crйditos a:
DraKoN
Joe Staff -> Criador (Acho) da Stock ConvertTime
Nгo Pretendo ver em outros Blog's fуrums sem minha autorizaзгo
" E Isso й Tudo Pessoal "
Criticas Elogios Serгo aceitos