Jump to content

Recommended Posts

Posted

Index: /java/config/l2jmods.properties
===================================================================
--- /java/config/l2jmods.properties	(revision 174)
+++ /java/config/l2jmods.properties	(working copy)
@@ -161,4 +161,62 @@
#----------------------------------
EnableWarehouseSortingClan = False
EnableWarehouseSortingPrivate = False
-EnableWarehouseSortingFreight = False
\ No newline at end of file
+EnableWarehouseSortingFreight = False
+
+# ---------------------------------------
+# 10PvPs Name Color Levels by Prince*
+# ---------------------------------------
+# Each Amount will change the name color to the values defined here.
+# Example: PvpAmmount1 = 500, when a character's PvP counter reaches 500, their name color will change
+# according to the ColorForAmount value.
+# Note: Colors Must Use RBG format
+EnablePvPColorSystem = false
+
+# Pvp Amount & Name color level 1.
+PvpAmount1 = 100
+ColorForAmount1 = CCFF00
+
+# Pvp Amount & Name color level 2.
+PvpAmount2 = 150
+ColorForAmount2 = 00FF00
+
+# Pvp Amount & Name color level 3.
+PvpAmount3 = 200
+ColorForAmount3 = 00FF00
+
+# Pvp Amount & Name color level 4.
+PvpAmount4 = 250
+ColorForAmount4 = 00FF00
+
+# Pvp Amount & Name color level 5.
+PvpAmount5 = 300
+ColorForAmount5 = 00FF00
+
+# Pvp Amount & Name color level 6.
+PvpAmount6 = 350
+ColorForAmount6 = 00FF00
+
+# Pvp Amount & Name color level 7.
+PvpAmount7 = 400
+ColorForAmount7 = 00FF00
+
+# Pvp Amount & Name color level 8.
+PvpAmount8 = 450
+ColorForAmount8 = 00FF00
+
+# Pvp Amount & Name color level 9.
+PvpAmount9 = 500
+ColorForAmount9 = 00FF00
+
+# Pvp Amount & Name color level 10.
+PvpAmount10 = 550
+ColorForAmount10 = 00FF00
+
+# ---------------------------------------
+# 10 Pks Color Title By Prince*
+# ---------------------------------------
+# Same as above, with the difference that the PK counter changes the title color.
+# Example:  PkAmmount1 = 100, when a character's PK counter reaches 100, their title color will change
+# according to the Title For Amount
+# WAN: Colors Must Use RBG format
+EnablePkColorSystem = false
+
+# Pk Amount & Title color level 1.
+PkAmount1 = 100
+TitleForAmount1 = 00FF00
+
+# Pk Amount & Title color level 2.
+PkAmount2 = 150
+TitleForAmount2 = 00FF00
+
+# Pk Amount & Title color level 3.
+PkAmount3 = 200
+TitleForAmount3 = 00FF00
+
+# Pk Amount & Title color level 4.
+PkAmount4 = 250
+TitleForAmount4 = 00FF00
+
+# Pk Amount & Title color level 5.
+PkAmount5 = 300
+TitleForAmount5 = 00FF00
+
+# Pk Amount & Title color level 6.
+PkAmount6 = 350
+TitleForAmount6 = 00FF00
+
+# Pk Amount & Title color level 7.
+PkAmount7 = 400
+TitleForAmount7 = 00FF00
+
+# Pk Amount & Title color level 8.
+PkAmount8 = 450
+TitleForAmount8 = 00FF00
+
+# Pk Amount & Title color level 9.
+PkAmount9 = 500
+TitleForAmount9 = 00FF00
+
+# Pk Amount & Title color level 10.
+PkAmount10 = 550
+TitleForAmount10 = 00FF00
\ No newline at end of file
Index: /java/net/sf/l2j/Config.java
===================================================================
--- /java/net/sf/l2j/Config.java	(revision 174)
+++ /java/net/sf/l2j/Config.java	(working copy)
@@ -544,6 +546,28 @@
     public static boolean	L2JMOD_ENABLE_WAREHOUSESORTING_CLAN;
     public static boolean	L2JMOD_ENABLE_WAREHOUSESORTING_PRIVATE;
     public static boolean	L2JMOD_ENABLE_WAREHOUSESORTING_FREIGHT;
