Рейтинг темы:
  • 0 Голос(ов) - 0 в среднем
  • 1
  • 2
  • 3
  • 4
  • 5
Работа над Goddess of Destruction Tauti (корея)
smeli Написал:куда они загнали ети висуал ефекты раз убрали из чаринфо и усеринфо?

никто ещё неразобрался?

туда же, просто порядок изменили и формат немного
consulo.io - Consulo - multi-language IDE
Ответ
вот хотел покапать чтоб выложили пакеты Таути....
чтоб поделились....

но вот подумал, а что я буду делать если выложат? пару дней поковыряю и всё.... финита ла комедия...

пускай останется хоть какая-то интрига Smile
Ответ
smeli Написал:вот хотел покапать чтоб выложили пакеты Таути....
чтоб поделились....

но вот подумал, а что я буду делать если выложат? пару дней поковыряю и всё.... финита ла комедия...

пускай останется хоть какая-то интрига Smile

смели чиркани в аську(393190800), есть интересная вещь для тебя.
Ответ
Делаю оог бота для Таути, если кто может, поделитесь пожалуйста алгоритмом формирования таблицы для сиид или хотя бы какая там идет константа.
Ответ
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;
    }
}
Ответ
прочитайте сперва пост етот ещё раз
найдите там заветное слово "убрали"

и попробуйте сперва убрать, просто убрать и болше ничего
Ответ
apocalipce Написал:ладно .. Потом кто-то нарушает изменения? Таким образом, работает, но цвет ника черный, бар прыгает и символ Ф всегда в движении!
кто-то умный может поделиться?

нифига непонял
consulo.io - Consulo - multi-language IDE
Ответ
VISTALL Написал:нифига непонял

да, понять на грани невозможного но из пакета видно где беда Smile
Ответ
smeli Написал:да, понять на грани невозможного но из пакета видно где беда Smile



Мне нужна помощь, чтобы исправить charinfo

Извините за переводчик! Я из Польши

Я следить за работой всех здесь, smeli, VISTALL, Дарвин. Можно было бы разделить структуру нового пакета?

Cya
Ответ
apocalipce Написал:Мне нужна помощь, чтобы исправить charinfo

Извините за переводчик! Я из Польши

Я следить за работой всех здесь, smeli, VISTALL, Дарвин. Можно было бы разделить структуру нового пакета?

Cya

что бы понять новый пакет - нужны навыки
consulo.io - Consulo - multi-language IDE
Ответ


Возможно похожие темы ...
Тема Автор Ответы Просмотры Последний пост
  Работа над Goddess of Destruction (part 7) n3k0nation 459 174,221 03-21-2022, 04:21 PM
Последний пост: TieLay
  Работа с камерой и Энтер чат FriendlyGhost 0 1,301 04-29-2018, 06:07 AM
Последний пост: FriendlyGhost
  Goddess of Destruction ( новая ветка от NcSoft ) Bacek 180 58,972 08-22-2017, 12:32 PM
Последний пост: BadStealth
  Клиент Tauti Nelige 10 3,999 03-16-2017, 03:32 PM
Последний пост: Nelige
  Rebellion Tauti Source ? knaif 13 2,746 01-28-2016, 07:36 PM
Последний пост: Gaikotsu
  Rebellion Tauti knaif 2 1,425 10-19-2015, 10:51 AM
Последний пост: knaif
  Может у кого завалялся патч под Tauti ? knaif 8 2,007 10-16-2015, 04:53 PM
Последний пост: Ashtone Grey
  Оплачиваемая работа Grek1993 1 1,349 08-01-2015, 11:29 AM
Последний пост: ztaecz
  Работа над Goddess of Destruction (part 6) Ashe 1,274 471,487 07-11-2015, 08:00 PM
Последний пост: n3k0nation
  Как оиграть в Lineage 2 Tauti одному (127.0.0.1) perlovka 13 4,763 04-21-2015, 08:33 PM
Последний пост: Ljucifer

Перейти к форуму:


Пользователи, просматривающие эту тему: 3 Гость(ей)