Jump to content

Recommended Posts

Posted (edited)

Hello, I bring you the l2jdev dungeon event adapted to l2jfrozen for me

 

video test

 

Update Code: https://pastebin.com/Kc61EPNc

 

sql,html: https://www.mediafire.com/file/7z5v60myf9tf1vn/Dungeon.rar/file

 

 

I don't know exactly all the credits but I leave the names of the codes I use, sorry if any are missing

 

Credits: Anarchy, Juvenil Walker, Baggos, mkizub, G1ta0, Forsaiken

Help:melron

 

 

Edited by tensador27
Update code
Posted
2 minutes ago, tensador27 said:

any advice or basic guide to improve it thank you very much in the same way

Simply check if the player is on dungeon before the item creation 

Posted
1 hour ago, melron said:

Simply check if the player is on dungeon before the item creation 

hello add this do you think it would work?

 

	                            if(DungeonManager.getInstance().getDungeonParticipants().contains(activeChar.getObjectId()))
                               {                         	  
   								L2ItemInstance item = activeChar.addItemDungeon("dungeon reward", itemId, count, null, true);
   								item.setEnchantLevel(25);
   								activeChar.getInventory().equipItemAndRecord(item);
   				                PlayerMemo.setVar(activeChar, "delete_temp_item_" + item.getObjectId(), item.getObjectId(), System.currentTimeMillis() + (1000 *60 *60 *5)); 
   								InstanceManager.getInstance().getInstance(0);
   								activeChar.setDungeon(null);						
   								activeChar.teleToLocation(Config.DUNGEON_SPAWN_X, Config.DUNGEON_SPAWN_Y, Config.DUNGEON_SPAWN_Z, Config.DUNGEON_SPAWN_RND);	                  	                            	   
                               }
	                            else 
                               {
                            	 activeChar.sendMessage("No puedes recibir el premio");  
                               }

 

I also put this

 

	                               if(Dungeon.isRegistered(activeChar)) 
                               {                         	  
   								L2ItemInstance item = activeChar.addItemDungeon("dungeon reward", itemId, count, null, true);
   								item.setEnchantLevel(25);
   								activeChar.getInventory().equipItemAndRecord(item);
   				                PlayerMemo.setVar(activeChar, "delete_temp_item_" + item.getObjectId(), item.getObjectId(), System.currentTimeMillis() + (1000 *60 *60 *5)); 
   								InstanceManager.getInstance().getInstance(0);
   								activeChar.setDungeon(null);						
   								activeChar.teleToLocation(Config.DUNGEON_SPAWN_X, Config.DUNGEON_SPAWN_Y, Config.DUNGEON_SPAWN_Z, Config.DUNGEON_SPAWN_RND);	                  	                            	   
                               }




and in the dungeon part I put this
  
	public static boolean isRegistered(L2PcInstance player)
	{
		return DungeonManager.getInstance().getDungeonParticipants().contains(player.getObjectId());
	}  

 

Posted
1 minute ago, Kara said:

Like your ex. 

Are you vulnerable? I divorced you because you were a bitch

11 minutes ago, tensador27 said:

hello add this do you think it would work?

 

 

activeChar.getDungeon() != null

Posted (edited)

@tensador27 with this ThreadPool.java player will not teleported ..you need to use ThreadPoolManager options to work perfectly..i got stacked many times .. What i did :

