2014年6月5日 星期四

【Java教學】裝備特殊武器角色頭上出現皇冠

L1EquipmentSlot.java


附送裝備武器可變身的傻瓜寫法

查找

[Copy to clipboard]
CODE:

private void setWeapon(L1ItemInstance weapon)

將整段修改為

[Copy to clipboard]
CODE:

private void setWeapon(L1ItemInstance weapon) {
                int itemId = weapon.getItem().getItemId();
                _owner.setWeapon(weapon);
                _owner.setCurrentWeapon(weapon.getItem().getType1());
                weapon.startEquipmentTimer(_owner);
                _weapon = weapon;
                if (itemId == 274){//肯恩權杖
            L1PolyMorph.doPoly(_owner, 3903, 0,L1PolyMorph.MORPH_BY_ITEMMAGIC);
        }
        if (itemId == 195 || itemId == 570229){//受詛咒的真冥王執行劍 新手武器
            L1PolyMorph.doPoly(_owner, 3784, 0,L1PolyMorph.MORPH_BY_ITEMMAGIC);
        }
        if (itemId == 60){//末日刀
            L1PolyMorph.doPoly(_owner, 5641, 0,L1PolyMorph.MORPH_BY_ITEMMAGIC);
        }
        if (itemId == 46){//生命之劍試寫
            _owner.sendPackets(new S_CastleMaster(7,_owner.getId()));
            _owner.broadcastPacket(new S_CastleMaster(7,_owner.getId()));
        }
        }

查找

[Copy to clipboard]
CODE:

private void removeWeapon(L1ItemInstance weapon)

將基整段修改為

[Copy to clipboard]
CODE:

private void removeWeapon(L1ItemInstance weapon) {
                int itemId = weapon.getItem().getItemId();
                _owner.setWeapon(null);
                _owner.setCurrentWeapon(0);
                weapon.stopEquipmentTimer(_owner);
                _weapon = null;
                if (itemId == 274 || itemId == 195 || itemId == 60 || itemId == 570229){
            L1PolyMorph.undoPoly(_owner);
            _owner.sendPackets(new S_CharVisualUpdate(_owner));
            _owner.broadcastPacket(new S_CharVisualUpdate(_owner));
        }
                if (itemId == 46) {
                        _owner.sendPackets(new S_CastleMaster(7,0));
                        _owner.broadcastPacket(new S_CastleMaster(7,0)); //將皇冠狀態移至不存在的角色
                        }

                if (_owner.hasSkillEffect(COUNTER_BARRIER)) {
                        _owner.removeSkillEffect(COUNTER_BARRIER);
                }
        }


原理:

裝備生命之劍后,將該角色偽裝成亞丁城主從而得到皇冠封包...因為皇冠不能消除,只能轉移,所以將皇冠轉移給一個不存在的角色ID.



注意:

此寫法,必須關閉亞丁的攻城戰... 否則可能會出現一些奇怪的現象吧~~~
生命之劍,只能出現一把,可以自制一把特殊的武器,全服絕對性的只能有一個人拿,因為皇冠只會出現在一個人頭上,即使有兩個人拿同樣的武器,也只會出現一個,所以,必須是獨一無二的. 



原作者:tjohny


沒有留言:

張貼留言