Сообщений: 1,912
Тем: 56
Зарегистрирован: Jan 2009
Репутация:
12,921
smeli Написал:куда они загнали ети висуал ефекты раз убрали из чаринфо и усеринфо?
никто ещё неразобрался?
туда же, просто порядок изменили и формат немного
Сообщений: 1,672
Тем: 54
Зарегистрирован: Jun 2011
Репутация:
5,074
вот хотел покапать чтоб выложили пакеты Таути....
чтоб поделились....
но вот подумал, а что я буду делать если выложат? пару дней поковыряю и всё.... финита ла комедия...
пускай останется хоть какая-то интрига
Сообщений: 445
Тем: 46
Зарегистрирован: Oct 2011
smeli Написал:вот хотел покапать чтоб выложили пакеты Таути....
чтоб поделились....
но вот подумал, а что я буду делать если выложат? пару дней поковыряю и всё.... финита ла комедия...
пускай останется хоть какая-то интрига
смели чиркани в аську(393190800), есть интересная вещь для тебя.
Сообщений: 17
Тем: 1
Зарегистрирован: Jun 2012
Делаю оог бота для Таути, если кто может, поделитесь пожалуйста алгоритмом формирования таблицы для сиид или хотя бы какая там идет константа.
Сообщений: 20
Тем: 0
Зарегистрирован: Feb 2012
Репутация:
4
VISTALL Написал:туда же, просто порядок изменили и формат немного
ладно .. Потом кто-то нарушает изменения? Таким образом, работает, но цвет ника черный, бар прыгает и символ Ф всегда в движении!
кто-то умный может поделиться?
Код: * @version $Revision: 1.7.2.6.2.11 $ $Date: 2005/04/11 10:05:54 $
*/
public class CharInfo extends L2GameServerPacket
{
private static final Logger _log = Logger.getLogger(CharInfo.class.getName());
private static final String _S__03_CHARINFO = "[S] 31 CharInfo";
private L2PcInstance _activeChar;
private Inventory _inv;
private int _objId;
private int _x, _y, _z, _heading;
private int _mAtkSpd, _pAtkSpd;
/**
* Run speed, swimming run speed and flying run speed
*/
private int _runSpd;
/**
* Walking speed, swimming walking speed and flying walking speed
*/
private int _walkSpd;
private float _moveMultiplier, _attackSpeedMultiplier;
//private int _territoryId;
//private boolean _isDisguised;
private int _vehicleId, _airShipHelm;
/**
* @param cha
*/
public CharInfo(L2PcInstance cha)
{
_activeChar = cha;
_objId = cha.getObjectId();
_inv = cha.getInventory();
if (_activeChar.getVehicle() != null && _activeChar.getInVehiclePosition() != null)
{
_x = _activeChar.getInVehiclePosition().getX();
_y = _activeChar.getInVehiclePosition().getY();
_z = _activeChar.getInVehiclePosition().getZ();
_vehicleId = _activeChar.getVehicle().getObjectId();
if (_activeChar.isInAirShip() && _activeChar.getAirShip().isCaptain(_activeChar))
_airShipHelm = _activeChar.getAirShip().getHelmItemId();
else
_airShipHelm = 0;
}
else
{
_x = _activeChar.getX();
_y = _activeChar.getY();
_z = _activeChar.getZ();
_vehicleId = 0;
_airShipHelm = 0;
}
_heading = _activeChar.getHeading();
_mAtkSpd = _activeChar.getMAtkSpd();
_pAtkSpd = _activeChar.getPAtkSpd();
_moveMultiplier = _activeChar.getMovementSpeedMultiplier();
_attackSpeedMultiplier = _activeChar.getAttackSpeedMultiplier();
_runSpd = (int)(_activeChar.getRunSpeed()/_moveMultiplier);
_walkSpd = (int)(_activeChar.getWalkSpeed()/_moveMultiplier);
_invisible = cha.getAppearance().getInvisible();
//_territoryId = TerritoryWarManager.getInstance().getRegisteredTerritoryId(cha);
//_isDisguised = TerritoryWarManager.getInstance().isDisguised(cha.getObjectId());
}
public CharInfo(L2Decoy decoy)
{
this(decoy.getActingPlayer()); // init
_vehicleId = 0;
_airShipHelm = 0;
_objId = decoy.getObjectId();
_x = decoy.getX();
_y = decoy.getY();
_z = decoy.getZ();
_heading = decoy.getHeading();
}
@Override
protected final void writeImpl()
{
boolean gmSeeInvis = false;
if (_invisible)
{
L2PcInstance tmp = getClient().getActiveChar();
if (tmp != null && tmp.isGM())
gmSeeInvis = true;
}
if (_activeChar.getPoly().isMorphed())
{
L2NpcTemplate template = NpcTable.getInstance().getTemplate(_activeChar.getPoly().getPolyId());
if (template != null)
{
writeC(0x0c);
writeD(_objId);
writeD(_activeChar.getPoly().getPolyId()+1000000); // npctype id
writeD(_activeChar.getReputation() < 0 ? 1 : 0);
writeD(_x);
writeD(_y);
writeD(_z);
writeD(_heading);
writeD(0x00);
writeD(_mAtkSpd);
writeD(_pAtkSpd);
writeD(_runSpd); // TODO: the order of the speeds should be confirmed
writeD(_walkSpd);
writeD(_runSpd); // swim run speed
writeD(_walkSpd); // swim walk speed
writeD(_runSpd); // fly run speed
writeD(_walkSpd); // fly walk speed
writeD(_runSpd); // fly run speed ?
writeD(_walkSpd); // fly walk speed ?
writeF(_moveMultiplier);
writeF(_attackSpeedMultiplier);
writeF(template.fCollisionRadius);
writeF(template.fCollisionHeight);
writeD(_inv.getPaperdollItemId(Inventory.PAPERDOLL_RHAND)); // right hand weapon
writeD(0);
writeD(_inv.getPaperdollItemId(Inventory.PAPERDOLL_LHAND)); // left hand weapon
writeC(1); // name above char 1=true ... ??
writeC(_activeChar.isRunning() ? 1 : 0);
writeC(_activeChar.isInCombat() ? 1 : 0);
writeC(_activeChar.isAlikeDead() ? 1 : 0);
if (gmSeeInvis)
{
writeC(0);
}
else
{
writeC(_invisible? 1 : 0); // invisible ?? 0=false 1=true 2=summoned (only works if model has a summon animation)
}
writeS(_activeChar.getAppearance().getVisibleName());
if (gmSeeInvis)
{
writeS("Invisible");
}
else
{
writeS(_activeChar.getAppearance().getVisibleTitle());
}
writeD(0);
writeD(0);
writeD(0000); // hmm karma ??
if (gmSeeInvis)
{
writeD( (_activeChar.getAbnormalEffect() | AbnormalEffect.STEALTH.getMask()) );
}
else
{
writeD(_activeChar.getAbnormalEffect()); // C2
}
writeD(_activeChar.getClanId()); //clan id
writeD(_activeChar.getClanCrestId()); //crest id
writeD(0); // C2
writeD(0); // C2
writeC(0); // C2
writeC(0x00); // C3 team circle 1-blue, 2-red
writeF(template.fCollisionRadius);
writeF(template.fCollisionHeight);
writeD(0x00); // C4
writeD(0x00); // C6
writeD(0x00);
writeD(0x00);
writeC(0x01);
writeC(0x01);
writeD(0x00);
}
else
{
_log.warning("Character "+_activeChar.getName()+" ("+_activeChar.getObjectId()+") morphed in a Npc ("+_activeChar.getPoly().getPolyId()+") w/o template.");
}
}
else
{
writeC(0x31);
writeD(_x);
writeD(_y);
writeD(_z);
writeD(_vehicleId);
writeD(_objId);
writeS(_activeChar.getAppearance().getVisibleName());
writeD(_activeChar.getRace().ordinal());
writeD(_activeChar.getAppearance().getSex() ? 1 : 0);
if (_activeChar.getClassIndex() == 0)
writeD(_activeChar.getClassId().getId());
else
writeD(_activeChar.getBaseClass());
writeD(_inv.getPaperdollItemId(Inventory.PAPERDOLL_UNDER));
writeD(_inv.getPaperdollItemId(Inventory.PAPERDOLL_HEAD));
if (_airShipHelm == 0)
{
writeD(_inv.getPaperdollItemId(Inventory.PAPERDOLL_RHAND));
writeD(_inv.getPaperdollItemId(Inventory.PAPERDOLL_LHAND));
}
else
{
writeD(_airShipHelm);
writeD(0);
}
writeD(_inv.getPaperdollItemId(Inventory.PAPERDOLL_GLOVES));
writeD(_inv.getPaperdollItemId(Inventory.PAPERDOLL_CHEST));
writeD(_inv.getPaperdollItemId(Inventory.PAPERDOLL_LEGS));
writeD(_inv.getPaperdollItemId(Inventory.PAPERDOLL_FEET));
writeD(_inv.getPaperdollItemId(Inventory.PAPERDOLL_CLOAK));
writeD(_inv.getPaperdollItemId(Inventory.PAPERDOLL_RHAND));
writeD(_inv.getPaperdollItemId(Inventory.PAPERDOLL_HAIR));
writeD(_inv.getPaperdollItemId(Inventory.PAPERDOLL_HAIR2));
// T1 new d's
writeD(_inv.getPaperdollItemId(Inventory.PAPERDOLL_RBRACELET));
writeD(_inv.getPaperdollItemId(Inventory.PAPERDOLL_LBRACELET));
writeD(_inv.getPaperdollItemId(Inventory.PAPERDOLL_DECO1));
writeD(_inv.getPaperdollItemId(Inventory.PAPERDOLL_DECO2));
writeD(_inv.getPaperdollItemId(Inventory.PAPERDOLL_DECO3));
writeD(_inv.getPaperdollItemId(Inventory.PAPERDOLL_DECO4));
writeD(_inv.getPaperdollItemId(Inventory.PAPERDOLL_DECO5));
writeD(_inv.getPaperdollItemId(Inventory.PAPERDOLL_DECO6));
writeD(_inv.getPaperdollItemId(Inventory.PAPERDOLL_BELT));
// end of t1 new d's
// c6 new h's
writeD(_inv.getPaperdollAugmentationId(Inventory.PAPERDOLL_UNDER));
writeD(_inv.getPaperdollAugmentationId(Inventory.PAPERDOLL_HEAD));
if (_airShipHelm == 0)
{
writeD(_inv.getPaperdollAugmentationId(Inventory.PAPERDOLL_RHAND));
writeD(_inv.getPaperdollAugmentationId(Inventory.PAPERDOLL_LHAND));
}
else
{
writeD(0);
writeD(0);
}
writeD(_inv.getPaperdollAugmentationId(Inventory.PAPERDOLL_GLOVES));
writeD(_inv.getPaperdollAugmentationId(Inventory.PAPERDOLL_CHEST));
writeD(_inv.getPaperdollAugmentationId(Inventory.PAPERDOLL_LEGS));
writeD(_inv.getPaperdollAugmentationId(Inventory.PAPERDOLL_FEET));
writeD(_inv.getPaperdollAugmentationId(Inventory.PAPERDOLL_CLOAK));
writeD(_inv.getPaperdollAugmentationId(Inventory.PAPERDOLL_RHAND));
writeD(_inv.getPaperdollAugmentationId(Inventory.PAPERDOLL_HAIR));
writeD(_inv.getPaperdollAugmentationId(Inventory.PAPERDOLL_HAIR2));
// T1 new h's
writeD(_inv.getPaperdollAugmentationId(Inventory.PAPERDOLL_RBRACELET));
writeD(_inv.getPaperdollAugmentationId(Inventory.PAPERDOLL_LBRACELET));
writeD(_inv.getPaperdollAugmentationId(Inventory.PAPERDOLL_DECO1));
writeD(_inv.getPaperdollAugmentationId(Inventory.PAPERDOLL_DECO2));
writeD(_inv.getPaperdollAugmentationId(Inventory.PAPERDOLL_DECO3));
writeD(_inv.getPaperdollAugmentationId(Inventory.PAPERDOLL_DECO4));
writeD(_inv.getPaperdollAugmentationId(Inventory.PAPERDOLL_DECO5));
writeD(_inv.getPaperdollAugmentationId(Inventory.PAPERDOLL_DECO6));
writeD(_inv.getPaperdollAugmentationId(Inventory.PAPERDOLL_BELT));
writeD(0x00);
writeD(0x01);
// end of t1 new h's
writeD(0x00);
writeD(0x00);
writeD(0x00);
writeD(_activeChar.getPvpFlag());
writeD(_activeChar.getReputation());
writeD(0x00); //???
writeD(0x00); //???
writeD(0x00); //???
// writeD(mevasion);
// writeD(maccuracy);
//writeD(mCritRate);
writeD(0x00); //???
writeD(0x00); //Harmony NEW
writeD(0x00); //Harmony NEW
writeD(0x00); //Harmony NEW
writeD(0x00); //Harmony NEW
writeD(0x00); //Harmony NEW
writeD(0x00); //Harmony NEW
writeD(_mAtkSpd);
writeD(_pAtkSpd);
writeD(0x00);
writeD(_runSpd); // TODO: the order of the speeds should be confirmed
writeD(_walkSpd);
writeD(_runSpd); // swim run speed
writeD(_walkSpd); // swim walk speed
writeD(_runSpd); // fly run speed
writeD(_walkSpd); // fly walk speed
writeD(_runSpd); // fly run speed ?
writeD(_walkSpd); // fly walk speed ?
writeF(_activeChar.getMovementSpeedMultiplier()); // _activeChar.getProperMultiplier()
writeF(_activeChar.getAttackSpeedMultiplier()); // _activeChar.getAttackSpeedMultiplier()
if (_activeChar.getMountType() != 0)
{
writeF(NpcTable.getInstance().getTemplate(_activeChar.getMountNpcId()).fCollisionRadius);
writeF(NpcTable.getInstance().getTemplate(_activeChar.getMountNpcId()).fCollisionHeight);
}
else if (_activeChar.getTransformation() != null)
{
writeF(_activeChar.getTransformation().getCollisionRadius());
writeF(_activeChar.getTransformation().getCollisionHeight());
}
else
{
writeF(_activeChar.getCollisionRadius());
writeF(_activeChar.getCollisionHeight());
}
writeD(_activeChar.getAppearance().getHairStyle());
writeD(_activeChar.getAppearance().getHairColor());
writeD(_activeChar.getAppearance().getFace());
if (gmSeeInvis)
{
writeS("Invisible");
}
else
{
writeS(_activeChar.getAppearance().getVisibleTitle());
}
if (!_activeChar.isCursedWeaponEquipped())
{
writeD(_activeChar.getClanId());
writeD(_activeChar.getClanCrestId());
writeD(_activeChar.getAllyId());
writeD(_activeChar.getAllyCrestId());
}
else
{
writeD(0);
writeD(0);
writeD(0);
writeD(0);
}
writeC(_activeChar.isSitting() ? 0 : 1); // standing = 1 sitting = 0
writeC(_activeChar.isRunning() ? 1 : 0); // running = 1 walking = 0
writeC(_activeChar.isInCombat() ? 1 : 0);
if (_activeChar.isInOlympiadMode())
writeC(0);
else
writeC(_activeChar.isAlikeDead() ? 1 : 0);
if (gmSeeInvis)
{
writeC(0);
}
else
{
writeC(_invisible ? 1 : 0); // invisible = 1 visible =0
}
writeC(_activeChar.getMountType()); // 1-on Strider, 2-on Wyvern, 3-on Great Wolf, 0-no mount
writeC(_activeChar.getPrivateStoreType()); // 1 - sellshop
writeH(_activeChar.getCubics().size());
for (int id : _activeChar.getCubics().keys())
writeH(id);
writeC(_activeChar.isInPartyMatchRoom() ? 1 : 0);
if (gmSeeInvis)
{
writeD( (_activeChar.getAbnormalEffect() | AbnormalEffect.STEALTH.getMask()) );
}
else
{
writeD(_activeChar.getAbnormalEffect());
}
writeC(_activeChar.isFlyingMounted() ? 2 : 0);
writeH(_activeChar.getRecomHave()); //Blue value for name (0 = white, 255 = pure blue)
writeD(_activeChar.getMountNpcId() + 1000000);
writeD(_activeChar.getClassId().getId());
writeD(0x00); //?
writeC(_activeChar.isMounted() || _airShipHelm != 0 ? 0 : _activeChar.getEnchantEffect());
if(_activeChar.getTeam()==1)
writeC(0x01); //team circle around feet 1= Blue, 2 = red
else if(_activeChar.getTeam()==2)
writeC(0x02); //team circle around feet 1= Blue, 2 = red
else
writeC(0x00); //team circle around feet 1= Blue, 2 = red
writeD(_activeChar.getClanCrestLargeId());
writeC(_activeChar.isNoble() ? 1 : 0); // Symbol on char menu ctrl+I
writeC(_activeChar.isHero() || (_activeChar.isGM() && Config.GM_HERO_AURA) ? 1 : 0); // Hero Aura
writeC(_activeChar.isFishing() ? 1 : 0); //0x01: Fishing Mode (Cant be undone by setting back to 0)
writeD(_activeChar.getFishx());
writeD(_activeChar.getFishy());
writeD(_activeChar.getFishz());
writeD(_activeChar.getAppearance().getNameColor());
writeD(_heading);
writeD(_activeChar.getPledgeClass());
writeD(_activeChar.getPledgeType());
writeD(_activeChar.getAppearance().getTitleColor());
if (_activeChar.isCursedWeaponEquipped())
writeD(CursedWeaponsManager.getInstance().getLevel(_activeChar.getCursedWeaponEquippedId()));
else
writeD(0x00);
if (_activeChar.getClanId() > 0)
writeD(_activeChar.getClan().getReputationScore());
else
writeD(0x00);
// T1
writeD(_activeChar.getTransformationId());
writeD(_activeChar.getAgathionId());
// T2
writeD(0x01);
// T2.3
writeD(_activeChar.getSpecialEffect());
writeD(0x00);
writeD(0x00);
writeD((int)_activeChar.getCurrentMp()); // Current MP ???
writeD(_activeChar.getMaxMp()); // Max MP ???
writeD((int)_activeChar.getCurrentHp()); // Current HP
writeD(_activeChar.getMaxHp()); // Max HP
writeD((int)_activeChar.getCurrentCp()); // Current CP ???
writeD(_activeChar.getMaxCp()); // Max CP ??
writeC(0x00);
}
}
/* (non-Javadoc)
* @see ToDGames.gameserver.serverpackets.ServerBasePacket#getType()
*/
@Override
public String getType()
{
return _S__03_CHARINFO;
}
}
Сообщений: 1,672
Тем: 54
Зарегистрирован: Jun 2011
Репутация:
5,074
прочитайте сперва пост етот ещё раз
найдите там заветное слово "убрали"
и попробуйте сперва убрать, просто убрать и болше ничего
Сообщений: 1,912
Тем: 56
Зарегистрирован: Jan 2009
Репутация:
12,921
apocalipce Написал:ладно .. Потом кто-то нарушает изменения? Таким образом, работает, но цвет ника черный, бар прыгает и символ Ф всегда в движении!
кто-то умный может поделиться?
нифига непонял
Сообщений: 1,672
Тем: 54
Зарегистрирован: Jun 2011
Репутация:
5,074
VISTALL Написал:нифига непонял
да, понять на грани невозможного но из пакета видно где беда
Сообщений: 20
Тем: 0
Зарегистрирован: Feb 2012
Репутация:
4
smeli Написал:да, понять на грани невозможного но из пакета видно где беда
Мне нужна помощь, чтобы исправить charinfo
Извините за переводчик! Я из Польши
Я следить за работой всех здесь, smeli, VISTALL, Дарвин. Можно было бы разделить структуру нового пакета?
Cya
Сообщений: 1,912
Тем: 56
Зарегистрирован: Jan 2009
Репутация:
12,921
apocalipce Написал:Мне нужна помощь, чтобы исправить charinfo
Извините за переводчик! Я из Польши
Я следить за работой всех здесь, smeli, VISTALL, Дарвин. Можно было бы разделить структуру нового пакета?
Cya
что бы понять новый пакет - нужны навыки
|