12.08.2013, 11:16
Hi guys, I've encountered a bug with my best killer calculator. If a player has 0 kills, it will send multiple message saying that he's the MVP. Can you help? As always, my scripts are in italian and I'll translate sideways.
pawn Код:
for(new i=0; i < (MAX_PLAYERS-1); i++)
{
if (a<Giocatore[i+1][Uccisioni]) //Player's kills
a=Giocatore[i+1][Uccisioni]; //Player's kills
}
for(new i=0; i < (MAX_PLAYERS-1); i++)
{
id[i]=-1;
if (a==Giocatore[i][Uccisioni]) //Player's kills
{
id[count]=i;
count++;
}
}
if (id[0]!=-1)
{
new i=0;
while (id[i]!=-1)
{
GetPlayerName(id[i],nome,sizeof(nome));
format(stringa,sizeof(stringa),"MVP: %s \nNumero uccisioni:%d",nome,Giocatore[i][Morti]); /*Message for 1 MVP (this on is the message that it sends when it glitches)*/
SendClientMessageToAll(Rosso,stringa);
i++;
}
}
else
{
GetPlayerName(a,nome,sizeof(nome));
format(stringa,sizeof(stringa),"L'MVP %s ha il maggior numero di uccisioni pari a %d",nome,Giocatore[a][Morti]); //Message for more MVPs
SendClientMessageToAll(Rosso,stringa);
}
for(new i; i < MAX_PLAYERS; i++)
{
if (gTeam[i] == Attack || gTeam[i] == Defense)
{
ResetPlayerWeapons(i);
SetPlayerInterior(i, 0);
SetPlayerPos(i,2441.3555,1042.6689,57.5016);
}
}
new id2[MAX_PLAYERS];
new a2=Giocatore[0][Morti];
new count2=0;
for(new i=0; i < (MAX_PLAYERS-1); i++)
{
if (a2<Giocatore[i+1][Morti])
a2=Giocatore[i+1][Morti];
}
for(new i=0; i < (MAX_PLAYERS-1); i++)
{
id2[i]=-1;
if (a2==Giocatore[i][Morti])
{
id2[count2]=i;
count2++;
}
}
if (id2[0]!=-1)
{
new i=0;
while (id2[i]!=-1)
{
GetPlayerName(id2[i],nome,sizeof(nome));
format(stringa,sizeof(stringa),"Peggior giocatore: %s \nNumero morti:%d",nome,Giocatore[i][Uccisioni]); //Message for 1 worst player
SendClientMessageToAll(Rosso,stringa);
i++;
}
}
else
{
GetPlayerName(a2,nome,sizeof(nome));
format(stringa,sizeof(stringa),"Il peggior giocatore %s ha il maggior numero di morti pari a %d",nome,Giocatore[a][Uccisioni]); //multiples worst players
SendClientMessageToAll(Rosso,stringa);
}
return 1;}