show bounties -
Ribber - 05.12.2010
I made a bouties script and now I like to show them via command.
but not for every bounty 1 line, i like to make more as possible in one line, and then another line when it's over 128.
how to do that?
my code:
pawn Код:
if(strcmp(cmd,"/bounties",true)==0)
{
new amount;
SendClientMessage(playerid,_COLOR_GREEN,"Bountys at the moment:");
foreach(Player,i)
{
if(bounty[i] > 0)
{
amount++;
...
}
}
if(amount == 0) SendClientMessage(playerid,_COLOR_WHITE,"There are not any bounties at the moment.");
return 1;
}
AW: show bounties -
Ribber - 06.12.2010
bump....
Re: show bounties -
Sergei - 06.12.2010
Show them in dialog (style list). Use strcat to put separate lines together.
AW: show bounties -
Ribber - 06.12.2010
okay, now I got with that another idea.
i made the dialog below:
pawn Код:
if(strcmp(cmd,"/bounties",true)==0)
{
new amount;
new list[960];
foreach(Player,i)
{
if(bounty[i] > 0)
{
amount++;
format(string,sizeof string,"%s(ID: %d) ($%d)\n",PlayerName(i), i, bounty[i]*1000);
strcat(list,string);
}
}
if(amount == 0) return SendClientMessage(playerid,_COLOR_WHITE,"There are not any bounties at the moment.");
else
{
new header[15];
format(header,sizeof(header),"Bounties: %d",amount);
ShowPlayerDialog(playerid,200,DIALOG_STYLE_LIST,header,var,"Close", "Close");
}
return 1;
}
so my idea & question is: how can I do that when the player clicks on the name in the dialog, it will open the player statistics? (I already have the player statistics, just say me how I can get or return the ID from the player in the list)
AW: show bounties -
Ribber - 07.12.2010
bump...............
AW: show bounties -
Ribber - 09.12.2010
another bump ..
Re: show bounties -
Mehtab - 09.12.2010
this is my bounty script
Код:
if(strcmp(cmd, "/bounties", true) == 0)
{
// new tmp[256];
new x;
SendClientMessage(playerid, COLOR_GREEN, "Current Bounties:");
for(new i=0; i < MAX_PLAYERS; i++) {
if(IsPlayerConnected(i) && bounty[i] > 0) {
GetPlayerName(i, giveplayer, sizeof(giveplayer));
format(string, sizeof(string), "%s%s(%d): $%d", string,giveplayer,i,bounty[i]);
x++;
if(x > 3) {
SendClientMessage(playerid, COLOR_YELLOW, string);
x = 0;
format(string, sizeof(string), "");
} else {
format(string, sizeof(string), "%s, ", string);
}
}
}
if(x <= 3 && x > 0) {
string[strlen(string)-2] = '.';
SendClientMessage(playerid, COLOR_YELLOW, string);
}
return 1;
}
AW: show bounties -
Ribber - 09.12.2010
ok thx for your code, but i decided to show the bounties with dialog.
now my question, how can I do, that it orders by the largest bounty?!
Example:
#1 Ribber(ID: 3) $ 34000
#2 Player2(ID: 0) $ 30000
#3 Player3(ID: 5) $ 26000
#4 Player4(ID: 1) $ 22000
.....
my code:
pawn Код:
if(strcmp(cmd,"/bounties",true)==0)
{
new amount;
new list[500];
foreach(Player,i)
{
if(bounty[i] > 0)
{
amount++;
format(string,sizeof string,"#%d\t%s(ID: %d)\t $%d\n",amount, PlayerName(i), i, bounty[i]*1000);
strcat(list,string);
}
}
if(amount == 0) return SendClientMessage(playerid,_COLOR_WHITE,"There are not any bounties at the moment.");
else
{
new header[30];
format(header,sizeof(header),"Bounties: %d",amount);
ShowPlayerDialog(playerid,300,DIALOG_STYLE_LIST,header,list,"Close", "Close");
}
return 1;
}
AW: show bounties -
Ribber - 09.12.2010
bump.., how can i do that..?
I tried the whole time, the best result was that when I was id 0 i was in the first place while the id 1 had lower bounty than id 0.
but when id 1 has higher bounty than id 0, it only will show id 1..
pawn Код:
if(strcmp(cmd,"/bounties",true)==0)
{
new List[MAX_PLAYERS][2];
new count;
foreach(Player,i)
{
if(bounty[i] > 0)
{
List[count][0] = i; //ID
List[count][1] = bounty[i]; //BOUNTY
count++;
}
}
if(count == 0) return SendClientMessage(playerid,_COLOR_WHITE,"There are not any bounties at the moment.");
else
{
for(new i; i < count; i++)
{
if(List[i][1] > List[i+1][1])
{
format(string,sizeof string,"%s (%d) - $%d", PlayerName( List[i][0] ), List[i][0], bounty[ List[i][0] ]*1000);
SendClientMessage(playerid,_COLOR_YELLOW,string);
}
}
}
return 1;
}