Jump to content
  • 0

Geodata Issue On Doors


Question

Posted

Hello , so i am having a strange issue with all doors and i can't find the issue.

 

For example on Castle doors players can blink no geodata check but if

I kill the doors and start/end siege then doors have geodata normally.

 

So this is the Load:

    private void loadDoor()
    {
        Connection con = null;
        try
        {
            con = L2DatabaseFactory.getInstance().getConnection();
            PreparedStatement statement = con.prepareStatement("Select * from castle_door where castleId = ?");
            statement.setInt(1, getCastleId());
            ResultSet rs = statement.executeQuery();
            
            while (rs.next())
            {
                // Create list of the door default for use when respawning dead doors
                _doorDefault.add(rs.getString("name") + ";" + rs.getInt("id") + ";"
                        + rs.getInt("x") + ";" + rs.getInt("y") + ";" + rs.getInt("z") + ";"
                        + rs.getInt("range_xmin") + ";" + rs.getInt("range_ymin") + ";"
                        + rs.getInt("range_zmin") + ";" + rs.getInt("range_xmax") + ";"
                        + rs.getInt("range_ymax") + ";" + rs.getInt("range_zmax") + ";"
                        + rs.getInt("hp") + ";" + rs.getInt("pDef") + ";" + rs.getInt("mDef"));
                
                L2DoorInstance door = DoorTable.parseList(_doorDefault.get(_doorDefault.size() - 1), false);
                _doors.add(door);
                DoorTable.getInstance().putDoor(door);
            }
            ResourceUtil.closeResultSet(rs);
            ResourceUtil.closeStatement(statement);
        }
        catch (Exception e)
        {
            _log.log(Level.WARNING, "Exception: loadCastleDoor()", e);
        }
        finally
        {
                        ResourceUtil.closeConnection(con);
        }
    }

This is what it is called when i end a siege:

            getCastle().spawnDoor(); // Respawn door to castle

And Finally this is the spawnDoor:
 

    public void spawnDoor(boolean isDoorWeak)
    {
        for (int i = 0; i < getDoors().size(); i++)
        {
            L2DoorInstance door = getDoors().get(i);
            if (door.getCurrentHp() <= 0)
            {
                door.decayMe(); // Kill current if not killed already
                door = DoorTable.parseList(_doorDefault.get(i), false);
                DoorTable.getInstance().putDoor(door); // Readd the new door to the DoorTable By Erb
                if (isDoorWeak)
                    door.setCurrentHp(door.getMaxHp() / 2);
                door.spawnMe(door.getX(), door.getY(), door.getZ());
                getDoors().set(i, door);
            }
            else if (door.getOpen())
                door.closeMe();
        }
        loadDoorUpgrade(); // Check for any upgrade the doors may have
    }

 

10 answers to this question

Recommended Posts

  • 0
Posted

Door geodata is generated on the fly from L2DoorInstance on old packs. About how that stuff is used on your pack, it's another story and not my problem :D.

since its not your problem and you dont want to help, dont spam for no reason.

  • 0
Posted (edited)

since its not your problem and you dont want to help, dont spam for no reason.

 

The topic owner asked my opinion, and your answer can be considered a biggest spam than mine, as it doesn't even touch to the subject.

 

About subject, I got no clue about how your pack parseList doors, and I got no will to help you debug GeoEngine / L2DoorInstance while that work has been done on my own pack.

 

But as AbsolutePower seems more helpful, I guess you will have numerous good advices and a fix from him.

Edited by Tryskell
  • 0
Posted

The topic owner asked my opinion, and your answer can be considered a biggest spam than mine, as it doesn't even touch to the subject.

 

About subject, I got no clue about how your pack parseList doors, and I got no will to help you debug GeoEngine / L2DoorInstance while that work has been done on my own pack.

 

But as AbsolutePower seems more helpful, I guess you will have numerous good advices and a fix from him.

the topic owner asked your ideas-help, not your opinion., speaking generally for something with out knowloge considered spam.

 

also : @Tryskell : and i got no will to help you.

 

so stop it :)

  • 0
Posted (edited)

I know its not your problem dude...

 

but i cant understand why on respawn geodata works and on Load first server run geodata doesn't :)

