- Хроники
- Ertheia / Dimensional Strangers
- Исходники
- Присутствуют
- Сборка
- Over
Всем привет
помогите решить проблему
до вставки лс
а после вставки
склоняюсь неправильной пакетке UserInfo но не могу понять где косяк
помогите решить проблему
до вставки лс
а после вставки
склоняюсь неправильной пакетке UserInfo но не могу понять где косяк
Код:
protected final void writeImpl()
{
if(!can_writeImpl)
return;
writeD(obj_id);
writeD(_initSize);
writeH(23);
writeB(_masks);
if(containsMask(UserInfoType.RELATION))
writeD(_relation);
if(containsMask(UserInfoType.BASIC_INFO))
{
writeH(UserInfoType.BASIC_INFO.getBlockLength() + (_name.length() * 2));
writeString(_name);
writeC(gm_commands);
writeC(_race);
writeC(sex);
writeD(base_class);
writeD(class_id);
writeC(level);
}
if(containsMask(UserInfoType.BASE_STATS))
{
writeH(UserInfoType.BASE_STATS.getBlockLength());
writeH(_str);
writeH(_dex);
writeH(_con);
writeH(_int);
writeH(_wit);
writeH(_men);
writeH(_luc);
writeH(_cha);
}
if(containsMask(UserInfoType.MAX_HPCPMP))
{
writeH(UserInfoType.MAX_HPCPMP.getBlockLength());
writeD(maxHp);
writeD(maxMp);
writeD(maxCp);
}
if(containsMask(UserInfoType.CURRENT_HPMPCP_EXP_SP))
{
writeH(UserInfoType.CURRENT_HPMPCP_EXP_SP.getBlockLength());
writeD(curHp);
writeD(curMp);
writeD(curCp);
writeQ(_sp);
writeQ(_exp);
writeF(_expPercent);
}
if(containsMask(UserInfoType.ENCHANTLEVEL))
{
writeH(UserInfoType.ENCHANTLEVEL.getBlockLength());
writeC(_weaponEnchant);
writeC(_armorSetEnchant);
}
if(containsMask(UserInfoType.APPAREANCE))
{
writeH(UserInfoType.APPAREANCE.getBlockLength());
writeD(hair_style);
writeD(hair_color);
writeD(face);
writeC(!_hideHeadAccessories);
}
if(containsMask(UserInfoType.STATUS))
{
writeH(UserInfoType.STATUS.getBlockLength());
writeC(mount_type);
writeC(private_store);
writeC(can_crystalize);
writeC(_usedAbilitiesPoints);
}
if(containsMask(UserInfoType.STATS))
{
writeH(UserInfoType.STATS.getBlockLength());
writeH(_weaponFlag);
writeD(_patk);
writeD(_patkspd);
writeD(_pdef);
writeD(_pEvasion);
writeD(_pAccuracy);
writeD(_pCrit);
writeD(_matk);
writeD(_matkspd);
writeD(_patkspd);
writeD(_mEvasion);
writeD(_mdef);
writeD(_mAccuracy);
writeD(_mCrit);
}
if(containsMask(UserInfoType.ELEMENTALS))
{
writeH(UserInfoType.ELEMENTALS.getBlockLength());
writeH(defenceFire);
writeH(defenceWater);
writeH(defenceWind);
writeH(defenceEarth);
writeH(defenceHoly);
writeH(defenceUnholy);
}
if(containsMask(UserInfoType.POSITION))
{
writeH(UserInfoType.POSITION.getBlockLength());
writeD(_loc.x);
writeD(_loc.y);
writeD(_loc.z + Config.CLIENT_Z_SHIFT);
writeD(vehicle_obj_id);
}
if(containsMask(UserInfoType.SPEED))
{
writeH(UserInfoType.SPEED.getBlockLength());
writeH(_runSpd);
writeH(_walkSpd);
writeH(_swimRunSpd);
writeH(_swimWalkSpd);
writeH(_flRunSpd);
writeH(_flWalkSpd);
writeH(_flyRunSpd);
writeH(_flyWalkSpd);
}
if(containsMask(UserInfoType.MULTIPLIER))
{
writeH(UserInfoType.MULTIPLIER.getBlockLength());
writeF(move_speed);
writeF(attack_speed);
}
if(containsMask(UserInfoType.COL_RADIUS_HEIGHT))
{
writeH(UserInfoType.COL_RADIUS_HEIGHT.getBlockLength());
writeF(col_radius);
writeF(col_height);
}
if(containsMask(UserInfoType.ATK_ELEMENTAL))
{
writeH(UserInfoType.ATK_ELEMENTAL.getBlockLength());
writeC(attackElement.getId());
writeH(attackElementValue);
}
if(containsMask(UserInfoType.CLAN))
{
writeH(UserInfoType.CLAN.getBlockLength() + (_title.length() * 2));
writeString(_title);
writeH(pledge_type);
writeD(clan_id);
writeD(large_clan_crest_id);
writeD(clan_crest_id);
writeD(ClanPrivs);
writeC(_isClanLeader);
writeD(ally_id);
writeD(ally_crest_id);
writeC(partyRoom ? 0x01 : 0x00);
}
if(containsMask(UserInfoType.SOCIAL))
{
writeH(UserInfoType.SOCIAL.getBlockLength());
writeC(pvp_flag);
writeD(karma);
writeC(noble);
writeC(hero);
writeC(pledge_class);
writeD(pk_kills);
writeD(pvp_kills);
writeH(rec_left);
writeH(rec_have);
}
if(containsMask(UserInfoType.VITA_FAME))
{
writeH(UserInfoType.VITA_FAME.getBlockLength());
writeD(vitality);
writeC(0x00); // Vita Bonus
writeD(fame);
writeD(0x00); // raid points
}
if(containsMask(UserInfoType.SLOTS))
{
writeH(UserInfoType.SLOTS.getBlockLength());
writeC(talismans);
writeC(_jewelsLimit);
writeC(_team.ordinal());
writeD(0); // Светиться вокруг персонажа красный пунтктирный круг.
}
if(containsMask(UserInfoType.MOVEMENTS))
{
writeH(UserInfoType.MOVEMENTS.getBlockLength());
writeC(_moveType);
writeC(running);
}
if(containsMask(UserInfoType.COLOR))
{
writeH(UserInfoType.COLOR.getBlockLength());
writeD(name_color);
writeD(title_color);
}
if(containsMask(UserInfoType.INVENTORY_LIMIT))
{
writeH(UserInfoType.INVENTORY_LIMIT.getBlockLength());
writeD(0x00); // mount
writeH(InventoryLimit);
writeC(0); // hide title - 1, 0 - no
}
if(containsMask(UserInfoType.TRUE_HERO))
{
writeH(UserInfoType.TRUE_HERO.getBlockLength());
writeD(0x00);
writeD(0x00);
writeH(0x00);
writeC(0x00);
}
}