L2JLisvus

Would you like to react to this message? Create an account in a few clicks or log in to continue.

2 posters

    [REQ] Adaptation code buffs when starting char

    avatar
    naustagic


    Posts : 2
    Join date : 2019-12-21

    [REQ]  Adaptation code buffs when starting char Empty [REQ] Adaptation code buffs when starting char

    Post  naustagic 4th February 2020, 22:21

    Hello, how are you? I'm using a low rate server and found a code that I would like to implement but I don't have much knowledge in Java so I would like to ask you for help. The code consists of when creating the character, it already comes with buffs. I will leave the code and I would be very grateful if anyone can adapt it for me.

    Code:
    ### Eclipse Workspace Patch 1.0
    #P Hero-GS
    Index: config/players.properties
    ===================================================================
    --- config/players.properties (revision 36)
    +++ config/players.properties (working copy)
    @@ -5,6 +5,15 @@
     #Amount of adenas that a new character is given, default is 100
     StartingAdena = 250000
     
    +#Newbie Characters have starting buffs
    +StartingBuffs = True
    +
    +#Starting Buffs for Mystics.
    +StartingBuffsMage = 1204,2;1085,3;
    +
    +#Starting Buffs for Fighters.
    +StartingBuffsFighter = 1204,2;1086,2;
    +
     # If True, when effects of the same stack group are used, lesser
     # effects will be canceled if stronger effects are used. New effects
     # that are added will be canceled if they are of lesser priority to the old one.
    Index: java/net/sf/l2j/gameserver/network/clientpackets/CharacterCreate.java
    ===================================================================
    --- java/net/sf/l2j/gameserver/network/clientpackets/CharacterCreate.java (revision 35)
    +++ java/net/sf/l2j/gameserver/network/clientpackets/CharacterCreate.java (working copy)
    @@ -22,15 +22,18 @@
     import net.sf.l2j.gameserver.datatables.SkillTreeTable;
     import net.sf.l2j.gameserver.idfactory.IdFactory;
     import net.sf.l2j.gameserver.model.L2ShortCut;
    +import net.sf.l2j.gameserver.model.L2Skill;
     import net.sf.l2j.gameserver.model.L2SkillLearn;
     import net.sf.l2j.gameserver.model.L2World;
     import net.sf.l2j.gameserver.model.actor.instance.L2PcInstance;
     import net.sf.l2j.gameserver.model.actor.template.PcTemplate;
     import net.sf.l2j.gameserver.model.item.instance.ItemInstance;
     import net.sf.l2j.gameserver.model.item.kind.Item;
    +import net.sf.l2j.gameserver.network.SystemMessageId;
     import net.sf.l2j.gameserver.network.serverpackets.CharCreateFail;
     import net.sf.l2j.gameserver.network.serverpackets.CharCreateOk;
     import net.sf.l2j.gameserver.network.serverpackets.CharSelectInfo;
    +import net.sf.l2j.gameserver.network.serverpackets.SystemMessage;
     import net.sf.l2j.gameserver.scripting.Quest;
     import net.sf.l2j.gameserver.scripting.ScriptManager;
     
    @@ -146,6 +149,7 @@
      newChar.addAdena("Init", Config.STARTING_ADENA, null, false);
        }
            if(Config.STARTING_BUFFS)
            {
            if(!newChar.isMageClass())
            {
            for (int[] buff : Config.STARTING_BUFFS_F) //Custom buffs for fighters
            {
            L2Skill skill = SkillTable.getInstance().getInfo(buff[0], buff[1]);
            if (skill != null)
            {
            skill.getEffects(newChar, newChar);
            newChar.sendPacket(SystemMessage.getSystemMessage(SystemMessageId.YOU_FEEL_S1_EFFECT).addSkillName(buff[0]));
            }
            }
            }
            else
            {
            for (int[] buff : Config.STARTING_BUFFS_M) //Custom buffs for mystics
            {
            L2Skill skill = SkillTable.getInstance().getInfo(buff[0], buff[1]);
            if (skill != null)
            {
            skill.getEffects(newChar, newChar);
            newChar.sendPacket(SystemMessage.getSystemMessage(SystemMessageId.YOU_FEEL_S1_EFFECT).addSkillName(buff[0]));
            }
            }
            }       
            }
      newChar.setXYZInvisible(template.getSpawnX(), template.getSpawnY(), template.getSpawnZ());
      newChar.setTitle("");
     
    Index: java/net/sf/l2j/Config.java
    ===================================================================
    --- java/net/sf/l2j/Config.java (revision 46)
    +++ java/net/sf/l2j/Config.java (working copy)
    @@ -401,6 +401,9 @@
     
      /** Misc */
      public static int STARTING_ADENA;
    + public static boolean STARTING_BUFFS;
    + public static List<int[]> STARTING_BUFFS_M = new ArrayList<int[]>();
    + public static List<int[]> STARTING_BUFFS_F = new ArrayList<int[]>();
      public static boolean EFFECT_CANCELING;
      public static double HP_REGEN_MULTIPLIER;
      public static double MP_REGEN_MULTIPLIER;
    @@ -1075,6 +1078,47 @@
      // players
      ExProperties players = load(PLAYERS_FILE);
      STARTING_ADENA = players.getProperty("StartingAdena", 100);
     
     
     STARTING_BUFFS = players.getProperty("StartingBuffs", true);
     String[] propertySplit = players.getProperty("StartingBuffsMage", "1204,2").split(";");
     STARTING_BUFFS_M.clear();
     for (String buff : propertySplit)
     {
     String[] buffSplit = buff.split(",");
     if (buffSplit.length != 2)
     _log.warning("StartingBuffsMage[Config.load()]: invalid config property -> StartingBuffsMage \"" + buff + "\"");
     else
     {
     try
     {
     STARTING_BUFFS_M.add(new int[]{Integer.parseInt(buffSplit[0]), Integer.parseInt(buffSplit[1])});
     }
                catch (NumberFormatException nfe)
                {
                if (STARTING_BUFFS_M.equals(""))
                System.out.println("EROOOOOOOOOOOR WITH STARTING BUFS");
                }
     }
     }
     propertySplit = players.getProperty("StartingBuffsFighter", "1204,2").split(";");
     STARTING_BUFFS_F.clear();
     for (String buff : propertySplit)
     {
     String[] buffSplit = buff.split(",");
     if (buffSplit.length != 2)
     _log.warning("StartingBuffsFighter[Config.load()]: invalid config property -> StartingBuffsFighter \"" + buff + "\"");
     else
     {
     try
     {
     STARTING_BUFFS_F.add(new int[]{Integer.parseInt(buffSplit[0]), Integer.parseInt(buffSplit[1])});
     }
                catch (NumberFormatException nfe)
                {
                if (STARTING_BUFFS_F.equals(""))
                System.out.println("EROOOOOOOOOOOR WITH STARTING BUFS");
                }
     }
     }
       
      EFFECT_CANCELING = players.getProperty("CancelLesserEffect", true);
      HP_REGEN_MULTIPLIER = players.getProperty("HpRegenMultiplier", 1.);
      MP_REGEN_MULTIPLIER = players.getProperty("MpRegenMultiplier", 1.);
    DnR
    DnR
    Admin
    Admin


    Posts : 1476
    Join date : 2012-12-03
    Age : 34

    [REQ]  Adaptation code buffs when starting char Empty Re: [REQ] Adaptation code buffs when starting char

    Post  DnR 6th February 2020, 17:07

    Hello. This one was adapted to revision 713. Should be compatible to any other version if added manually.

    Code:

    ### Eclipse Workspace Patch 1.0
    #P Lisvus_GameServer
    Index: java/net/sf/l2j/Config.java
    ===================================================================
    --- java/net/sf/l2j/Config.java   (revision 712)
    +++ java/net/sf/l2j/Config.java   (working copy)
    @@ -1023,6 +1023,9 @@
        public static float RAID_MAX_RESPAWN_MULTIPLIER;
        /** Amount of adenas when starting a new character */
        public static int STARTING_ADENA;
    +   public static boolean STARTING_BUFFS;
    +   public static List<int[]> STARTING_BUFFS_M = new ArrayList<>();
    +   public static List<int[]> STARTING_BUFFS_F = new ArrayList<>();
        /** Starting level of a new character */
        public static byte STARTING_LEVEL;
        /** Starting level of a new subclass */
    @@ -1677,6 +1680,57 @@
              RAID_MAX_RESPAWN_MULTIPLIER = Float.parseFloat(otherSettings.getProperty("RaidMaxRespawnMultiplier", "1.0"));
              
              STARTING_ADENA = Integer.parseInt(otherSettings.getProperty("StartingAdena", "0"));
    +         
    +         STARTING_BUFFS = Boolean.parseBoolean(otherSettings.getProperty("StartingBuffs", "True"));
    +         String[] startingBuffsSplit = otherSettings.getProperty("StartingBuffsMage", "1204,2").split(";");
    +         STARTING_BUFFS_M.clear();
    +         for (String buff : startingBuffsSplit)
    +         {
    +            String[] buffSplit = buff.split(",");
    +            if (buffSplit.length != 2)
    +               _log.warning("StartingBuffsMage[Config.load()]: invalid config property -> StartingBuffsMage \"" + buff + "\"");
    +            else
    +            {
    +               try
    +               {
    +                  STARTING_BUFFS_M.add(new int[]
    +                  {
    +                     Integer.parseInt(buffSplit[0]),
    +                     Integer.parseInt(buffSplit[1])
    +                  });
    +               }
    +               catch (NumberFormatException nfe)
    +               {
    +                  if (STARTING_BUFFS_M.equals(""))
    +                     System.out.println("EROOOOOOOOOOOR WITH STARTING BUFS");
    +               }
    +            }
    +         }
    +         startingBuffsSplit = otherSettings.getProperty("StartingBuffsFighter", "1204,2").split(";");
    +         STARTING_BUFFS_F.clear();
    +         for (String buff : startingBuffsSplit)
    +         {
    +            String[] buffSplit = buff.split(",");
    +            if (buffSplit.length != 2)
    +               _log.warning("StartingBuffsFighter[Config.load()]: invalid config property -> StartingBuffsFighter \"" + buff + "\"");
    +            else
    +            {
    +               try
    +               {
    +                  STARTING_BUFFS_F.add(new int[]
    +                  {
    +                     Integer.parseInt(buffSplit[0]),
    +                     Integer.parseInt(buffSplit[1])
    +                  });
    +               }
    +               catch (NumberFormatException nfe)
    +               {
    +                  if (STARTING_BUFFS_F.equals(""))
    +                     System.out.println("EROOOOOOOOOOOR WITH STARTING BUFS");
    +               }
    +            }
    +         }
    +         
              STARTING_LEVEL = Byte.parseByte(otherSettings.getProperty("StartingLevel", "1"));
              if (STARTING_LEVEL > (Experience.MAX_LEVEL - 1))
              {
    Index: java/config/Other.properties
    ===================================================================
    --- java/config/Other.properties   (revision 712)
    +++ java/config/Other.properties   (working copy)
    @@ -1,6 +1,15 @@
     # Amount of adena that a new character is given
     StartingAdena = 0
     
    +# Newbie Characters have starting buffs
    +StartingBuffs = True
    +
    +# Starting Buffs for Mystics.
    +StartingBuffsMage = 1204,2;1085,3;
    +
    +# Starting Buffs for Fighters.
    +StartingBuffsFighter = 1204,2;1086,2;
    +
     # Starting level of a new character
     StartingLevel = 1
     
    Index: java/net/sf/l2j/gameserver/network/clientpackets/CharacterCreate.java
    ===================================================================
    --- java/net/sf/l2j/gameserver/network/clientpackets/CharacterCreate.java   (revision 712)
    +++ java/net/sf/l2j/gameserver/network/clientpackets/CharacterCreate.java   (working copy)
    @@ -31,6 +31,7 @@
     import net.sf.l2j.gameserver.instancemanager.QuestManager;
     import net.sf.l2j.gameserver.model.L2ItemInstance;
     import net.sf.l2j.gameserver.model.L2ShortCut;
    +import net.sf.l2j.gameserver.model.L2Skill;
     import net.sf.l2j.gameserver.model.L2SkillLearn;
     import net.sf.l2j.gameserver.model.L2World;
     import net.sf.l2j.gameserver.model.actor.instance.L2PcInstance;
    @@ -41,6 +42,7 @@
     import net.sf.l2j.gameserver.network.serverpackets.CharCreateFail;
     import net.sf.l2j.gameserver.network.serverpackets.CharCreateOk;
     import net.sf.l2j.gameserver.network.serverpackets.CharSelectInfo;
    +import net.sf.l2j.gameserver.network.serverpackets.SystemMessage;
     import net.sf.l2j.gameserver.templates.L2Item;
     import net.sf.l2j.gameserver.templates.L2PcTemplate;
     import net.sf.l2j.gameserver.templates.L2PcTemplate.InitialItem;
    @@ -191,6 +193,34 @@
           L2PcTemplate template = newChar.getTemplate();
     
           newChar.addAdena("Init", Config.STARTING_ADENA, null, false);
    +      
    +      if (Config.STARTING_BUFFS)
    +      {
    +         if (!newChar.isMageClass())
    +         {
    +            for (int[] buff : Config.STARTING_BUFFS_F) // Custom buffs for fighters
    +            {
    +               L2Skill skill = SkillTable.getInstance().getInfo(buff[0], buff[1]);
    +               if (skill != null)
    +               {
    +                  skill.getEffects(newChar, newChar);
    +                  newChar.sendPacket(new SystemMessage(SystemMessage.YOU_FEEL_S1_EFFECT).addSkillName(buff[0]));
    +               }
    +            }
    +         }
    +         else
    +         {
    +            for (int[] buff : Config.STARTING_BUFFS_M) // Custom buffs for mystics
    +            {
    +               L2Skill skill = SkillTable.getInstance().getInfo(buff[0], buff[1]);
    +               if (skill != null)
    +               {
    +                  skill.getEffects(newChar, newChar);
    +                  newChar.sendPacket(new SystemMessage(SystemMessage.YOU_FEEL_S1_EFFECT).addSkillName(buff[0]));
    +               }
    +            }
    +         }
    +      }
     
           if (Config.CUSTOM_STARTING_SPAWN)
           {
    avatar
    naustagic


    Posts : 2
    Join date : 2019-12-21

    [REQ]  Adaptation code buffs when starting char Empty Re: [REQ] Adaptation code buffs when starting char

    Post  naustagic 12th February 2020, 00:51

    Dnr, thank you! I am dedicating myself on a server using the base of l2lisvus. I also thank you for your dedication to the project. I always wanted to have my own server and now I am close to doing it thanks to your project. I wish I could understand better about java to contribute here, but I am learning and I still have difficulties in some things. Good evening!

    Sponsored content


    [REQ]  Adaptation code buffs when starting char Empty Re: [REQ] Adaptation code buffs when starting char

    Post  Sponsored content


      Current date/time is 17th October 2024, 02:23