Jump to content
  • 0

[HELP] Custom Titles Based on PVP points..


Question

Posted

Well first hi to all the comunity of Maxcheaters, i m starting in this of l2j servers, i m thinking in mount a l2j server last revision L2jServer rev.6007 (support for gracia final).

 

I have the basics programs like eclipse, navicat, etc...

 

My server wil lbe oriented to PVP, but i wanna put a customs titles for pvp, "not the typical NICK CHANGE OF COLOR" i wanna make something like this:

 

portablebuffscv4.jpg

 

when the player start he have the title Novice, and when start getting PVP the titles goes change example: 20 PVP's Warrior, 80 Soldier, 140 Elite Soldier, 200 Champion etc...

 

one guy give me this code bit i not see where i put the names of titles i think this code is only for the nicks colors..?

14 answers to this question

Recommended Posts

  • 0
Posted

First of all U can make this Buffer beacuse as interpid Told me there are not distance for it only skilled devs can make some and About the rank system u want hm just go read some books and some topics about java basics maybe u understand how to start making your codes :)

 

allways friendly :P

  • 0
Posted

about the flute , its already shared , search

 

 

about the 2nd one

 

its easy,

 

could be smth like that

 

if(activeChar.getPvpKills()>20)

{

activeChar.setTitle("Newbie");

}

else if(activeChar.getPvpKills()>20)

{

activeChar.setTitle("Veteran");

}

 

place it to l2pcinstance and modify it as you wish

  • 0
Posted

Flute allready shared but if someone use it and someone use phx he can stole all skills ... and all items free beacuse there arent exits any distance checks for it :)

  • 0
Posted

Flute allready shared but if someone use it and someone use phx he can stole all skills ... and all items free beacuse there arent exits any distance checks for it :)

 

if you take a code from a begginer without knowing how to stop the bypass methods then you are the noob that takes it and not the one who share it.

  • 0
Posted

about the flute , its already shared , search

 

 

about the 2nd one

 

its easy,

 

could be smth like that

 

if(activeChar.getPvpKills()>20)

{

activeChar.setTitle("Newbie");

}

else if(activeChar.getPvpKills()>20)

{

activeChar.setTitle("Veteran");

}

 

place it to l2pcinstance and modify it as you wish

 

Thx for help me with the code i knoe some ppl here maybe think is not good give the wrok made but this is a great help for a guy like me who don't know much java i m starting in this wolrd of code's, i m trying to lern some of java "is really hard make this alone" but i know this is not a excuse, i m learning first how work all the configs for a server, for what is a every program etc.. i have reading this forum like 5 hours this is really amazing comunity a lot of ideas and creative ppl. again very thx... is good fiind some amigable comunity.

 

i m working with this:

 

version=${l2j.revision}

    builddate=20090522_0854

      detailed info:

            committed-rev="3027"

            name=""

            committed-date="2009-05-22T10:32:07.061060Z"

            url="http://www.l2jserver.com/svn/trunk/L2_GameServer"

            last-author="_DS_"

            kind="dir"

            uuid="d34dfa0f-f91c-0410-86dd-cf06f19dd0ad"

            repos="http://www.l2jserver.com/svn"

 

  • 0
Posted

place it to l2pcinstance and modify it as you wish

or u can add a new .java file that control the title and set them.. give color etc .. so u keep your code cleaner ;)

  • 0
Posted

or u can add a new .java file that control the title and set them.. give color etc .. so u keep your code cleaner ;)

 

yeap , my code is just an example , im not sure if its gonna change the title when the player get 20 pvps instantly or u gotta restart first , this can be fixed too

  • 0
Posted

Ok what think about this?

 

 

Index: L2PcInstance.java
===================================================================
--- L2PcInstance.java   (revision 5686)
+++ L2PcInstance.java   (working copy)
@@ -294,7 +294,14 @@
    // Character Transformation SQL String Definitions:
    private static final String SELECT_CHAR_TRANSFORM           = "SELECT transform_id FROM characters WHERE charId=?";
    private static final String UPDATE_CHAR_TRANSFORM           = "UPDATE characters SET transform_id=? WHERE charId=?";
+   
+   // Custom Title settings for pvp kills
+   private static final String title1 = "Title for 20 pvpkills";
+   private static final String title2 = "Title for 80 pvpkills";
+   private static final String title3 = "Title for 120 pvpkills";
+   private static final String title4 = "Title for 190 pvpkills";
+   private static final String title5 = "Title for 290 pvpkills";
+   private static final String title6 = "Title for 390 pvpkills";
+   private static final String title7 = "Title for 500 pvpkills";
+   private static final String title8 = "Title for 650 pvpkills";
+   private static final String title9 = "Title for 800 pvpkills";
+   private static final String title10 = "Title for 1000 pvpkills";

