Restore offline buff stores on server startup.

This commit is contained in:
MobiusDev
2017-10-19 19:44:54 +00:00
parent 1d84d5b8ec
commit deb6ee37ac
8 changed files with 108 additions and 48 deletions

View File

@@ -69,7 +69,7 @@ public class OfflineTradersTable
{ {
stm3.setInt(1, pc.getObjectId()); // Char Id stm3.setInt(1, pc.getObjectId()); // Char Id
stm3.setLong(2, pc.getOfflineStartTime()); stm3.setLong(2, pc.getOfflineStartTime());
stm3.setInt(3, pc.isSellingBuffs() ? 9 : pc.getPrivateStoreType().getId()); // store type stm3.setInt(3, pc.isSellingBuffs() ? PrivateStoreType.SELL_BUFFS.getId() : pc.getPrivateStoreType().getId()); // store type
String title = null; String title = null;
switch (pc.getPrivateStoreType()) switch (pc.getPrivateStoreType())
@@ -189,7 +189,7 @@ public class OfflineTradersTable
final int typeId = rs.getInt("type"); final int typeId = rs.getInt("type");
boolean isSellBuff = false; boolean isSellBuff = false;
if (typeId == 9) if (typeId == PrivateStoreType.SELL_BUFFS.getId())
{ {
isSellBuff = true; isSellBuff = true;
} }
@@ -217,7 +217,6 @@ public class OfflineTradersTable
client.setActiveChar(player); client.setActiveChar(player);
player.setOnlineStatus(true, false); player.setOnlineStatus(true, false);
client.setAccountName(player.getAccountNamePlayer()); client.setAccountName(player.getAccountNamePlayer());
// client.setConnectionState(ConnectionState.IN_GAME);
player.setClient(client); player.setClient(client);
player.setOfflineStartTime(time); player.setOfflineStartTime(time);
@@ -376,14 +375,29 @@ public class OfflineTradersTable
{ {
title = trader.getSellList().getTitle(); title = trader.getSellList().getTitle();
} }
for (TradeItem i : trader.getSellList().getItems()) if (trader.isSellingBuffs())
{ {
stm3.setInt(1, trader.getObjectId()); for (SellBuffHolder holder : trader.getSellingBuffs())
stm3.setInt(2, i.getObjectId()); {
stm3.setLong(3, i.getCount()); stm3.setInt(1, trader.getObjectId());
stm3.setLong(4, i.getPrice()); stm3.setInt(2, holder.getSkillId());
stm3.executeUpdate(); stm3.setLong(3, 0);
stm3.clearParameters(); stm3.setLong(4, holder.getPrice());
stm3.executeUpdate();
stm3.clearParameters();
}
}
else
{
for (TradeItem i : trader.getSellList().getItems())
{
stm3.setInt(1, trader.getObjectId());
stm3.setInt(2, i.getObjectId());
stm3.setLong(3, i.getCount());
stm3.setLong(4, i.getPrice());
stm3.executeUpdate();
stm3.clearParameters();
}
} }
break; break;
} }
@@ -410,7 +424,7 @@ public class OfflineTradersTable
{ {
stm4.setInt(1, trader.getObjectId()); // Char Id stm4.setInt(1, trader.getObjectId()); // Char Id
stm4.setLong(2, trader.getOfflineStartTime()); stm4.setLong(2, trader.getOfflineStartTime());
stm4.setInt(3, trader.getPrivateStoreType().getId()); // store type stm4.setInt(3, trader.isSellingBuffs() ? PrivateStoreType.SELL_BUFFS.getId() : trader.getPrivateStoreType().getId()); // store type
stm4.setString(4, title); stm4.setString(4, title);
stm4.executeUpdate(); stm4.executeUpdate();
stm4.clearParameters(); stm4.clearParameters();

View File

@@ -27,7 +27,8 @@ public enum PrivateStoreType
BUY(3), BUY(3),
BUY_MANAGE(4), BUY_MANAGE(4),
MANUFACTURE(5), MANUFACTURE(5),
PACKAGE_SELL(8); PACKAGE_SELL(8),
SELL_BUFFS(9);
private int _id; private int _id;

View File

@@ -69,7 +69,7 @@ public class OfflineTradersTable
{ {
stm3.setInt(1, pc.getObjectId()); // Char Id stm3.setInt(1, pc.getObjectId()); // Char Id
stm3.setLong(2, pc.getOfflineStartTime()); stm3.setLong(2, pc.getOfflineStartTime());
stm3.setInt(3, pc.isSellingBuffs() ? 9 : pc.getPrivateStoreType().getId()); // store type stm3.setInt(3, pc.isSellingBuffs() ? PrivateStoreType.SELL_BUFFS.getId() : pc.getPrivateStoreType().getId()); // store type
String title = null; String title = null;
switch (pc.getPrivateStoreType()) switch (pc.getPrivateStoreType())
@@ -189,7 +189,7 @@ public class OfflineTradersTable
final int typeId = rs.getInt("type"); final int typeId = rs.getInt("type");
boolean isSellBuff = false; boolean isSellBuff = false;
if (typeId == 9) if (typeId == PrivateStoreType.SELL_BUFFS.getId())
{ {
isSellBuff = true; isSellBuff = true;
} }
@@ -217,7 +217,6 @@ public class OfflineTradersTable
client.setActiveChar(player); client.setActiveChar(player);
player.setOnlineStatus(true, false); player.setOnlineStatus(true, false);
client.setAccountName(player.getAccountNamePlayer()); client.setAccountName(player.getAccountNamePlayer());
// client.setConnectionState(ConnectionState.IN_GAME);
player.setClient(client); player.setClient(client);
player.setOfflineStartTime(time); player.setOfflineStartTime(time);
@@ -376,14 +375,29 @@ public class OfflineTradersTable
{ {
title = trader.getSellList().getTitle(); title = trader.getSellList().getTitle();
} }
for (TradeItem i : trader.getSellList().getItems()) if (trader.isSellingBuffs())
{ {
stm3.setInt(1, trader.getObjectId()); for (SellBuffHolder holder : trader.getSellingBuffs())
stm3.setInt(2, i.getObjectId()); {
stm3.setLong(3, i.getCount()); stm3.setInt(1, trader.getObjectId());
stm3.setLong(4, i.getPrice()); stm3.setInt(2, holder.getSkillId());
stm3.executeUpdate(); stm3.setLong(3, 0);
stm3.clearParameters(); stm3.setLong(4, holder.getPrice());
stm3.executeUpdate();
stm3.clearParameters();
}
}
else
{
for (TradeItem i : trader.getSellList().getItems())
{
stm3.setInt(1, trader.getObjectId());
stm3.setInt(2, i.getObjectId());
stm3.setLong(3, i.getCount());
stm3.setLong(4, i.getPrice());
stm3.executeUpdate();
stm3.clearParameters();
}
} }
break; break;
} }
@@ -410,7 +424,7 @@ public class OfflineTradersTable
{ {
stm4.setInt(1, trader.getObjectId()); // Char Id stm4.setInt(1, trader.getObjectId()); // Char Id
stm4.setLong(2, trader.getOfflineStartTime()); stm4.setLong(2, trader.getOfflineStartTime());
stm4.setInt(3, trader.getPrivateStoreType().getId()); // store type stm4.setInt(3, trader.isSellingBuffs() ? PrivateStoreType.SELL_BUFFS.getId() : trader.getPrivateStoreType().getId()); // store type
stm4.setString(4, title); stm4.setString(4, title);
stm4.executeUpdate(); stm4.executeUpdate();
stm4.clearParameters(); stm4.clearParameters();

View File

@@ -27,7 +27,8 @@ public enum PrivateStoreType
BUY(3), BUY(3),
BUY_MANAGE(4), BUY_MANAGE(4),
MANUFACTURE(5), MANUFACTURE(5),
PACKAGE_SELL(8); PACKAGE_SELL(8),
SELL_BUFFS(9);
private int _id; private int _id;

View File

@@ -69,7 +69,7 @@ public class OfflineTradersTable
{ {
stm3.setInt(1, pc.getObjectId()); // Char Id stm3.setInt(1, pc.getObjectId()); // Char Id
stm3.setLong(2, pc.getOfflineStartTime()); stm3.setLong(2, pc.getOfflineStartTime());
stm3.setInt(3, pc.isSellingBuffs() ? 9 : pc.getPrivateStoreType().getId()); // store type stm3.setInt(3, pc.isSellingBuffs() ? PrivateStoreType.SELL_BUFFS.getId() : pc.getPrivateStoreType().getId()); // store type
String title = null; String title = null;
switch (pc.getPrivateStoreType()) switch (pc.getPrivateStoreType())
@@ -189,7 +189,7 @@ public class OfflineTradersTable
final int typeId = rs.getInt("type"); final int typeId = rs.getInt("type");
boolean isSellBuff = false; boolean isSellBuff = false;
if (typeId == 9) if (typeId == PrivateStoreType.SELL_BUFFS.getId())
{ {
isSellBuff = true; isSellBuff = true;
} }
@@ -217,7 +217,6 @@ public class OfflineTradersTable
client.setActiveChar(player); client.setActiveChar(player);
player.setOnlineStatus(true, false); player.setOnlineStatus(true, false);
client.setAccountName(player.getAccountNamePlayer()); client.setAccountName(player.getAccountNamePlayer());
// client.setConnectionState(ConnectionState.IN_GAME);
player.setClient(client); player.setClient(client);
player.setOfflineStartTime(time); player.setOfflineStartTime(time);
@@ -376,14 +375,29 @@ public class OfflineTradersTable
{ {
title = trader.getSellList().getTitle(); title = trader.getSellList().getTitle();
} }
for (TradeItem i : trader.getSellList().getItems()) if (trader.isSellingBuffs())
{ {
stm3.setInt(1, trader.getObjectId()); for (SellBuffHolder holder : trader.getSellingBuffs())
stm3.setInt(2, i.getObjectId()); {
stm3.setLong(3, i.getCount()); stm3.setInt(1, trader.getObjectId());
stm3.setLong(4, i.getPrice()); stm3.setInt(2, holder.getSkillId());
stm3.executeUpdate(); stm3.setLong(3, 0);
stm3.clearParameters(); stm3.setLong(4, holder.getPrice());
stm3.executeUpdate();
stm3.clearParameters();
}
}
else
{
for (TradeItem i : trader.getSellList().getItems())
{
stm3.setInt(1, trader.getObjectId());
stm3.setInt(2, i.getObjectId());
stm3.setLong(3, i.getCount());
stm3.setLong(4, i.getPrice());
stm3.executeUpdate();
stm3.clearParameters();
}
} }
break; break;
} }
@@ -410,7 +424,7 @@ public class OfflineTradersTable
{ {
stm4.setInt(1, trader.getObjectId()); // Char Id stm4.setInt(1, trader.getObjectId()); // Char Id
stm4.setLong(2, trader.getOfflineStartTime()); stm4.setLong(2, trader.getOfflineStartTime());
stm4.setInt(3, trader.getPrivateStoreType().getId()); // store type stm4.setInt(3, trader.isSellingBuffs() ? PrivateStoreType.SELL_BUFFS.getId() : trader.getPrivateStoreType().getId()); // store type
stm4.setString(4, title); stm4.setString(4, title);
stm4.executeUpdate(); stm4.executeUpdate();
stm4.clearParameters(); stm4.clearParameters();

View File

@@ -27,7 +27,8 @@ public enum PrivateStoreType
BUY(3), BUY(3),
BUY_MANAGE(4), BUY_MANAGE(4),
MANUFACTURE(5), MANUFACTURE(5),
PACKAGE_SELL(8); PACKAGE_SELL(8),
SELL_BUFFS(9);
private int _id; private int _id;

View File

@@ -69,7 +69,7 @@ public class OfflineTradersTable
{ {
stm3.setInt(1, pc.getObjectId()); // Char Id stm3.setInt(1, pc.getObjectId()); // Char Id
stm3.setLong(2, pc.getOfflineStartTime()); stm3.setLong(2, pc.getOfflineStartTime());
stm3.setInt(3, pc.isSellingBuffs() ? 9 : pc.getPrivateStoreType().getId()); // store type stm3.setInt(3, pc.isSellingBuffs() ? PrivateStoreType.SELL_BUFFS.getId() : pc.getPrivateStoreType().getId()); // store type
String title = null; String title = null;
switch (pc.getPrivateStoreType()) switch (pc.getPrivateStoreType())
@@ -189,7 +189,7 @@ public class OfflineTradersTable
final int typeId = rs.getInt("type"); final int typeId = rs.getInt("type");
boolean isSellBuff = false; boolean isSellBuff = false;
if (typeId == 9) if (typeId == PrivateStoreType.SELL_BUFFS.getId())
{ {
isSellBuff = true; isSellBuff = true;
} }
@@ -217,7 +217,6 @@ public class OfflineTradersTable
client.setActiveChar(player); client.setActiveChar(player);
player.setOnlineStatus(true, false); player.setOnlineStatus(true, false);
client.setAccountName(player.getAccountNamePlayer()); client.setAccountName(player.getAccountNamePlayer());
// client.setConnectionState(ConnectionState.IN_GAME);
player.setClient(client); player.setClient(client);
player.setOfflineStartTime(time); player.setOfflineStartTime(time);
@@ -376,14 +375,29 @@ public class OfflineTradersTable
{ {
title = trader.getSellList().getTitle(); title = trader.getSellList().getTitle();
} }
for (TradeItem i : trader.getSellList().getItems()) if (trader.isSellingBuffs())
{ {
stm3.setInt(1, trader.getObjectId()); for (SellBuffHolder holder : trader.getSellingBuffs())
stm3.setInt(2, i.getObjectId()); {
stm3.setLong(3, i.getCount()); stm3.setInt(1, trader.getObjectId());
stm3.setLong(4, i.getPrice()); stm3.setInt(2, holder.getSkillId());
stm3.executeUpdate(); stm3.setLong(3, 0);
stm3.clearParameters(); stm3.setLong(4, holder.getPrice());
stm3.executeUpdate();
stm3.clearParameters();
}
}
else
{
for (TradeItem i : trader.getSellList().getItems())
{
stm3.setInt(1, trader.getObjectId());
stm3.setInt(2, i.getObjectId());
stm3.setLong(3, i.getCount());
stm3.setLong(4, i.getPrice());
stm3.executeUpdate();
stm3.clearParameters();
}
} }
break; break;
} }
@@ -410,7 +424,7 @@ public class OfflineTradersTable
{ {
stm4.setInt(1, trader.getObjectId()); // Char Id stm4.setInt(1, trader.getObjectId()); // Char Id
stm4.setLong(2, trader.getOfflineStartTime()); stm4.setLong(2, trader.getOfflineStartTime());
stm4.setInt(3, trader.getPrivateStoreType().getId()); // store type stm4.setInt(3, trader.isSellingBuffs() ? PrivateStoreType.SELL_BUFFS.getId() : trader.getPrivateStoreType().getId()); // store type
stm4.setString(4, title); stm4.setString(4, title);
stm4.executeUpdate(); stm4.executeUpdate();
stm4.clearParameters(); stm4.clearParameters();

View File

@@ -27,7 +27,8 @@ public enum PrivateStoreType
BUY(3), BUY(3),
BUY_MANAGE(4), BUY_MANAGE(4),
MANUFACTURE(5), MANUFACTURE(5),
PACKAGE_SELL(8); PACKAGE_SELL(8),
SELL_BUFFS(9);
private int _id; private int _id;