09.04.2012, 03:54
pawn Code:
for(new i = 0; i < MAX_PLAYERS; i++)
{
if(IsPlayerConnected(i) && !IsPlayerNPC(i))
{
Players++;
}
}
Um jeito bom:
pawn Code:
new max_id=-1,achou=-1;
for(id=0;id<MAX_PLAYERS;id++)
if(IsPlayerConnected(id))
max_id=id+1;
if(max_id!=-1)
while(achou==-1)
{
new id_f=random(max_id);
if(IsPlayerConnected(id_f)) achou=id_f;
}
}
- Ele irб procurar o maior ID online e adicionar + 1 nisso. (Imaginemos que seja 54 o maior, ou seja, 55).
- Ele irб procurar, no while, um ID online com o ID mбximo pego no processo a cima.
- Ao achar ele marcarб o ID na variбvel 'achou'
- Esta variбvel (achou) serб o ID do ganhador.
Obs: Caso nгo tenha ninguйm online irб retornar -1.
ObsІ: Claro que pode ser otimizado para obter o resultado mais rбpido, mas tome cuidado para nгo cair no memso erro de antes.