forward CountPlayerDamage(playerid);
public CountPlayerDamage(playerid)
{
new TopString[3][128], string[250];
SendClientMessageToAll(-1, "{e6b3ff}*** Top 3 Players by damage");
SendClientMessageToAll(-1, TopString[0]);
SendClientMessageToAll(-1, TopString[1]);
SendClientMessageToAll(-1, TopString[2]);
for(new i = 0; i != p; ++i) {
if(i == 0) format(TopString[0], 128, "{e6b3ff}*** 1st: %s %d damage", PlayerName[i], PlayerDamage[i]);
else if(i == 1) format(TopString[1], 128, "{e6b3ff}*** 2nd: %s %d damage", PlayerName[i], PlayerDamage[i]);
else if(i == 2) format(TopString[2], 128, "{e6b3ff}*** 3rd: %s %d damage", PlayerName[i], PlayerDamage[i]);
}
format(string, sizeof(string), "{e6b3ff}*** Your damage was %.2f, made in 15 minutes.", PlayerDamage[playerid]);
SendClientMessage(playerid, -1, string);
PlayerDamage[playerid] = 0;
return 1;
}
C:\Users\fomina.janett1919\Desktop\gtadm\gamemodes\gtadm.pwn(5521) : error 017: undefined symbol "p" Pawn compiler 3.2.3664 Copyright © 1997-2006, ITB CompuPhase 1 Error.
for(new i = 0; i != p; ++i) {
for(new i = 0; i < MAX_PLAYERS; i++)
{
if(IsPlayerConnected(i))
{
if(i == 0) format(TopString[0], 128, "{e6b3ff}*** 1st: %s %d damage", PlayerName[i], PlayerDamage[i]);
else if(i == 1) format(TopString[1], 128, "{e6b3ff}*** 2nd: %s %d damage", PlayerName[i], PlayerDamage[i]);
else if(i == 2) format(TopString[2], 128, "{e6b3ff}*** 3rd: %s %d damage", PlayerName[i], PlayerDamage[i]);
}
}
public BestPlayers()
{
//We are using the variable " Kills[playerid] " you can anything else instead
new id1 = -1,id2 = -1,id3 = -1,pkills = -100;
//Getting 1st place
for(new i; i <MAX_PLAYERS; i++)if(Kills[i] > pkills && Kills[i] != 0) id1 = i;
//Getting 2nd place
pkills = -100;
for(new i; i <MAX_PLAYERS; i++)if(Kills[i] > pkills && i != id1 && Kills[i] != 0) id2 = i;
//Getting 3rd place
pkills = -100;
for(new i; i <MAX_PLAYERS; i++)if(Kills[i] > pkills && i != id2 && i != id1 && Kills[i] != 0) id3= i;
SendClientMessageToAll(-1, "-------------- Best 3 Players with most kills ---------------");
if(id1==-1 && id2==-1 && id3==-1)return SendClientMessageToAll(0xff0000aa,"There are no players with kills")
//Using 1st place
if(id1 != -1 && Kills[id1] != 0) SendFMsgToAll(0xff0000aa, "%s {ffffff}KILLS: {ff0000}%d {ffffff}|1st Place|",GetName(id1),Kills[id1]);
else SendClientMessageToAll(0xff0000aa, "- No One In 1st Place -");
//Using 2nd place
if(id2 != -1 && Kills[id2] != 0) SendFMsgToAll(0xff0000aa, "%s {ffffff}KILLS: {ff0000}%d {ffffff}|2nd Place|",GetName(id2),Kills[id2]);
else SendClientMessageToAll(0xff0000aa, "- No One In 2nd Place -");
//Using 3rd place
if(id3 != -1 && Kills[id3] != 0) SendFMsgToAll(0xff0000aa, "%s {ffffff}KILLS: {ff0000}%d {ffffff}|3rd Place|",GetName(id3),Kills[id3]);
else SendClientMessageToAll(0xff0000aa, "- No One In 3rd Place -");
}
forward CountPlayerDamage(playerid);
public CountPlayerDamage(playerid)
{
new id1 = -1,id2 = -1,id3 = -1,pPlayerDamage = -100;
for(new i; i <MAX_PLAYERS; i++)if(PlayerDamage[i] > pPlayerDamage && PlayerDamage[i] != 0) id1 = i;
pPlayerDamage = -100;
for(new i; i <MAX_PLAYERS; i++)if(PlayerDamage[i] > pPlayerDamage && i != id1 && PlayerDamage[i] != 0) id2 = i;
pPlayerDamage = -100;
for(new i; i <MAX_PLAYERS; i++)if(PlayerDamage[i] > pPlayerDamage && i != id2 && i != id1 && PlayerDamage[i] != 0) id3= i;
SendClientMessageToAll(-1, "{e6b3ff}*** Top 3 Players by damage");
if(id1 != -1 && PlayerDamage[id1] != 0) SendClientMessageToAll(-1, "*** 1st: %s %d damage",PlayerName(id1), PlayerDamage[id1]);
if(id2 != -1 && PlayerDamage[id2] != 0) SendClientMessageToAll(-1, "*** 2dn: %s %d damage",PlayerName(id2), PlayerDamage[id2]);
if(id3 != -1 && PlayerDamage[id3] != 0) SendClientMessageToAll(-1, "*** 3rd: %s %d damage",PlayerName(id3), PlayerDamage[id3]);
new string[115];
format(string, sizeof(string), "{00b300}*** You did a total of %.2f damage.", PlayerDamage[playerid]);
SendClientMessage(playerid, -1, string);
PlayerDamage[playerid] = 0;
return 1;
}
C:\Users\fomina.janett1919\Desktop\gtadm\gamemodes\gtadm.pwn(5587) : error 012: invalid function call, not a valid address
C:\Users\fomina.janett1919\Desktop\gtadm\gamemodes\gtadm.pwn(5587) : warning 215: expression has no effect
C:\Users\fomina.janett1919\Desktop\gtadm\gamemodes\gtadm.pwn(5587) : error 001: expected token: ";", but found ")"
C:\Users\fomina.janett1919\Desktop\gtadm\gamemodes\gtadm.pwn(5587) : error 029: invalid expression, assumed zero
C:\Users\fomina.janett1919\Desktop\gtadm\gamemodes\gtadm.pwn(5587) : fatal error 107: too many error messages on one line
if(id1 != -1 && PlayerDamage[id1] != 0) SendClientMessageToAll(-1, "*** 1st: %s %d damage",PlayerName(id1), PlayerDamage[id1]);
new fstr[128]; #define SendFMsgToAll(%0,%1,%2) format(fstr, sizeof(fstr), %1, %2) && SendClientMessageToAll(%0, fstr)
if(id1 != -1 && PlayerDamage[id1] != 0) SendFMsgToAll(-1, "*** 1st: %s %d damage",PlayerName(id1), PlayerDamage[id1]);
|
Define this below your includes:
Код:
new fstr[128]; #define SendFMsgToAll(%0,%1,%2) format(fstr, sizeof(fstr), %1, %2) && SendClientMessageToAll(%0, fstr) Код:
if(id1 != -1 && PlayerDamage[id1] != 0) SendFMsgToAll(-1, "*** 1st: %s %d damage",PlayerName(id1), PlayerDamage[id1]); |
|
Get md-sort, it sorts players by any defined criteria and then you can just take the first three.
|