To Dialog -
gotwarzone - 20.03.2014
Hi. is the code below. possible to make it like a dialog? So when I do /stats it will show in dialog message box? Can you please help me with this. thank you!
Код:
#if defined USE_STATS
CMD:stats(playerid,params[]) {
new string[100], pDeaths, player1,playername[MAX_PLAYER_NAME];
if(isnull(params)) player1 = playerid;
else player1 = strval(params);
if(IsPlayerConnected(player1)) {
GetPlayerName(player1, playername, sizeof(playername));
if(PlayerInfo[player1][Deaths] == 0) pDeaths = 1; else pDeaths = PlayerInfo[player1][Deaths];
new str[120], str1[100];
format(str, sizeof(str),"%s's Stats", PlayerName2(player1));
format(string,sizeof(string),"Scores: %d | Money: $%d | Kills: %d | Deaths: %d | K/D Ratio: %0.2f", GetPlayerScore(player1), GetPlayerMoney(player1), PlayerInfo[player1][Kills], PlayerInfo[player1][Deaths], Float:PlayerInfo[player1][Kills]/Float:pDeaths);
format(str1, sizeof(str1),"Rank: %s | Team: %s | Class: %s | Session Kills %d",GetRankName(player1), GetTeamName(player1), GetClass(player1), Skills[player1]);
SendClientMessage(playerid, green,str);
SendClientMessage(playerid, green,string);
SendClientMessage(playerid, green,str1);
} else return SendClientMessage(playerid, red, "Player Not Connected!");
return 1;
}
Re: To Dialog -
doreto - 20.03.2014
Did you try to do it yourself?
Re: To Dialog -
gotwarzone - 20.03.2014
Quote:
Originally Posted by doreto
Did you try to do it yourself?
|
Yes but it always I always failed it says argument mismatch and some warnings. Can you please help me? Like make a simple demo out of my code that I've given above and I will try to continue.
Re: To Dialog -
HitterHitman - 20.03.2014
pawn Код:
#if defined USE_STATS
CMD:stats(playerid,params[]) {
new string[100], pDeaths, player1,playername[MAX_PLAYER_NAME];
if(isnull(params)) player1 = playerid;
else player1 = strval(params);
if(IsPlayerConnected(player1)) {
GetPlayerName(player1, playername, sizeof(playername));
if(PlayerInfo[player1][Deaths] == 0) pDeaths = 1; else pDeaths = PlayerInfo[player1][Deaths];
new str[120], str1[100];
format(str, sizeof(str),"%s's Stats\n", PlayerName2(player1));
format(string,sizeof(string),"Scores: %d | Money: $%d | Kills: %d | Deaths: %d | K/D Ratio: %0.2f\n", GetPlayerScore(player1), GetPlayerMoney(player1), PlayerInfo[player1][Kills], PlayerInfo[player1][Deaths], Float:PlayerInfo[player1][Kills]/Float:pDeaths);
format(str1, sizeof(str1),"Rank: %s | Team: %s | Class: %s | Session Kills %d\n",GetRankName(player1), GetTeamName(player1), GetClass(player1), Skills[player1]);
new dialogstr[600];
strcat(dialogstr, str);
strcat(dialogstr, string);
strcat(dialogstr, str1);
ShowPlayerDialog(playerid,HELP_DIALOG1,DIALOG_STYLE_MSGBOX, "Stats",dialogstr,"Ok","");
} else return SendClientMessage(playerid, red, "Player Not Connected!");
return 1;
}
Forums killed the indentation, it is still untested. try it.
EDIR: I have fixed indentation. try it.
Re: To Dialog -
UnknownOwner - 20.03.2014
Replace
Код:
SendClientMessage(playerid, green,str);
SendClientMessage(playerid, green,string);
SendClientMessage(playerid, green,str1);
With
Код:
ShowPlayerDialog(playerid, 1000, DIALOG_STYLE_LIST, str, string, "Done", "");
And this:
Код:
format(str, sizeof(str),"%s's Stats", PlayerName2(player1));
format(string,sizeof(string),"Scores: %d | Money: $%d | Kills: %d | Deaths: %d | K/D Ratio: %0.2f", GetPlayerScore(player1), GetPlayerMoney(player1), PlayerInfo[player1][Kills], PlayerInfo[player1][Deaths], Float:PlayerInfo[player1][Kills]/Float:pDeaths);
format(str1, sizeof(str1),"Rank: %s | Team: %s | Class: %s | Session Kills %d",GetRankName(player1), GetTeamName(player1), GetClass(player1), Skills[player1]);
With
Код:
format(str, sizeof(str),"%s's Stats", PlayerName2(player1));
format(string,sizeof(string),"Scores: %d | Money: $%d | Kills: %d | Deaths: %d | K/D Ratio: %0.2f", GetPlayerScore(player1), GetPlayerMoney(player1), PlayerInfo[player1][Kills], PlayerInfo[player1][Deaths], Float:PlayerInfo[player1][Kills]/Float:pDeaths);
format(string, sizeof(str1),"Rank: %s | Team: %s | Class: %s | Session Kills %d",GetRankName(player1), GetTeamName(player1), GetClass(player1), Skills[player1]);