You don't provide full code, and still you want to get clear answer, how pathetic is that ?

 

.prophet mode=on;

My guess is that somewhere in restart config, there is a option that initialize some part of geo for doors, that is missing in main loader !

Look better for code, waste more time - its your job, since you didn't payed !

Edited by LightFusion
  • 0
Posted (edited)

The problem should be here so SpawnDoor works and parse data doesnt

 

any ideas how to improve parsedata on load?

    public void parseData()
    {
        LineNumberReader lnr = null;
        try
        {
            File doorData = new File(Config.DATAPACK_ROOT, "data/door.csv");
            lnr = new LineNumberReader(new BufferedReader(new FileReader(doorData)));
            
            String line = null;
            
            while ((line = lnr.readLine()) != null)
            {
                if (line.trim().length() == 0 || line.startsWith("#"))
                    continue;
                
                L2DoorInstance door = parseList(line, false);
                _staticItems.put(door.getDoorId(), door);
                door.spawnMe(door.getX(), door.getY(), door.getZ());
                ClanHall clanhall = ClanHallManager.getInstance().getNearbyClanHall(door.getX(), door.getY(), 500);
                if (clanhall != null)
                {
                    clanhall.getDoors().add(door);
                    door.setClanHall(clanhall);
                    if (_log.isLoggable(Level.FINE))
                    {
                        _log.fine(StringUtil.concat("door ", door.getDoorName(), " attached to ch ", clanhall.getName()));
                    }
                }
            }
Edited by GameBlonD

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

    • 🎧 Ad-Free Streaming & Social Tools: YouTube Premium and Telegram Premium available with instant automated activation.     FINAL CALL: Google is Shutting This Down After October 2026! Google will NEVER bring back this window of opportunity again. Once this month ends, this massive backdoor upgrade is gone permanently!  BUY 2, GET 1 FREE IS STILL LIVE! Stock up now for yourself, your family, your business, and your friends! Think about it: Every single person you know uses a Gmail account, and everyone is running out of storage. Don't let your loved ones get trapped paying $20–$30 every single month when you can set them up with 5TB Cloud Storage + Gemini Advanced (12–18 Months) right now for only $15! Why Buy Bulk Activations Today? Instant Gift Value: Perfect lifetime-style gift for clients, family, or team members. 100% Private & Safe: Activates on personal Gmails—zero passwords or logins required. Global Access: Works worldwide with zero VPN hassles. Instant Automated Delivery: Receive your activation links in seconds 24/7! ‍ Time is running out fast—secure your extra free licenses before the October deadline hits! Order Your Bundle Now on the Website
    • New coupon 30% off GEO Indonesia, Jakarta deu-KyS-5vY-c7E 20% off any first purchase with coupon fur-1AB-zyE-4ur
    • Prepared a collection of Halloween mods for Lineage 2:   • Pumpkin weapons with effects • S-grade weapons with dark textures and red effects • Halloween hats and masks • Skeleton costumes in several colors   Check out the videos to see each pack.                      
    • https://www.mediafire.com/file/xbawpj7f4pssyhc/PTS_GD2.5.rar/file
    • 💡 Cut your cloud costs by 90%: Get 18 Months of Google One 5TB + Gemini Pro at a tiny fraction of retail on KloudItem.com!     FINAL CALL: Google is Shutting This Down After October 2026! Google will NEVER bring back this window of opportunity again. Once this month ends, this massive backdoor upgrade is gone permanently!  BUY 2, GET 1 FREE IS STILL LIVE! Stock up now for yourself, your family, your business, and your friends! Think about it: Every single person you know uses a Gmail account, and everyone is running out of storage. Don't let your loved ones get trapped paying $20–$30 every single month when you can set them up with 5TB Cloud Storage + Gemini Advanced (12–18 Months) right now for only $15! Why Buy Bulk Activations Today? Instant Gift Value: Perfect lifetime-style gift for clients, family, or team members. 100% Private & Safe: Activates on personal Gmails—zero passwords or logins required. Global Access: Works worldwide with zero VPN hassles. Instant Automated Delivery: Receive your activation links in seconds 24/7! ‍ Time is running out fast—secure your extra free licenses before the October deadline hits! Order Your Bundle Now on the Website
  • 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..