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("");