+	public static boolean		PVP_COLOR_SYSTEM_ENABLED;
+	public static int			PVP_AMOUNT1;
+	public static int			PVP_AMOUNT2;
+	public static int			PVP_AMOUNT3;
+	public static int			PVP_AMOUNT4;
+	public static int			PVP_AMOUNT5;
+	public static int			PVP_AMOUNT6;
+	public static int			PVP_AMOUNT7;
+	public static int			PVP_AMOUNT8;
+	public static int			PVP_AMOUNT9;
+	public static int			PVP_AMOUNT10;
+	public static int			NAME_COLOR_FOR_PVP_AMOUNT1;
+	public static int			NAME_COLOR_FOR_PVP_AMOUNT2;
+	public static int			NAME_COLOR_FOR_PVP_AMOUNT3;
+	public static int			NAME_COLOR_FOR_PVP_AMOUNT4;
+	public static int			NAME_COLOR_FOR_PVP_AMOUNT5;
+	public static int			NAME_COLOR_FOR_PVP_AMOUNT6;
+	public static int			NAME_COLOR_FOR_PVP_AMOUNT7;
+	public static int			NAME_COLOR_FOR_PVP_AMOUNT8;
+	public static int			NAME_COLOR_FOR_PVP_AMOUNT9;
+	public static int			NAME_COLOR_FOR_PVP_AMOUNT10;
+	public static boolean		PK_COLOR_SYSTEM_ENABLED;
+	public static int			PK_AMOUNT1;
+	public static int			PK_AMOUNT2;
+	public static int			PK_AMOUNT3;
+	public static int			PK_AMOUNT4;
+	public static int			PK_AMOUNT5;
+	public static int			PK_AMOUNT6;
+	public static int			PK_AMOUNT7;
+	public static int			PK_AMOUNT8;
+	public static int			PK_AMOUNT9;
+	public static int			PK_AMOUNT10;
+	public static int			TITLE_COLOR_FOR_PK_AMOUNT1;
+	public static int			TITLE_COLOR_FOR_PK_AMOUNT2;
+	public static int			TITLE_COLOR_FOR_PK_AMOUNT3;
+	public static int			TITLE_COLOR_FOR_PK_AMOUNT4;
+	public static int			TITLE_COLOR_FOR_PK_AMOUNT5;
+	public static int			TITLE_COLOR_FOR_PK_AMOUNT6;
+	public static int			TITLE_COLOR_FOR_PK_AMOUNT7;
+	public static int			TITLE_COLOR_FOR_PK_AMOUNT8;
+	public static int			TITLE_COLOR_FOR_PK_AMOUNT9;
+	public static int			TITLE_COLOR_FOR_PK_AMOUNT10;
     
     /** ************************************************** **/
	/** L2JMods Settings -End                              **/
@@ -1654,6 +1678,34 @@
                 L2JMOD_ENABLE_WAREHOUSESORTING_CLAN     = Boolean.valueOf(L2JModSettings.getProperty("EnableWarehouseSortingClan", "False"));
                 L2JMOD_ENABLE_WAREHOUSESORTING_PRIVATE  = Boolean.valueOf(L2JModSettings.getProperty("EnableWarehouseSortingPrivate", "False"));
                 L2JMOD_ENABLE_WAREHOUSESORTING_FREIGHT  = Boolean.valueOf(L2JModSettings.getProperty("EnableWarehouseSortingFreight", "False"));
