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
}
have played many years ago excited to play again on launch. i have seen wonderful things about the server it looks how it should be theres hard work and it shows. it lives up to the glory days of l2 elixir.
I wish the best of luck for the project i will be playing actively!
Question
GameBlonD
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:
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
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 accountSign in
Already have an account? Sign in here.
Sign In Now