replace all : ThreadPool.schedule(
with :ThreadPoolManager.getInstance().scheduleGeneral(

 

and all :  ThreadPool.scheduleAtFixedRate(()

with : ThreadPoolManager.getInstance().scheduleGeneralAtFixedRate(()

 

also you need to add this :
 

com/l2jfrozen/gameserver/model/actor/knownlist/ObjectKnownList.java
===========================================

        @Override
        public void run()
        {
            if (_obj != null)
            {
                _obj.getKnownList().updateKnownObjects();
            }
        }
    }


+    @SuppressWarnings("unchecked")
+    public final <A> Collection<A> getKnownType(Class<A> type)
+    {
+        List<A> result = new ArrayList<>();
+        
+        for (L2Object obj : _knownObjects.values())
+        {
+            if (type.isAssignableFrom(obj.getClass()))
+                result.add((A) obj);
+        }
+        return result;
+    }
+    
+    @SuppressWarnings("unchecked")
+    public final <A> Collection<A> getKnownTypeInRadius(Class<A> type, int radius)
+    {
+        List<A> result = new ArrayList<>();
+        
+        for (L2Object obj : _knownObjects.values())
+        {
+            if (type.isAssignableFrom(obj.getClass()) && Util.checkIfInRange(radius, getActiveObject(), obj, true))
+                result.add((A) obj);
+        }
+        return result;
+    }
}

 

 

also consuming of items on party dungeon needs fix, it first take the itemid and then it tell u ,u need party.https://ibb.co/zb5wbW5

Edited by Irrelevant
  • 3 months later...
Posted (edited)

This code is old and there's a few bugs (like the bypass vulnerability). This was taken from L2Eola files but not the latest files obviously, so you have to find and fix any bugs.

 

The person who tried to adapt this clearly did not bother to read the code or was unable to, therefore whole systems such as player memo have been copied from aCis for a single use (dungeon). Or even ThreadPool class when frozen already has a thread pool implementation.

Instances code is incomplete too and there will be issues for sure.

 

Some other parts of the code are changed too, I suppose it's because you gave credits to 5 other people besides me so some of them must have made the changes.

 

-

 

If you need a proper adaptation don't use this, ask a person that knows what they're doing to adapt this for you.

 

 

 

ALSO this made me physically sick:

  

+           if (_command.startsWith("bp_reward"))
+           {
+               int type = Integer.parseInt(_command.substring(10));
+               int itemId = 0;
+               int count = 1;
+               
+               switch (type)
+               {
+                   case 0:
+                   {
+                       itemId = Config.DUNGEON_ITEM_RENEWAL0;
+                       
+                       break;
+                   }
+                   case 1:
+                   {
+                       itemId = Config.DUNGEON_ITEM_RENEWAL1;
+                       
+                       break;
+                   }
+                   case 2:
+                   {
+                       itemId = Config.DUNGEON_ITEM_RENEWAL2;
+                       
+                       break;
+                   }
+                   case 3:
+                   {
+                       itemId = Config.DUNGEON_ITEM_RENEWAL3;
+                       
+                       break;
+                   }
+                   case 4:
+                   {
+                       itemId = Config.DUNGEON_ITEM_RENEWAL4;
+                       
+                       break;
+                   }
+                   case 5:
+                   {
+                       itemId = Config.DUNGEON_ITEM_RENEWAL5;
+                       
+                       break;
+                   }
+                   case 6:
+                   {
+                       itemId = Config.DUNGEON_ITEM_RENEWAL6;
+                       
+                       break;
+                   }
+                   case 7:
+                   {
+                       itemId = Config.DUNGEON_ITEM_RENEWAL7;
+                       
+                       break;
+                   }
+                   case 8:
+                   {
+                       itemId = Config.DUNGEON_ITEM_RENEWAL8;
+                       
+                       break;
+                   }
+                   case 9:
+                   {
+                       itemId = Config.DUNGEON_ITEM_RENEWAL9;
+                       
+                       break;
+                   }
+                   case 10:
+                   {
+                       itemId = Config.DUNGEON_ITEM_RENEWAL10;
+                       
+                       break;
+                   }
+               }
+               
+               if (itemId == 0)
+               {
+                   System.out.println(activeChar.getName() + " tried to send custom id on dungeon solo rewards.");
+                   return;
+               }
+                               if(activeChar.getDungeon() != null)
+                               {                             
+                                   L2ItemInstance item = activeChar.addItemDungeon("dungeon reward", itemId, count, null, true);
+                                   item.setEnchantLevel(25);
+                                   activeChar.getInventory().equipItemAndRecord(item);
+                                   PlayerMemo.setVar(activeChar, "delete_temp_item_" + item.getObjectId(), item.getObjectId(), System.currentTimeMillis() + (1000 *60 *60 *5)); 
+                                   InstanceManager.getInstance().getInstance(0);
+                                   activeChar.setDungeon(null);                        
+                                   activeChar.teleToLocation(Config.DUNGEON_SPAWN_X, Config.DUNGEON_SPAWN_Y, Config.DUNGEON_SPAWN_Z, Config.DUNGEON_SPAWN_RND);                                                           
+                               }
+                               else 
+                               {
+                                activeChar.sendMessage("No puedes recibir el premio");  
+                               }
+           }

 

 

Edited by An4rchy
Posted
5 hours ago, joseinacio said:

help acis 401

image.png.4ea06f15f401d7555cd0e9883a661c48.png

 

 

ConectionPool.java

add this

 

	private static final CLogger LOGGER = new CLogger(ConnectionPool.class.getName());
+	private static ConnectionPool _instance;	




	public static Connection getConnection() throws SQLException
	{
		return _source.getConnection();
	}

+	public static ConnectionPool getInstance()
+	{
+		if (_instance == null)
+		{
+			_instance = new ConnectionPool();
+		}
+		
+		return _instance;
+	}

 

  • 4 weeks later...
Posted (edited)
On 6/23/2022 at 3:27 PM, tensador27 said:

 

 

ConectionPool.java

add this

 

	private static final CLogger LOGGER = new CLogger(ConnectionPool.class.getName());
+	private static ConnectionPool _instance;	




	public static Connection getConnection() throws SQLException
	{
		return _source.getConnection();
	}

+	public static ConnectionPool getInstance()
+	{
+		if (_instance == null)
+		{
+			_instance = new ConnectionPool();
+		}
+		
+		return _instance;
+	}

 

help

image.png.88ee713e60a06bb326551add8d728321.png

only on linux this error windows is okimage.png.1d274413ebb8f85f1b8a6a7ea079a73e.png

Edited by joseinacio

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

    • Forever Lineage Interlude mid-rate built for people with one hour a night Chronicle: Interlude XP/SP: 25x  |  Drop: 10x  |  Adena: 12x  |  Spoil: 15x Enchant: Safe +3  |  Max +21 Fresh start: 11 September 2026 - server is live now Website: https://l2forever.eu Discord: https://discord.gg/96rdukHvbs Why this server exists I have wanted my own Lineage 2 server since I was a teenager. I tried, failed, came back, failed again. Fifteen years later I am a developer with a full-time job, a family, and maybe an hour before bed. Every server I tried as an adult made that hour feel wasted - log in, kill a few mobs, no real progress, log out annoyed. So I built the server I actually wanted to play. Everything below is designed around one question: can you log in, make real progress, and log out on your own terms in one session? What is different Rebirth and Talent Tree - hit level 80, reset to level 1, keep your gear and skill enchants, earn talent points. Build a different character every rebirth. Bounty Hunter - daily hunt tasks with rank progression, Bounty Coins, and rare bounties. One bounty fits one session. Companions - a summonable tank, healer, or damage ally for any class. First one costs three bounties. Solo play without a solo class. Auto-farm - your character farms on its own for 2 hours a day at full XP and half loot. Solo, monsters only. The only automation allowed. Alchemy - brew stronger HP/MP potions from monster drops, no recipe needed. Custom Gludin start zone - buffs, passive mobs, and the NPCs you need, through your first 20 levels. Shorter class quests - 1st, 2nd, 3rd class, Subclass and Noblesse, all through one NPC. Champions - 5% spawn above level 40, 3x HP, 8x XP, 4-5x loot. Worth stopping for. Scheme buffer, shop up to C-grade, teleporter - B-grade and above come from crafting, drops, and quests. Seasons - each season brings Talent Tree changes. Your master account, titles, and cosmetics carry over. The rules I hold myself to Solo is the default, not a punishment. No clan required, no raid schedule, no guilt when you log off. Paid tiers add convenience and time, not power - the free baseline is the full game. No surprise wipes: if another fresh start ever happens, it is announced at least a month ahead. One developer, no shady admin, and I play on it myself. This is the server I needed fifteen years ago. Come see what I made. https://l2forever.eu
    • 🚀 September Restock Live! Upgrade your personal Gmail to 5TB + Gemini Pro 12-18 Months instantly. 100% private and automated delivery!
    • [WTB / HIRING] High-End Gracia Final Source Code & Custom Pack Bundle [Serious Budget / Paid] Hello MaxCheaters Community, We are launching a new international High-End PvP project and are actively looking to acquire a complete, stable Gracia Final Source Code package OR hire an experienced L2J developer/team for custom module integration. We are looking for a solid foundation with the following specifications: 1. Full Java Source Code (.java) - Absolutely required. We need full access to edit core mechanics, custom items, weapons, and balance. No compiled-only .jar files. 2. Premium Geodata & Pathfinding - 100% complete and fixed Geodata for Gracia Final (no wall-shooting, no falling through map). 3. Modern QoL & Systems - Fully working Auto-Farm engine with clean client UI. - VIP/Premium subscription system (non-P2W rates/features). 4. Custom Content & Balance Ready - Ability to easily inject custom armor sets, weapons with custom glows/auras, and PvP zones. 5. Anti-Bot / Security Integration - Core ready to pair with top protection solutions (Active Anticheat, SmartGuard, or equivalent). 6. Client Tools & System Patch Support - Patch files and editing tools for itemname-e.dat, armorgrp.dat, weapongrp.dat, and custom interfaces. -------------------------------------------------- FORMAT OF COOPERATION: - We can purchase a ready, bug-free Source Code package. - We are also open to hiring a dedicated developer for custom task-based modules. - Fast payment via Crypto / PayPal / Bank Transfer. If you have a working build or offer dev services, PM me here or drop your Telegram/Discord contact below. Thanks!
    • WARFRONT is an Interlude faction PvP server built around one idea: the battlefield should never feel static. Choose your side. Angels vs Demons.   Capture Outposts to move the frontline and your faction's respawns. Fight for the Main Outpost to unlock dynamic events and HQ assaults. Push into enemy territory and destroy their Headquarters to win the battle. But WARFRONT goes far beyond traditional faction PvP.     ▶️ Dynamic Outpost & territory warfare ▶️ Daily Faction Castle Siege ▶️ Weekly Clan Siege ▶️ Grand Boss events ▶️ Kamaloka instanced party content ▶️ Reworked Interlude classes ▶️ Skill & Ability Tree  ▶️ Battlefield Contracts ▶️ Faction & individual rankings ▶️ Long-term character progression ▶️  Battle Pass & cosmetic progression ▶️  30-minute rotating battlefields   We've also reworked classes that are traditionally overlooked in faction PvP. Bishop can enter an offensive Inquisitor role, Daggers have Shadow Step, Prophet has its own combat toolkit, Overlord supports the entire faction, and several other classes have received new mechanics and balance changes. ▶️  SKILL & ABILITY TREE  Skill & Ability Tree system designed to add another layer of character progression and build choice to WARFRONT. Rather than simply increasing stats, the goal is to give players meaningful choices that can change how their character develops and how their class performs on the battlefield. This system is currently being tested, with more information and previews coming soon. The goal isn't to replace Interlude. It's to make Interlude faction PvP exciting again.   ▶️ CLOSED BETA: 03 OCTOBER 2026 Closed Beta will be our opportunity to push the systems, class balance and battlefield mechanics as hard as possible before Grand Opening. We built it. Now we need you to break it. ▶️  Website & Closed Beta Registration https://l2warfront.com ▶️  Discord https://discord.gg/u93YhB5Exy
  • 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..