Irrelevant Posted March 23, 2021 Posted March 23, 2021 (edited) Hello folks , well im getting into the point: im facing a problem with offline buffers. I can set them as offline buffers and work ,but they aren't restoring after restart ,also give a error at system . pics: https://imgur.com/a/unUqNOA + Spoiler private void saveSellerData(L2PcInstance seller){ Connection con = null; try { con = L2DatabaseFactory.getInstance().getConnection(false); PreparedStatement statement; statement = con.prepareStatement("CALL sellbuff_saveSellerData(?,?,?,?)"); statement.setInt(1, seller.getObjectId()); statement.setString(2, seller.getTitle()); statement.setInt(3, seller.getAppearance().getTitleColor()); statement.setInt(4, seller.getAppearance().getNameColor()); statement.execute(); statement.close(); statement = null; } catch(Exception e) { if(Config.ENABLE_ALL_EXCEPTIONS) e.printStackTrace(); } finally { CloseUtil.close(con); con = null; } } public void restoreSellerData(L2PcInstance seller){ //int defaultNickColor = 16777215; // white //int defaultTitleColor = 16777079; // light blue Connection con = null; try { con = L2DatabaseFactory.getInstance().getConnection(false); PreparedStatement statement; statement = con.prepareStatement("CALL sellbuff_restoreSellerData(?)"); statement.setInt(1, seller.getObjectId()); ResultSet res = statement.executeQuery(); while(res.next()) { seller.setTitle(res.getString("lastTitle")); seller.getAppearance().setTitleColor(Integer.parseInt(res.getString("lastTitleColor"))); seller.getAppearance().setNameColor(Integer.parseInt(res.getString("lastNameColor"))); } res.close(); res = null; statement.close(); statement = null; } catch(Exception e) { if(Config.ENABLE_ALL_EXCEPTIONS) e.printStackTrace(); } finally { CloseUtil.close(con); con = null; } } i can't fine the mistake :/ .. thanks. Edited March 23, 2021 by Irrelevant
0 TGSLineage2 Posted March 23, 2021 Posted March 23, 2021 (edited) In its error it says that parameter 5 has not been specified and that is true because you are only sending 4 Well, according to the code that you have shown, you are calling a store procedure that recive apparently 5 parameters and you are only sending 4 and that is why it is possibly giving you the error in the console Edited March 23, 2021 by TGSLineage2 1
0 TGSLineage2 Posted March 23, 2021 Posted March 23, 2021 To save or update you can create a button that calls a save method in the database, and to automatically save after a reboot or shutdown, you must go to the shutdown class and call the save method of the buff, that will be the same used for the buttom, for the error in console, check the number of parameters of your stored procedure that you are calling.
0 Irrelevant Posted March 23, 2021 Author Posted March 23, 2021 12 minutes ago, TGSLineage2 said: To save or update you can create a button that calls a save method in the database, and to automatically save after a reboot or shutdown, you must go to the shutdown class and call the save method of the buff, that will be the same used for the buttom, for the error in console, check the number of parameters of your stored procedure that you are calling. already did that Spoiler Index: gameserver/head-src/com/l2jfrozen/gameserver/Shutdown.java =================================================================== try { - if ((Config.OFFLINE_TRADE_ENABLE || Config.OFFLINE_CRAFT_ENABLE) && Config.RESTORE_OFFLINERS) + if ((Config.OFFLINE_TRADE_ENABLE || Config.OFFLINE_CRAFT_ENABLE || Config.OFFLINE_SELLBUFF_ENABLED) && Config.RESTORE_OFFLINERS) OfflineTradeTable.storeOffliners(); }
0 TGSLineage2 Posted March 23, 2021 Posted March 23, 2021 (edited) check the number of parameters of this SP sellbuff_saveSellerData What does this method do? OfflineTradeTable.storeOffliners (); Are you sure it works smoothly? check that if it is running with an alert in the console Edited March 23, 2021 by TGSLineage2
0 Irrelevant Posted March 23, 2021 Author Posted March 23, 2021 2 minutes ago, TGSLineage2 said: check number of parameters of this SP sellbuff_saveSellerData what does this method do? OfflineTradeTable.storeOffliners(); Are you sure it's running whitout problems? its l2jfrozen . it use that for offline table in navicat
0 Irrelevant Posted March 23, 2021 Author Posted March 23, 2021 6 minutes ago, TGSLineage2 said: In its error it says that parameter 5 has not been specified and that is true because you are only sending 4 OMG you are right ..i am blind !! omg dude ..thanks.. fixed !! pff sorry!!
0 Zake Posted March 23, 2021 Posted March 23, 2021 48 minutes ago, Irrelevant said: OMG you are right ..i am blind !! omg dude ..thanks.. fixed !! pff sorry!! Locked
Question
Irrelevant
Hello folks , well im getting into the point: im facing a problem with offline buffers.
I can set them as offline buffers and work ,but they aren't restoring after restart ,also give a error at system .
pics: https://imgur.com/a/unUqNOA
+
private void saveSellerData(L2PcInstance seller){
Connection con = null;
try
{
con = L2DatabaseFactory.getInstance().getConnection(false);
PreparedStatement statement;
statement = con.prepareStatement("CALL sellbuff_saveSellerData(?,?,?,?)");
statement.setInt(1, seller.getObjectId());
statement.setString(2, seller.getTitle());
statement.setInt(3, seller.getAppearance().getTitleColor());
statement.setInt(4, seller.getAppearance().getNameColor());
statement.execute();
statement.close();
statement = null;
}
catch(Exception e)
{
if(Config.ENABLE_ALL_EXCEPTIONS)
e.printStackTrace();
}
finally
{
CloseUtil.close(con);
con = null;
}
}
public void restoreSellerData(L2PcInstance seller){
//int defaultNickColor = 16777215; // white
//int defaultTitleColor = 16777079; // light blue
Connection con = null;
try
{
con = L2DatabaseFactory.getInstance().getConnection(false);
PreparedStatement statement;
statement = con.prepareStatement("CALL sellbuff_restoreSellerData(?)");
statement.setInt(1, seller.getObjectId());
ResultSet res = statement.executeQuery();
while(res.next())
{
seller.setTitle(res.getString("lastTitle"));
seller.getAppearance().setTitleColor(Integer.parseInt(res.getString("lastTitleColor")));
seller.getAppearance().setNameColor(Integer.parseInt(res.getString("lastNameColor")));
}
res.close();
res = null;
statement.close();
statement = null;
}
catch(Exception e)
{
if(Config.ENABLE_ALL_EXCEPTIONS)
e.printStackTrace();
}
finally
{
CloseUtil.close(con);
con = null;
}
}
i can't fine the mistake :/ ..
thanks.

Edited by Irrelevant7 answers to this question
Recommended Posts