Jump to content

Recommended Posts

Posted

New code  :D

Index: /trunk/L2J-Game/config/main/custom.properties
===================================================================
--- /trunk/L2J-Game/config/main/custom.properties (revision 1639)
+++ /trunk/L2J-Game/config/main/custom.properties (revision 1680)
@@ -266,2 +266,9 @@
PvpRewardItemName = Adena
PvpRewardAmmount = 100
+
+# Allow custom starter items?
+AllowCustomStarterItems = false
+
+# You must allow custom starter items!
+# Usage: id,count;id,count;
+CustomStarterItems = 57,1000;
Index: /trunk/L2J-Game/src/main/java/net/l2jserver/gameserver/network/clientpackets/CharacterCreate.java
===================================================================
--- /trunk/L2J-Game/src/main/java/net/l2jserver/gameserver/network/clientpackets/CharacterCreate.java (revision 1634)
+++ /trunk/L2J-Game/src/main/java/net/l2jserver/gameserver/network/clientpackets/CharacterCreate.java (revision 1680)
@@ -19,4 +19,5 @@
import net.sf.l2j.gameserver.datatables.CharNameTable;
import net.sf.l2j.gameserver.datatables.CharTemplateTable;
+import net.sf.l2j.gameserver.datatables.ItemTable;
import net.sf.l2j.gameserver.datatables.SkillTable;
import net.sf.l2j.gameserver.datatables.SkillTreeTable;
@@ -29,4 +30,5 @@
import net.sf.l2j.gameserver.model.L2World;
import net.sf.l2j.gameserver.model.actor.instance.L2PcInstance;
+import net.sf.l2j.gameserver.model.itemcontainer.PcInventory;
import net.sf.l2j.gameserver.model.quest.Quest;
import net.sf.l2j.gameserver.model.quest.QuestState;
@@ -154,4 +156,27 @@
		if (Config.STARTING_AA > 0)
			newChar.addAncientAdena("Init", Config.STARTING_AA, null, false);
+		
+		// L2EMU_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);
+				}
+			}
+		}
+		// L2EMU_CUSTOM - END
+		
		//L2EMU_ADD
		newChar.getPosition().setXYZInvisible(template.getSpawnX(), template.getSpawnY(), template.getSpawnZ());
Index: /trunk/L2J-Game/src/main/java/net/l2jserver/Config.java
===================================================================
--- /trunk/L2J-Game/src/main/java/net/l2jserver/Config.java (revision 1664)
+++ /trunk/L2J-Game/src/main/java/net/l2jserver/Config.java (revision 1680)
@@ -25,4 +25,5 @@
import java.math.BigInteger;
import java.util.ArrayList;
+import java.util.List;
import java.util.Map;
import java.util.Properties;
@@ -867,4 +868,7 @@
	public static String        PVP_REWARD_ITEM_NAME;
	public static int           PVP_REWARD_ITEM_AMMOUNT;
+	
+	public static boolean		ALLOW_CUSTOM_STARTER_ITEMS;
+	public static List<int[]> 	CUSTOM_STARTER_ITEMS = new FastList<int[]>();

	//*********************************************************
@@ -940,4 +944,36 @@
		 	PVP_REWARD_ITEM_NAME = customSettings.getProperty("PvpRewardItemName", "Adena");
		 	PVP_REWARD_ITEM_AMMOUNT = Integer.parseInt(customSettings.getProperty("PvpRewardAmmount", "100"));
+		 	ALLOW_CUSTOM_STARTER_ITEMS = Boolean.parseBoolean(customSettings.getProperty("AllowCustomStarterItems", "false"));
+		
+		 	
+			if (ALLOW_CUSTOM_STARTER_ITEMS)
+			{
+			    String[] propertySplit = customSettings.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)

Posted

when I create acc i have your custom ytemes:

#Default is 0

StartingAdena = 0

 

+ #Custom item for newChar

+ #(seperated by ",")

+ StartingCustomItems = 3470,1147,425,1146  yes?

 

Posted

Good Work but I think that there are these options in some custom serverpacks.

 

Nope, I found on the forum like this but edit from navicat

 

Credits to me !

Posted

Nice work xAddytzu,thx.

You can tell me how to make a option for fighter and mage plzzz ???

 

Example:

StartingCustomItemsFighters = 3470,1147,425,1146      (Itens only for fighters characters)

StartingCustomItemsMages = 3470,1147,425,1146    (Itens only for mages characters)

I'm searching for this option a long time, but not found =/.

Thx in advanced friend :) !

Posted

Nice work xAddytzu,thx.

You can tell me how to make a option for fighter and mage plzzz ???

 

Example:I'm searching for this option a long time, but not found =/.

Thx in advanced friend :) !

 

hmmm I can make your option

 

after coming from school..today I have test

 

