Vikshay

PM System

May 15th, 2014
302
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Pawn 5.56 KB | None | 0 0
  1. #define FILTERSCRIPT
  2.  
  3. // Includes //
  4. #include <a_samp>
  5. #include <zcmd>
  6. #if defined FILTERSCRIPT
  7.  
  8. // COL COLORS //
  9. #define COL_EASY           "{FFF1AF}"
  10. #define COL_WHITE          "{FFFFFF}"
  11. #define COL_BLACK          "{0E0101}"
  12. #define COL_RED            "{A80000}"
  13. #define COL_YELLOW         "{F3FF02}"
  14. #define COL_YELLOW2        "{DAE368}"
  15. #define COL_BYELLOW        "{FFFF80}"
  16. #define COL_LIME           "{B7FF00}"
  17. #define COL_CYAN           "{00FFEE}"
  18. #define COL_LIGHTBLUE      "{00C0FF}"
  19. #define COL_BLUE           "{0049FF}"
  20. #define COL_MAGENTA        "{F300FF}"
  21. #define COL_VIOLET         "{B700FF}"
  22. #define COL_PINK           "{FF00EA}"
  23. #define COL_MARONE         "{A90202}"
  24. #define COL_CMD            "{B8FF02}"
  25. #define COL_PARAM          "{3FCD02}"
  26. #define COL_SERVER         "{AFE7FF}"
  27. #define COL_VALUE          "{A3E4FF}"
  28. #define COL_RULE           "{F9E8B7}"
  29. #define COL_RULE2          "{FBDF89}"
  30. #define COL_RWHITE         "{FFFFFF}"
  31. #define COL_LGREEN         "{C9FFAB}"
  32. #define COL_LRED           "{FFA1A1}"
  33. #define COL_LRED2          "{C77D87}"
  34. #define COL_GREEN          "{00BC2E}"
  35. #define COL_LBLUE          "{00A5FF}"
  36. #define COL_GRAD2          "{BFC0C2}"
  37. #define COL_NICEGREEN      "{6EF83C}"
  38. #define COL_NICERED        "{F81414}"
  39. #define COL_GREY           "{AFAFAF}"
  40. #define COL_ORANGE         "{FFAF00}"
  41.  
  42. // Colors/Misc. //
  43. #define MAX_STRING 255
  44. #define CHECKPOINT_NONE 0
  45. #define CHECKPOINT_HOME 12
  46. #define CHECKPOINT_LOADTRUCK 97651
  47. #define CHECKPOINT_RETURNTRUCK 97652
  48. #define CHECKPOINT_HITMAN 123
  49. #define CHECKPOINT_HITMAN2 124
  50. #define CHECKPOINT_HITMAN3 125
  51. #define COLOR_TWWHITE 0xFFFFFFAA
  52. #define COLOR_TWYELLOW 0xFFFF00AA
  53. #define COLOR_TWPINK 0xE75480AA
  54. #define COLOR_TWRED 0xFF0000AA
  55. #define COLOR_TWBROWN 0x654321AA
  56. #define COLOR_TWGRAY 0x808080AA
  57. #define COLOR_TWOLIVE 0x808000AA
  58. #define COLOR_TWPURPLE 0x800080AA
  59. #define COLOR_TWTAN 0xD2B48CAA
  60. #define COLOR_TWAQUA 0x00FFFFAA
  61. #define COLOR_TWORANGE 0xFF8C00AA
  62. #define COLOR_TWAZURE 0x007FFFAA
  63. #define COLOR_TWGREEN 0x008000AA
  64. #define COLOR_TWBLUE 0x0000FFAA
  65. #define COLOR_TWBLACK 0x000000AA
  66. #define COLOR_ORANGE 0xFF8000FF
  67. #define COLOR_GRAD1 0xB4B5B7FF
  68. #define COLOR_GRAD2 0xBFC0C2FF
  69. #define COLOR_GRAD3 0xCBCCCEFF
  70. #define COLOR_GRAD4 0xD8D8D8FF
  71. #define COLOR_GRAD5 0xE3E3E3FF
  72. #define COLOR_GRAD6 0xF0F0F0FF
  73. #define COLOR_GREY 0xAFAFAFAA
  74. #define COLOR_GREEN 0x33AA33AA
  75. #define COLOR_BLUE1 0x0066FFFF
  76. #define COLOR_RED 0xAA3333AA
  77. #define COLOR_RED2 0xFF0000FF
  78. #define COLOR_REALRED 0xFF0606FF
  79. #define COLOR_LIGHTRED 0xFF6347AA
  80. #define COLOR_LIGHTBLUE 0x33CCFFAA
  81. #define COLOR_LIGHTGREEN 0x9ACD32AA
  82. #define COLOR_YELLOW 0xFFFF00AA
  83. #define COLOR_VIP 0xC93CCE00
  84. #define COLOR_YELLOW2 0xF5DEB3AA
  85. #define COLOR_WHITE 0xFFFFFFAA
  86. #define COLOR_FADE1 0xE6E6E6E6
  87. #define COLOR_FADE2 0xC8C8C8C8
  88. #define COLOR_FADE3 0xAAAAAAAA
  89. #define COLOR_FADE4 0x8C8C8C8C
  90. #define COLOR_FADE5 0x6E6E6E6E
  91. #define COLOR_PURPLE 0xC2A2DAAA
  92. #define COLOR_PINK 0xFF66FFAA
  93. #define COLOR_DBLUE 0x2641FEAA
  94. #define COLOR_BLACK 0x000000AA
  95.  
  96. // New Defines //
  97. new SentPMTo[MAX_PLAYERS];
  98. new ReplyPMTo[MAX_PLAYERS];
  99. new ReceivedPM[MAX_PLAYERS];
  100. new PMReceivedFrom[MAX_PLAYERS];
  101.  
  102. // Dialog Defines //
  103. #define     DIALOG_PM           0
  104. #define     DIALOG_PM_REPLY     1
  105.  
  106. // Processors //
  107. #define SCM SendClientMessage
  108. #define DSM DIALOG_STYLE_MSGBOX
  109. #define DSL DIALOG_STYLE_LIST
  110. #define DSI DIALOG_STYLE_INPUT
  111. #define SPD ShowPlayerDialog
  112. #define GPNE GetPlayerNameEx
  113.  
  114. public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[])
  115. {
  116.     if(dialogid == DIALOG_PM)
  117.     {
  118.         if(response)
  119.         {
  120.             new pmstr[128];
  121.             format(pmstr, sizeof(pmstr), "[PM] Sent to [%s]: %s", GetPlayerNameEx(SentPMTo[playerid]), inputtext);
  122.             SCM(playerid, COLOR_YELLOW, pmstr);
  123.             format(pmstr, sizeof(pmstr), "[PM] From [%s]: %s", GetPlayerNameEx(PMReceivedFrom[playerid]), inputtext);
  124.             SCM(SentPMTo[playerid], COLOR_YELLOW, pmstr);
  125.             SCM(SentPMTo[playerid], COLOR_GREY, "Type /(r)eply to reply to the private message.");
  126.             ReceivedPM[SentPMTo[playerid]] = 1;
  127.             PMReceivedFrom[SentPMTo[playerid]] = PMReceivedFrom[playerid];
  128.         }
  129.     }
  130.     if(dialogid == DIALOG_PM_REPLY)
  131.     {
  132.         if(response)
  133.         {
  134.             new rstr[128];
  135.             format(rstr, sizeof(rstr), "[PM] Sent to [%s]: %s", GetPlayerNameEx(ReplyPMTo[playerid]), inputtext);
  136.             SCM(ReplyPMTo[playerid], COLOR_YELLOW, rstr);
  137.             format(rstr, sizeof(rstr), "[PM] From [%s]: %s", GetPlayerNameEx(PMReceivedFrom[playerid]), inputtext);
  138.             SCM(PMReceivedFrom[playerid], COLOR_YELLOW, rstr);
  139.         }
  140.     }
  141.     return 1;
  142. }
  143.  
  144. public OnPlayerClickPlayer(playerid, clickedplayerid, source)
  145. {
  146.     SPD(playerid, DIALOG_PM, DSI, "Private Messaging System", "Please enter your desired message.", "Send", "Cancel");
  147.     SentPMTo[playerid] = clickedplayerid;
  148.     ReplyPMTo[clickedplayerid] = playerid;
  149.     PMReceivedFrom[playerid] = playerid;
  150.     return 1;
  151. }
  152.  
  153. CMD:reply(playerid, params[])
  154. {
  155.     return cmd_r(playerid, params);
  156. }
  157.  
  158. CMD:r(playerid, params[])
  159. {
  160.     if(ReceivedPM[playerid] == 1)
  161.     {
  162.         SPD(playerid, DIALOG_PM_REPLY, DSI, "Private Messaging System", "Please enter your reply message.", "Send", "Cancel");
  163.     }
  164.     else
  165.     {
  166.         SCM(playerid, COLOR_GREY, "You have not received a private message from anyone.");
  167.         return 1;
  168.     }
  169.     return 1;
  170. }
  171.  
  172. GetPlayerNameEx(playerid) {
  173.  
  174.     new
  175.         sz_playerName[MAX_PLAYER_NAME],
  176.         i_pos;
  177.  
  178.     GetPlayerName(playerid, sz_playerName, MAX_PLAYER_NAME);
  179.     while ((i_pos = strfind(sz_playerName, "_", false, i_pos)) != -1) sz_playerName[i_pos] = ' ';
  180.     return sz_playerName;
  181. }
  182. #endif
Advertisement
Add Comment
Please, Sign In to add comment