+                
+    			// PVP Name Color System configs - Start
+    			PVP_COLOR_SYSTEM_ENABLED = Boolean.parseBoolean(L2JModSettings.getProperty("EnablePvPColorSystem", "false"));
+    			PVP_AMOUNT1 = Integer.parseInt(L2JModSettings.getProperty("PvpAmount1", "100"));
+    			PVP_AMOUNT2 = Integer.parseInt(L2JModSettings.getProperty("PvpAmount2", "150"));
+    			PVP_AMOUNT3 = Integer.parseInt(L2JModSettings.getProperty("PvpAmount3", "200"));
+    			PVP_AMOUNT4 = Integer.parseInt(L2JModSettings.getProperty("PvpAmount4", "250"));
+    			PVP_AMOUNT5 = Integer.parseInt(L2JModSettings.getProperty("PvpAmount5", "300"));
+    			PVP_AMOUNT6 = Integer.parseInt(L2JModSettings.getProperty("PvpAmount6", "350"));
+    			PVP_AMOUNT7 = Integer.parseInt(L2JModSettings.getProperty("PvpAmount7", "400"));
+    			PVP_AMOUNT8 = Integer.parseInt(L2JModSettings.getProperty("PvpAmount8", "450"));
+    			PVP_AMOUNT9 = Integer.parseInt(L2JModSettings.getProperty("PvpAmount9", "500"));
+    			PVP_AMOUNT10 = Integer.parseInt(L2JModSettings.getProperty("PvpAmount10", "550"));
+    			NAME_COLOR_FOR_PVP_AMOUNT1 = Integer.decode("0x" + L2JModSettings.getProperty("ColorForAmount1", "00FF00"));
+    			NAME_COLOR_FOR_PVP_AMOUNT2 = Integer.decode("0x" + L2JModSettings.getProperty("ColorForAmount2", "00FF00"));
+    			NAME_COLOR_FOR_PVP_AMOUNT3 = Integer.decode("0x" + L2JModSettings.getProperty("ColorForAmount3", "00FF00"));
+    			NAME_COLOR_FOR_PVP_AMOUNT4 = Integer.decode("0x" + L2JModSettings.getProperty("ColorForAmount4", "00FF00"));
+    			NAME_COLOR_FOR_PVP_AMOUNT5 = Integer.decode("0x" + L2JModSettings.getProperty("ColorForAmount5", "00FF00"));
+    			NAME_COLOR_FOR_PVP_AMOUNT6 = Integer.decode("0x" + L2JModSettings.getProperty("ColorForAmount6", "00FF00"));
+    			NAME_COLOR_FOR_PVP_AMOUNT7 = Integer.decode("0x" + L2JModSettings.getProperty("ColorForAmount7", "00FF00"));
+    			NAME_COLOR_FOR_PVP_AMOUNT8 = Integer.decode("0x" + L2JModSettings.getProperty("ColorForAmount8", "00FF00"));
+    			NAME_COLOR_FOR_PVP_AMOUNT9 = Integer.decode("0x" + L2JModSettings.getProperty("ColorForAmount9", "00FF00"));
+    			NAME_COLOR_FOR_PVP_AMOUNT10 = Integer.decode("0x" + L2JModSettings.getProperty("ColorForAmount10", "00FF00"));
+    			// PvP Name Color System configs - End
+    			
+    			// PK Title Color System configs - Start
+    			PK_COLOR_SYSTEM_ENABLED = Boolean.parseBoolean(L2JModSettings.getProperty("EnablePkColorSystem", "false"));
+    			PK_AMOUNT1 = Integer.parseInt(L2JModSettings.getProperty("PkAmount1", "100"));
+    			PK_AMOUNT2 = Integer.parseInt(L2JModSettings.getProperty("PkAmount2", "150"));
+    			PK_AMOUNT3 = Integer.parseInt(L2JModSettings.getProperty("PkAmount3", "200"));
+    			PK_AMOUNT4 = Integer.parseInt(L2JModSettings.getProperty("PkAmount4", "250"));
+    			PK_AMOUNT5 = Integer.parseInt(L2JModSettings.getProperty("PkAmount5", "300"));
+    			PK_AMOUNT6 = Integer.parseInt(L2JModSettings.getProperty("PkAmount6", "350"));
+    			PK_AMOUNT7 = Integer.parseInt(L2JModSettings.getProperty("PkAmount7", "400"));
+    			PK_AMOUNT8 = Integer.parseInt(L2JModSettings.getProperty("PkAmount8", "450"));
+    			PK_AMOUNT9 = Integer.parseInt(L2JModSettings.getProperty("PkAmount9", "500"));
+    			PK_AMOUNT10 = Integer.parseInt(L2JModSettings.getProperty("PkAmount10", "550"));
+    			TITLE_COLOR_FOR_PK_AMOUNT1 = Integer.decode("0x" + L2JModSettings.getProperty("TitleForAmount1", "00FF00"));
+    			TITLE_COLOR_FOR_PK_AMOUNT2 = Integer.decode("0x" + L2JModSettings.getProperty("TitleForAmount2", "00FF00"));
+    			TITLE_COLOR_FOR_PK_AMOUNT3 = Integer.decode("0x" + L2JModSettings.getProperty("TitleForAmount3", "00FF00"));
+    			TITLE_COLOR_FOR_PK_AMOUNT4 = Integer.decode("0x" + L2JModSettings.getProperty("TitleForAmount4", "00FF00"));
+    			TITLE_COLOR_FOR_PK_AMOUNT5 = Integer.decode("0x" + L2JModSettings.getProperty("TitleForAmount5", "00FF00"));
+    			TITLE_COLOR_FOR_PK_AMOUNT6 = Integer.decode("0x" + L2JModSettings.getProperty("TitleForAmount6", "00FF00"));
+    			TITLE_COLOR_FOR_PK_AMOUNT7 = Integer.decode("0x" + L2JModSettings.getProperty("TitleForAmount7", "00FF00"));
+    			TITLE_COLOR_FOR_PK_AMOUNT8 = Integer.decode("0x" + L2JModSettings.getProperty("TitleForAmount8", "00FF00"));
+    			TITLE_COLOR_FOR_PK_AMOUNT9 = Integer.decode("0x" + L2JModSettings.getProperty("TitleForAmount9", "00FF00"));
+    			TITLE_COLOR_FOR_PK_AMOUNT10 = Integer.decode("0x" + L2JModSettings.getProperty("TitleForAmount10", "00FF00"));
+    			//PK Title Color System configs - End

                 if (TVT_EVENT_PARTICIPATION_NPC_ID == 0)
                 {
Index: /java/net/sf/l2j/gameserver/clientpackets/EnterWorld.java
===================================================================
--- /java/net/sf/l2j/gameserver/clientpackets/EnterWorld.java	(revision 174)
+++ /java/net/sf/l2j/gameserver/clientpackets/EnterWorld.java	(working copy)
@@ -177,6 +177,16 @@
         Quest.playerEnter(activeChar);
         activeChar.sendPacket(new QuestList());
         loadTutorial(activeChar);
+
+        // =================================================================================
+        // Color System checks - Start =====================================================
+        // Check if the custom PvP and PK color systems are enabled and if so ==============
+        // check the character's counters and apply any color changes that must be done. ===
+        if (activeChar.getPvpKills()>=(Config.PVP_AMOUNT1) && (Config.PVP_COLOR_SYSTEM_ENABLED)) activeChar.updatePvPColor(activeChar.getPvpKills());
+        if (activeChar.getPkKills()>=(Config.PK_AMOUNT1) && (Config.PK_COLOR_SYSTEM_ENABLED)) activeChar.updatePkColor(activeChar.getPkKills());
+        // Color System checks - End =======================================================
+        // =================================================================================
+        
         
         if (Config.PLAYER_SPAWN_PROTECTION > 0)
             activeChar.setProtection(true);
@@ -3660,7 +3661,75 @@
         	DuelManager.getInstance().broadcastToOppositTeam(this, update);
         }
	}
