08-20-2014, 09:05 PM
531 - это линдвиор, последний протокол, в котором еще не началось все это извращение с динамическими структурами пакетов.
Работа над Goddess of Destruction (part 6)
|
08-20-2014, 09:05 PM
531 - это линдвиор, последний протокол, в котором еще не началось все это извращение с динамическими структурами пакетов.
08-20-2014, 09:23 PM
Influence Написал:Странно, скачал клиент руофа, старенький, там 531 протокол, скачал релиз NA (Valiance тот что), там 580 Возможно и 580. У корейцев началась творческая импотенция и креативный маразм, кароч кретинизм в названиях хроник и веток процветает: Lineage II: The Chaotic Throne 3: Goddess of Destruction: Lindvior: Epeisodion / Valiance обновление, обновления, обновления, обновления Заманали...
Студия L2dev.su. Сборки Lindvior, Epilogue. ICQ 1817070. Skype wowan.sm
08-20-2014, 09:42 PM
Да корейцы вообще обнаглели. :redlol:
А вообще, хотя бы структуру оставили в энджине. А то сиди то ли разбирай, то ли ожидай, пока кто-то разберет :redlol:
08-20-2014, 09:50 PM
Поделитесь пожалуйста пакетом userinfo
08-20-2014, 10:07 PM
jorjge Написал:Поделитесь пожалуйста пакетом userinfo Lindvior [SRC="java"]package l2next.gameserver.network.serverpackets; import l2next.commons.collections.GArray; import l2next.gameserver.Config; import l2next.gameserver.data.xml.holder.NpcHolder; import l2next.gameserver.instancemanager.CursedWeaponsManager; import l2next.gameserver.model.Player; import l2next.gameserver.model.Skill; import l2next.gameserver.model.Zone; import l2next.gameserver.model.base.Element; import l2next.gameserver.model.base.Experience; import l2next.gameserver.model.base.TeamType; import l2next.gameserver.model.entity.events.GlobalEvent; import l2next.gameserver.model.items.Inventory; import l2next.gameserver.model.items.PcInventory; import l2next.gameserver.model.matching.MatchingRoom; import l2next.gameserver.model.pledge.Alliance; import l2next.gameserver.model.pledge.Clan; import l2next.gameserver.skills.AbnormalEffect; import l2next.gameserver.skills.effects.EffectCubic; import l2next.gameserver.templates.player.PlayerTemplate; import l2next.gameserver.utils.Location; /** * @Optimized & correct: WoWan-SM * @date: 15.2.2014 */ public class UserInfo extends L2GameServerPacket { private final boolean can_writeImpl; private final boolean partyRoom; private final int _runSpd; private final int _walkSpd; private final int _swimRunSpd; private final int _swimWalkSpd; private final int _flRunSpd; private final int _flWalkSpd; private final int _flyRunSpd; private final int _flyWalkSpd; private final double move_speed; private final double attack_speed; private final double col_radius; private final double col_height; private final int[][] _inv; private final Location _loc; private final Location _fishLoc; private final int obj_id; private final int vehicle_obj_id; private final int _race; private final int sex; private final int base_class; private final int level; private final int curCp; private final int maxCp; private final int _enchant; private final int _weaponFlag; private final long _exp; private final int curHp; private final int maxHp; private final int curMp; private final int maxMp; private final int curLoad; private final int maxLoad; private final int rec_left; private final int rec_have; private final int _str; private final int _con; private final int _dex; private final int _int; private final int _wit; private final int _men; private final int _sp; private final int ClanPrivs; private final int InventoryLimit; private final int _patk; private final int _patkspd; private final int _pdef; private final int evasion; private final int accuracy; private final int crit; private final int _matk; private final int _matkspd; private final int _mevasion; private final int _maccuracy; private final int _mCritRate; private final int _mdef; private final int pvp_flag; private final int karma; private final int hair_style; private final int hair_color; private final int face; private final int gm_commands; private final int fame; private final int vitality; private final int clan_crest_id; private final int ally_crest_id; private final int large_clan_crest_id; private final int private_store; private final int can_crystalize; private final int pk_kills; private final int pvp_kills; private final int class_id; private final int agathion; private final int noble; private final int hero; private final int mount_id; private final int cw_level; private final int name_color; private final int running; private final int pledge_class; private final int pledge_type; private final int title_color; private final int transformation; private final int defenceFire; private final int defenceWater; private final int defenceWind; private final int defenceEarth; private final int defenceHoly; private final int defenceUnholy; private final int mount_type; private final String _name; private final EffectCubic[] cubics; private final Element attackElement; private final int attackElementValue; private final boolean isFlying; private final boolean _allowMap; private final int talismans; private final boolean openCloak; private final double _expPercent; private final TeamType _team; private final GArray<AbnormalEffect> _abnormalEffect; private final PcInventory inv; private int _relation; private int clan_id; private int ally_id; private int fishing; private String title; public UserInfo(final Player player) { if (player.getTransformationName() != null) { _name = player.getTransformationName(); title = ""; clan_crest_id = 0; ally_crest_id = 0; large_clan_crest_id = 0; cw_level = CursedWeaponsManager.getInstance().getLevel(player.getCursedWeaponEquippedId()); } else { _name = player.getName(); final Clan clan = player.getClan(); final Alliance alliance = clan == null ? null : clan.getAlliance(); // clan_id = clan == null ? 0 : clan.getClanId(); clan_crest_id = clan == null ? 0 : clan.getCrestId(); large_clan_crest_id = clan == null ? 0 : clan.getCrestLargeId(); // ally_id = alliance == null ? 0 : alliance.getAllyId(); ally_crest_id = alliance == null ? 0 : alliance.getAllyCrestId(); cw_level = 0; title = player.getTitle(); } if (player.getPlayerAccess().GodMode && player.isInvisible()) { title += "[I]"; } if (player.isPolymorphed()) { if (NpcHolder.getInstance().getTemplate(player.getPolyId()) != null) { title += " - " + NpcHolder.getInstance().getTemplate(player.getPolyId()).name; } else { title += " - Polymorphed"; } } if (player.isMounted()) { _enchant = 0; mount_id = player.getMountNpcId() + 1000000; mount_type = player.getMountType(); } else { _enchant = player.getEnchantEffect(); mount_id = 0; mount_type = 0; } _weaponFlag = player.getActiveWeaponInstance() == null ? 0x14 : 0x28; move_speed = player.getMovementSpeedMultiplier(); _runSpd = (int) (player.getRunSpeed() / move_speed); _walkSpd = (int) (player.getWalkSpeed() / move_speed); final PlayerTemplate playerTemplate = player.getTemplate(); _flRunSpd = (int) playerTemplate.getBaseFlyRunSpd(); _flWalkSpd = (int) playerTemplate.getBaseFlyWalkSpd(); if (player.isFlying()) { _flyRunSpd = _runSpd; _flyWalkSpd = _walkSpd; } else { _flyRunSpd = 0; _flyWalkSpd = 0; } _swimRunSpd = player.getSwimRunSpeed(); _swimWalkSpd = player.getSwimWalkSpeed(); _inv = new int[Inventory.PAPERDOLL_MAX][3]; for (final int PAPERDOLL_ID : Inventory.PAPERDOLL_ORDER) { final PcInventory playerInventory = player.getInventory(); _inv[PAPERDOLL_ID][0] = playerInventory.getPaperdollObjectId(PAPERDOLL_ID); _inv[PAPERDOLL_ID][1] = playerInventory.getPaperdollItemId(PAPERDOLL_ID); _inv[PAPERDOLL_ID][2] = playerInventory.getPaperdollAugmentationId(PAPERDOLL_ID); } _relation = player.isClanLeader() ? 0x40 : 0; for (final GlobalEvent e : player.getEvents()) { _relation = e.getUserRelation(player, _relation); } _loc = player.getLoc(); obj_id = player.getObjectId(); vehicle_obj_id = player.isInBoat() ? player.getBoat().getObjectId() : 0x00; _race = player.getRace().ordinal(); sex = player.getSex(); base_class = player.getBaseClassId(); level = player.getLevel(); _exp = player.getExp(); _expPercent = Experience.getExpPercent(player.getLevel(), player.getExp()); _str = player.getSTR(); _dex = player.getDEX(); _con = player.getCON(); _int = player.getINT(); _wit = player.getWIT(); _men = player.getMEN(); curHp = (int) player.getCurrentHp(); maxHp = player.getMaxHp(); curMp = (int) player.getCurrentMp(); maxMp = player.getMaxMp(); curLoad = player.getCurrentLoad(); maxLoad = player.getMaxLoad(); _sp = player.getIntSp(); _patk = player.getPAtk(null); _patkspd = player.getPAtkSpd(); _pdef = player.getPDef(null); evasion = player.getEvasionRate(null); _mevasion = player.getMEvasionRate(null); _maccuracy = player.getMAccuracy(); _mCritRate = (int) player.getMagicCriticalRate(null, null); accuracy = player.getAccuracy(); crit = player.getCriticalHit(null, null); _matk = player.getMAtk(null, null); _matkspd = player.getMAtkSpd(); _mdef = player.getMDef(null, null); // 0=white, 1=purple, 2=purpleblink pvp_flag = player.getPvpFlag(); karma = player.getKarma(); attack_speed = player.getAttackSpeedMultiplier(); col_radius = player.getColRadius(); col_height = player.getColHeight(); hair_style = player.getHairStyle(); hair_color = player.getHairColor(); face = player.getFace(); // builder level активирует в клиенте админские команды gm_commands = player.isGM() || player.getPlayerAccess().CanUseGMCommand ? 1 : 0; clan_id = player.getClanId(); ally_id = player.getAllyId(); private_store = player.getPrivateStoreType(); can_crystalize = player.getSkillLevel(Skill.SKILL_CRYSTALLIZE) > 0 ? 1 : 0; pk_kills = player.getPkKills(); pvp_kills = player.getPvpKills(); cubics = player.getCubics().toArray(new EffectCubic[player.getCubics().size()]); _abnormalEffect = player.getAbnormalEffects(); ClanPrivs = player.getClanPrivileges(); // c2 recommendations remaining rec_left = player.getRecomLeft(); // c2 recommendations received rec_have = player.getRecomHave(); InventoryLimit = player.getInventoryLimit(); class_id = player.getClassId().getId(); maxCp = player.getMaxCp(); curCp = (int) player.getCurrentCp(); _team = player.getTeam(); // 0x01: symbol on char menu ctrl+I noble = player.isNoble() || player.isGM() && Config.GM_HERO_AURA ? 1 : 0; // 0x01: Hero Aura and symbol hero = player.isHero() || player.isGM() && Config.GM_HERO_AURA ? 1 : 0; // Fishing Mode fishing = player.isFishing() ? 1 : 0; _fishLoc = player.getFishLoc(); name_color = player.getNameColor(); // changes the Speed display on Status Window running = player.isRunning() ? 0x01 : 0x00; pledge_class = player.getPledgeClass(); pledge_type = player.getPledgeType(); title_color = player.getTitleColor(); transformation = player.getTransformation(); attackElement = player.getAttackElement(); attackElementValue = player.getAttack(attackElement); defenceFire = player.getDefence(Element.FIRE); defenceWater = player.getDefence(Element.WATER); defenceWind = player.getDefence(Element.WIND); defenceEarth = player.getDefence(Element.EARTH); defenceHoly = player.getDefence(Element.HOLY); defenceUnholy = player.getDefence(Element.UNHOLY); agathion = player.getAgathionId(); fame = player.getFame(); vitality = player.getVitality().getPoints(); partyRoom = player.getMatchingRoom() != null && player.getMatchingRoom().getType() == MatchingRoom.PARTY_MATCHING && player.getMatchingRoom().getLeader() == player; isFlying = player.isInFlyingTransform(); talismans = player.getTalismanCount(); openCloak = player.getOpenCloak(); _allowMap = player.isActionBlocked(Zone.BLOCKED_ACTION_MINIMAP); // Fishing Mode fishing = player.isFishing() ? 1 : 0; inv = player.getInventory(); can_writeImpl = true; } @Override protected void writeImpl() { if (!can_writeImpl) { return; } writeD(_loc.x); writeD(_loc.y); writeD(_loc.z + Config.CLIENT_Z_SHIFT); writeD(vehicle_obj_id); writeD(obj_id); writeS(_name); writeD(_race); writeD(sex); writeD(base_class); writeD(level); writeQ(_exp); writeF(_expPercent); writeD(_str); writeD(_dex); writeD(_con); writeD(_int); writeD(_wit); writeD(_men); writeD(maxHp); writeD(curHp); writeD(maxMp); writeD(curMp); writeD(_sp); writeD(curLoad); writeD(maxLoad); writeD(_weaponFlag); for (final int PAPERDOLL_ID : Inventory.PAPERDOLL_ORDER) { writeD(_inv[PAPERDOLL_ID][0]); } for (final int PAPERDOLL_ID : Inventory.PAPERDOLL_ORDER) { writeD(_inv[PAPERDOLL_ID][1]); } for (final int PAPERDOLL_ID : Inventory.PAPERDOLL_ORDER) { writeD(_inv[PAPERDOLL_ID][2]); } writeD(talismans); writeD(openCloak ? 0x01 : 0x00); writeD(inv.getVisualItemId(Inventory.PAPERDOLL_RHAND)); // Tauti writeD(inv.getVisualItemId(Inventory.PAPERDOLL_LHAND)); // Tauti writeD(0); // Tauti writeD(inv.getVisualItemId(Inventory.PAPERDOLL_GLOVES)); // Tauti writeD(inv.getVisualItemId(Inventory.PAPERDOLL_CHEST)); // Tauti writeD(inv.getVisualItemId(Inventory.PAPERDOLL_LEGS)); // Tauti writeD(inv.getVisualItemId(Inventory.PAPERDOLL_FEET)); // Tauti writeD(inv.getVisualItemId(Inventory.PAPERDOLL_HAIR)); // Tauti writeD(inv.getVisualItemId(Inventory.PAPERDOLL_DHAIR)); // Tauti writeD(_patk); writeD(_patkspd); writeD(_pdef); writeD(evasion); writeD(accuracy); writeD(crit); writeD(_matk); writeD(_matkspd); writeD(_patkspd); writeD(_mdef); writeD(_mevasion); writeD(_maccuracy); writeD(_mCritRate); writeD(pvp_flag); writeD(karma); writeD(_runSpd); writeD(_walkSpd); writeD(_swimRunSpd); // swimspeed writeD(_swimWalkSpd); // swimspeed writeD(_flRunSpd); writeD(_flWalkSpd); writeD(_flyRunSpd); writeD(_flyWalkSpd); writeF(move_speed); writeF(attack_speed); writeF(col_radius); writeF(col_height); writeD(hair_style); writeD(hair_color); writeD(face); writeD(gm_commands); writeS(title); writeD(clan_id); writeD(clan_crest_id); writeD(ally_id); writeD(ally_crest_id); // 0x40 leader rights // siege flags: attacker - 0x180 sword over name, defender - 0x80 // shield, 0xC0 crown (|leader), 0x1C0 flag (|leader) writeD(_relation); writeC(mount_type); // mount type writeC(private_store); writeC(can_crystalize); writeD(pk_kills); writeD(pvp_kills); writeH(cubics.length); for (final EffectCubic cubic : cubics) { writeH(cubic == null ? 0 : cubic.getId()); } writeC(partyRoom ? 0x01 : 0x00); // 1-find party members writeC(isFlying ? 0x02 : 0x00); writeD(ClanPrivs); writeH(rec_left); writeH(rec_have); writeD(mount_id); writeH(InventoryLimit); writeD(class_id); writeD(0x00); writeD(maxCp); writeD(curCp); writeC(_enchant); writeC(_team.ordinal()); writeD(large_clan_crest_id); writeC(noble); writeC(hero); writeC(fishing); writeD(_fishLoc.x); writeD(_fishLoc.y); writeD(_fishLoc.z); writeD(name_color); writeC(running); writeD(pledge_class); writeD(pledge_type); writeD(title_color); writeD(cw_level); writeD(transformation); // Transformation id // AttackElement (0 - Fire, 1 - Water, 2 - Wind, 3 - Earth, 4 - Holy, 5 // - Dark, -2 - None) writeH(attackElement.getId()); writeH(attackElementValue); // AttackElementValue writeH(defenceFire); // DefAttrFire writeH(defenceWater); // DefAttrWater writeH(defenceWind); // DefAttrWind writeH(defenceEarth); // DefAttrEarth writeH(defenceHoly); // DefAttrHoly writeH(defenceUnholy); // DefAttrUnholy writeD(agathion); // T2 Starts writeD(fame); // Fame writeD(_allowMap ? 1 : 0); // Minimap on Hellbound writeD(vitality); // Vitality Points writeD(0x00);// Unknown GOD writeD(0x00);// Unknown GOD (1 - Party searching?) writeC(0x00);// Unknown GOD writeD(0x00);// Unknown GOD writeD(_abnormalEffect.size()); for (final AbnormalEffect ae : _abnormalEffect) { writeD(ae.getMask()); } writeC(0); // Tauti } }[/SRC]
Студия L2dev.su. Сборки Lindvior, Epilogue. ICQ 1817070. Skype wowan.sm
Спасибо, забыл уточнить, что просил под артею :-)
Добавлено через 2 часа 14 минут И ещё, почему то иногда новые чары не создаются, нет реакции при нажатии на СОЗДАТЬ ПЕРСОНАЖА, в каком направлении копать?
08-21-2014, 10:00 AM
ну вы даете информацию хранить в тайне нужно ГВ в этом вообще умнички , бонукс сделай милость не шарь пакеты!!!
08-21-2014, 10:32 AM
Amaranthe Написал:ну вы даете информацию хранить в тайне нужно ГВ в этом вообще умнички , бонукс сделай милость не шарь пакеты!!! А собсно в чем проблема noName?вы хоть свою лепту вносили в развитие новых хроник? Я думаю нет, я больше чем уверен, что Bonux пошлет вас и будет делать как захочет!
08-21-2014, 10:40 AM
TonsFun Написал:А собсно в чем проблема noName?вы хоть свою лепту вносили в развитие новых хроник? Я думаю нет, я больше чем уверен, что Bonux пошлет вас и будет делать как захочет!Лоол ты меня отлично знаеш , да и толку мне вносить свою лепту ?Самому себе противоречить логики не вижу . ( В данном случае прошу не чего не шарить а ты пытаешся из меня что то да выманить ).Кстати в секунду твою личность раскрою если что
08-21-2014, 10:41 AM
(Сообщение последний раз редактировалось: 08-21-2014, 10:43 AM n3k0nation.)
TonsFun Написал:А собсно в чем проблема noName?вы хоть свою лепту вносили в развитие новых хроник? Я думаю нет, я больше чем уверен, что Bonux пошлет вас и будет делать как захочет! Добавлено через 1 минуту Amaranthe Написал:Лоол ты меня отлично знаеш , да и толку мне вносить свою лепту ?Самому себе противоречить логики не вижу . ( В данном случае прошу не чего не шарить а ты пытаешся из меня что то да выманить ).Кстати в секунду твою личность раскрою если что А вам уважаемый, рекомендую поубавить свои порывы, иначе придется их поубавить с помощью карточек, красных.
m0nster.art - clear client patches, linkz to utils & code.
Гадаю по капче. |
« Предыдущая | Следующая »
|