l2inplay 29 Опубликовано 18 мая, 2015 Помогите решить проблему или хотя бы напутствие на путь истинный) При попытке логина клиента к логин серверу такая ошибка! [18/05 16:04:55] Unknown Opcode: 14 for state: AUTHED_LOGIN Подскажите в чем проблема и если возможно путь ее решения! Спасибо за ранее! Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
Datsu 15 Опубликовано 18 мая, 2015 Помогите решить проблему или хотя бы напутствие на путь истинный) При попытке логина клиента к логин серверу такая ошибка! [18/05 16:04:55] Unknown Opcode: 14 for state: AUTHED_LOGIN Подскажите в чем проблема и если возможно путь ее решения! Спасибо за ранее! Какая сборка стоит? Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
Oiykin 5 Опубликовано 18 мая, 2015 Какие хроники? Может патч кривой? Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
l2inplay 29 Опубликовано 18 мая, 2015 Какие хроники? Может патч кривой? Сборка Mobius . А вот клиент патчил EP 2.5 – Infinite Odyssey - Hymn of the Soul. То есть как я понял каких то пакетов не хватает в ядре? Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
3dxxx 16 Опубликовано 18 мая, 2015 угу сервер не знает такого опкода 14 Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
l2inplay 29 Опубликовано 18 мая, 2015 угу сервер не знает такого опкода 14 А где капатся нужно ну в каком .java файле это возможно? Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
3dxxx 16 Опубликовано 18 мая, 2015 А где капатся нужно ну в каком .java файле это возможно? GamePacketHandler.java Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
l2inplay 29 Опубликовано 18 мая, 2015 GamePacketHandler.java Тогда еще вопрос в чем суть и как добавить данный opcode? Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
l2inplay 29 Опубликовано 18 мая, 2015 Вот у меня такие два файла я ядре логина! L2JGameServerPacketHandler L2LoginPacketHandler Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
3dxxx 16 Опубликовано 18 мая, 2015 (изменено) Тогда еще вопрос в чем суть и как добавить данный opcode? Что-бы добавить опкод нужно понимать от какого он пакета.. На деле все выглядит так. case 0x13: msg = new NewCharacter(); break; красное это опкод оранжевое это пакет которому он пренадлежит.. Изменено 18 мая, 2015 пользователем 3dxxx Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
l2inplay 29 Опубликовано 18 мая, 2015 Что-бы добавить опкод нужно понимать от какого он пакета.. На деле все выглядит так. case 0x13: msg = new NewCharacter(); break; красное это опкод оранжевое это пакет которому он пренадлежит.. А ну тогда понял нужно раскавырять пакетку клиента и тогда вуа ля получим оп код! Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
3dxxx 16 Опубликовано 18 мая, 2015 (изменено) Вот у меня такие два файла я ядре логина! L2JGameServerPacketHandler L2LoginPacketHandler не-не-не смотреть за вас и делать я ничего не буду хотите заниматься учебник по java и вперед) Изменено 18 мая, 2015 пользователем 3dxxx Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
3dxxx 16 Опубликовано 18 мая, 2015 А ну тогда понял нужно раскавырять пакетку клиента и тогда вуа ля получим оп код! ну в целом да.. а на деле нужны навыки специфические особенно если учесть что в пследних версиях клиента кореяки спрятали пакетку немного глубже в клиенте так что ее терь сложновато достать) Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
Mizuwokiru 181 Опубликовано 18 мая, 2015 Патч кривой значит. Логин сервер не менялся еще со времен как минимум интерлюда (возможно и ранних версий). + С сурсом мобиуса получишь либо крит, либо кривое отображение после выбора сервера, так как они сейчас занимаются Ertheia и Classic 19 протокол. Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
Redon 6 Опубликовано 19 мая, 2015 Как сказать вот господа уже выложили writeC(0x32); writeD(_activeChar.getObjectId()); writeD(_initSize); writeH(23); writeC(_masks); writeC(_masks); writeC(_masks); writeD(_relation); writeH(16 + (_activeChar.getName().length() * 2)); writeH(??); writeS(_activeChar.getName()); writeC(_activeChar.isGM() ? 0x01 : 0x00); writeC(_activeChar.getRace().ordinal()); writeC(_activeChar.getAppearance().getSex() ? 0x01 : 0x00); writeH(_activeChar.getBaseClass()); writeD(_activeChar.getClassId().getId()); writeC(_activeChar.getLevel()); writeH(18); writeH(_activeChar.getSTR()); writeH(_activeChar.getDEX()); writeH(_activeChar.getCON()); writeH(_activeChar.getINT()); writeH(_activeChar.getWIT()); writeH(_activeChar.getMEN()); writeH(_activeChar.getLUC()); writeH(_activeChar.getCHA()); writeH(14); writeD(_activeChar.getMaxHp()); writeD(_activeChar.getMaxMp()); writeD(_activeChar.getMaxCp()); writeH(38); writeD((int) Math.round(_activeChar.getCurrentHp())); writeD((int) Math.round(_activeChar.getCurrentMp())); writeD((int) Math.round(_activeChar.getCurrentCp())); writeQ(_activeChar.getSp()); writeQ(_activeChar.getExp()); writeF((float) (_activeChar.getExp() - ExperienceData.getInstance().getExpForLevel(_activeChar.getLevel())) / (ExperienceData.getInstance().getExpForLevel(_activeChar.getLevel() + 1) - ExperienceData.getInstance().getExpForLevel(_activeChar.getLevel()))); writeH(4); writeC(_enchantLevel); writeC(_armorEnchant); writeH(15); writeD(_activeChar.getVisualHair()); writeD(_activeChar.getVisualHairColor()); writeD(_activeChar.getVisualFace()); writeC(_activeChar.isHairAccessoryEnabled() ? 0x01 : 0x00); writeH(6); writeC(_activeChar.getMountType().ordinal()); writeC(_activeChar.getPrivateStoreType().getId()); writeC(_activeChar.hasDwarvenCraft() ? 1 : 0); writeC(_activeChar.getAbilityPointsUsed()); writeH(56); writeH(_activeChar.getActiveWeaponItem() != null ? 40 : 20); writeD(_activeChar.getPAtk(null)); writeD(_activeChar.getPAtkSpd()); writeD(_activeChar.getPDef(null)); writeD(_activeChar.getEvasionRate(null)); writeD(_activeChar.getAccuracy()); writeD(_activeChar.getCriticalHit(null, null)); writeD(_activeChar.getMAtk(null, null)); writeD(_activeChar.getMAtkSpd()); writeD(_activeChar.getPAtkSpd()); // Seems like atk speed - 1 writeD(_activeChar.getMagicEvasionRate(null)); writeD(_activeChar.getMDef(null, null)); writeD(_activeChar.getMagicAccuracy()); writeD(_activeChar.getMCriticalHit(null, null)); writeH(14); writeH(_activeChar.getDefenseElementValue(Elementals.FIRE)); writeH(_activeChar.getDefenseElementValue(Elementals.WATER)); writeH(_activeChar.getDefenseElementValue(Elementals.WIND)); writeH(_activeChar.getDefenseElementValue(Elementals.EARTH)); writeH(_activeChar.getDefenseElementValue(Elementals.HOLY)); writeH(_activeChar.getDefenseElementValue(Elementals.DARK)); writeH(18); writeD(_activeChar.getX()); writeD(_activeChar.getY()); writeD(_activeChar.getZ()); writeD(_activeChar.isInVehicle() ? _activeChar.getVehicle().getObjectId() : 0); writeH(18); writeH(_runSpd); writeH(_walkSpd); writeH(_swimRunSpd); writeH(_swimWalkSpd); writeH(_flRunSpd); writeH(_flWalkSpd); writeH(_flyRunSpd); writeH(_flyWalkSpd); writeH(18); writeF(_moveMultiplier); writeF(_activeChar.getAttackSpeedMultiplier()); writeH(18); writeF(_activeChar.getCollisionRadius()); writeF(_activeChar.getCollisionHeight()); writeH(5); writeC(attackAttribute); writeH(_activeChar.getAttackElementValue(attackAttribute)); writeH(32 + (_title.length() * 2)); writeS(_title); writeH(_activeChar.getPledgeType()); writeD(_activeChar.getClanId()); writeD(_activeChar.getClanCrestLargeId()); writeD(_activeChar.getClanCrestId()); writeC(_activeChar.isClanLeader() ? -1 : 0x00); writeD(_activeChar.getClanPrivileges().getBitmask()); writeD(_activeChar.getAllyId()); writeD(_activeChar.getAllyCrestId()); writeC(_activeChar.isInPartyMatchRoom() ? 0x01 : 0x00); writeH(22); writeC(_activeChar.getPvpFlag()); writeD(_activeChar.getReputation()); writeC(_activeChar.isNoble() ? 0x01 : 0x00); writeC(_activeChar.isHero() ? 0x01 : 0x00); writeC(_activeChar.getPledgeClass()); writeD(_activeChar.getPkKills()); writeD(_activeChar.getPvpKills()); writeD(_activeChar.getRecomLeft()); writeH(15); writeD(_activeChar.getVitalityPoints()); writeC(0x00); // Vita Bonus writeD(_activeChar.getFame()); writeD(RaidBossPointsManager.getInstance().getPointsByOwnerId(_activeChar.getObjectId())); writeH(9); writeC(_activeChar.getInventory().getTalismanSlots()); // Confirmed writeC(_activeChar.getInventory().getBroochJewelSlots()); // Confirmed writeC(_activeChar.getTeam().getId()); // Confirmed writeC(0x00); // (1 = Red, 2 = White, 3 = White Pink) dotted ring on the floor writeC(0x00); writeC(0x00); writeC(0x00); writeH(4); writeC(_activeChar.isInsideZone(ZoneId.WATER) ? 1 : _activeChar.isFlyingMounted() ? 2 : 0); writeC(_activeChar.isRunning() ? 0x01 : 0x00); writeH(10); writeD(_activeChar.getAppearance().getNameColor()); writeD(_activeChar.getAppearance().getTitleColor()); writeH(9); writeH(0x00); writeH(0x00); writeH(_activeChar.getInventoryLimit()); writeC(0x00); // if greater than 1 show the attack cursor when interacting writeH(9); writeC(0x00); writeH(0x00); writeD(0x00); Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
l2inplay 29 Опубликовано 19 мая, 2015 Как сказать вот господа уже выложили writeC(0x32); writeD(_activeChar.getObjectId()); writeD(_initSize); writeH(23); writeC(_masks); writeC(_masks); writeC(_masks); writeD(_relation); writeH(16 + (_activeChar.getName().length() * 2)); writeH(??); writeS(_activeChar.getName()); writeC(_activeChar.isGM() ? 0x01 : 0x00); writeC(_activeChar.getRace().ordinal()); writeC(_activeChar.getAppearance().getSex() ? 0x01 : 0x00); writeH(_activeChar.getBaseClass()); writeD(_activeChar.getClassId().getId()); writeC(_activeChar.getLevel()); writeH(18); writeH(_activeChar.getSTR()); writeH(_activeChar.getDEX()); writeH(_activeChar.getCON()); writeH(_activeChar.getINT()); writeH(_activeChar.getWIT()); writeH(_activeChar.getMEN()); writeH(_activeChar.getLUC()); writeH(_activeChar.getCHA()); writeH(14); writeD(_activeChar.getMaxHp()); writeD(_activeChar.getMaxMp()); writeD(_activeChar.getMaxCp()); writeH(38); writeD((int) Math.round(_activeChar.getCurrentHp())); writeD((int) Math.round(_activeChar.getCurrentMp())); writeD((int) Math.round(_activeChar.getCurrentCp())); writeQ(_activeChar.getSp()); writeQ(_activeChar.getExp()); writeF((float) (_activeChar.getExp() - ExperienceData.getInstance().getExpForLevel(_activeChar.getLevel())) / (ExperienceData.getInstance().getExpForLevel(_activeChar.getLevel() + 1) - ExperienceData.getInstance().getExpForLevel(_activeChar.getLevel()))); writeH(4); writeC(_enchantLevel); writeC(_armorEnchant); writeH(15); writeD(_activeChar.getVisualHair()); writeD(_activeChar.getVisualHairColor()); writeD(_activeChar.getVisualFace()); writeC(_activeChar.isHairAccessoryEnabled() ? 0x01 : 0x00); writeH(6); writeC(_activeChar.getMountType().ordinal()); writeC(_activeChar.getPrivateStoreType().getId()); writeC(_activeChar.hasDwarvenCraft() ? 1 : 0); writeC(_activeChar.getAbilityPointsUsed()); writeH(56); writeH(_activeChar.getActiveWeaponItem() != null ? 40 : 20); writeD(_activeChar.getPAtk(null)); writeD(_activeChar.getPAtkSpd()); writeD(_activeChar.getPDef(null)); writeD(_activeChar.getEvasionRate(null)); writeD(_activeChar.getAccuracy()); writeD(_activeChar.getCriticalHit(null, null)); writeD(_activeChar.getMAtk(null, null)); writeD(_activeChar.getMAtkSpd()); writeD(_activeChar.getPAtkSpd()); // Seems like atk speed - 1 writeD(_activeChar.getMagicEvasionRate(null)); writeD(_activeChar.getMDef(null, null)); writeD(_activeChar.getMagicAccuracy()); writeD(_activeChar.getMCriticalHit(null, null)); writeH(14); writeH(_activeChar.getDefenseElementValue(Elementals.FIRE)); writeH(_activeChar.getDefenseElementValue(Elementals.WATER)); writeH(_activeChar.getDefenseElementValue(Elementals.WIND)); writeH(_activeChar.getDefenseElementValue(Elementals.EARTH)); writeH(_activeChar.getDefenseElementValue(Elementals.HOLY)); writeH(_activeChar.getDefenseElementValue(Elementals.DARK)); writeH(18); writeD(_activeChar.getX()); writeD(_activeChar.getY()); writeD(_activeChar.getZ()); writeD(_activeChar.isInVehicle() ? _activeChar.getVehicle().getObjectId() : 0); writeH(18); writeH(_runSpd); writeH(_walkSpd); writeH(_swimRunSpd); writeH(_swimWalkSpd); writeH(_flRunSpd); writeH(_flWalkSpd); writeH(_flyRunSpd); writeH(_flyWalkSpd); writeH(18); writeF(_moveMultiplier); writeF(_activeChar.getAttackSpeedMultiplier()); writeH(18); writeF(_activeChar.getCollisionRadius()); writeF(_activeChar.getCollisionHeight()); writeH(5); writeC(attackAttribute); writeH(_activeChar.getAttackElementValue(attackAttribute)); writeH(32 + (_title.length() * 2)); writeS(_title); writeH(_activeChar.getPledgeType()); writeD(_activeChar.getClanId()); writeD(_activeChar.getClanCrestLargeId()); writeD(_activeChar.getClanCrestId()); writeC(_activeChar.isClanLeader() ? -1 : 0x00); writeD(_activeChar.getClanPrivileges().getBitmask()); writeD(_activeChar.getAllyId()); writeD(_activeChar.getAllyCrestId()); writeC(_activeChar.isInPartyMatchRoom() ? 0x01 : 0x00); writeH(22); writeC(_activeChar.getPvpFlag()); writeD(_activeChar.getReputation()); writeC(_activeChar.isNoble() ? 0x01 : 0x00); writeC(_activeChar.isHero() ? 0x01 : 0x00); writeC(_activeChar.getPledgeClass()); writeD(_activeChar.getPkKills()); writeD(_activeChar.getPvpKills()); writeD(_activeChar.getRecomLeft()); writeH(15); writeD(_activeChar.getVitalityPoints()); writeC(0x00); // Vita Bonus writeD(_activeChar.getFame()); writeD(RaidBossPointsManager.getInstance().getPointsByOwnerId(_activeChar.getObjectId())); writeH(9); writeC(_activeChar.getInventory().getTalismanSlots()); // Confirmed writeC(_activeChar.getInventory().getBroochJewelSlots()); // Confirmed writeC(_activeChar.getTeam().getId()); // Confirmed writeC(0x00); // (1 = Red, 2 = White, 3 = White Pink) dotted ring on the floor writeC(0x00); writeC(0x00); writeC(0x00); writeH(4); writeC(_activeChar.isInsideZone(ZoneId.WATER) ? 1 : _activeChar.isFlyingMounted() ? 2 : 0); writeC(_activeChar.isRunning() ? 0x01 : 0x00); writeH(10); writeD(_activeChar.getAppearance().getNameColor()); writeD(_activeChar.getAppearance().getTitleColor()); writeH(9); writeH(0x00); writeH(0x00); writeH(_activeChar.getInventoryLimit()); writeC(0x00); // if greater than 1 show the attack cursor when interacting writeH(9); writeC(0x00); writeH(0x00); writeD(0x00); Я дико извиняюсь но я в плане ядра не особо профи, больше по дата паку, можете хотя бы показать что именно мне искать в дампе , точнее как мне вычислить этот opcode 14! Заранее спасибо! Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
Mizuwokiru 181 Опубликовано 19 мая, 2015 Пост выше со структурой вообще не в тему. При чем здесь UI? Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
Influence 3 Опубликовано 19 мая, 2015 не-не-не смотреть за вас и делать я ничего не буду хотите заниматься учебник по java и вперед) а ты ничего сделать за него и не сможешь, ибо выше херню еще ту спорол, так что успокой свои амбиций мего программиста Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
Redon 6 Опубликовано 20 мая, 2015 Пост выше со структурой вообще не в тему. При чем здесь UI? Ну у него проблема с пушками =) Еще а это UI и CI Только надо норм патч и дернуть с него opcod Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
Mizuwokiru 181 Опубликовано 27 мая, 2015 (изменено) В общем решил проблему, что-то из этого подействовало (скорее всего первое): UsePIAgreement=False UseEMailAccount=False Изменено 27 мая, 2015 пользователем DiQuero Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты