Skip to content

L2j Problem with L2PCInstance

Featured Replies

Search with error description "could not restore character" using ctrl+H.

 

If u dont know whch file is it, u can start with L2PcInstance.

  • Author

here is l2pcinstance that i searched with ctr + h..

 

_log.log(Level.WARNING, "Could not restore character " + this + " skills: " + e.getMessage(), e);

}

finally

{

L2DatabaseFactory.close(con);

}

}

 

/**

* Retrieve from the database all skill effects of this L2PcInstance and add them to the player.

*/

@Override

public void restoreEffects()

{

Connection con = null;

 

try

{

con = L2DatabaseFactory.getInstance().getConnection();

PreparedStatement statement;

ResultSet rset;

 

statement = con.prepareStatement(RESTORE_SKILL_SAVE);

statement.setInt(1, getObjectId());

statement.setInt(2, getClassIndex());

rset = statement.executeQuery();

 

while (rset.next())

{

int effectCount = rset.getInt("effect_count");

int effectCurTime = rset.getInt("effect_cur_time");

long reuseDelay = rset.getLong("reuse_delay");

long systime = rset.getLong("systime");

int restoreType = rset.getInt("restore_type");

 

final L2Skill skill = SkillTable.getInstance().getInfo(rset.getInt("skill_id"), rset.getInt("skill_level"));

if (skill == null)

continue;

 

final long remainingTime = systime - System.currentTimeMillis();

if (remainingTime > 10)

{

disableSkill(skill, remainingTime);

addTimeStamp(skill, reuseDelay, systime);

}

 

/**

*  Restore Type 1

*  The remaning skills lost effect upon logout but

*  were still under a high reuse delay.

*/

if (restoreType > 0)

continue;

 

/**

*  Restore Type 0

*  These skill were still in effect on the character

*  upon logout. Some of which were self casted and

*  might still have had a long reuse delay which also

*  is restored.

*

*/

if (skill.hasEffects())

{

Env env = new Env();

env.player = this;

env.target = this;

env.skill = skill;

L2Effect ef;

for (EffectTemplate et : skill.getEffectTemplates())

{

ef = et.getEffect(env);

if (ef != null)

{

ef.setCount(effectCount);

ef.setFirstTime(effectCurTime);

ef.scheduleEffect();

}

}

}

}

 

rset.close();

statement.close();

 

statement = con.prepareStatement(DELETE_SKILL_SAVE);

statement.setInt(1, getObjectId());

statement.setInt(2, getClassIndex());

statement.executeUpdate();

statement.close();

}

catch (Exception e)

{

_log.log(Level.WARNING, "Could not restore "+this+" active effect data: " + e.getMessage(), e);

}

finally

{

L2DatabaseFactory.close(con);

}

}

Guest
This topic is now closed to further replies.

Account

Navigation

Search

Search

Configure browser push notifications

Chrome (Android)
  1. Tap the lock icon next to the address bar.
  2. Tap Permissions → Notifications.
  3. Adjust your preference.
Chrome (Desktop)
  1. Click the padlock icon in the address bar.
  2. Select Site settings.
  3. Find Notifications and adjust your preference.