Autor Tema: [Resuelto] [L2jFrozen] ERROR could not store Char base data:  (Leído 139 veces)

0 Usuarios y 1 Visitante están viendo este tema.

Desconectado kerb1

  • Grado A
  • *
  • Topic Author
  • Mensajes: 563
  • ar
  • Agradecimientos: 25
  • Cronica: : intertlude
  • Revision: 893
  • S.O: Windows 7
  • Serverpack : L2Frozen 1.5
[Resuelto] [L2jFrozen] ERROR could not store Char base data:
« en: Octubre 15, 2018, 01:22:31 pm »
gracias
Este post tiene 0 agradecimientos
  • Añade a tus favoritos
  • Hola chicos a donde me está diciendo que está la falla?


    Código: [Seleccionar]
    ERROR could not store Char base data: Java.sql.SQLException: Parameter Index out  oficina range <63> number of Parameter, which is 62> 
    « Última modificación: Octubre 23, 2018, 10:27:33 am por ReynalDev »

    Conectado Fissban

    • AdminSite
    • *
    • Mensajes: 5622
    • ar
    • Agradecimientos: 1650
      • Mis Proyectos
    • Cronica: : Scions of Destiny
    • Revision: Last
    • S.O: Windows 10
    • Serverpack : L2jAdmins
    Re:Error en consola
    « Respuesta #1 en: Octubre 15, 2018, 03:38:12 pm »
    gracias
    Este post tiene 0 agradecimientos
  • Añade a tus favoritos
    estas intentando agregar 63 parametros a un query al cual le has especificado solo 62.

    Chequea q has agregado al metodo "store" de L2PcInstance.

    Desconectado kerb1

    • Grado A
    • *
    • Topic Author
    • Mensajes: 563
    • ar
    • Agradecimientos: 25
    • Cronica: : intertlude
    • Revision: 893
    • S.O: Windows 7
    • Serverpack : L2Frozen 1.5
    Re:Error en consola
    « Respuesta #2 en: Octubre 15, 2018, 05:40:44 pm »
    gracias
    Este post tiene 0 agradecimientos
  • Añade a tus favoritos
  • la falla esta aca pero donde agrego para que sean 63?


    Código: [Seleccionar]
    statement.setInt(63, getObjectId());



    Código: [Seleccionar]
    public synchronized void store(final boolean force)
    {
    // update client coords, if these look like true
    if (!force && isInsideRadius(getClientX(), getClientY(), 1000, true))
    {
    setXYZ(getClientX(), getClientY(), getClientZ());
    }

    storeCharBase();
    storeCharSub();

    // Dont store effect if the char was on Offline trade
    if (!this.isStored())
    storeEffect();

    storeRecipeBook();
    fireEvent(EventType.STORE.name, (Object[]) null);

    // If char is in Offline trade, setStored must be true
    if (this.isInOfflineMode())
    setStored(true);
    else
    setStored(false);
    }

    /**
    * Update L2PcInstance stats in the characters table of the database.<BR>
    * <BR>
    */
    public synchronized void store()
    {
    store(false);
    }

    /**
    * Store char base.
    */
    private synchronized void storeCharBase()
    {
    try (
    Connection con = L2DatabaseFactory.getInstance().getConnection();
    PreparedStatement statement = con.prepareStatement(UPDATE_CHARACTER))
    {
    // Get the exp, level, and sp of base class to store in base table
    final int currentClassIndex = getClassIndex();
    _classIndex = 0;
    final long exp = getStat().getExp();
    final int level = getStat().getLevel();
    final int sp = getStat().getSp();
    _classIndex = currentClassIndex;

    // Update base class
    statement.setInt(1, level);
    statement.setInt(2, getMaxHp());
    statement.setDouble(3, getCurrentHp());
    statement.setInt(4, getMaxCp());
    statement.setDouble(5, getCurrentCp());
    statement.setInt(6, getMaxMp());
    statement.setDouble(7, getCurrentMp());
    statement.setInt(8, getSTR());
    statement.setInt(9, getCON());
    statement.setInt(10, getDEX());
    statement.setInt(11, getINT());
    statement.setInt(12, getMEN());
    statement.setInt(13, getWIT());
    statement.setInt(14, getAppearance().getFace());
    statement.setInt(15, getAppearance().getHairStyle());
    statement.setInt(16, getAppearance().getHairColor());
    statement.setInt(17, getHeading());
    statement.setInt(18, _observerMode ? _obsX : getX());
    statement.setInt(19, _observerMode ? _obsY : getY());
    statement.setInt(20, _observerMode ? _obsZ : getZ());
    statement.setLong(21, exp);
    statement.setLong(22, getExpBeforeDeath());
    statement.setInt(23, sp);
    statement.setInt(24, getKarma());
    statement.setInt(25, getPvpKills());
    statement.setInt(26, getPkKills());
    statement.setInt(27, getRecomHave());
    statement.setInt(28, getRecomLeft());
    statement.setInt(29, getClanId());
    statement.setInt(30, getMaxLoad());
    statement.setInt(31, getRace().ordinal());

    // if (!isSubClassActive())

    // else
    // statement.setInt(30, getBaseTemplate().race.ordinal());

    statement.setInt(32, getClassId().getId());
    statement.setLong(33, getDeleteTimer());
    statement.setString(34, getTitle());
    statement.setInt(35, getAccessLevel().getLevel());

    if (_isInOfflineMode || isOnline() == 1)
    { // in offline mode or online
    statement.setInt(36, 1);
    }
    else
    statement.setInt(36, isOnline());

    // statement.setInt(36, _isOffline ? 0 : isOnline());
    statement.setInt(37, isIn7sDungeon() ? 1 : 0);
    statement.setInt(38, getClanPrivileges());
    statement.setInt(39, getWantsPeace());
    statement.setInt(40, getBaseClass());

    long totalOnlineTime = _onlineTime;

    if (_onlineBeginTime > 0)
    {
    totalOnlineTime += (System.currentTimeMillis() - _onlineBeginTime) / 1000;
    }

    statement.setLong(41, totalOnlineTime);
    // statement.setInt(42, isInJail() ? 1 : 0);
    // statement.setLong(43, getJailTimer());
    statement.setInt(42, getPunishLevel().value());
    statement.setLong(43, getPunishTimer());
    statement.setInt(44, isNewbie() ? 1 : 0);
    statement.setInt(45, isNoble() ? 1 : 0);
    statement.setLong(46, getPowerGrade());
    statement.setInt(47, getPledgeType());
    statement.setLong(48, getLastRecomUpdate());
    statement.setInt(49, getLvlJoinedAcademy());
    statement.setLong(50, getApprentice());
    statement.setLong(51, getSponsor());
    statement.setInt(52, getAllianceWithVarkaKetra());
    statement.setLong(53, getClanJoinExpiryTime());
    statement.setLong(54, getClanCreateExpiryTime());
    statement.setString(55, getName());
    statement.setLong(56, getDeathPenaltyBuffLevel());
    statement.setInt(57, getPcBangScore());

    statement.setString(58, StringToHex(Integer.toHexString(_originalNameColorOffline).toUpperCase()));
    statement.setString(59, StringToHex(Integer.toHexString(getAppearance().getTitleColor()).toUpperCase()));

    // TODO allow different colors support to players store
    // statement.setString(58, StringToHex(Integer.toHexString(getAppearance().getNameColor()).toUpperCase()));
    // statement.setString(59, StringToHex(Integer.toHexString(getAppearance().getTitleColor()).toUpperCase()));

    statement.setInt(60, isAio() ? 1 : 0);
    statement.setLong(61, getAioEndTime());
    statement.setInt(62, getHitmanTarget());
    statement.setInt(63, getObjectId());

    statement.executeUpdate();
    }
    catch (final Exception e)
    {
    LOGGER.error("Could not store char base data: ", e);
    }
    }
    « Última modificación: Octubre 15, 2018, 06:01:06 pm por kerb1 »

    Conectado Fissban

    • AdminSite
    • *
    • Mensajes: 5622
    • ar
    • Agradecimientos: 1650
      • Mis Proyectos
    • Cronica: : Scions of Destiny
    • Revision: Last
    • S.O: Windows 10
    • Serverpack : L2jAdmins
    A Kimeraweb le gusta este post.

    Re:Error en consola
    « Respuesta #3 en: Octubre 15, 2018, 06:44:54 pm »
    gracias
    Este post tiene 1 agradecimientos
  • Añade a tus favoritos
    en el query...probablemente agregando un ",?" al final

    Desconectado kerb1

    • Grado A
    • *
    • Topic Author
    • Mensajes: 563
    • ar
    • Agradecimientos: 25
    • Cronica: : intertlude
    • Revision: 893
    • S.O: Windows 7
    • Serverpack : L2Frozen 1.5
    A Kimeraweb le gusta este post.

    (SOLUCIONADO)Re:Error en consola
    « Respuesta #4 en: Octubre 15, 2018, 07:57:47 pm »
    gracias
    Este post tiene 1 agradecimientos
  • Añade a tus favoritos
    tenias rezon fiss cuando modifique los metodos seguro no agregue lo del hitman que estaba puesto gracias solucionado