-    
+
+	// Custom PVP Color System - Start
+	public void updatePvPColor(int pvpKillAmount)
+	{
+		if (Config.PVP_COLOR_SYSTEM_ENABLED)
+		{
+			//Check if the character has GM access and if so, let them be.
+			if (isGM())
+				return;
+			{
+				if ((pvpKillAmount >= (Config.PVP_AMOUNT1)) && (pvpKillAmount <= (Config.PVP_AMOUNT1)))
+				{
+					getAppearance().setNameColor(Config.NAME_COLOR_FOR_PVP_AMOUNT1);
+				}
+				else if ((pvpKillAmount >= (Config.PVP_AMOUNT2)) && (pvpKillAmount <= (Config.PVP_AMOUNT2)))
+				{
+					getAppearance().setNameColor(Config.NAME_COLOR_FOR_PVP_AMOUNT2);
+				}
+				else if ((pvpKillAmount >= (Config.PVP_AMOUNT3)) && (pvpKillAmount <= (Config.PVP_AMOUNT3)))
+				{
+					getAppearance().setNameColor(Config.NAME_COLOR_FOR_PVP_AMOUNT3);
+				}
+				else if ((pvpKillAmount >= (Config.PVP_AMOUNT4)) && (pvpKillAmount <= (Config.PVP_AMOUNT4)))
+				{
+					getAppearance().setNameColor(Config.NAME_COLOR_FOR_PVP_AMOUNT4);
+				}
+				else if ((pvpKillAmount >= (Config.PVP_AMOUNT5)) && (pvpKillAmount <= (Config.PVP_AMOUNT5)))
+				{
+					getAppearance().setNameColor(Config.NAME_COLOR_FOR_PVP_AMOUNT5);
+				}
+				else if ((pvpKillAmount >= (Config.PVP_AMOUNT6)) && (pvpKillAmount <= (Config.PVP_AMOUNT6)))
+				{
+					getAppearance().setNameColor(Config.NAME_COLOR_FOR_PVP_AMOUNT6);
+				}
+				else if ((pvpKillAmount >= (Config.PVP_AMOUNT7)) && (pvpKillAmount <= (Config.PVP_AMOUNT7)))
+				{
+					getAppearance().setNameColor(Config.NAME_COLOR_FOR_PVP_AMOUNT7);
+				}
+				else if ((pvpKillAmount >= (Config.PVP_AMOUNT8)) && (pvpKillAmount <= (Config.PVP_AMOUNT8)))
+				{
+					getAppearance().setNameColor(Config.NAME_COLOR_FOR_PVP_AMOUNT8);
+				}
+				else if ((pvpKillAmount >= (Config.PVP_AMOUNT9)) && (pvpKillAmount <= (Config.PVP_AMOUNT9)))
+				{
+					getAppearance().setNameColor(Config.NAME_COLOR_FOR_PVP_AMOUNT9);
+				}
+				else if (pvpKillAmount >= (Config.PVP_AMOUNT10))
+				{
+					getAppearance().setNameColor(Config.NAME_COLOR_FOR_PVP_AMOUNT10);
+				}
+			}
+		}
+	}
+	//Custom PVP Color System - End
+	
+	// Custom Pk Color System - Start
+	public void updatePkColor(int pkKillAmount)
+	{
+		if (Config.PK_COLOR_SYSTEM_ENABLED)
+		{
+			//Check if the character has GM access and if so, let them be, like above.
+			if (isGM())
+				return;
+			{
+				if ((pkKillAmount >= (Config.PK_AMOUNT1)) && (pkKillAmount <= (Config.PVP_AMOUNT1)))
+				{
+					getAppearance().setTitleColor(Config.TITLE_COLOR_FOR_PK_AMOUNT1);
+				}
+				else if ((pkKillAmount >= (Config.PK_AMOUNT2)) && (pkKillAmount <= (Config.PVP_AMOUNT2)))
+				{
+					getAppearance().setTitleColor(Config.TITLE_COLOR_FOR_PK_AMOUNT2);
+				}
+				else if ((pkKillAmount >= (Config.PK_AMOUNT3)) && (pkKillAmount <= (Config.PVP_AMOUNT3)))
+				{
+					getAppearance().setTitleColor(Config.TITLE_COLOR_FOR_PK_AMOUNT3);
+				}
+				else if ((pkKillAmount >= (Config.PK_AMOUNT4)) && (pkKillAmount <= (Config.PVP_AMOUNT4)))
+				{
+					getAppearance().setTitleColor(Config.TITLE_COLOR_FOR_PK_AMOUNT4);
+				}
+				else if ((pkKillAmount >= (Config.PK_AMOUNT5)) && (pkKillAmount <= (Config.PVP_AMOUNT5)))
+				{
+					getAppearance().setTitleColor(Config.TITLE_COLOR_FOR_PK_AMOUNT5);
+				}
+				else if ((pkKillAmount >= (Config.PK_AMOUNT6)) && (pkKillAmount <= (Config.PVP_AMOUNT6)))
+				{
+					getAppearance().setTitleColor(Config.TITLE_COLOR_FOR_PK_AMOUNT6);
+				}
+				else if ((pkKillAmount >= (Config.PK_AMOUNT7)) && (pkKillAmount <= (Config.PVP_AMOUNT7)))
+				{
+					getAppearance().setTitleColor(Config.TITLE_COLOR_FOR_PK_AMOUNT7);
+				}
+				else if ((pkKillAmount >= (Config.PK_AMOUNT8)) && (pkKillAmount <= (Config.PVP_AMOUNT8)))
+				{
+					getAppearance().setTitleColor(Config.TITLE_COLOR_FOR_PK_AMOUNT8);
+				}
+				else if ((pkKillAmount >= (Config.PK_AMOUNT9)) && (pkKillAmount <= (Config.PVP_AMOUNT9)))
+				{
+					getAppearance().setTitleColor(Config.TITLE_COLOR_FOR_PK_AMOUNT9);
+				}
+				else if (pkKillAmount >= (Config.PK_AMOUNT10))
+				{
+					getAppearance().setTitleColor(Config.TITLE_COLOR_FOR_PK_AMOUNT10);
+				}
+			}
+		}
+	}
+	//Custom Pk Color System - End
+	
     @Override
     public final void updateEffectIcons(boolean partyOnly)
     {
@@ -4996,6 +5065,10 @@
         // Add karma to attacker and increase its PK counter
         setPvpKills(getPvpKills() + 1);

+      //Update the character's name color if they reached any of the 10 PvP levels.
+        updatePvPColor(getPvpKills());
+        broadcastUserInfo();
+
         // Send a Server->Client UserInfo packet to attacker with its Karma and PK Counter
         sendPacket(new UserInfo(this));
     }
