Noticias:

No tienes permiso para ver los enlaces. Para poder verlos Registrate o Conectate.

Menú Principal

Start Custom Item

Iniciado por Swarlog, Jul 25, 2025, 11:30 PM

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