Jump to content
  • 0

[HELP] Custom Titles Based on PVP points..


ZeroCool22

Question

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..?

Link to comment
Share on other sites

14 answers to this question

Recommended Posts

  • 0

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

Link to comment
Share on other sites

  • 0

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

Link to comment
Share on other sites

  • 0

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 :)

Link to comment
Share on other sites

  • 0

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.

Link to comment
Share on other sites

  • 0

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"

 

Link to comment
Share on other sites

  • 0

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

Link to comment
Share on other sites

  • 0

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.

Link to comment
Share on other sites

  • 0

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)

Link to comment
Share on other sites

  • 0

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!
}

Link to comment
Share on other sites

  • 0

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);
}

 

Link to comment
Share on other sites

  • 0

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

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Answer this question...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.



×
×
  • Create New...