Have a nice day`

Posted

Hey xAddytzu,thx so much friend,i'm very happy :D !

Well , let's go.

 

1 - This patch works nice with Gracia CT2 ?

If yes,look this error:

compile:
   [javac] Compiling 1250 source files to C:\eclipse\L2JSERVER_PT2\L2J_Gameserv
er_PT2\build\classes
   [javac] C:\eclipse\L2JSERVER_PT2\L2J_Gameserver_PT2\java\net\sf\l2j\gameserv
er\network\clientpackets\CharacterCreate.java:190: cannot find symbol
   [javac] symbol  : method addItem(java.lang.String,java.util.List<java.lang.I
nteger>,int,net.sf.l2j.gameserver.model.actor.instance.L2PcInstance,<nulltype>)
   [javac] location: class net.sf.l2j.gameserver.model.itemcontainer.PcInventor
y
   [javac]             newChar.getInventory().addItem("Init", Config.LIST_START
ING_CUSTOMITEMSF, 1, newChar, null);
   [javac]                                   ^
   [javac] C:\eclipse\L2JSERVER_PT2\L2J_Gameserver_PT2\java\net\sf\l2j\gameserv
er\network\clientpackets\CharacterCreate.java:194: cannot find symbol
   [javac] symbol  : method addItem(java.lang.String,java.util.List<java.lang.I
nteger>,int,net.sf.l2j.gameserver.model.actor.instance.L2PcInstance,<nulltype>)
   [javac] location: class net.sf.l2j.gameserver.model.itemcontainer.PcInventor
y
   [javac]             newChar.getInventory().addItem("Init", Config.LIST_START
ING_CUSTOMITEMSM, 1, newChar, null);
   [javac]                                   ^
   [javac] 2 errors

BUILD FAILED
C:\eclipse\L2JSERVER_PT2\L2J_Gameserver_PT2\build.xml:74: Compile failed; see th
e compiler error output for details.

 

2 - Checkout the patch in the download . May be useful for you :) .

http://www.4shared.com/file/106960328/36aa71e8/Custom_Starter_Itens.html

 

3 - I forgot to talk about the amount of item.

Example:

# Usage: id,count;id,count; etc... (1835 = Soulshot: No Grade) (3947 = Blessed Spiritshot: No Grade )

 

StartingCustomItemsFighter = 1835,1000;

StartingCustomItemsMage = 3947,1000;

 

Well,it's all.

Sorry for a lot of questions friend,and thx so much for attention.

Posted

newChar.getInventory().addItem("Init", Config.LIST_STARTING_CUSTOMITEMSF, 1, newChar, null);

 

as i see on the error message heres the problem also i dont understand why newChar.getInventory().addItem since you can use only newChar.addItem...this code needs to look like

 

newChar.addItem("Init", Config.LIST_STARTING_CUSTOMITEMSF, 1, null, false);

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now



  • Posts

    • Yes he have account in MXC but didn't came here and didn't post nothing to protect his reputation, and MXC administration doing nothing about scammers seems old scammers accounts was unblocked too.
    • Thank you, Can I have the password ?
    • I'd love to get involved, add me on discord: ilikebeer.
    • Forever Lineage Interlude mid-rate built for people with one hour a night Chronicle: Interlude XP/SP: 25x  |  Drop: 10x  |  Adena: 12x  |  Spoil: 15x Enchant: Safe +3  |  Max +21 Fresh start: 11 September 2026 - server is live now Website: https://l2forever.eu Discord: https://discord.gg/96rdukHvbs Why this server exists I have wanted my own Lineage 2 server since I was a teenager. I tried, failed, came back, failed again. Fifteen years later I am a developer with a full-time job, a family, and maybe an hour before bed. Every server I tried as an adult made that hour feel wasted - log in, kill a few mobs, no real progress, log out annoyed. So I built the server I actually wanted to play. Everything below is designed around one question: can you log in, make real progress, and log out on your own terms in one session? What is different Rebirth and Talent Tree - hit level 80, reset to level 1, keep your gear and skill enchants, earn talent points. Build a different character every rebirth. Bounty Hunter - daily hunt tasks with rank progression, Bounty Coins, and rare bounties. One bounty fits one session. Companions - a summonable tank, healer, or damage ally for any class. First one costs three bounties. Solo play without a solo class. Auto-farm - your character farms on its own for 2 hours a day at full XP and half loot. Solo, monsters only. The only automation allowed. Alchemy - brew stronger HP/MP potions from monster drops, no recipe needed. Custom Gludin start zone - buffs, passive mobs, and the NPCs you need, through your first 20 levels. Shorter class quests - 1st, 2nd, 3rd class, Subclass and Noblesse, all through one NPC. Champions - 5% spawn above level 40, 3x HP, 8x XP, 4-5x loot. Worth stopping for. Scheme buffer, shop up to C-grade, teleporter - B-grade and above come from crafting, drops, and quests. Seasons - each season brings Talent Tree changes. Your master account, titles, and cosmetics carry over. The rules I hold myself to Solo is the default, not a punishment. No clan required, no raid schedule, no guilt when you log off. Paid tiers add convenience and time, not power - the free baseline is the full game. No surprise wipes: if another fresh start ever happens, it is announced at least a month ahead. One developer, no shady admin, and I play on it myself. This is the server I needed fifteen years ago. Come see what I made. https://l2forever.eu  
    • 🚀 September Restock Live! Upgrade your personal Gmail to 5TB + Gemini Pro 12-18 Months instantly. 100% private and automated delivery!
  • Topics

×
×
  • Create New...

Important Information

This community uses essential cookies to function properly. Non-essential cookies and third-party services are used only with your consent. Read our Privacy Policy and We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue..