cPM[ Rec[playerid] ] ++;
aPM[ Rec[playerid] ] [ cPM[ Rec[playerid] ] ] [PMID] = cPM[ Rec[playerid] ];
format(aPM[ Rec[playerid] ] [ cPM[ Rec[playerid] ] ] [FromName], 10, GetName(playerid));
aPM[ Rec[playerid] ] [ cPM[ Rec[playerid] ] ] [FromID] = playerid;
format(aPM[ Rec[playerid] ] [ cPM[ Rec[playerid] ] ] [Text] ,200, inputtext);
for(new i = 0 ; i < MAX_PM; i++) {
format(text,sizeof text, "{FCF80B}azPM ID : {FC0B2F}%i {FCF80B}from {FC0B2F}'%s' ID: {FC0B2F}[%i] {FF2EE1}TEXT : %s\n "
,aPM[ Rec[playerid] ] [i] [PMID] , aPM[ Rec[playerid] ] [i] [FromName],aPM[ Rec[playerid] ] [i] [FromID],aPM[ Rec[playerid] ] [i] [Text]);
}
strcat(s,text);
ShowPlayerDialog(playerid, 22, DIALOG_STYLE_LIST, "{FF2EE1}[Az-Pm] PMS :", s, "Reply", "Close");
cPM[ Rec[playerid] ] ++;
for(new i=0; i< MAX_PM; i++)
{
aPM[ Rec[playerid]][i][PMID] = cPM[ Rec[playerid] ];
format(aPM[ Rec[playerid]][i] [FromName], 10, GetName(playerid));
aPM[ Rec[playerid]][i][FromID] = playerid;
format(aPM[ Rec[playerid]][i][Text] ,200, inputtext);
}
s[0] = EOS;
for(new i = 0 ; i < MAX_PM; i++)
{
format(s,sizeof s, "%s{FCF80B}azPM ID : {FC0B2F}%i {FCF80B}from {FC0B2F}'%s' ID: {FC0B2F}[%i] {FF2EE1}TEXT : %s\n",
s, aPM[ Rec[playerid] ] [i] [PMID] , aPM[ Rec[playerid] ] [i] [FromName],aPM[ Rec[playerid] ] [i] [FromID],aPM[ Rec[playerid] ] [i] [Text]);
}
ShowPlayerDialog(playerid, 22, DIALOG_STYLE_LIST, "{FF2EE1}[Az-Pm] PMS :", s, "Reply", "Close");
enum AzPmInfo
{
PMID,
FromName[10],
FromID,
Text[200],
}
new aPM[MAX_PLAYERS][MAX_PM][AzPmInfo];
new Rec[MAX_PLAYERS],PlayerText:Az[3][MAX_PLAYERS],
cPM[MAX_PLAYERS]
;
Rec[playerid] = clickedplayerid; // the id of Rec[playerid]
You used strcat outside of the loop so it actually shows the last item. No need of using strcat though, format is just fine:
PHP код:
|
public OnPlayerConnect(playerid)
{
for(new i=0; i< MAX_PM; i++)
{
aPM[ playerid ][i][PMID] = -1;
aPM[ playerid ][i][FromID] = -1;
}
Rec[playerid] = -1;
cPM[playerid]= 0;
return 1;
}
for(new i=0; i< MAX_PM; i++)
{
if(aPM[ Rec[playerid]][i][PMID] != -1 ) continue;
if(aPM[ Rec[playerid]][i][FromName] != -1 ) continue;
if(aPM[ Rec[playerid]][i][FromID] != -1 ) continue;
if(aPM[ Rec[playerid]][i][Text] != -1 ) continue;
aPM[ Rec[playerid]][i][PMID] = cPM[ Rec[playerid] ];
format(aPM[ Rec[playerid]][i] [FromName], 10, GetName(playerid));
aPM[ Rec[playerid]][i][FromID] = playerid;
format(aPM[ Rec[playerid]][i][Text] ,200, inputtext);
}