Noticias:

Debes de estar registrado para poder ver el contenido indicado. Registrate o Conectate

Menú Principal

Start Custom Item

Iniciado por Swarlog, Ago 19, 2022, 12:36 AM

Tema anterior - Siguiente tema

Swarlog

Index: /TrunK/L2JBrasil_CORE/java/config/L2JBrasil-Custom.properties
===================================================================
--- /TrunK/L2JBrasil_CORE/java/config/L2JBrasil-Custom.properties (revision 89)
+++ /TrunK/L2JBrasil_CORE/java/config/L2JBrasil-Custom.properties (revision 93)
@@ -57,5 +57,16 @@
 
 #---------------------------------------------------------------
-# Custom Start spawn.                                       -
+# Custom Start Item                                            -
+#---------------------------------------------------------------
+
+# Allow custom starter items?
+AllowCustomStarterItems = false
+
+# You must allow custom starter items!
+# Usage: id,count;id,count;
+CustomStarterItems = 57,1000;
+
+#---------------------------------------------------------------
+# Custom Start spawn.                                          -
 #---------------------------------------------------------------
 
Index: /TrunK/L2JBrasil_CORE/java/net/sf/l2j/Config.java
===================================================================
--- /TrunK/L2JBrasil_CORE/java/net/sf/l2j/Config.java (revision 89)
+++ /TrunK/L2JBrasil_CORE/java/net/sf/l2j/Config.java (revision 93)
@@ -931,4 +931,6 @@
     public static boolean   ACTIVE_SUB_NEEDED_TO_USE_NOBLE_ITEM;
     public static int       NOBLE_CUSTOM_LEVEL;
+    public static boolean ALLOW_CUSTOM_STARTER_ITEMS;
+    public static List<int[]> CUSTOM_STARTER_ITEMS = new FastList<int[]>();
     /** L2JBRASIL Custom - End */   
     
@@ -2069,4 +2071,35 @@
                TITLE_COLOR_FOR_PK_AMOUNT4 = Integer.decode("0x" + L2JBrasilCustom.getProperty("TitleForAmount4", "00FF00"));
                TITLE_COLOR_FOR_PK_AMOUNT5 = Integer.decode("0x" + L2JBrasilCustom.getProperty("TitleForAmount5", "00FF00"));           
+
+
+    if (ALLOW_CUSTOM_STARTER_ITEMS)
+     {
+       String[] propertySplit = L2JBrasilCustom.getProperty("CustomStarterItems", "0,0").split(";");
+       for (String starteritems : propertySplit)
+                    {
+                    String[] starteritemsSplit = starteritems.split(",");
+                    if (starteritemsSplit.length != 2)
+                    {
+                    ALLOW_CUSTOM_STARTER_ITEMS = false;
+                    System.out.println("StarterItems[Config.load()]: invalid config property -> starter items \""+ starteritems + "\"");
+                    }
+                    else
+                    {
+                    try
+                    {
+                CUSTOM_STARTER_ITEMS.add(new int[] { Integer.valueOf(starteritemsSplit[0]), Integer.valueOf(starteritemsSplit[1]) });
+                    }
+                    catch (NumberFormatException nfe)
+                    {
+                    if (!starteritems.equals(""))
+                    {
+                    ALLOW_CUSTOM_STARTER_ITEMS = false;
+                  System.out.println("StarterItems[Config.load()]: invalid config property -> starter items \"" + starteritems + "\"");
+                    }
+                    }
+                    }
+                    }
+                }
+                   
             }
             catch (Exception e)
Index: /TrunK/L2JBrasil_CORE/java/net/sf/l2j/gameserver/clientpackets/CharacterCreate.java
===================================================================
--- /TrunK/L2JBrasil_CORE/java/net/sf/l2j/gameserver/clientpackets/CharacterCreate.java (revision 89)
+++ /TrunK/L2JBrasil_CORE/java/net/sf/l2j/gameserver/clientpackets/CharacterCreate.java (revision 93)
@@ -26,4 +26,5 @@
 import net.sf.l2j.Config;
 import net.sf.l2j.gameserver.datatables.CharNameTable;
+import net.sf.l2j.gameserver.datatables.ItemTable;
 import net.sf.l2j.gameserver.datatables.CharTemplateTable;
 import net.sf.l2j.gameserver.datatables.ItemTable;
@@ -36,4 +37,5 @@
 import net.sf.l2j.gameserver.model.L2World;
 import net.sf.l2j.gameserver.model.actor.instance.L2PcInstance;
+import net.sf.l2j.gameserver.model.PcInventory;
 import net.sf.l2j.gameserver.network.L2GameClient;
 import net.sf.l2j.gameserver.serverpackets.CharCreateFail;
@@ -172,5 +174,27 @@
 
  newChar.addAdena("Init", Config.STARTING_ADENA, null, false);
-
+
+ // L2BRASIL_CUSTOM - START
+ for (int[] startingItems : Config.CUSTOM_STARTER_ITEMS)
+ {
+ if (newChar == null)
+ {
+ continue;
+ }
+ PcInventory inv = newChar.getInventory();
+ if (ItemTable.getInstance().createDummyItem(startingItems[0]).isStackable())
+ {
+ inv.addItem("Starter Items", startingItems[0], startingItems[1], newChar, null);
+ }
+ else
+ {
+ for (int i = 0; i < startingItems[1]; i++)
+ {
+ inv.addItem("Starter Items", startingItems[0], 1, newChar, null);
+ }
+ }
+ }
+ // L2BRASIL_CUSTOM - END
+
  newChar.setXYZInvisible(template.spawnX, template.spawnY, template.spawnZ);
  newChar.setTitle("");