Giardev

Anti Heal Dualbox hwid

Sep 14th, 2021
965
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. =================================================================
  2. index-- net.sf.l2j.gameserver.model.actor.cast.CreatureCast.java
  3. =================================================================
  4.  
  5.     public class CreatureCast<T extends Creature>
  6.     {
  7.         public static final CLogger LOGGER = new CLogger(CreatureCast.class.getName());
  8. +       private static Map<String, Integer> playersHwid = new HashMap<>();
  9. +       protected static int boxes;
  10.         protected final T _actor;
  11.  
  12.  
  13.  
  14.         if ((skill.isMagic() && this._actor.isMuted()) || (!skill.isMagic() && this._actor.isPhysicalMuted() && skill.getId() == 4215))
  15.             return false;
  16. +          
  17. +       /////////////////////////////////////////////////////////////////////////////////
  18. +       //Created By Dagger FIX Giardev
  19. +       /////////////////////////////////////////////////////////////////////////////////
  20. +       if(_actor instanceof Player)
  21. +       {
  22. +           //Leemos todos los players para capturar sus MACs
  23. +           for (Player player : World.getInstance().getPlayers())
  24. +           {      
  25. +               //Definimos los estados que no seran leidos
  26. +               if (player.isInStoreMode() || player.isInJail() || player.isDead() || player.isInvul() || player.isHealer())
  27. +               {
  28. +                   continue;
  29. +               }
  30. +               //Definimos la variable en false por default en caso de no haber una MAC identica
  31. +               boolean canBuff = false;
  32. +               //De todos los players capturamos su MAC
  33. +               String pHwid = player.getClient().getHWID();
  34. +               //Si la variable playersHwid contiene la ip la va agregando a count
  35. +               if (playersHwid.containsKey(pHwid))
  36. +               {
  37. +                    //Count es igual a la cantidad de MACs de los players capturadas en el ciclo for
  38. +                   int count = playersHwid.get(pHwid);
  39. +                   //Mientras count siga siendo menor a boxes devolvera true
  40. +                   if (count < boxes)
  41. +                   {
  42. +                       playersHwid.remove(pHwid);
  43. +                       playersHwid.put(pHwid, count + 1);
  44. +                       canBuff = true;
  45. +                   }
  46. +               }
  47. +               else
  48. +               {
  49. +                   canBuff = true;
  50. +                   playersHwid.put(pHwid, 1);
  51. +               }
  52. +               //Si puede buffear con el skill HEAL no hara anda de lo contrario le enviara un mensaje
  53. +               if (canBuff && target !=_actor && skill.getSkillType() == SkillType.HEAL)
  54. +               {              
  55. +                       player.sendPacket(new CreatureSay(0,SayType.PARTY,"System","You cannot heal in dual box."));
  56. +                       player.deleteMe();
  57. +                       player.logout(false);
  58. +               }
  59. +           }
  60. +           //Limpiamos la variable playersHwid para que siga el ciclo for en caso de leer nuevamente una MAC igual
  61. +           playersHwid.clear();
  62. +       }      
  63. +       /////////////////////////////////////////////////////////////////////////////////
  64. +       /////////////////////////////////////////////////////////////////////////////////
  65. +      
  66.           if (target != _actor && target.isInArena() && (skill.getSkillType() == SkillType.BUFF || skill.getSkillType() == SkillType.HEAL) && !isCtrlPressed && !target.isInParty()) {
  67.             _actor.sendPacket(SystemMessage.getSystemMessage(SystemMessageId.TARGET_IS_INCORRECT));
  68.             return false;
  69.           }
  70.  
  71. =================================================================
  72. index-- net.sf.l2j.gameserver.model.actor.Player.java
  73. =================================================================
  74.  
  75. +    public final boolean isHealer()
  76. +   { //si falta alcguna class agregarla
  77. +       if (
  78. +           getClassId() == ClassId.CLERIC ||
  79. +           getClassId() == ClassId.SHILLIEN_ORACLE ||
  80. +           getClassId() == ClassId.ELVEN_ORACLE ||
  81. +           getClassId() == ClassId.BISHOP ||
  82. +           getClassId() == ClassId.CARDINAL ||
  83. +           getClassId() == ClassId.ELVEN_ELDER ||
  84. +           getClassId() == ClassId.EVAS_SAINT ||
  85. +           getClassId() == ClassId.SHILLIEN_ELDER ||
  86. +           getClassId() == ClassId.SHILLIEN_SAINT)
  87. +       {
  88. +           return true;
  89. +   }
  90. +       return false;  
  91. +   }        
RAW Paste Data