Jump to content

Recommended Posts

Posted

Hello everybody!

Today we're gonna see the basics in order to solve a huge problem in MaxCheaters.

I am sure that all of you have seen posts like this:

Chronicle for that code? I am using Interlude!

I always reply to these guys that this question is not 'valid'. The reason? Well, java is a language, which is not different at every chronicle. So we should all know that java will always be the same, which means that if something exists in, for example, Gracia, then it can exist in, for example, Interlude too!

 

Let's now see the basics of codes' adaptions.

 

 

Finding our Code.

 

Well, of course the basic step is finding the code we'll try to use.

Most users are trying to add Epilogue codes into Interlude, since adding Interlude stuff in Gracia wouldn't be a big problem.

 

So, let's say that you have found the code that you need and try to add it.

If you don't have a full patch, then make sure that you have added everything needed, at both: DP and GS side.

 

If everything goes well, then skip the following steps and continue reading the "Testing" part.

 

But what if you fail adding it without errors?

Then, the only thing you've gotta do is to keep reading the guide.

 

 

~Typos

 

A possible reason for the error(s) is having typos.

What do I mean?

Well, you have either, accidentaly, added something that you probably shouldn't, or the code has typos because of the Chronicles' difference.

 

If you have added something, then the only way to find out what the heck you added, is to re-aply the code, or simply find the line where the error is, and delete it.