@@ -5047,6 +5120,10 @@
         setPkKills(getPkKills() + 1);
         setKarma(getKarma() + newKarma);

+        //Update the character's title color if they reached any of the 10 PK levels.
+        updatePkColor(getPkKills());
+        broadcastUserInfo();
+        
         // Send a Server->Client UserInfo packet to attacker with its Karma and PK Counter
         sendPacket(new UserInfo(this));
     }

 

 

Credit By Me

 

No Spam Please :)

PS: it is my first Share On MaxCheaters with this account :)

 

Posted

My friend i post code for 10 levels colors changes no for 5 levels colors change :)

 

please see name from title :)

yeah and are not your credits..you just had add 5 more rows

Posted

That shit's not gonna work.

Seriously, pure logic, ever heard of it?

 

if ((pvpKillAmount >= (Config.PVP_AMOUNT1)) && (pvpKillAmount <= (Config.PVP_AMOUNT1)))

How the fυck can he have less pvps than the first amount but in the same time more pvps than it?

pew pew

 

OMG and?? i copy Code from my pack and i edit.. after i share here...

 

Your pack is a huge teon shit.

 

PS:

# ---------------------------------------
+# 10PvPs Name Color Levels by Prince*
+# ---------------------------------------

 

The code isn't even yours, lol.

Posted

That shit's not gonna work.

Seriously, pure logic, ever heard of it?

 

if ((pvpKillAmount >= (Config.PVP_AMOUNT1)) && (pvpKillAmount <= (Config.PVP_AMOUNT1)))

How the fυck can he have less pvps than the first amount but in the same time more pvps than it?

pew pew

 

Your pack is a huge teon shit.

 

PS:

# ---------------------------------------
+# 10PvPs Name Color Levels by Prince*
+# ---------------------------------------

 

The code isn't even yours, lol.

 

OMG and you use teon pack.. i use Justice pack OMG..

 

Why to dekarma me?? why i post code with modif??

everyone have modif codes and post here again want dekarma?? you are noob ..

i don't like you you are kind OMG

 

Posted

OMG and you use teon pack.. i use Justice pack OMG..

 

Why to dekarma me?? why i post code with modif??

everyone have modif codes and post here again want dekarma?? you are noob ..

i don't like you you are kind OMG

 

 

Yea, I use Teon, that's why my server is running on Archid Premium.

1) Your code does not work, proof above.

2) It's not a modified code, it's a LEECHED, NON WORKING one.

When you decide to share something, do it properly.

Posted

Yea, I use Teon, that's why my server is running on Archid Premium.

1) Your code does not work, proof above.

2) It's not a modified code, it's a LEECHED, NON WORKING one.

When you decide to share something, do it properly.

Doesn't this ppl know that here is l2 Java section.

They leech and try to modify it by their mind to look like diferent and the result: it doesn't work anymore.

 

So this guy made not 5 level but 10

So it's same shit like making not 3 glows on enchant but 7.

It's like not making the glows yellow and red but blue and green.

Posted

That shit's not gonna work.

Seriously, pure logic, ever heard of it?

 

if ((pvpKillAmount >= (Config.PVP_AMOUNT1)) && (pvpKillAmount <= (Config.PVP_AMOUNT1)))

How the fυck can he have less pvps than the first amount but in the same time more pvps than it?

pew pew

indeed lol

even on eclipse i got so confused by errors

 

@ Prince*: Fix your code coz is full of errors

Test it and then PM me.

Locked.

