Advertisement
Nik

SilenceModeExcluded

Nik
Sep 25th, 2011
138
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Diff 5.53 KB | None | 0 0
  1. ### Eclipse Workspace Patch 1.0
  2. #P L2J_DataPack_BETA
  3. Index: data/scripts/handlers/chathandlers/ChatTell.java
  4. ===================================================================
  5. --- data/scripts/handlers/chathandlers/ChatTell.java    (revision 213)
  6. +++ data/scripts/handlers/chathandlers/ChatTell.java    (working copy)
  7. @@ -63,7 +63,7 @@
  8.        
  9.         receiver = L2World.getInstance().getPlayer(target);
  10.        
  11. -       if (receiver != null && !receiver.isSilenceMode())
  12. +       if (receiver != null && !receiver.isSilenceMode(activeChar.getObjectId()))
  13.         {
  14.             if (Config.JAIL_DISABLE_CHAT && receiver.isInJail() && !activeChar.isGM())
  15.             {
  16. @@ -82,6 +82,10 @@
  17.             }
  18.             if (!BlockList.isBlocked(receiver, activeChar))
  19.             {
  20. +               // Allow reciever to send PMs to this char, which is in silence mode.
  21. +               if (Config.SILENCE_MODE_EXCLUDE && activeChar.isSilenceMode())
  22. +                   activeChar.addSilenceModeExcluded(receiver.getObjectId());
  23. +              
  24.                 receiver.sendPacket(cs);
  25.                 activeChar.sendPacket(new CreatureSay(activeChar.getObjectId(), type, "->" + receiver.getName(), text));
  26.             }
  27. #P L2J_Server_BETA
  28. Index: dist/game/config/Character.properties
  29. ===================================================================
  30. --- dist/game/config/Character.properties   (revision 128)
  31. +++ dist/game/config/Character.properties   (working copy)
  32. @@ -777,4 +777,9 @@
  33.  # Character name restriction
  34.  # Disallow characters to have a name which contains the words.
  35.  # Split them with ",". Example: announcements,announce...
  36. -ForbiddenNames = annou,ammou,amnou,anmou,anou,amou
  37. \ No newline at end of file
  38. +ForbiddenNames = annou,ammou,amnou,anmou,anou,amou
  39. +
  40. +# If enabled, when character in silence (block PMs) mode sends a PM to a character, silence mode no longer blocks this character,
  41. +# allowing both characters send each other PMs even with enabled silence mode.
  42. +# The exclude list is cleared each time the character goes into silence mode.
  43. +SilenceModeExclude = False
  44. \ No newline at end of file
  45. Index: java/com/l2jserver/gameserver/communitybbs/Manager/RegionBBSManager.java
  46. ===================================================================
  47. --- java/com/l2jserver/gameserver/communitybbs/Manager/RegionBBSManager.java    (revision 128)
  48. +++ java/com/l2jserver/gameserver/communitybbs/Manager/RegionBBSManager.java    (working copy)
  49. @@ -227,7 +227,7 @@
  50.                     _logChat.log(record);
  51.                 }
  52.                 CreatureSay cs = new CreatureSay(activeChar.getObjectId(), Say2.TELL, activeChar.getName(), ar3);
  53. -               if (!receiver.isSilenceMode() && !BlockList.isBlocked(receiver, activeChar) )
  54. +               if (!receiver.isSilenceMode(activeChar.getObjectId()) && !BlockList.isBlocked(receiver, activeChar) )
  55.                 {
  56.                     receiver.sendPacket(cs);
  57.                     activeChar.sendPacket(new CreatureSay(activeChar.getObjectId(), Say2.TELL, "->" + receiver.getName(), ar3));
  58. Index: java/com/l2jserver/Config.java
  59. ===================================================================
  60. --- java/com/l2jserver/Config.java  (revision 128)
  61. +++ java/com/l2jserver/Config.java  (working copy)
  62. @@ -230,6 +230,7 @@
  63.     public static boolean STORE_RECIPE_SHOPLIST;
  64.     public static boolean STORE_UI_SETTINGS;
  65.     public static String[] FORBIDDEN_NAMES;
  66. +   public static boolean SILENCE_MODE_EXCLUDE;
  67.    
  68.     //--------------------------------------------------
  69.     // ClanHall Settings
  70. @@ -1872,6 +1873,7 @@
  71.                     STORE_RECIPE_SHOPLIST = Boolean.parseBoolean(Character.getProperty("StoreRecipeShopList", "False"));
  72.                     STORE_UI_SETTINGS = Boolean.parseBoolean(Character.getProperty("StoreCharUiSettings", "False"));
  73.                     FORBIDDEN_NAMES = Character.getProperty("ForbiddenNames", "").split(",");
  74. +                   SILENCE_MODE_EXCLUDE = Boolean.parseBoolean(Character.getProperty("SilenceModeExclude", "False"));
  75.                     PLAYER_MOVEMENT_BLOCK_TIME = Integer.parseInt(Character.getProperty("NpcTalkBlockingTime", "0")) * 1000;
  76.                 }
  77.                 catch (Exception e)
  78. Index: java/com/l2jserver/gameserver/model/actor/instance/L2PcInstance.java
  79. ===================================================================
  80. --- java/com/l2jserver/gameserver/model/actor/instance/L2PcInstance.java    (revision 129)
  81. +++ java/com/l2jserver/gameserver/model/actor/instance/L2PcInstance.java    (working copy)
  82. @@ -14,6 +14,8 @@
  83.   */
  84.  package com.l2jserver.gameserver.model.actor.instance;
  85.  
  86. +import gnu.trove.TIntArrayList;
  87. +
  88.  import java.io.BufferedWriter;
  89.  import java.io.File;
  90.  import java.io.FileWriter;
  91. @@ -676,6 +678,7 @@
  92.     private boolean _messageRefusal = false;    // message refusal mode
  93.    
  94.     private boolean _silenceMode = false;     // silence mode
  95. +   private TIntArrayList _silenceModeExcluded = new TIntArrayList();     // silence mode
  96.     private boolean _dietMode = false;          // ignore weight penalty
  97.     private boolean _tradeRefusal = false;       // Trade refusal
  98.     private boolean _exchangeRefusal = false;   // Exchange refusal
  99. @@ -14617,14 +14620,31 @@
  100.     }
  101.    
  102.     /**
  103. +    * While at silenceMode, checks if this PC Instance blocks PMs for this user
  104. +    */
  105. +   public boolean isSilenceMode(int objId)
  106. +   {
  107. +       if (Config.SILENCE_MODE_EXCLUDE && _silenceMode)
  108. +           return !_silenceModeExcluded.contains(objId);
  109. +      
  110. +       return _silenceMode;
  111. +   }
  112. +  
  113. +   /**
  114.      * @param mode the _silenceMode to set
  115.      */
  116.     public void setSilenceMode(boolean mode)
  117.     {
  118.         _silenceMode = mode;
  119. +       _silenceModeExcluded.clear(); // Clear the excluded list on each setSilenceMode
  120.         sendPacket(new EtcStatusUpdate(this));
  121.     }
  122.    
  123. +   public void addSilenceModeExcluded(int playerObjId)
  124. +   {
  125. +       _silenceModeExcluded.add(playerObjId);
  126. +   }
  127. +  
  128.     private void storeRecipeShopList()
  129.     {
  130.         Connection con = null;
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement