Jump to content

Recommended Posts

Posted

You can understand what is this from the title. I need some feedback.

Index: java/net/sf/l2j/Config.java
===================================================================
--- java/net/sf/l2j/Config.java	(revision 4092)
+++ java/net/sf/l2j/Config.java	(working copy)
@@ -881,6 +881,17 @@
     public static boolean L2JMOD_WEDDING_SAMESEX;
     public static boolean L2JMOD_WEDDING_FORMALWEAR;
     public static int L2JMOD_WEDDING_DIVORCE_COSTS;
+    
+    public static boolean PVP_TITLE_COLOUR_SYSTEM;
+    public static int TITLE_COLOUR_FOR_100_PVP;
+    public static int TITLE_COLOUR_FOR_200_PVP;
+    public static int TITLE_COLOUR_FOR_300_PVP;
+    public static int TITLE_COLOUR_FOR_400_PVP;
+    public static int TITLE_COLOUR_FOR_500_PVP;
+    public static boolean PK_TITLE_COLOUR_SYSTEM;
+    public static int TITLE_COLOUR_FOR_100_PK;
+    public static int TITLE_COLOUR_FOR_200_PK;
+    public static int TITLE_COLOUR_FOR_300_PK;
+    public static int TITLE_COLOUR_FOR_400_PK;
+    public static int TITLE_COLOUR_FOR_500_PK;

     // Packet information
     /** Count the amount of packets per minute ? */
@@ -1858,6 +1869,17 @@
                 L2JMOD_WEDDING_SAMESEX                  = Boolean.parseBoolean(L2JModSettings.getProperty("WeddingAllowSameSex", "False"));
                 L2JMOD_WEDDING_FORMALWEAR               = Boolean.parseBoolean(L2JModSettings.getProperty("WeddingFormalWear", "True"));
                 L2JMOD_WEDDING_DIVORCE_COSTS            = Integer.parseInt(L2JModSettings.getProperty("WeddingDivorceCosts", "20"));
+                
+                PVP_TITLE_COLOUR_SYSTEM = Boolean.parseBoolean(L2JModSettings.getProperty("Enable= True, Disable= False", "False"));
+                TITLE_COLOUR_FOR_100_PVP = Integer.decode("0x" + L2JModSettings.getProperty("TitleColourFor100PvP", "FFFFFF"));
+                TITLE_COLOUR_FOR_200_PVP = Integer.decode("0x" + L2JModSettings.getProperty("TitleColourFor200PvP", "FFFFFF"));
+                TITLE_COLOUR_FOR_300_PVP = Integer.decode("0x" + L2JModSettings.getProperty("TitleColourFor300PvP", "FFFFFF"));
+                TITLE_COLOUR_FOR_400_PVP = Integer.decode("0x" + L2JModSettings.getProperty("TitleColourFor400PvP", "FFFFFF"));
+                TITLE_COLOUR_FOR_500_PVP = Integer.decode("0x" + L2JModSettings.getProperty("TitleColourFor500PvP", "FFFFFF"));
+                PK_TITLE_COLOUR_SYSTEM = Boolean.parseBoolean(L2JModSettings.getProperty("Enable= True, Disable= False", "False"));
+                TITLE_COLOUR_FOR_100_PK = Integer.decode("0x" + L2JModSettings.getProperty("TitleColourFor100PK", "FFFFFF"));
+                TITLE_COLOUR_FOR_200_PK = Integer.decode("0x" + L2JModSettings.getProperty("TitleColourFor200PK", "FFFFFF"));
+                TITLE_COLOUR_FOR_300_PK = Integer.decode("0x" + L2JModSettings.getProperty("TitleColourFor300PK", "FFFFFF"));
+                TITLE_COLOUR_FOR_400_PK = Integer.decode("0x" + L2JModSettings.getProperty("TitleColourFor400PK", "FFFFFF"));
+                TITLE_COLOUR_FOR_500_PK = Integer.decode("0x" + L2JModSettings.getProperty("TitleColourFor500PK", "FFFFFF"));

                 if (TVT_EVENT_PARTICIPATION_NPC_ID == 0)
                 {
Index: java/config/l2jmods.properties
===================================================================
--- java/config/l2jmods.properties	(revision 4092)
+++ java/config/l2jmods.properties	(working copy)
@@ -132,3 +132,40 @@
# ex.: 1;2;3;4;5;6
# no ";" at the start or end
TvTEventDoorsCloseOpenOnStartEnd =
+
+#<----------------------------->
+# PvP/PK Title Colour System                                                 
+#<----------------------------->
+# Enable= True, Disable= False
+# Default: False
+PvPTitleColourSystem = False
+
+# @ 100 PvP
+TitleColourFor100PvP = FFFFFF
+
+# @ 200 PvP
+TitleColourFor200PvP = FFFFFF
+
+# @ 300 PvP
+TitleColourFor300PvP = FFFFFF
+
+# @ 400 PvP
+TitleColourFor400PvP = FFFFFF
+
+# @ 500 PvP
+TitleColourFor500PvP = FFFFFF
+
+# Enable= True, Disable= False
+# Default: False
+PKTitleColourSystem = False
+
+# @ 100 PK
+TitleColourFor100PK = FFFFFF
+
+# @ 200 PK
+TitleColourFor200PK = FFFFFF
+
+# @ 300 PK
+TitleColourFor300PK = FFFFFF
+
+# @ 400 PK
+TitleColourFor400PK = FFFFFF
+
+# @ 500 PK
+TitleColourFor500PK = FFFFFF
Index: java/net/sf/l2j/gameserver/clientpackets/EnterWorld.java
===================================================================
--- java/net/sf/l2j/gameserver/clientpackets/EnterWorld.java	(revision 4092)
+++ java/net/sf/l2j/gameserver/clientpackets/EnterWorld.java	(working copy)
@@ -174,6 +174,51 @@
             engage(activeChar);
             notifyPartner(activeChar,activeChar.getPartnerId());
         }
