Advertisement
Guest User

PM Dialog by xGame

a guest
Nov 3rd, 2013
268
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Pawn 3.93 KB | None | 0 0
  1.                                                             /*********************************************************************************
  2.                                                             *                     Private Message Message (with Dialogs)                     *
  3.                                                             *                                 VERSION 1.0                                    *
  4.                                                             *                                  by xGame                                      *
  5.                                                             *********************************************************************************/
  6.  
  7. #include <a_samp>
  8. #include <Dini>
  9.  
  10. new str[250];
  11.  
  12. #define Send 1197
  13. #define Recive 1196
  14.  
  15. #define Red "{FF0000}"
  16. #define White "{FFFFFF}"
  17. #define Green "{00FF00}"
  18.  
  19. #define dcmd(%1,%2,%3) if ((strcmp((%3)[1], #%1, true, (%2)) == 0) && ((((%3)[(%2) + 1] == 0) && (dcmd_%1(playerid, "")))||(((%3)[(%2) + 1] == 32) && (dcmd_%1(playerid, (%3)[(%2) + 2]))))) return 1
  20.  
  21. enum acc{
  22.     ID,
  23.     Message[250],
  24.     Enabled
  25. };
  26. new Info[MAX_PLAYERS][acc];
  27.  
  28. public OnFilterScriptInit()
  29. {
  30.     print("\n--------------------------------------");
  31.     print(" Filterscript PRIVATE MESSAGE v1.0");
  32.     print("                     by xGame");
  33.     print(" Succesfull loaded!");
  34.     print("--------------------------------------\n");
  35.     return 1;
  36. }
  37.  
  38. public OnFilterScriptExit()
  39. {
  40.     print("\n--------------------------------------");
  41.     print(" Filterscript PRIVATE MESSAGE v1.0");
  42.     print("                     by xGame");
  43.     print(" Succesfull unloaded!");
  44.     print("--------------------------------------\n");
  45.     return 1;
  46. }
  47.  
  48. public OnPlayerConnect(playerid)
  49. {
  50.     Info[playerid][ID] = -1;
  51.     format(Info[playerid][Message],250,"");
  52.     if(!dini_Exists(Account(playerid)))return dini_Create(Account(playerid)),dini_IntSet(Account(playerid),"Enabled",1);
  53.     Info[playerid][Enabled] = dini_Int(Account(playerid),"Enabled");
  54.     return 1;
  55. }
  56.  
  57. public OnPlayerCommandText(playerid, cmdtext[])
  58. {
  59.     dcmd(mpm,3,cmdtext);
  60.     return 0;
  61. }
  62.  
  63. dcmd_mpm(playerid,params[])
  64. {
  65.     #pragma unused params
  66.     if(Info[playerid][Enabled] == 1)
  67.     {
  68.         Info[playerid][Enabled] = 0;
  69.         SendClientMessage(playerid,-1,"[INFO]: "#Red"Now, you can't recive private message!");
  70.     }
  71.     else
  72.     {
  73.         Info[playerid][Enabled] = 1;
  74.         SendClientMessage(playerid,-1,"[INFO]: "#Green"Now, you can recive private message!");
  75.     }
  76.     dini_IntSet(Account(playerid),"Enabled",Info[playerid][Enabled]);
  77.     return 1;
  78. }
  79.  
  80. public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[])
  81. {
  82.     if(dialogid == Send)
  83.     {
  84.         new str1[250];
  85.         if(!response || strlen(inputtext) == 0)return SendClientMessage(playerid,-1,"[INFO]: "#Red"Dialog closed!");
  86.         format(str1,sizeof(str1),"%s",Info[playerid][Message]);
  87.         if(strlen(str1) == 0)
  88.         {
  89.             new str3[250];
  90.             format(str3,sizeof(str3),""#White"%s: "#Green"%s",Name(playerid),inputtext);
  91.             format(Info[playerid][Message],sizeof(str),"%s",str3);
  92.         }
  93.         else
  94.         {
  95.             new str2[250],str3[250];
  96.             format(str2,sizeof(str2),"%s",Info[playerid][Message]);
  97.             format(str3,sizeof(str3),""#White"%s: "#Green"%s",Name(playerid),inputtext);
  98.             format(Info[playerid][Message],sizeof(str),"%s\n%s",str2,str3);
  99.         }
  100.         ShowPlayerDialog(Info[playerid][ID],Recive,DIALOG_STYLE_MSGBOX,"PrivateMessage",Info[playerid][Message],"Ok","");
  101.         Info[playerid][ID] = -1;
  102.     }
  103.     if(dialogid == Recive)
  104.     {
  105.         if(response)
  106.         {
  107.             format(Info[playerid][Message],sizeof(str),"");
  108.         }
  109.     }
  110.     return 1;
  111. }
  112.  
  113. public OnPlayerClickPlayer(playerid, clickedplayerid, source)
  114. {
  115.     if(playerid != clickedplayerid)
  116.     {
  117.         if(Info[clickedplayerid][Enabled] == 0)return SendClientMessage(playerid,-1,"[INFO]: "#Red"User have been disabled PrivateMessage!");
  118.         Info[playerid][ID] = clickedplayerid;
  119.         ShowPlayerDialog(playerid,Send,DIALOG_STYLE_INPUT,"Message","Please, insert the message!","Ok","Exit");
  120.     }
  121.     return 1;
  122. }
  123.  
  124. stock Account(playerid)
  125. {
  126.     format(str,sizeof(str),"Message/%s.txt",Name(playerid));
  127.     return str;
  128. }
  129.  
  130. stock Name(playerid)
  131. {
  132.     new name[250];
  133.     GetPlayerName(playerid,name,sizeof(name));
  134.     return name;
  135. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement