Jump to content

Recommended Posts

Posted

Well, hello everybody.

Here I am with a new share, which is a kind of "adaption".

 

Let me remind what Intrepid once said:

The only way to give sense to Interlude, is to apply Gracia Features in it.

 

So, I thought to take the punishment system from Gracia Epilogue, and change it to support Interlude.

 

If you are interested in adding it, follow the patch step by step.

It has NO compile errors, since I tested it on a clear Interlude pack, taken from L2j Server's branches.

 

So, here you are:

Link

 

 

Don't forget to add the server (sql) part!

Go at characters.sql, and:

 

Delete these:

in_jail decimal(1,0) DEFAULT 0,
 jail_timer decimal(20,0) DEFAULT 0,

 

And instead of them, add these:

punish_level TINYINT UNSIGNED NOT NULL DEFAULT 0,
 punish_timer INT UNSIGNED NOT NULL DEFAULT 0,

 

It has been tested and it works.

Have Fun using it!

 

Best Regards,

Coyote™.

Posted

nice :). So bad donator members cannot karma people

 

Actually it is good.

You know, most users aren't like you.

What I mean is that, since most of the members don't know how to use the priv properly, there is chaos in mxc because of the abuses =P

 

Thank you very much, by the way! :)

Posted

Can you explain what it does?I am out of date really.

Gracia final has that as a default feature?

 

It's epilogue, but final has the same feature too.

Remember the old boring chatban and jail system?

 

Where the durations and actions were standard and boring.

Now it is advanced:

 

There are a few types of punishments, such as jail, chat, acc, etc.

 

You can easily set your own duration and kind of punishment in an easier and better way than before.

 

 

Add it and you'll find out more by yourself.

Posted

It's epilogue, but final has the same feature too.

Remember the old boring chatban and jail system?

 

Where the durations and actions were standard and boring.

Now it is advanced:

 

There are a few types of punishments, such as jail, chat, acc, etc.

 

You can easily set your own duration and kind of punishment in an easier and better way than before.

 

 

Add it and you'll find out more by yourself.

I get it now.

Damn me,I have to read about the new features.

Thanks for sharing that with us.Will help shitlude lovers :P

Posted

Coyote™, I found a mistake ..

I did a littel patch

 

Index: gameserver.handler.admincommandhandlers.AdminBan

private void jailOfflinePlayer(L2PcInstance activeChar, String name, int delay)
{
	Connection con = null;
	try
	{
		con = L2DatabaseFactory.getInstance().getConnection();

-			PreparedStatement statement = con.prepareStatement("UPDATE characters SET x=?, y=?, z=?, in_jail=?, jail_timer=? WHERE char_name=?");
+			PreparedStatement statement = con.prepareStatement("UPDATE characters SET x=?, y=?, z=?, punish_level=?, punish_timer=? WHERE char_name=?");
@@
private void unjailOfflinePlayer(L2PcInstance activeChar, String name)
{
	Connection con = null;
	try
	{
		con = L2DatabaseFactory.getInstance().getConnection();
-			PreparedStatement statement = con.prepareStatement("UPDATE characters SET x=?, y=?, z=?, in_jail=?, jail_timer=? WHERE char_name=?");
+			PreparedStatement statement = con.prepareStatement("UPDATE characters SET x=?, y=?, z=?, punish_level=?, punish_timer=? WHERE char_name=?");
		statement.setInt(1, 17836);

Posted

Coyote™, I found a mistake ..

I did a littel patch

 

Index: gameserver.handler.admincommandhandlers.AdminBan

private void jailOfflinePlayer(L2PcInstance activeChar, String name, int delay)
{
	Connection con = null;
	try
	{
		con = L2DatabaseFactory.getInstance().getConnection();

-			PreparedStatement statement = con.prepareStatement("UPDATE characters SET x=?, y=?, z=?, in_jail=?, jail_timer=? WHERE char_name=?");
+			PreparedStatement statement = con.prepareStatement("UPDATE characters SET x=?, y=?, z=?, punish_level=?, punish_timer=? WHERE char_name=?");
@@
private void unjailOfflinePlayer(L2PcInstance activeChar, String name)
{
	Connection con = null;
	try
	{
		con = L2DatabaseFactory.getInstance().getConnection();
-			PreparedStatement statement = con.prepareStatement("UPDATE characters SET x=?, y=?, z=?, in_jail=?, jail_timer=? WHERE char_name=?");
+			PreparedStatement statement = con.prepareStatement("UPDATE characters SET x=?, y=?, z=?, punish_level=?, punish_timer=? WHERE char_name=?");
		statement.setInt(1, 17836);

 

so, where's the mistake? =P

Posted

You forgot to change  punish_level=?, punish_timer=?

 

Why to change it? o.O

This is what I added..

I still can't get you..

 

EDIT: I just saw the "Index" at your post..

The patch was not normal, so I didn't see it xD

Gonna fix it, sec.

Posted

You`ve got it at last

 

yea, I didn't notice the class you were mentioning, since the patch was handmade ;p

 

> Tested and Working <

 

Thanks for providing feedback.

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

    • It has been a while since I updated this thread. I am currently actively working on a full-scale port of the shader library to ensure the fast and accurate transfer of all effects. I have decompiled the original game and created a tool that fully logs the entire *Lineage 2 Interlude* particle system. This allows me to extract the original formulas hardcoded into the game, resulting in a high-fidelity port. For instance, *Lineage 2* uses an `appRnd` system that generates unique randomization patterns for different skills, giving them distinct visual characteristics; there are countless formulas and technical nuances like this. Ultimately, I will derive all the key formulas and replicate the geometry with high precision. Twelve basic geometry formulas have already been ported. The effect was created in 10 minutes using a .uc file, HLSL formulas, and SpriteEmitter particle blending formulas.   https://prnt.sc/_3UDLQVX_Y-_
    • Good luck my friend! 😃
    • try this one instead. The one he shared affects every single NPC/player character in the game, the one I posted only affects player characters  https://drive.google.com/file/d/1UtccbD9e50x3WEnQBab2PTZnBHwpcGYM/view?usp=sharing or perhaps i misunderstood; if you could please post a full explanation of the problem you're having with the files, unfortunately i think whatever you're using to translate to english is a bit bad nevermind, i got what you mean, here's the fix   https://drive.google.com/file/d/1av7OHaGSdnVQtcBgb9MhtiIkxVXy3P2y/view?usp=sharing   CanIngnoreCollision=True CanBeIngnoredCollision=True  
    • <dailyReward days="28" autoOpen="true" minimumOnlineTimeSeconds="30" oneRewardPerIP="true" resetIfMissDay="true">   For now, I have these settings in the XML—this is the V1 version I created, though I plan to make further improvements over time. Of course, I’ll also add more protections—MAC, HWID, and perhaps others like account-based restrictions—to make it more secure. We can also implement non-tradable items to further enhance the system's security. I’ll keep posting updates and refining both the system and the interface. I might make a video tomorrow; if you look at the top, you'll see the "auto-open" feature can be toggled on or off, allowing users to rely solely on the `.daily` command. Cheers! Note: If I sell it in this state, I’ll provide support and roll out updates to users. I’m not forcing anyone to buy anything; I’d even provide the patch files so that anyone with the necessary skills can add features, modify it, or improve it further.
  • 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..