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.
|