Index: D:/Downloads/Softwarel2free/L2J-free_GameServer_c4/java/net/sf/l2j/gameserver/serverpackets/CharSelectInfo.java =================================================================== --- D:/Downloads/Softwarel2free/L2J-free_GameServer_c4/java/net/sf/l2j/gameserver/serverpackets/CharSelectInfo.java (revision 338) +++ D:/Downloads/Softwarel2free/L2J-free_GameServer_c4/java/net/sf/l2j/gameserver/serverpackets/CharSelectInfo.java (working copy) @@ -30,6 +30,7 @@ import net.sf.l2j.gameserver.model.CharSelectInfoPackage; import net.sf.l2j.gameserver.model.Inventory; + /** * This class ... * @@ -38,6 +39,10 @@ public class CharSelectInfo extends ServerBasePacket { // d SdSddddddddddffddddddddddddddddddddddddddddddddddddddddddddddffd + // d SdSddddddddddffdddddddddddddddddddddddddddddddddddddddddddddddffdddcdd ? + // d SdSddddddddddffdQddddddddddddddddddddddddddddddddddddddddddddddffdddcdd ? + + private static final String _S__1F_CHARSELECTINFO = "[S] 1F CharSelectInfo"; private static Logger _log = Logger.getLogger(CharSelectInfo.class.getName()); @@ -62,7 +67,7 @@ { return _characterPackages; } - + final void runImpl() { // no long-running tasks @@ -94,7 +99,7 @@ writeS(_loginName); writeD(_sessionId); writeD(charInfoPackage.getClanId()); - writeD(0x00); // ?? + writeD(0x00); // ? writeD(charInfoPackage.getSex()); writeD(charInfoPackage.getRace()); @@ -115,8 +120,13 @@ writeD(charInfoPackage.getSp()); writeD(charInfoPackage.getExp()); - writeD(charInfoPackage.getLevel()); - + { + if (getClient().getRevision() >= 690) + writeD(0x00); // ?? + } + writeD(charInfoPackage.getLevel()); + + writeD(charInfoPackage.getKarma()); //karma works with C4 writeD(0x00); writeD(0x00); writeD(0x00); @@ -126,7 +136,6 @@ writeD(0x00); writeD(0x00); writeD(0x00); - writeD(0x00); writeD(charInfoPackage.getPaperdollObjectId(Inventory.PAPERDOLL_UNDER)); writeD(charInfoPackage.getPaperdollObjectId(Inventory.PAPERDOLL_REAR)); @@ -161,11 +170,11 @@ writeD(charInfoPackage.getPaperdollItemId(Inventory.PAPERDOLL_BACK)); writeD(charInfoPackage.getPaperdollItemId(Inventory.PAPERDOLL_LRHAND)); writeD(charInfoPackage.getPaperdollItemId(Inventory.PAPERDOLL_HAIR)); - + writeD(charInfoPackage.getHairStyle()); writeD(charInfoPackage.getHairColor()); writeD(charInfoPackage.getFace()); - + writeF(charInfoPackage.getMaxHp()); // hp max writeF(charInfoPackage.getMaxMp()); // mp max @@ -173,12 +182,18 @@ // delete .. if != 0 // then char is inactive writeD(charInfoPackage.getClassId()); + if (i == lastUsed) writeD(0x01); else writeD(0x00); //c3 auto-select char writeC(charInfoPackage.getEnchantEffect()); + /*{ + if (getClient().getRevision() >= 690) //dont know why it not wor with C4 + writeD(0x00);//c5 ?? + writeD(0x00);//c5 ?? + }*/ } } @@ -242,6 +257,7 @@ charInfopackage.setExp(chardata.getInt("exp")); charInfopackage.setSp(chardata.getInt("sp")); + charInfopackage.setKarma(chardata.getInt("karma")); charInfopackage.setClanId(chardata.getInt("clanid")); charInfopackage.setRace(chardata.getInt("race"));