+   
    public static final int     REQUEST_TIMEOUT                 = 15;

    public static final int     STORE_PRIVATE_NONE              = 0;
@@ -531,7 +538,15 @@

    private long                            _onlineTime;
    private long                            _onlineBeginTime;
+   
+   //Custom Title customization
+   public int                              _pvppoints;
+   int pvpamount1                          = 20;
+   int pvpamount2                          = 80;
+   int pvpamount3                          = 120;
+   int pvpamount4                          = 190;
+   int pvpamount5                          = 290;
+   int pvpamount6                          = 390;
+   int pvpamount7                          = 500;
+   int pvpamount8                          = 650;
+   int pvpamount9                          = 800;
+   int pvpamount10                          = 1000;

+
    //GM Stuff
    private boolean                         _isGm;
    private int                             _accessLevel;
@@ -9276,6 +9291,7 @@

    public void updateNameTitleColor()
    {
+       L2PcInstance player = null;
        if (isGM())
        {
            if (Config.GM_NAME_COLOR_ENABLED)
@@ -9314,6 +9330,25 @@
            getAppearance().setNameColor(0xFFFFFF);
            getAppearance().setTitleColor(0xFFFF77);
        }
+      
+       _pvppoints = player.getPvPKills();
+       if(_pvppoints >= pvpamount1)
+       {
+           activeChar.getAppearance().setTitle(Warrior);
+       }
+       if(_pvppoints >= pvpamount2)
+       {
+           activeChar.getAppearance().setTitle(Soldier);
+       }
+       if(_pvppoints >= pvpamount3)
+       {
+           activeChar.getAppearance().setTitle(Elite Soldier);
+       }
+       if(_pvppoints >= pvpamount4)
+       {
+           activeChar.getAppearance().setTitle(Gladiator);
+       }
+       if(_pvppoints >= pvpamount5)
+       {
+           activeChar.getAppearance().setTitle(Veteran);
+       }
+       if(_pvppoints >= pvpamount6)
+       {
+           activeChar.getAppearance().setTitle(Champion);
+       }
+       if(_pvppoints >= pvpamount7)
+       {
+           activeChar.getAppearance().setTitle(Commander);
+       }
+       if(_pvppoints >= pvpamount8)
+       {
+           activeChar.getAppearance().setTitle(Master);
+       }
+       if(_pvppoints >= pvpamount9)
+       {
+           activeChar.getAppearance().setTitle(Assassin);
+       }
+       if(_pvppoints >= pvpamount10)
+       {
+           activeChar.getAppearance().setTitle(Hero);
+       }
+
        broadcastUserInfo();
    }

 

 

 

 