+        
+        // PvP Title Colour System - By Rozdex
+        
+        if (Config.PVP_TITLE_COLOUR_SYSTEM)
+        {
+        	if (activeChar.getPvpKills()>= 100)
+        	{
+        		activeChar.getAppearance().setTitleColor(Config.TITLE_COLOUR_FOR_100_PVP);
+        	}
+        	else if (activeChar.getPvpKills()>= 200)
+        	{
+        		activeChar.getAppearance().setTitleColor(Config.TITLE_COLOUR_FOR_200_PVP);
+        	}
+        	else if (activeChar.getPvpKills()>= 300)
+        	{
+        		activeChar.getAppearance().setTitleColor(Config.TITLE_COLOUR_FOR_300_PVP);
+        	}
+        	else if (activeChar.getPvpKills()>= 400)
+        	{
+        		activeChar.getAppearance().setTitleColor(Config.TITLE_COLOUR_FOR_400_PVP);
+        	}
+               else if (activeChar.getPvpKills()>= 500)
+        	{
+        		activeChar.getAppearance().setTitleColor(Config.TITLE_COLOUR_FOR_500_PVP);
+        	}
+        }
+        	
+        // PK Title Colour System - By Rozdex
+        	
+        if (Config.PK_TITLE_COLOUR_SYSTEM)
+        {
+        	if (activeChar.getPkKills()>= 100)
+        	{
+        		activeChar.getAppearance().setTitleColor(Config.TITLE_COLOUR_FOR_100_PK);
+        	}
+        	else if (activeChar.getPkKills()>= 200)
+        	{
+        		activeChar.getAppearance().setTitleColor(Config.TITLE_COLOUR_FOR_200_PK);
+        	}
+        	else if (activeChar.getPkKills()>= 300)
+        	{
+        		activeChar.getAppearance().setTitleColor(Config.TITLE_COLOUR_FOR_300_PK);
+        	}
+        	else if (activeChar.getPkKills()>= 400)
+        	{
+        		activeChar.getAppearance().setTitleColor(Config.TITLE_COLOUR_FOR_400_PK);
+        	}
+        	else if (activeChar.getPkKills()>= 500)
+        	{
+        		activeChar.getAppearance().setTitleColor(Config.TITLE_COLOUR_FOR_500_PK);
+        	}
+        }
+        

         if (activeChar.getAllEffects() != null)
         {

Credits: Me

Posted

LOL :) And the funny part is that this script is wrong. Check this for example:

 

