06.11.2009, 12:21
The receiver's ID should be stored in a global variable.
Fixed code:
Fixed code:
Код:
new ReceiverID[MAX_PLAYERS]; public OnPlayerCommandText(playerid, cmdtext[]) { if(!strcmp(cmdtext, "/pm", true)) { ShowPlayerDialog(playerid,755,DIALOG_STYLE_INPUT,"Private Message System","Enter the receiverґs ID or name","Done","Cancel"); return 1; } return 0; } public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[]) { new s1[94],s2[94],name[20]; if(dialogid == 755) { ReceiverID[playerid] = strval(inputtext); ShowPlayerDialog(playerid,756,DIALOG_STYLE_INPUT,"Private Message System","Enter the text you want to send:","Done","Cancel"); return 1; } if(dialogid == 756) { GetPlayerName(playerid, name, sizeof(name)); format(s1, sizeof(s1), "You have received a new PM from %s\n\n%s",name,inputtext); format(s2, sizeof(s2), "New PM from %s (%d)",name,playerid); ShowPlayerDialog(ReceiverID[playerid],757,DIALOG_STYLE_MSGBOX,s2,s1,"Reply","Cancel"); return 1; } if(dialogid == 757) { GetPlayerName(playerid, name, sizeof(name)); format(s1, sizeof(s1), "You have received a reply from %s\n\n%s",name,inputtext); format(s2, sizeof(s2), "New reply from %s (%d)",name,playerid); ShowPlayerDialog(ReceiverID[playerid],757,DIALOG_STYLE_MSGBOX,s2,s1,"Reply","Cancel"); return 1; } return 0; }