Index: EnterWorld.java
===================================================================
--- EnterWorld.java (revision 5686)
+++ EnterWorld.java (working copy)
@@ -92,6 +92,15 @@
{
    private static final String _C__03_ENTERWORLD   = "[C] 03 EnterWorld";
    private final static Log    _log                = LogFactory.getLog(EnterWorld.class.getName());
+   int pvpoints = 0;
+   int pvpamount1 = 20;
+   int pvpamount2 = 80;
+   int pvpamount3 = 120;
+   int pvpamount4 = 190;
+   int pvpamount5 = 290;
+   int pvpamount6 = 390;
+   int pvpamount7 = 500;
+   int pvpamount8 = 650;
+   int pvpamount9 = 800;
+   int pvpamount10 = 1000;
+   private static final String title1 = "Title for 20 pvpkills";
+   private static final String title2 = "Title for 80 pvpkills";
+   private static final String title3 = "Title for 120 pvpkills";
+   private static final String title4 = "Title for 190 pvpkills";
+   private static final String title5 = "Title for 290 pvpkills";
+   private static final String title6 = "Title for 390 pvpkills";
+   private static final String title7 = "Title for 500 pvpkills";
+   private static final String title8 = "Title for 650 pvpkills";
+   private static final String title9 = "Title for 800 pvpkills";
+   private static final String title10 = "Title for 1000 pvpkills";

    public TaskPriority getPriority()
    {
@@ -184,6 +193,24 @@
            if (Config.CHAR_VIP_COLOR_ENABLED)
                activeChar.getAppearance().setNameColor(Config.CHAR_VIP_COLOR);
        }
+      
+       pvppoints = activeChar.getPvPKills();
+       if(pvppoints >= pvpamount1)
+       {
+           activeChar.getAppearance().setTitle(Warrior);
+       }
+       if(pvppoints >= pvpamount2)
+       {
+           activeChar.getAppearance().setTitle(Soldier);
+       }
+       if(pvppoints >= pvpamount3)
+       {
+           activeChar.getAppearance().setTitle(Elite Soldier);
+       }
+       if(pvppoints >= pvpamount4)
+       {
+           activeChar.getAppearance().setTitle(Gladiator);
+       }
+       if(pvppoints >= pvpamount5)
+       {
+           activeChar.getAppearance().setTitle(Veteran);
+       }
+       if(pvppoints >= pvpamount6)
+       {
+           activeChar.getAppearance().setTitle(Champion);
+       }
+       if(pvppoints >= pvpamount7)
+       {
+           activeChar.getAppearance().setTitle(Commander);
+       }
+       if(pvppoints >= pvpamount8)
+       {
+           activeChar.getAppearance().setTitle(Master);
+       }
+       if(pvppoints >= pvpamount9)
+       {
+           activeChar.getAppearance().setTitle(Assasin);
+       }
+       if(pvppoints >= pvpamount10)
+       {
+           activeChar.getAppearance().setTitle(Hero);
+       }


        if (activeChar.getStatus().getCurrentHp() < 0.5) // is dead
            activeChar.setIsDead(true);

 

How can i make a copy of my files in wrokspace why maybe something go worng i not wanna lose all and need make a ll again -.-

 

or like you say ZUNIX if i made a new .java in l2PCinstance and i put all this there? please some clearify is the first time i will try to modify the GS in eclipse.

  • 0
Posted

Just make a new java file wherever you want with your Method, and call the Method from L2PcInstance (Obviously you need to import the new file,e.g. import com.l2jfree.gameserver.myfile.java)

  • 0
Posted

Yes but at any of the

private static final String title1 = "Title for 20 pvpkills";

will be like this:

 

if(activeChar.getPvpKills()>20)
{
activeChar.setTitle("Junior");
}
else if(activeChar.getPvpKills()>20)
{
activeChar.setTitle("Senior");
ONLY EXAMPLE!
}

  • 0
Posted

Wrong. The reason why we use Strings instead of just inserting it directly into the if statements is to make sure things are clearer and easier to change.

So its smarter to actually include the Strings:

private static final String title1 = "Title for 20 pvpkills";
/** Define the variables at the beginning of the Class **/
(....)
if(activeChar.getPvpKills()>20)
{
activeChar.setTitle(title1);
}

 

  • 0
Posted

make like horus said because with it you make your life easier when you update the pack make a new package in the java for example net.sf.l2j.gameserver.mods and insert all your addons here and you keep your core clean and make your life much more easier later.And for the enterworld just make a check to for example if (activeChar.getPvpKills > X ) start the pvp color method so the method dont run for all character who enters in the game

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

    • Only 3 days left and we'll start with some events, you can check our Discord for more info!
    • Tired of frantically switching between windows trying to find that specific Warlock who should be casting saves? Forgot which server you left your Warsmith on? This mod solves these problems! What it does: Turns the boring window title into an information panel: Server Name - Character Name [Class] Real-life examples: - ServerName - HardcoreFarm [Spoilerr] (who's been spoiling for 3 months already) - ServerName - ClericHelper [Buffer] (eternal buffer on standby) - ServerName - MainChar [Gladiator] (main character who's always AFK) Why you need this: For multiboxers - to avoid confusing where the DD is and where the healer is For the forgetful - if your memory is like a goldfish For streamers - viewers immediately see who's on screen For adults - when playing at work and need to quickly hide the window DLL only - no Interface files needed Installation (more complicated than making tea): 1. Download the DLL 2. Drop it into the System folder 3. Launch the client 4. Be amazed how you lived without this before! Purchase Conditions: Price: 100$ Payment Method: USDT. How to Buy: Contact me on Telegram: @kiselevwv for a quick response. I will answer all your questions and provide additional information if needed. I guarantee functionality at the moment of sale and prompt assistance with setup after purchase.
    • I agree, l2damage crap to compare to l2java which was the father of pvp servers and till this days people playing there for good time.
    • 📝 Registration — Account Registration Creating a new player account. Usually includes: login password password confirmation email Result: a new record is created in the accounts table (loginserver). 🔑 Change Password — Password Change The player changes the password knowing the current one. Required: current password new password new password confirmation Result: the password field is updated in the accounts table. ♻️ Password Recovery — Password Reset If the player forgot the password. Implementation only via email: the player enters their login, email the system sends an email with a link or code the player opens the link / enters the code sets a new password Result: the password is updated in the accounts table.   All fields are validated (required, format, length, uniqueness, security checks).   Price: 80$   and i can rewrite script for PTS server.   Contacts:   Telegram Discord
  • 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..