Cash shop transition patch
Solved an issue where players were being unable to return to the game once exiting the cash shop.
This commit is contained in:
@@ -1766,3 +1766,6 @@ Revisado novamente login, para o caso onde accId = 0 estava sendo atribuído e e
|
|||||||
Adicionado update de estado de login no módulo de disconnect, para também atualizar estado da conta quando a mesma não se encontra já logada ou em transição.
|
Adicionado update de estado de login no módulo de disconnect, para também atualizar estado da conta quando a mesma não se encontra já logada ou em transição.
|
||||||
Corrigido NPC da CPQ2, saída abrupta, não retornando jogadores devidamente para o saguão de espera.
|
Corrigido NPC da CPQ2, saída abrupta, não retornando jogadores devidamente para o saguão de espera.
|
||||||
Corrigido bug na CPQ em tempo estendido não mostrando devidamente o efeito visual de fim de partida.
|
Corrigido bug na CPQ em tempo estendido não mostrando devidamente o efeito visual de fim de partida.
|
||||||
|
|
||||||
|
27 Março 2019,
|
||||||
|
Corrigido possibilidade de bloqueio de volta do jogador ao jogo, ao utilizar o sistema de MTS/Cash Shop. Problema ocorria devido a mudanças concorrentes de login states ao fazer a transição de volta ao jogo.
|
||||||
@@ -487,6 +487,7 @@ public class MapleCharacter extends AbstractMapleCharacterObject {
|
|||||||
}
|
}
|
||||||
|
|
||||||
public void setAwayFromChannelWorld() {
|
public void setAwayFromChannelWorld() {
|
||||||
|
client.getSession().setAttribute(MapleClient.CLIENT_CASH_SHOP);
|
||||||
setAwayFromChannelWorld(false);
|
setAwayFromChannelWorld(false);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -91,6 +91,7 @@ public class MapleClient {
|
|||||||
public static final String CLIENT_HWID = "HWID";
|
public static final String CLIENT_HWID = "HWID";
|
||||||
public static final String CLIENT_NIBBLEHWID = "HWID2";
|
public static final String CLIENT_NIBBLEHWID = "HWID2";
|
||||||
public static final String CLIENT_REMOTE_ADDRESS = "REMOTE_IP";
|
public static final String CLIENT_REMOTE_ADDRESS = "REMOTE_IP";
|
||||||
|
public static final String CLIENT_CASH_SHOP = "CASH_SHOP";
|
||||||
private MapleAESOFB send;
|
private MapleAESOFB send;
|
||||||
private MapleAESOFB receive;
|
private MapleAESOFB receive;
|
||||||
private final IoSession session;
|
private final IoSession session;
|
||||||
|
|||||||
@@ -150,11 +150,9 @@ public class MapleServerHandler extends IoHandlerAdapter {
|
|||||||
MapleClient client = (MapleClient) session.getAttribute(MapleClient.CLIENT_KEY);
|
MapleClient client = (MapleClient) session.getAttribute(MapleClient.CLIENT_KEY);
|
||||||
if (client != null) {
|
if (client != null) {
|
||||||
try {
|
try {
|
||||||
boolean inCashShop = false;
|
if (!session.containsAttribute(MapleClient.CLIENT_CASH_SHOP)) {
|
||||||
if (client.getPlayer() != null) {
|
client.disconnect(false, false);
|
||||||
inCashShop = client.getPlayer().getCashShop().isOpened();
|
|
||||||
}
|
}
|
||||||
client.disconnect(false, inCashShop);
|
|
||||||
} catch (Throwable t) {
|
} catch (Throwable t) {
|
||||||
FilePrinter.printError(FilePrinter.ACCOUNT_STUCK, t);
|
FilePrinter.printError(FilePrinter.ACCOUNT_STUCK, t);
|
||||||
} finally {
|
} finally {
|
||||||
|
|||||||
@@ -42,7 +42,6 @@ public class EnterCashShopHandler extends AbstractMaplePacketHandler {
|
|||||||
if (mc.cannotEnterCashShop()) {
|
if (mc.cannotEnterCashShop()) {
|
||||||
c.announce(MaplePacketCreator.enableActions());
|
c.announce(MaplePacketCreator.enableActions());
|
||||||
return;
|
return;
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
if(mc.getEventInstance() != null) {
|
if(mc.getEventInstance() != null) {
|
||||||
|
|||||||
Reference in New Issue
Block a user