03.12.2015, 13:49
Entгo,
Basicamente eu estou criando um servidor jб hб um tempinho
E eu sou muito chato! Nгo gosto de pegar nada da net (acho isso um deserespeito)
Enfim!
Existem vбrios sistemas de Race na net, mas procurei fazer o meu prуprio
Jб fiz, porйm tem um problema
Jб estou hб 2 dias tentando resolver esse problema:
A colocaзгo (quero colocar os 4 primeiros) nгo estou conseguindo fazer
Atй fiz, mas ta .. Muito errado, rs.
Aqui vai o cуdigo:
Obs.: EColocado[0] й o ID do primeiro colocado, [1] й segundo, assim por diante, atй [3] que seria o quarto colocado.
RCPEvento[playerid] й o nъmero de Race Checkpoints que o playerid estб
*Se for necessбrio, posto prints aqui para melhor visualizaзгo do problema
Basicamente eu estou criando um servidor jб hб um tempinho
E eu sou muito chato! Nгo gosto de pegar nada da net (acho isso um deserespeito)
Enfim!
Existem vбrios sistemas de Race na net, mas procurei fazer o meu prуprio
Jб fiz, porйm tem um problema
Jб estou hб 2 dias tentando resolver esse problema:
A colocaзгo (quero colocar os 4 primeiros) nгo estou conseguindo fazer
Atй fiz, mas ta .. Muito errado, rs.
Aqui vai o cуdigo:
Obs.: EColocado[0] й o ID do primeiro colocado, [1] й segundo, assim por diante, atй [3] que seria o quarto colocado.
RCPEvento[playerid] й o nъmero de Race Checkpoints que o playerid estб
pawn Код:
for(new i = 0; i < MAXPLAYERS; i++)
{
if(!IsPlayerConnected(i)) continue;
if(!NoEvento[i]) continue;
if(RCPEvento[i] > RCPEvento[EColocado[3]] && EColocado[i] != EColocado[3]) { EColocado[3] = i; }
}
new
Float:D[6],
id = -1;
if(RCPEvento[EColocado[1]] > RCPEvento[EColocado[0]] && EColocado[0] != EColocado[1]) { id = EColocado[1]; EColocado[1] = EColocado[0]; EColocado[0] = id; }
if(RCPEvento[EColocado[1]] == RCPEvento[EColocado[0]] && EColocado[0] != EColocado[1])
{
DistPlayerToPoint(EColocado[1], ERCP[RCPEvento[EColocado[1]]][0], ERCP[RCPEvento[EColocado[1]]][1], D[0]);
DistPlayerToPoint(EColocado[0], ERCP[RCPEvento[EColocado[0]]][0], ERCP[RCPEvento[EColocado[0]]][1], D[1]);
if(D[0] < D[1])
{
id = EColocado[1];
EColocado[1] = EColocado[0];
EColocado[0] = id;
}
}
if(RCPEvento[EColocado[2]] > RCPEvento[EColocado[1]] && EColocado[2] != EColocado[1]) { id = EColocado[2]; EColocado[2] = EColocado[1]; EColocado[1] = id; }
if(RCPEvento[EColocado[2]] == RCPEvento[EColocado[1]] && EColocado[2] != EColocado[1])
{
DistPlayerToPoint(EColocado[1], ERCP[RCPEvento[EColocado[1]]][0], ERCP[RCPEvento[EColocado[1]]][1], D[2]);
DistPlayerToPoint(EColocado[0], ERCP[RCPEvento[EColocado[0]]][0], ERCP[RCPEvento[EColocado[0]]][1], D[3]);
if(D[2] < D[3])
{
id = EColocado[2];
EColocado[2] = EColocado[1];
EColocado[1] = id;
}
}
if(RCPEvento[EColocado[3]] > RCPEvento[EColocado[2]] && EColocado[2] != EColocado[3]) { id = EColocado[3]; EColocado[3] = EColocado[2]; EColocado[2] = id; }
if(RCPEvento[EColocado[3]] == RCPEvento[EColocado[2]] && EColocado[2] != EColocado[3])
{
DistPlayerToPoint(EColocado[1], ERCP[RCPEvento[EColocado[1]]][0], ERCP[RCPEvento[EColocado[1]]][1], D[4]);
DistPlayerToPoint(EColocado[0], ERCP[RCPEvento[EColocado[0]]][0], ERCP[RCPEvento[EColocado[0]]][1], D[5]);
if(D[4] < D[5])
{
id = EColocado[3];
EColocado[3] = EColocado[2];
EColocado[2] = id;
}
}
for(new i = 0; i < MAXPLAYERS; i++)
{
if(!IsPlayerConnected(i)) continue;
if(!NoEvento[i]) continue;
if(EColocado[0] == -1) continue;
new
Nome[MAX_PLAYER_NAME];
GetPlayerName(EColocado[0], Nome, sizeof(Nome));
if(strlen(Nome) > 10) { strins(Nome, "...", 8); strdel(Nome, 11, sizeof(Nome));}
format(String, sizeof(String), "1. ~w~%s", Nome);
TextDrawSetString(TDERace[i][1], String);
if(EColocado[1] == -1) continue;
GetPlayerName(EColocado[1], Nome, sizeof(Nome));
if(strlen(Nome) > 10) { strins(Nome, "...", 8); strdel(Nome, 11, sizeof(Nome));}
format(String, sizeof(String), "2. ~w~%s", Nome);
TextDrawSetString(TDERace[i][2], String);
if(EColocado[2] == -1) continue;
GetPlayerName(EColocado[2], Nome, sizeof(Nome));
if(strlen(Nome) > 10) { strins(Nome, "...", 8); strdel(Nome, 11, sizeof(Nome));}
format(String, sizeof(String), "3. ~w~%s", Nome);
TextDrawSetString(TDERace[i][3], String);
if(EColocado[3] == -1) continue;
GetPlayerName(EColocado[3], Nome, sizeof(Nome));
if(strlen(Nome) > 10) { strins(Nome, "...", 8); strdel(Nome, 11, sizeof(Nome));}
format(String, sizeof(String), "4. ~w~%s", Nome);
TextDrawSetString(TDERace[i][4], String);
}