Jump to content

Recommended Posts

Posted (edited)

umm . its good one as it simple also but i like old school ;) .. but i have something, i talked to the NPC and chosed manage scheme and select some buffs, songs, dances, and (( Shilen Elder )) i get Critical Error, and when i click on Fighter Set | Mage Set in Full Buff section it cancel all buff i already have.

 

For removing buffs simply find :

else if (currentCommand.startsWith("fighterSet"))
{
........
-player.stopAllEffectsExceptThoseThatLastThroughDeath();
..........
}

else if (currentCommand.startsWith("mageSet"))
{
.....
-player.stopAllEffectsExceptThoseThatLastThroughDeath();
...
}

About critical what to say :/ its working fine for me i havent any issue since i didnt edit this part..

 

Edit:

For your cleanup bypass:

fix to this

final L2Summon summon = player.getPet();
 			if (summon != null)
			{
                               buff.getEffects(this, summon);
				summon.broadcastPacket(new MagicSkillUse(this, summon, 1056, 1, 5, 0));
 				summon.stopAllEffectsExceptThoseThatLastThroughDeath();
			}
Edited by melron
Posted
else if (currentCommand.startsWith("fighterSet"))
		{
			int fighterSet[] = Config.FIGHTER_SET_LIST;
			player.stopAllEffectsExceptThoseThatLastThroughDeath();
			L2Skill buff ;
			for (int id: fighterSet)
			{
				buff = SkillTable.getInstance().getInfo(id, SkillTable.getInstance().getMaxLevel(id));
				buff.getEffects(this, player);
				player.broadcastPacket(new MagicSkillUse(this, player, id, buff.getLevel(), 0, 0));
			}
			final NpcHtmlMessage html = new NpcHtmlMessage(0);
			html.setFile(getHtmlPath(getNpcId(), 0));
			html.replace("%objectId%", getObjectId());
			player.sendPacket(html);
		}
		else if (currentCommand.startsWith("mageSet"))
		{
			int mageSet[] = Config.MAGE_SET_LIST;
			player.stopAllEffectsExceptThoseThatLastThroughDeath();
			L2Skill buff ;
			 for (int id: mageSet)
			 {
				 buff = SkillTable.getInstance().getInfo(id, SkillTable.getInstance().getMaxLevel(id));
				 buff.getEffects(this, player);
				 player.broadcastPacket(new MagicSkillUse(this, player, id, buff.getLevel(), 0, 0));
			 }
			 final NpcHtmlMessage html = new NpcHtmlMessage(0);
			 html.setFile(getHtmlPath(getNpcId(), 0));
			 html.replace("%objectId%", getObjectId());
			 player.sendPacket(html);
		}

what about this one ?... 

Posted (edited)
else if (currentCommand.startsWith("fighterSet"))
		{
			int fighterSet[] = Config.FIGHTER_SET_LIST;
			player.stopAllEffectsExceptThoseThatLastThroughDeath();
			L2Skill buff ;
			for (int id: fighterSet)
			{
				buff = SkillTable.getInstance().getInfo(id, SkillTable.getInstance().getMaxLevel(id));
				buff.getEffects(this, player);
				player.broadcastPacket(new MagicSkillUse(this, player, id, buff.getLevel(), 0, 0));
			}
			final NpcHtmlMessage html = new NpcHtmlMessage(0);
			html.setFile(getHtmlPath(getNpcId(), 0));
			html.replace("%objectId%", getObjectId());
			player.sendPacket(html);
		}
		else if (currentCommand.startsWith("mageSet"))
		{
			int mageSet[] = Config.MAGE_SET_LIST;
			player.stopAllEffectsExceptThoseThatLastThroughDeath();
			L2Skill buff ;
			 for (int id: mageSet)
			 {
				 buff = SkillTable.getInstance().getInfo(id, SkillTable.getInstance().getMaxLevel(id));
				 buff.getEffects(this, player);
				 player.broadcastPacket(new MagicSkillUse(this, player, id, buff.getLevel(), 0, 0));
			 }
			 final NpcHtmlMessage html = new NpcHtmlMessage(0);
			 html.setFile(getHtmlPath(getNpcId(), 0));
			 html.replace("%objectId%", getObjectId());
			 player.sendPacket(html);
		}

what about this one ?... 

 

You just have to remove 

player.stopAllEffectsExceptThoseThatLastThroughDeath();

In your sets

 

p.s Sweets you didnt answer to Access yet... :D

Edited by melron
Posted (edited)

Client crash probably comes due to too high number of characters in the HTM. That's up to the layout designer to think about it (he added numerous font color and images). If you got a full scheme and switch to a full skills set you probably will end with one.

 

I reworked Tryskell buffer for next revision (363) btw :

  • data is stored on XML rather than complicated config.
  • Paging system, no scrolling needed (and no client crashes possible until you put font and table everywhere).
  • cutted panels amount (2 lesser) to make it easier to use and 20% of core code dissapeared too.
  • Skills got name and description.
  • Oldschool design.
  • No blinking effect for the whole buffer HTMs.

24llb86.jpg 20tmg48.jpg x2o13a.jpg

 

