11-30-2015, 04:01 AM
Помогите пожалуйста поправить пакет 24 протокол Инфинити офесей
UserInfo
@Override
protected final void writeImpl()
{
writeC(0x32);
writeD(_objectId);
writeD(_fullBlockSize); // Size of all packets
writeH(_structType);
writeC(_uiv1);
writeC(_uiv2);
writeC(_uiv3);
if ((_uiv1 & CharacterMasksUI1.ROLES) == CharacterMasksUI1.ROLES)
{
writeD(_relation);
}
if ((_uiv1 & CharacterMasksUI1.APPEARANCE) == CharacterMasksUI1.APPEARANCE)
{
writeH(_appearanceBlockSize); // blockSize
writeH(_name.length());
writeS2(_name);
writeC(_canUseAdminCmd);
writeC(_race);
writeC(_sex);
writeD(_baseClassId);
writeD(_classId);
writeC(_level);
}
if ((_uiv1 & CharacterMasksUI1.BASE_STATS) == CharacterMasksUI1.BASE_STATS)
{
writeH(_baseStatsBlockSize); // blockSize
writeH(_str);
writeH(_dex);
writeH(_con);
writeH(_int);
writeH(_wit);
writeH(_men);
writeH(_luc);
writeH(_cha);
}
if ((_uiv1 & CharacterMasksUI1.MAX_STATS) == CharacterMasksUI1.MAX_STATS)
{
writeH(_maxStatsBlockSize); // blockSize
writeD(_maxHp);
writeD(_maxMp);
writeD(_maxCp);
}
if ((_uiv1 & CharacterMasksUI1.CURRENT_STATS) == CharacterMasksUI1.CURRENT_STATS)
{
writeH(_currStatsBlockSize); // blockSize
writeD(_curHp);
writeD(_curMp);
writeD(_curCp);
writeQ(_sp);
writeQ(_exp);
writeF(_expPercent);
}
if ((_uiv1 & CharacterMasksUI1.WEAPON_GLOW) == CharacterMasksUI1.WEAPON_GLOW)
{
writeH(_weaponGlowBlockSize); // blockSize
writeC(_weaponEnchantGlow);
writeC(_armorEnchantGlow);
}
if ((_uiv1 & CharacterMasksUI1.FACIAL_FEATURES) == CharacterMasksUI1.FACIAL_FEATURES)
{
writeH(_facialFeaturesBlockSize); // blockSize
writeD(_hairStyle);
writeD(_hairColor);
writeD(_face);
writeC(_showHairAccessory);
}
if ((_uiv1 & CharacterMasksUI1.PERSONAL_STORE) == CharacterMasksUI1.PERSONAL_STORE)
{
writeH(_personalStoreBlockSize); // blockSize
writeC(_mountType);
writeC(_privateStoreType);
writeC(_canCrystalize);
writeC(_canUseAlchemy);
}
if ((_uiv2 & CharacterMasksUI2.BASE_STATS) == CharacterMasksUI2.BASE_STATS)
{
writeH(_baseStatsv2BlockSize); // blockSize
writeH(_weaponStatus);
writeD(_patk);
writeD(_patkspd);
writeD(_pdef);
writeD(_evasion);
writeD(_accuracy);
writeD(_criticalHit);
writeD(_matk);
writeD(_matkspd);
writeD(_patkspd);
writeD(_mevasion);
writeD(_mdef);
writeD(_maccuracy);
writeD(_mCritRate);
}
if ((_uiv2 & CharacterMasksUI2.ELEMENTAL_DEFENSE_STATS) == CharacterMasksUI2.ELEMENTAL_DEFENSE_STATS)
{
writeH(_elemDefBlockSize); // blockSize
writeH(_defenceFire);
writeH(_defenceWater);
writeH(_defenceWind);
writeH(_defenceEarth);
writeH(_defenceHoly);
writeH(_defenceUnholy);
}
if ((_uiv2 & CharacterMasksUI2.LOCATION) == CharacterMasksUI2.LOCATION)
{
writeH(_locationBlockSize); // blockSize
writeD(_loc.getX());
writeD(_loc.getY());
writeD(_loc.getZ());
writeD(_boatObjectId);
}
if ((_uiv2 & CharacterMasksUI2.MOVEMENT_SPEED) == CharacterMasksUI2.MOVEMENT_SPEED)
{
writeH(_moveSpeedBlockSize); // blockSize
writeH(_runSpd);
writeH(_walkSpd);
writeH(_swimRunSpd);
writeH(_swimWalkSpd);
writeH(_mountRunSpd);
writeH(_mountWalkpd);
writeH(_flyRunSpd);
writeH(_flyWalkSpd);
}
if ((_uiv2 & CharacterMasksUI2.ANIMATION_SPEED) == CharacterMasksUI2.ANIMATION_SPEED)
{
writeH(_animSpeedBlockSize); // blockSize
writeF(_movementSpeedMultiplier);
writeF(_attackSpeedMultiplier);
}
if ((_uiv2 & CharacterMasksUI2.OBJECT_BOUNDARIES) == CharacterMasksUI2.OBJECT_BOUNDARIES)
{
writeH(_objBounBlockSize); // blockSize
writeF(_colRadius);
writeF(_colHeight);
}
if ((_uiv2 & CharacterMasksUI2.ELEMENTAL_OFFENSE_STATS) == CharacterMasksUI2.ELEMENTAL_OFFENSE_STATS)
{
writeH(_elemOffBlockSize); // blockSize
writeC(_attackElementId);
writeH(_attackElementValue);
}
if ((_uiv2 & CharacterMasksUI2.PLEDGE_INFO) == CharacterMasksUI2.PLEDGE_INFO)
{
writeH(_pledgeInfoBlockSize); // blockSize
writeH(_title.length());
writeS2(_title);
writeH(_pledgeType);
writeD(_clanId);
writeD(_largeClanCrestId);
writeD(_clanCrestId);
writeD(_clanPrivileges);
writeC(_isClanLeader);
writeD(_allyId);
writeD(_allyCrestId);
writeC(_lookingParty);
}
if ((_uiv3 & CharacterMasksUI3.STATS) == CharacterMasksUI3.STATS)
{
writeH(_statsv3BlockSize); // blockSize
writeC(_PvpFlag);
writeD(_reputation);
writeC(_isNoble);
writeC(_isHero);
writeC(_pledgeClass);
writeD(_pkKills);
writeD(_pvpKills);
writeH(_recomendationsHave);
writeH(_evaluationScore);
}
if ((_uiv3 & CharacterMasksUI3.VITALITY) == CharacterMasksUI3.VITALITY)
{
writeH(_vitalityBlockSize); // blockSize
writeD(_vitality);
writeC(0);
writeD(_fame);
writeD(_raidPoints);
}
if ((_uiv3 & CharacterMasksUI3.TALISMANS) == CharacterMasksUI3.TALISMANS)
{
writeH(_talismansBlockSize); // blockSize
writeC(_talismanSlots);
writeC(_cloakSlots);
writeC(_duelTeam);
writeD(_teamMask);
}
if ((_uiv3 & CharacterMasksUI3.MOVEMENT_TYPES) == CharacterMasksUI3.MOVEMENT_TYPES)
{
writeH(_moveTypeBlockSize); // blockSize
writeC(_swim);
writeC(_run);
}
if ((_uiv3 & CharacterMasksUI3.NAME_TITLE_COLOR) == CharacterMasksUI3.NAME_TITLE_COLOR)
{
writeH(_nameBlockSize); // blockSize
writeD(_nameColor);
writeD(_titleColor);
}
if ((_uiv3 & CharacterMasksUI3.INVENTORY_SLOTS) == CharacterMasksUI3.INVENTORY_SLOTS)
{
writeH(_invBlockSize); // blockSize
writeD(_mount);
writeH(_inventoryLimit);
writeC(_hideTitle);
}
if ((_uiv3 & CharacterMasksUI3.UNKNOWN_1) == CharacterMasksUI3.UNKNOWN_1)
{
writeH(_unk1BlockSize); // blockSize
writeD(1);
writeH(0);
writeC(0);
}