public static final void DeleteChar(LittleEndianAccessor slea, MapleClient c) { String Secondpw_Client = GameConstants.GMS ? slea.readMapleAsciiString() : null; if (Secondpw_Client == null) { if (slea.readByte() > 0) { Secondpw_Client = slea.readMapleAsciiString(); } slea.readMapleAsciiString(); } int Character_ID = slea.readInt(); if ((!c.login_Auth(Character_ID)) || (!c.isLoggedIn()) || (loginFailCount(c))) { c.getSession().close(true); return; } byte state = 0; if (c.getSecondPassword() != null) { if (Secondpw_Client == null) { c.getSession().close(true); return; } if (!c.CheckSecondPassword(Secondpw_Client)) { state = 20; } } if (state == 0) { state = (byte) c.deleteCharacter(Character_ID); } c.getSession().write(LoginPacket.deleteCharResponse(Character_ID, state)); }
public static final void DeleteChar(final LittleEndianAccessor slea, final MapleClient c) { String Secondpw_Client = GameConstants.GMS ? slea.readMapleAsciiString() : null; if (Secondpw_Client == null) { if (slea.readByte() > 0) { // Specific if user have second password or not Secondpw_Client = slea.readMapleAsciiString(); } slea.readMapleAsciiString(); } final int Character_ID = slea.readInt(); if (!c.login_Auth(Character_ID) || !c.isLoggedIn() || loginFailCount(c)) { c.getSession().close(); return; // Attempting to delete other character } byte state = 0; if (c.getSecondPassword() != null) { // On the server, there's a second password if (Secondpw_Client == null) { // Client's hacking c.getSession().close(); return; } else { if (!c.CheckSecondPassword(Secondpw_Client)) { // Wrong Password state = 20; } } } if (state == 0) { state = (byte) c.deleteCharacter(Character_ID); } c.getSession().write(LoginPacket.deleteCharResponse(Character_ID, state)); }