---

 

As free share, you could benefit it when 380 will come.

Edited by Tryskell
  • 3 weeks later...
Posted

Client crash probably comes due to too high number of characters in the HTM. That's up to the layout designer to think about it (he added numerous font color and images). If you got a full scheme and switch to a full skills set you probably will end with one.

 

I reworked Tryskell buffer for next revision (363) btw :

  • data is stored on XML rather than complicated config.
  • Paging system, no scrolling needed (and no client crashes possible until you put font and table everywhere).
  • cutted panels amount (2 lesser) to make it easier to use and 20% of core code dissapeared too.
  • Skills got name and description.
  • Oldschool design.
  • No blinking effect for the whole buffer HTMs.

24llb86.jpg 20tmg48.jpg x2o13a.jpg

 

---

 

As free share, you could benefit it when 380 will come.

waiting.... :D

  • 10 months later...
Posted (edited)
1 hour ago, Benskis said:

Hey. Thanks for code, but I got One question.. What to change if I would like my buffer to cast a spell in dark elf woman's voice?

 

It's not achievable editing core side. You have to play with client.

 

If regular sounds can be read, you can also send a playSound packet.

Edited by Tryskell
Posted
4 minutes ago, Tryskell said:

 

It's not achievable editing core side. You have to play with client.

 

If regular sounds can be read, you can also send a playSound packet.

Umgh. But at the moment I can hear human fighter's voice when npc is casting a skill. So that shouls be at core side, no?

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

    • So dont plat that waste time&money server.   GM promises pie in the sky, but does nothing. It's all about money, money, money. And wipe.   SCAM server!
    • I'm looking for someone to remove GameGuard from a game that uses XTRAP. The game no longer uses XTRAP. I have a game server. But the client is kicked from the game after a few minutes of logging in. If I try to remove XTRAP (just by deleting it), the game opens and closes quickly.   Send me a PM. The game is Audition, a dance game.
    • 🎉 L2Dead StuckSub - GRAND OPENING 14 February 2026🎉 After beta, testing, mistakes, laughs and a lot of PvP, the moment has finally come. L2Dead StuckSub is officially opening its gates on 14 February 2026.   ⚔️What to expect: ✦Main Class +6 Stuck Sub system ✦Balanced PvP & custom party farm areas ✦Custom events, bosses and strong rewards ✦Competitive clan scene with castle rewards   📌Until the opening: ✦Create your clans and register them in the Clan-Register channel ✦Invite your friends / old parties / CPs ✦Stay tuned for more information (rates, events, siege times, etc.)   Get your setups ready, prepare your macros and your Discord/voice. On 14 February 2026 20:00 GMT+2, we write the first chapter of L2Dead together. 🔥 https://www.l2dead.com/ https://discord.gg/TGnATuZmdt
    • Here’s the **clean, L2jAcis-style way** to make **Auto Loot work ONLY for Premium players** on **Interlude**.   I’ll give you **two options** — pick what fits your server philosophy.   ---   ## ✅ OPTION 1 (BEST PRACTICE): Premium-Only Auto Loot (Code-based)   ### 🔹 Step 1: Add config option   **`config/Premium.properties`**   ```properties # Enable auto loot only for premium players PremiumAutoLoot = True ```   ---   ### 🔹 Step 2: Read config   **`Config.java`**   ```java public static boolean PREMIUM_AUTO_LOOT; ```   Load it:   ```java PREMIUM_AUTO_LOOT = Premium.getProperty("PremiumAutoLoot", false); ```   ---   ### 🔹 Step 3: Modify drop handling   **File:**   ``` net.sf.l2j.gameserver.model.actor.instance.L2MonsterInstance ```   Find **dropItems()** or **doItemDrop()** Replace / modify logic like this:   ```java if (player != null && player.isPremium() && Config.PREMIUM_AUTO_LOOT) {     for (ItemInstance item : items)         player.getInventory().addItem("AutoLoot", item, player, this); } else {     for (ItemInstance item : items)         dropItem(player, item); } ```   ✅ Result:   * **Premium players** → instant loot * **Normal players** → loot on ground   ---   ## ✅ OPTION 2: Auto Loot via Character Variable (More Flexible)   Useful if you want **GM control** per character.   ### 🔹 Premium activation   When premium is added:   ```java player.setVar("AUTO_LOOT", "1"); ```   ### 🔹 Drop check   ```java if (player != null && player.getVarB("AUTO_LOOT")) {     player.addItem("AutoLoot", item, player, true); } else {     dropItem(player, item); } ```   ---   ## 🎯 BONUS (Recommended Add-Ons)   ### 🔸 Adena always auto-loot (even non-premium)   ```java if (item.getItemId() == 57) {     player.addAdena("Loot", item.getCount(), this, true);     continue; } ```   ### 🔸 Party check (premium leader only)   ```java player.isInParty() && player.getParty().getLeader().isPremium() ```   ---   ## ⚠️ Notes (Interlude Safe)   ✔ Compatible with **L2jAcis Interlude** ✔ No client-side changes ✔ No exploit risk ✔ Retail-like behavior   ---      
  • 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..