Say you have 500 PVP.

 

if (activeChar.getPvpKills()>= 100) // 500 >= 100 so it will give the title color for 100 pvp.

+         {

+         activeChar.getAppearance().setTitleColor(Config.TITLE_COLOUR_FOR_100_PVP);

+         }

+         else if (activeChar.getPvpKills()>= 200)

+         {

+         activeChar.getAppearance().setTitleColor(Config.TITLE_COLOUR_FOR_200_PVP);

+         }

Posted

1) Should be made on PcInstance too. Like that, you need to rr every time you make the record.

2) It is sooooooooooooo badly coded. In this way, the colours will be screwed up. Because the checks you have set are not enough.

What do I mean? Look.

 

if (activeChar.getPkKills()>= 100)
+        	{
+        		activeChar.getAppearance().setTitleColor(Config.TITLE_COLOUR_FOR_100_PK);
+        	}
+        	else if (activeChar.getPkKills()>= 200)
+        	{
+        		activeChar.getAppearance().setTitleColor(Config.TITLE_COLOUR_FOR_200_PK);
+        	}

 

Let's take number 300. It is higher than both: 200 and 100.

So, the player should somehow get both colours. But since this can't happen there will be a huge mess.

How to fix it?

 

if (activeChar.getPkKills()>= 100 && activeChar.getPkKills() < 200)
+        	{
+        		activeChar.getAppearance().setTitleColor(Config.TITLE_COLOUR_FOR_100_PK);
+        	}
+        	else if (activeChar.getPkKills()>= 200 && activeChar.getPkKills() < 300)
+        	{
+        		activeChar.getAppearance().setTitleColor(Config.TITLE_COLOUR_FOR_200_PK);
+        	}

 

and so on.

 

3) Already shared, from VaGo (Credits to sauron).

http://www.maxcheaters.com/forum/index.php?topic=25237.0

Guest
This topic is now closed to further replies.


  • Posts

    • ## [1.5.1] - 2026-01-30   ### 🐛 Bug Fixes - **Top Voters**: Top voters list now loads correctly for inactive servers (previously showed "Server not found"). - **View Counter**: Server info page view count now records correctly for inactive servers.   ### 🔄 Improvements - **My Servers – Hide/Active**: The hide/active toggle now works correctly and is only shown when the server is approved (active) by an admin. Owner hide/show is separate from admin status. Toggling no longer causes a full page refresh. - **Accessibility**: Form fields across the site now have proper labels and IDs for screen readers and autofill — server info edit form, add server form, My Servers edit, Admin Panel (Email, Vote System, pricing, filters, logs), and related inputs.
    • LIVE VERIFICATION? SUMSUB? “IMPOSSIBLE”? ▪ Spoiler: it is possible — if you know who to work with. A client came in with a task to pass **live verification** on **WantToPay**, a Telegram virtual card service. On the platform side — **Sumsub**: liveness check, SMS, manual review. “Fast” and “by eye” simply don’t work here. › What was done: → analyzed the verification scenario and Sumsub requirements → built the correct flow: phone number, email, timing → **completed live verification remotely, without account handover** → handled SMS and confirmation codes → brought the process to final approval ▪ Result: → verification passed → access granted → no flags or repeat requests ▪ Live verification is not luck. It’s scenario-based preparation — not hope. › TG: @mustang_service ( https:// t.me/ mustang_service ) › Channel: Mustang Service ( https:// t.me/ +6RAKokIn5ItmYjEx ) *All data is published with the client’s consent.* #verification #sumsub #livecheck #kyc #case
    • IMPORTANT INFO: In a few days, I will switch to completely new code, written from scratch with a new download system, patch building and management system. The Updater will become true 2026 code with "foolproof systems". I'm going to create a Discord server for customers to request new ideas and features. FIRST CUSTOMERS ARE ALREADY USING THE NEW UPDATER ON LIVE SERVERS! Watch this topic for upcoming info because the new updater is around the corner! Yes, you can still use self-update on the previous updater! No, the new updater won't be compatible with the old patch system! A new build is required, but players who already have game files won't have to download the entire patch again! New templates and updates to existing templates are coming soon! Sneak peek:  
  • 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..