Jakwob-WG

[FS] PM

Mar 22nd, 2014
224
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Pawn 5.36 KB | None | 0 0
  1. /*
  2.  
  3.        $$$$$\           $$\                               $$\      ™
  4.        \__$$ |          $$ |                              $$ |
  5.           $$ | $$$$$$\  $$ |  $$\ $$\  $$\  $$\  $$$$$$\  $$$$$$$\
  6.           $$ | \____$$\ $$ | $$  |$$ | $$ | $$ |$$  __$$\ $$  __$$\
  7.     $$\   $$ | $$$$$$$ |$$$$$$  / $$ | $$ | $$ |$$ /  $$ |$$ |  $$ |
  8.     $$ |  $$ |$$  __$$ |$$  _$$<  $$ | $$ | $$ |$$ |  $$ |$$ |  $$ |
  9.     \$$$$$$  |\$$$$$$$ |$$ | \$$\ \$$$$$\$$$$  |\$$$$$$  |$$$$$$$  |
  10.      \______/  \_______|\__|  \__| \_____\____/  \______/ \_______/
  11.            _____________________________
  12.               |      Created By Jakwob™     |
  13.                   |  Do not claim its your own  |
  14.                   |________©2014 Jakwob™________|
  15.  
  16. Version 1.2
  17. */
  18.  
  19. #define FILTERSCRIPT
  20.  
  21. #include <a_samp>
  22. #include <zcmd>
  23. #include <sscanf2>
  24.  
  25. #if defined FILTERSCRIPT
  26.  
  27. #define COLOR_RED 0xFF0000FF
  28. #define COLOR_YELLOW 0xFFFF00AA
  29. #define COLOR_ORANGE 0xFF9900AA
  30. #define COLOR_LIGHTBLUE 0x33CCFFAA
  31.  
  32. #endif
  33. new Hour, Minute, Second;
  34. new Year, Month, Day;
  35.  
  36. forward PMLog(string[]);
  37. public PMLog(string[])
  38. {
  39.     new pm[128];
  40.     format(pm, sizeof(pm), "%s\r\n", string);
  41.     new File:hFile;
  42.     hFile = fopen("/SSS/PM/pm.log", io_append);
  43.     fwrite(hFile, pm);
  44.     fclose(hFile);
  45. }
  46.  
  47. enum PlayerInfo
  48. {
  49.         Last,
  50.         NoPM,
  51. }
  52. new pInfo[MAX_PLAYERS][PlayerInfo];
  53.  
  54. public OnPlayerConnect(playerid)
  55. {
  56.     Msg(playerid, Orange, "This server uses {33CCFF}Jakwob's JPM v1.2 {FF9900}Filterscript.");
  57.     pInfo[playerid][Last] = -1;
  58.     pInfo[playerid][NoPM] = 0;
  59.     return 1;
  60. }
  61.  
  62. public OnPlayerDisconnect(playerid, reason)
  63. {
  64.     pInfo[playerid][Last] = -1;
  65.     pInfo[playerid][NoPM] = 0;
  66.     return 1;
  67. }
  68.  
  69. CMD:pm(playerid, params [ ] )
  70. {
  71.     if(IsPlayerConnected(playerid))
  72.     {
  73.         new pID, Message[128],playername[MAX_PLAYER_NAME],targetName[MAX_PLAYER_NAME],string[128],string2[128],logstring[148],msgstring[128],timestring[128],datestring[128];
  74.         if(sscanf(params, "us[128]", pID, Message)) return SendClientMessage(playerid, 0xFFFF00AA, "> Usage: /pm [PlayerID/PlayerName] [Message]");
  75.         if(pID == INVALID_PLAYER_ID) return SendClientMessage(playerid, 0xFF0000FF, "Invalid Player");
  76.         format(string, sizeof(string), "%s (%d) is not accepting private messages at the moment.", targetName, pID);
  77.         if(pInfo[pID][NoPM] == 1) return SendClientMessage(playerid, COLOR_RED, string);
  78.         GetPlayerName(pID, targetName, sizeof(targetName));
  79.         GetPlayerName(playerid, playername, sizeof(playername));
  80.         gettime(Hour, Minute, Second);
  81.         getdate(Day, Month, Year);
  82.         format(datestring, sizeof(datestring), " %d/%d/%d", Day, Month, Year);
  83.         format(timestring, sizeof(timestring), "[%d:%d:%d]", Hour, Minute, Second);
  84.         format(string2, sizeof(string2), "[PM TO] {AFAFAF}%s(%d): {FFFFFF}%s", targetName, pID, Message);
  85.         format(msgstring, sizeof(msgstring), "%s",Message);
  86.         format(string, sizeof(string), "[PM FROM] {AFAFAF}%s(%d) {FFFFFF}%s", playername, playerid, msgstring);
  87.         format(logstring, sizeof(logstring), "%s %s %s(%d) [PM TO] %s(%d): %s",datestring,timestring,targetName, pID, playername, playerid, Message);
  88.         SendClientMessage(playerid, 0xFFFF00AA, string2);
  89.         SendClientMessage(pID, 0xFFFF00AA, string);
  90.         PMLog(logstring);
  91.         pInfo[pID][Last] = playerid;
  92.     }
  93.     return 1;
  94. }
  95.  
  96. CMD:re(playerid, params[])
  97. {
  98.         new Message[178], string[128], string2[128], targetName[MAX_PLAYER_NAME],    playername[MAX_PLAYER_NAME],timestring[128],datestring[128],logstring[148];
  99.         if(sscanf(params, "s", Message)) return SendClientMessage(playerid, 0xFFFF00AA, "Usage: /re [Message]");
  100.         new pID = pInfo[playerid][Last];
  101.         if(!IsPlayerConnected(pID)) return SendClientMessage(playerid, COLOR_RED, "Player is not connected.");
  102.         GetPlayerName(pID, targetName, sizeof(targetName));
  103.         GetPlayerName(playerid, playername, sizeof(playername));
  104.         format(string, sizeof(string), "%s (%d) is not accepting private messages at the moment.", targetName, pID);
  105.         if(pInfo[pID][NoPM] == 1) return SendClientMessage(playerid, COLOR_RED, string);
  106.         gettime(Hour, Minute, Second);
  107.         getdate(Day, Month, Year);
  108.         format(datestring, sizeof(datestring), " %d/%d/%d", Day, Month, Year);
  109.         format(timestring, sizeof(timestring), "[%d:%d:%d]", Hour, Minute, Second);
  110.         format(string2, sizeof(string2), "[PM TO] {AFAFAF}%s(%d): {FFFFFF}%s", targetName, pID, Message);
  111.         SendClientMessage(playerid, 0xFFFF00AA, string2);
  112.         format(string, sizeof(string), "[PM FROM] {AFAFAF}%s(%d) {FFFFFF}%s", playername, playerid, Message);
  113.         SendClientMessage(pID, 0xFFFF00AA, string);
  114.         format(logstring, sizeof(logstring), "%s %s %s(%d) [PM TO] %s(%d): %s",datestring,timestring,targetName, pID, playername, playerid, Message);
  115.         PMLog(logstring);
  116.         pInfo[pID][Last] = playerid;
  117.         return 1;
  118. }
  119.  
  120. CMD:nopm(playerid, params [ ] )
  121. {
  122.     if(pInfo[playerid][NoPM] == 0)
  123.     {
  124.         pInfo[playerid][NoPM] = 1;
  125.         SendClientMessage(playerid, 0xFFFF00AA, ">  {33CCFF}You are no longer accepting private messages.");
  126.     }
  127.     else
  128.     {
  129.         pInfo[playerid][NoPM] = 0;
  130.         SendClientMessage(playerid, 0xFFFF00AA, ">  {33CCFF}You are now accepting private messages.");
  131.     }
  132.     return 1;
  133. }
Advertisement
Add Comment
Please, Sign In to add comment