Guest
This topic is now closed to further replies.


  • Posts

    • cRazy??? If i just say good job its not even fair....
    • τι εκανες εκει παλι ρε τρελάρα; 🤣   welcome back mate, happy seeing you online again, well thats beyond l2 needs for sure and It’s rare to see anyone pushing Interlude this far technically anymore without trying to monetize it. definitely interested in seeing the source whenever you're ready to share it! keep it up!
    • your only choice brother cmon https://www.l2jsunrise.com/
    • Hello everyone  How are you all doing? I'd like to share with the community an open-source project I've been working on intensely: the **L2 Phantom AI Manager**. Tired of those static bots that just stand still in the city or sink into the map because of Geodata? Me too! That's why I developed a modular Phantom system with real Artificial Intelligence, initially designed for **L2J Mobius Essence (RoseVain)**, but which can be adapted to other chronicles. Main Features Modular architecture: the system is split into focused files such as PhantomAI, PhantomEngine, PhantomFactory, PhantomEquipment, PhantomHuntingSpots, PhantomGeo, PhantomMenu, and more. Automatic creation: create 10 or 50 phantoms from the menu or commands. XML persistence: automatically created phantoms are saved into PhantomPlayers.xml, so they keep loading after server restarts. Batch startup: .pstart and Start 10 load only 10 phantoms at a time. Batch disconnect: disconnect 10 active phantoms without shutting down the whole system. Origin towns: new phantoms spawn using PlayerTemplate.getCreationPoint(), respecting race and class. Geodata-safe spawning: spawn points use NPC-like coordinate validation to avoid under-map or floating characters. Real datapack spots: reads data/stats/npcs and data/spawns to build level-based hunting locations. Bad target filtering: ignores Training Dummy, tutorial objects, chests, and fake farm targets. Smart relocation: if a phantom cannot find useful mobs, it relocates to another spot for its level. Level goals: phantoms receive leveling goals, return to town, recover resources, and go back to farming. Mage MP rest mode: mages rest until MP is recovered; in PvP they try to escape when out of mana. Skills and buffs: phantoms try to use offensive skills and self buffs such as Might, Shield, Focus, Haste, Empower, Acumen, Wind Walk, Chant, Song, and Dance. Varied gear packs: gear packs by grade for mages and fighters, with multiple variants to avoid visual clones. Automatic shots: randomized Soulshot and Spiritshot restocking by class and grade. Inventory cleanup: unnecessary items are removed automatically while preserving Adena, shots, and equipped gear. PvP and PK behavior: some phantoms are aggressive, may become PK, and attacked phantoms try to defend themselves. Optional AI chat: optional Google Gemini integration for short social replies. TXT logs: the menu displays log state and can enable/disable logging. GM Menu Use .pmenu to open the control panel. Current options: Start 10 Disconnect 10 Create 10 Create 50 Reload XML Stop All Enable Log / Disable Log The menu also shows: active phantom count; XML ID count; current TXT log state. Commands .pmenu - opens the control panel. .pstart - starts 10 phantoms from XML. .pstop - removes all active phantoms. .pstop10 - disconnects 10 active phantoms. .pload - reloads PhantomPlayers.xml. .pcreate 10 - creates, starts, and saves 10 phantoms to XML. .pcreate 50 - creates, starts, and saves 50 phantoms to XML. .pm Name Message - sends a private message to a phantom. .pdebug - toggles TXT logging. Logs Logs are created in the GameServer log/ folder: log/PhantomManager.txt - global historical log. log/PhantomManager-yyyyMMdd-HHmmss.txt - separate log for each session. Useful logged events include: new level goals; travel to hunting spots; town rest; mob attacks; PvP defense; shot restocking; inventory cleanup; AI exceptions with stacktrace. Main Files PhantomManager.java - commands, logs, and bootstrap. PhantomEngine.java - start, stop, spawn, respawn, batches, and AI loop. PhantomAI.java - farm, PvP, PK, rest, targeting, and movement decisions. PhantomConfig.java - routes, gear, shots, and XML persistence. PhantomFactory.java - automatic character creation. PhantomEquipment.java - buffs, progression, shots, and inventory cleanup. PhantomHuntingSpots.java - real datapack NPC/spawn loader. PhantomGeo.java - geodata-safe coordinate handling. PhantomState.java - temporary phantom memory. PhantomMenu.java - GM HTML panel. PhantomBypass.java - menu button handling. PhantomChat.java - messages and optional Gemini integration. Copy custom/PhantomManager into: dist/game/data/scripts/custom/PhantomManager/ Place PhantomPlayers.xml in: game/config/Custom/PhantomPlayers.xml Compile scripts or restart the GameServer. Use .pmenu to create, start, and manage phantoms. https://github.com/miacodeweb/L2-Phantom-AI
  • 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..