About the second case (The Chronicles' difference), then it will be very easy to correct it, since there aren't many possible cases.

 

You may wonder now, what do I mean when telling "typos because of the chronicles' difference", right?

Well, I will answer you with an example:

 

If you try to add in Interlude something like

if (activeChar.isCursedWeaponEquipped())

then you'll find an error at the 'isCursedWeaponEquipped' part.

 

It is very easy to fix it though!

You don't need any extra java knowledge, you just need to be familiar with the client you're using!

In Interlude, the fix will be to remove one "p" from the 'Equipped'.

So, it will actually become

if (activeChar.isCursedWeaponEquiped())

 

Very annoying, but easy, isn't it?

So, this a possible reason for having errors with your code.

Let's move on.

 

 

~Visibility

 

It may sound weird, but it may be a main reason for getting errors.

I will explain it to you with another example.

 

Let's say that you are trying to add a code from Gracia to Interlude, and you are having errors.

A possible reason is to have visibility differences.

If, for example, you are using a private boolean at a part of your code, since Gracia has it like this, you may need to change its visibility to suit your code.

 

So, for example, you may need to change a private boolean into a public one.

It's very simple, you just change the word that sets the visibility (private, public, etc.).

 

It is quite easy, but if you're facing problems, then I suppose that eclipse will correct it by itself.

Don't forget to check at the error symbols, or the red lines, so that eclipse will be able to provide you with its help!

 

Let's move on..

 

 

~Missing Parts

 

Well, this one is the most common problem, although it is hard to be solved by a newbie.

What do I mean when telling 'missing parts' ?

Well, if you usually use eclipse to solve such problems, then you may have noticed that sometimes, eclipse can't provide you with the proper help, in order to solve the problem.

A possible reason for this to happen, may be that you don't have the proper codes.

 

Let me use another example.

You are trying to add a code, although you must use a proper boolean in order to make it work properly.

But what happens when you the code you're looking for doesn't exist?

The solution sounds simple, but it may be harder than you think.

 

You can either write it by yourself, but since the guide is about newbies I doubt if you can, or take it from the chronicle itself.

You have to find the proper class in which the code exists.

Then you have to open the file, but in Epilogue's/Final's/etc. Chronicle.

 

After you open the proper file at Gracia's GS, you search for the proper, for example, boolean.

I suppose that you all know how to search in eclipse >_>

 

After that, simply copy/paste what you need, at your chronicle's proper file.

If everything goes well, then you can freely compile your core, and have fun.

 

But what happens if the code you pasted needs further editing?

Well, the answer is simple: Just do what you did right now.

What do I mean? Search for what it missing in order to complete the code.

 

Let's call it a chain reaction. Don't forget what I told previously: it may sound simple, but it isn't always.

If you finally find everything needed to complete the code, then you're finally done!

Let's move on..

 

 

~Imports

 

That's the last thing we'll mention.

It may sound weird and stupid, although it is something very basic.

 

Let's say that you have copy/pasted a brand new code, and created a class..

The first thing you've gotta do, before fixing further errors, is to fix the imports.

 

The imports' problem can either be simple, or complicated.

If it is simple, then you'll just have to change the starting part, in order to suit to the project you're using.

 

For example, Gracia Epilogue's imports start with

com.l2jserver

whereas Interlude's imports start with

net.sf.l2j

 

That's the easier part, and I suppose that all of you know this.

 

If the problem is complicated, then the names of the classes may be different, so they may confuse you.

But you should know that nothing is complicated at all!

There are just a few differences at the names or the packages.

 

For example, the well known L2NpcInstance in Interlude (located in model.actor.instance), is named L2Npc in Gracia (located in model.actor).

 

It's nothing so hard, so don't let simple things fool you.

 

 

So, these are the four parts with my advice.

But the guide isn't over yet!

We have to test everything ingame.

So, let's move on the last part of the guide.

 

 

Testing the Code.

 

As you may know, Interlude is a client in which if you add something, you may ruin a whole system.

So, my advice is: after adding every single code, make sure that you test it by yourself, and check if it affects other parts of your server.

 

Javac may find 0 errors, and the gs console may find 0 errors as well.

But don't think that the code will work properly.

 

You will have to test everything by yourself to see if the code you added works properly, and if it causes further problems.

 

If, in the end, everything is fine, then you're okay.

You have added everything you wanted and it works perfectly.

 

 

 

 

So, that's all for now people!

These are the basics of "adaptions", so I suppose that you will no longer have problems, like the ones I mentioned above.

 

I hope that from now on, we will see less questions like

Will it work on X Chronicle?

 

Goodbye everybody, and enjoy testing things by yourselves.

 

PS: If you have any extra ideas about more things to add, feel free to suggest them. Just make sure that they're related to the topic.

 

 

Best Regards,

Coyote™.

Posted

It's a very good guide and usefull too. btw what compiler you use?

 

Mainly eclipse.

I mention it in the guide, since most users find it easier than maven.

Posted

WoW man!

Thank you!I didn't knew how to do it... :P you see i am newbie on eclipse!

Thank you anyway, i found it very useful!

 

Will there be a video...cause i cant understand some parts!

Posted

WoW man!

Thank you!I didn't knew how to do it... :P you see i am newbie on eclipse!

Thank you anyway, i found it very useful!

 

Will there be a video...cause i cant understand some parts!

 

Videos are not my cup of tea.

I prefer writing than using such programs..

 

Sorry, but I can't help you with this.

I may translate it in Greek, though.

Posted

I am working at an epilogue l2jserver pack and i wanted to add a code!

if (activeChar.getLevel() >= 40)
    [javac]                         ^

how should i transform it?

 

where's the error?

You just gave 2 lines..

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

    • L2 Kings    Stage 1 – The Awakening Dynasty and Moirai Level Cap: 83 Gear: Dynasty -Moirai & Weapons (Shop for Adena + Drop from mobs/instances ) Masterwork System: Available (Neolithics S required with neolithics u can do armor parts foundation aswell) Class Cloaks: Level 1 - Masterwork sets such us moirai/dynasty stats are boosted also vesper(stage 2) Olf T-Shirt: +6 (fails don’t reset) safe is +2 Dolls: Level 1 Belts: Low & Medium Enchant: Safe +3 / Max +8 / Attribution Easy in Moirai-Dynasty . Main Zones: Varka Outpost: Easy farm, Adena, EXP for new players = > 80- 100kk hour Dragon Valley: Main farm zone — , 100–120kk/hour Weapon Weakness System active (all classes can farm efficiently) Archers get vampiric auto-hits vs mobs Dragon Valley Center: Main Party Zone — boosted drops (Blessed enchants, Neolithics chance) => farm like 150-200kk per hour. Dragon Valley North: Spoil Zone (Asofe + crafting materials for MW) Primeval Isle: Safe autofarm zone (low adena for casual players) ==> 50kk per hour Forge of the Gods & Imperial Tomb: Available from Stage 1 (lower Adena reward in compare with Dragon Valley) Hellbound also avaliable from stage 1 In few words all zones opened but MAIN farm zone with boosted adena and drops is Dragon valley also has more mobs Instances: Zaken (24h Reuse) → Instead of Vespers drop Moirai , 100% chance to drop 1 of 9 dolls lvl 1, Zaken 7-Day Jewelry Raid Bosses (7 RBs): Drop Moirai Parts + Neolithic S grade instead of Vespers parts that has 7 Rb Quest give Icarus Weapons Special Feature 7rb bosses level up soul crystals aswell. Closed Areas : Monaster of SIlence, LOA, ( It wont have mobs) / Mahum Quest/Lizardmen off) Grand Epics: Unlocked on Day 4 of Stage 1 → Antharas, Valakas, Baium, AQ, etc ================================================================================= Stage 2 – Rise of Vespers Level Cap: 85 Gear: Moirai Armors (Adena GM SHOP / Craft/ Drop) Weapons: Icarus Cloaks: Level 2 Olf: +8 Dolls: Level 2 Belts: High & Top Enchant: Safe +3 / Max +8 Masterwork can be with Neolithics S84 aswell but higher so craft will be usefull aswell. 7 Raid Boss Quest Updated: Now works retail give vesper weapons 7rb Bosses Drops : Vespers Instances: Zaken : Drops to retail vespers + the dolls and the extra items that we added on stage 1 New Freya Instance: Added — drops vespers and instead of mid s84 weapons will drop vespers . Extra drops Blessed Bottle of Freya - drops 100% chance 1 of 9 dolls. Farm Areas Dragon Valley remains main farm New Zone : Lair of Antharas (mobs nerfed and added drop Noble stone so solo players can farm too) New Party Zone : LOA Circle   ============================================================================   Stage 3 – The Vorpal ERA Gear: Vorpal Unclock Cloaks: Level 3 Olf: +10 (max cap) Dolls: Level 3 Enchant: Safe +3 / Max +12 Farm Zones : Dragon Valley Center Scorpions becomes a normal solo zone (no longer party zone) Drops:   LOA & Knorik → Mid Weapons avaliable in drop New Party Zone Kariks Instances: Easy Freya Drops Mid Weapons Frintezza Release =================================================================================     Stage 4 – Elegia Era (Final Stage) Elegia Unlock Gear: Elegia Weapons: Elegia TOP s84 ( farmed via H-Freya/ Drops ) Cloaks: Level 5 Dolls: Level 3 (final bonuses) Enchant: Safe +6 / Max +16 Instances: Hard Freya → Drops Elegia Weapons + => The Instance will drop 2-3 parts for sure and also will be able to Join with 7 people . Party Zone will have also drop chances for elegia armor parts and weapons but small   Events (Hourly): Win: 50 Event Medals + 3 GCM + morewards Lose: 25 Medals + 1 GCM + more rewards Tie: 30 Medals + 2 GCM + more rewards   ================================================================================ Epic Fragments Currency Participating in Daily Bosses mass rewarding all players Participating in Instances (zaken freya frintezza etc) all players get reward ================================================================================ Adena - Main server currency (all items in gm shop require adena ) Event Medals (Festival Adena) - Event shop currency Donation coins you can buy with them dressme,cosmetics and premium account Epic Fragments you can buy with them fake epic jewels Olympiad Tokens you can buy many items from olympiad shop (Hero Coin even items that are on next stages) Olympiad Win = 1000 Tokens / Lose = 500 Tokens ================================================================================= Offline Autofarm Allows limited Offline farming requires offline autofarm ticket that you get by voting etc ================================================================================= Grand Epics have Specific Custom NPC that can spawn Epics EU/LATIN TIME ZONE ================================================================================= First Olympiad Day 19 December First Heroes 22 December ( 21 December Last day of 1st Period) After that olympiad will be weekly. ================================================================================= Item price and economy Since adena is main coin of server and NOT donation coins we will always add new items in gm shop with adena in order to burn the adena of server and not be inflation . =================================================================================        
    • Hello, I'd like to change a title color for custom npc.  I created custom NPC, cloned existing. I put unique id for it in npcname-e, npcgrp and database. I have "0" to serverSideName in db, so that it would use npcname-e, but instead it has "NoNameNPC"and no title color change.
    • Trusted Guy 100% ,  I asked him for some work and he did it right away.
  • Topics

×
×
  • Create New...

AdBlock Extension Detected!

Our website is made possible by displaying online advertisements to our members.

Please disable AdBlock browser extension first, to be able to use our community.

I've Disabled AdBlock