• Новые темы в этом разделе публикуются автоматически при добавлении файла в менеджер ресурсов.
    Ручное создание новых тем невозможно.
Иконка ресурса

Epilogue - TheAnion (nextgen) 09.05.2014

Нет прав для скачивания
Статус
В этой теме нельзя размещать новые ответы.
Есть. Хоть 1 недочет скажи. так балаболить каждый может кто научился импорты переписывать....
да там вся сборка один большой недочёт. походу проще сказать что работало верно.

ps: раш который рандомнейшим образом может зацепить 1\2\3\4\5\25\37\50 мобов из 50 на траектории - tutbilmat.

заливай дальше про этот мусор. сборка - кусок говна. ты, раз ты сидишь и льёшь людям говно - кусок говна.
 
Последнее редактирование:

Обратите внимание, что данный пользователь заблокирован! Не совершайте с ним никаких сделок! Перейдите в его профиль, чтобы узнать причину блокировки.
видел последний компил расторгуева под декабрию.
услышал его в скайпе - нассал на лицо.

вопросы есть?

Вы про этот недельный проект?
Как не странно, именно неделю он и прожил.
О какой качественной сборке вообще речь может идти.
 
Вы про этот недельный проект?
Как не странно, именно неделю он и прожил.
О каких какой качественной сборке вообще речь может идти.

просто короче там было два якоря и мой друг, которого не слушали.
один из якорей - расторгуев. второй якорь - админ сервера, который вообще ничего не понимает.

я же там в последние несколько дней проработал ЕГМом.
 
Обратите внимание, что данный пользователь заблокирован! Не совершайте с ним никаких сделок! Перейдите в его профиль, чтобы узнать причину блокировки.
просто короче там было два якоря и мой друг, которого не слушали.
один из якорей - расторгуев. второй якорь - админ сервера, который вообще ничего не понимает.

я же там в последние несколько дней проработал ЕГМом.
Мне совершенно не понятно, как за неделю можно потерять 800 онлайна?)
Как Карл? :Banzai:
 
Мне совершенно не понятно, как за неделю можно потерять 800 онлайна?)
Как Карл? :Banzai:

там 800 и не было.

берёшь карочи сборку раста, как царькароль228пасан. не тестируешь это говно и ставишь на лайв.


берёшь берса, ловишь ему дуэльмайт пассив (инфа с дапака: дамаг * 2.15 (вместо 1.05 или сколько там оно даёт по птсу)), юзаешь Final Secret (инфа с датапака расторгуева: дамаг * 3.50 (вместо 1.30)), заводишь джуда и шилку, выносишь ПАТИ [А по щам?] ЗА ОДНУ МАССУХУ.

потом выносишь зубы расторгуеву и ты красафчек228пацан. :pandaredlol:
 
там 800 и не было.

берёшь карочи сборку раста, как царькароль228пасан. не тестируешь это говно и ставишь на лайв.


берёшь берса, ловишь ему дуэльмайт пассив (инфа с дапака: дамаг * 2.15 (вместо 1.05 или сколько там оно даёт по птсу)), юзаешь Final Secret (инфа с датапака расторгуева: дамаг * 3.50 (вместо 1.30)), заводишь джуда и шилку, выносишь ПАТИ [А по щам?] ЗА ОДНУ МАССУХУ.

потом выносишь зубы расторгуеву и ты красафчек228пацан. :pandaredlol:
Тут шавка гавкает ноунеймовская или мне причудилось? =)
 
Обратите внимание, что данный пользователь заблокирован! Не совершайте с ним никаких сделок! Перейдите в его профиль, чтобы узнать причину блокировки.
разработчик говна собственной персоной или мне причудилось?

сосочка которая взяла пакетку мобиуса и пилит Html и спавны в нотпаде еще умеет гавкать ? ПС лошара скажи мне за что тебе выданы лычки ? что то на форуме не увидел чисто дружеская падача ?
 
просто короче там было два якоря и мой друг, которого не слушали.
один из якорей - расторгуев. второй якорь - админ сервера, который вообще ничего не понимает.

я же там в последние несколько дней проработал ЕГМом.
разработчик говна собственной персоной или мне причудилось?
Причудилось , просто дали ссылку поугорать.... я хз кто ты и что , но я знаю , что порешь чушь ! Да , парни облажались с открытием - там ряд своих причин ! Но зная прошлое открытие данного проекта , на той же сборке , таких проблем не было и народ только восхищался!! А ты повторюсь, как "собака" тебе только кость кинули "фейл проекта" так ты и подхватил !
 
Причудилось , просто дали ссылку поугорать.... я хз кто ты и что , но я знаю , что порешь чушь ! Да , парни облажались с открытием - там ряд своих причин ! Но зная прошлое открытие данного проекта , на той же сборке , таких проблем не было и народ только восхищался!! А ты повторюсь, как "собака" тебе только кость кинули "фейл проекта" так ты и подхватил !

я видел этот фэйл своими глазами.
я видел пацанов с 450 атт атаки.
я видел пацанов с фулл саб скиллами.
я видел пацанов в соло выносящих критами по 40к.


я видел своими глазами всё это говно, меня мало волнует твоё мнение.

ряд каких причин? тебе завести сборку расторгуева или какого тебе надо вообще?

сосочка которая взяла пакетку мобиуса и пилит Html и спавны в нотпаде еще умеет гавкать ? ПС лошара скажи мне за что тебе выданы лычки ? что то на форуме не увидел чисто дружеская падача ?

я уже сказал. ты не запруфил то что мангол нихера не делает = ты говнарь, а с говнарями я не общаюсь.
 
Обратите внимание, что данный пользователь заблокирован! Не совершайте с ним никаких сделок! Перейдите в его профиль, чтобы узнать причину блокировки.
я видел этот фэйл своими глазами.
я видел пацанов с 450 атт атаки.
я видел пацанов с фулл саб скиллами.
я видел пацанов в соло выносящих критами по 40к.


я видел своими глазами всё это говно, меня мало волнует твоё мнение.

ряд каких причин? тебе завести сборку расторгуева или какого тебе надо вообще?
понты слова , слова понты НАБОРРР СЛОВВВВВВВ
 
Причудилось , просто дали ссылку поугорать.... я хз кто ты и что , но я знаю , что порешь чушь ! Да , парни облажались с открытием - там ряд своих причин ! Но зная прошлое открытие данного проекта , на той же сборке , таких проблем не было и народ только восхищался!! А ты повторюсь, как "собака" тебе только кость кинули "фейл проекта" так ты и подхватил !

и да, какие же причины фэйла декабрии?
то что раст орал ДА У НАС РГВАРД + ОТ АДРЕНАЛИНА ДЛЛКА И ВСЁ НОРМ, а в итоге я даже админского чара без адреналина не подгружал?
то что сервер жил благодаря ботам, а потом когда пацаны поняли что ботить не на что сервер сдох?
то что раст сделал редкую говносборку? то что основной админ просто обоссанное и неспособное что-то делать дерево? то что они не слушают людей с опытом?

ты услышал что тут любимую декабрию говном заливают, подлетел сразу типа ПАРНИ АБЛАЖАЛИСЬ ТАМ СВАИ ПРИЧИНЫ, а в итоге я тебе говорю что либо ты tutbilmatсосёшь, либо ты один из них. сборка - кусок говна. раст - не разработчик. основной админ декабрии - не админ. ебаное дерево сеган - tutbilmat. ты - tutbilmat.

я всё сказал.
 
Последнее редактирование:
я видел этот фэйл своими глазами.
я видел пацанов с 450 атт атаки.
я видел пацанов с фулл саб скиллами.
я видел пацанов в соло выносящих критами по 40к.


я видел своими глазами всё это говно, меня мало волнует твоё мнение.

ряд каких причин? тебе завести сборку расторгуева или какого тебе надо вообще?
Я говорю , то что знаю ! Знаю, что было все ок и около тысячи человек проигравших 3 недели на данном сурсе тебе подтвердят ... в этот раз херня вышла .. но зачем обливать друг друга гавном? где твоя сборка , на каких стояла она проектах?
 
понты слова , слова понты НАБОРРР СЛОВВВВВВВ
мне нет важности пруфить что-то tutbilmatвроде тебя. атт засовывается в щит пакеткой примерно так же просто как в твою жопу влетают tutbilmat.

Я говорю , то что знаю ! Знаю, что было все ок и около тысячи человек проигравших 3 недели на данном сурсе тебе подтвердят ... в этот раз херня вышла .. но зачем обливать друг друга гавном? где твоя сборка , на каких стояла она проектах?

сборка - кусок говна.
хочешь шилд со 120 аттрибута который даёт атт к атаке? или сигиль который даёт к дефу?
ХОСПАДЕ, ДА ХОТЬ ВЕДРО.
 
Последнее редактирование:
  • Мне нравится
Реакции: Hook

    Hook

    Баллов: 1
    мне нет важности пруфить что-то пидору вроде тебя. атт засовывается в щит пакеткой примерно так же просто как в твою жопу влетают хуи. :D
Обратите внимание, что данный пользователь заблокирован! Не совершайте с ним никаких сделок! Перейдите в его профиль, чтобы узнать причину блокировки.
и да, какие же причины фэйла декабрии?
то что раст орал ДА У НАС РГВАРД + ОТ АДРЕНАЛИНА ДЛЛКА И ВСЁ НОРМ, а в итоге я даже админского чара без адреналина не подгружал?
то что сервер жил благодаря ботам, а потом когда пацаны поняли что ботить не на что сервер сдох?
то что раст сделал редкую говносборку? то что основной админ просто обоссанное и неспособное что-то делать дерево? то что они не слушают людей с опытом?

ты услышал что тут любимую декабрию говном заливают, подлетел сразу типа ПАРНИ АБЛАЖАЛИСЬ ТАМ СВАИ ПРИЧИНЫ, а в итоге я тебе говорю что либо ты [А по щам?] сосёшь, либо ты один из них. сборка - кусок говна. раст - не разработчик. основной админ декабрии - не админ. ебаное дерево сеган - пидор. ты - подпёздышь.

я всё сказал.
какашечка иди доделывай пакетку мобиуса и переписывай спавны в нотепаде
 
мне нет важности пруфить что-то пидору вроде тебя. атт засовывается в щит пакеткой примерно так же просто как в твою жопу влетают хуи.



сборка - кусок говна.
хочешь шилд со 120 аттрибута который даёт атт к атаке? или сигиль который даёт к дефу?
ХОСПАДЕ, ДА ХОТЬ ВЕДРО.
я тебе за твою сборку говорю , потому что смотрю юзают все анионовскую и раста ..
 
Обратите внимание, что данный пользователь заблокирован! Не совершайте с ним никаких сделок! Перейдите в его профиль, чтобы узнать причину блокировки.
мне нет важности пруфить что-то пидору вроде тебя. атт засовывается в щит пакеткой примерно так же просто как в твою жопу влетают хуи.



сборка - кусок говна.
хочешь шилд со 120 аттрибута который даёт атт к атаке? или сигиль который даёт к дефу?
ХОСПАДЕ, ДА ХОТЬ ВЕДРО.
дафай я качаю сейчас с форума сурс который кто то там вылил от раста 14-15 или похер ветку ты это делаешь или балаболка
 
какашечка иди доделывай пакетку мобиуса и переписывай спавны в нотепаде

я так понял что ты был же в тиме расторгуева. точно.

расскажи мне, разработчик говна, почему у вас в щиты СПОКОЙНО ставится аттрибут?

на тебе пруф, дерево ебучее:
Код:
package l2s.game.network.clientpackets;

import l2s.Config;
import l2s.game.cache.Msg;
import l2s.game.model.Elementals;
import l2s.game.model.actor.L2Player;
import l2s.game.model.instances.L2ItemInstance;
import l2s.game.model.items.PcInventory;
import l2s.game.network.serverpackets.ExAttributeEnchantResult;
import l2s.game.network.serverpackets.InventoryUpdate;
import l2s.game.network.serverpackets.SystemMessage;
import l2s.game.templates.L2Item;
import l2s.util.Log;
import l2s.util.Logs;
import l2s.util.Rnd;
import l2s.util.Util;

public class RequestEnchantItemAttribute extends AbstractEnchantPacket
{
    private final static String _C__5F_REQUESTENCHANTITEM = "[C] 5F RequestEnchantItem";
    // Format: chd
    private int _objectId;

    
    public void readImpl()
    {
        _objectId = readD();
    }

    
    public void runImpl()
    {
        final L2Player activeChar = getClient().getActiveChar();
        if(activeChar == null)
            return;

        if(activeChar.isOutOfControl() || activeChar.isActionsDisabled())
        {
            activeChar.sendActionFailed();
            return;
        }

        if(_objectId == 0xFFFFFFFF)
        {
            activeChar.sendPacket(new SystemMessage(SystemMessage.ELEMENTAL_POWER_ENCHANCER_USAGE_HAS_BEEN_CANCELLED));
            activeChar.setActiveEnchantAttrItem(null);
            return;
        }

        if(activeChar.getPrivateStoreType() != L2Player.STORE_PRIVATE_NONE)
        {
            activeChar.sendPacket(Msg.YOU_CANNOT_ADD_ELEMENTAL_POWER_WHILE_OPERATING_A_PRIVATE_STORE_OR_PRIVATE_WORKSHOP);
            activeChar.setActiveEnchantAttrItem(null);
            return;
        }

        final PcInventory inventory = activeChar.getInventory();
        final L2ItemInstance itemToEnchant = inventory.getItemByObjectId(_objectId);
        L2ItemInstance stone = activeChar.getActiveEnchantAttrItem();
        activeChar.setActiveEnchantAttrItem(null);

        if(itemToEnchant == null || stone == null)
        {
            activeChar.sendActionFailed();
            return;
        }

        final L2Item item = itemToEnchant.getItem();

        Log.add(activeChar.getName() + "|Trying to attribute enchant|" + itemToEnchant.getItemId() + "|" + itemToEnchant.getObjectId(), "enchants");
        Logs.LogEvent(activeChar.getName(), activeChar.getIP(), "EnchantItem_Attribute", new String[] { "Trying to attribute enchant:", "item: " + itemToEnchant.getItemId() + " enchants : " + itemToEnchant.getObjectId() });

        if(!isEnchantable(itemToEnchant, true) || itemToEnchant.getItem().getCrystalType().cry < L2Item.CRYSTAL_S)
        {
            activeChar.sendPacket(Msg.INAPPROPRIATE_ENCHANT_CONDITIONS, Msg.ActionFail);
            return;
        }

        if(itemToEnchant.isWear() || itemToEnchant.isStackable() || (stone = inventory.getItemByObjectId(stone.getObjectId())) == null)
        {
            activeChar.sendPacket(Msg.INAPPROPRIATE_ENCHANT_CONDITIONS, Msg.ActionFail);
            return;
        }

        // can't enchant rods, shadow items, adventurers', PvP items, hero items, cloaks, bracelets, underwear (e.g. shirt), belt, necklace, earring, ring
        if(item.isUnderwear() || item.isCloak() || item.isBracelet() || item.isBelt() || item.isAccessory())
        {
            activeChar.sendPacket(Msg.INAPPROPRIATE_ENCHANT_CONDITIONS, Msg.ActionFail);
            return;
        }
        if (!Config.ENCHANTELEMENT_CAN_PVP && item.isPvP() || activeChar.isAttackingNow() || activeChar.isCastingNow())
        {
            activeChar.sendPacket(Msg.INAPPROPRIATE_ENCHANT_CONDITIONS, Msg.ActionFail);
            return;
        }
        switch (itemToEnchant.getLocation())
        {
            case INVENTORY:
            case PAPERDOLL:
            {
                // Запрет на заточку чужих вещей, баг может вылезти на серверных лагах
                if(itemToEnchant.getOwnerId() != activeChar.getObjectId())
                {
                    activeChar.sendPacket(Msg.INAPPROPRIATE_ENCHANT_CONDITIONS, Msg.ActionFail);
                    activeChar.sendActionFailed();
                    return;
                }
                break;
            }
            default:
            {
                Util.handleIllegalPlayerAction(activeChar, "RequestEnchantItemAttribute", "tried to use enchant Exploit!", Config.DEFAULT_PUNISH);
                return;
            }
        }

        // ********************* Конец проверок ***************** //

        final int stoneId = stone.getItemId();
        final Elementals oldElement = itemToEnchant.getElementals();
        final int elementValue = oldElement == null ? 0 : oldElement.getValue();
        final int limit = getLimit(stoneId, itemToEnchant);
        int powerToAdd = getPowerToAdd(stoneId, elementValue, itemToEnchant);
        byte elementToAdd = getElementFromItemId(stoneId);

        // Armors have the opposite element
        if(item.isArmor())
            elementToAdd = Elementals.getOppositeElement(elementToAdd);

        int newPower = elementValue + powerToAdd;
        if(newPower > limit)
        {
            newPower = limit;
            powerToAdd = limit - elementValue;
        }

        if(oldElement != null && oldElement.getElement() != elementToAdd && oldElement.getElement() != Elementals.ATTRIBUTE_NONE)
        {
            activeChar.sendPacket(Msg.ANOTHER_ELEMENTAL_POWER_HAS_ALREADY_BEEN_ADDED_THIS_ELEMENTAL_POWER_CANNOT_BE_ADDED, Msg.ActionFail);
            return;
        }

        if(powerToAdd <= 0)
        {
            activeChar.sendPacket(Msg.ELEMENTAL_POWER_ENCHANCER_USAGE_HAS_BEEN_CANCELLED, Msg.ActionFail);
            return;
        }

        L2ItemInstance removedStone;
        synchronized (inventory)
        {
            removedStone = inventory.destroyItem(stone.getObjectId(), 1, true);
        }

        if(removedStone == null)
        {
            Util.handleIllegalPlayerAction(activeChar, "RequestEnchantItemAttribute", "tried to attribute enchant with a stone he doesn't have", Config.DEFAULT_PUNISH);
            activeChar.sendPacket(ExAttributeEnchantResult.FAIL, Msg.ActionFail);
            return;
        }

        if(Rnd.chance(Config.ENCHANT_ATTRIBUTE_CHANCE))
        {
            if(itemToEnchant.getAttributeElementValue() == 0)
            {
                final SystemMessage sm = new SystemMessage(SystemMessage.S2_ELEMENTAL_POWER_HAS_BEEN_ADDED_SUCCESSFULLY_TO_S1);
                sm.addItemName(itemToEnchant.getItemId());
                sm.addString(Elementals.getElementName(elementToAdd));
                activeChar.sendPacket(sm);
            }
            else
            {
                final SystemMessage sm = new SystemMessage(SystemMessage.S3_ELEMENTAL_POWER_HAS_BEEN_ADDED_SUCCESSFULLY_TO__S1S2);
                sm.addNumber(itemToEnchant.getAttributeElementValue());
                sm.addItemName(itemToEnchant.getItemId());
                sm.addString(Elementals.getElementName(elementToAdd));
                activeChar.sendPacket(sm);
            }

            boolean equipped = false;
            if(equipped = itemToEnchant.isEquipped())
            {
                activeChar.getInventory().setRefreshingListeners(true);
                activeChar.getInventory().unEquipItem(itemToEnchant);
            }

            itemToEnchant.setAttributeElement(elementToAdd, newPower, true);

            if(equipped)
            {
                activeChar.getInventory().equipItem(itemToEnchant, false);
                activeChar.getInventory().setRefreshingListeners(false);
            }

            activeChar.sendPacket(new InventoryUpdate(itemToEnchant, L2ItemInstance.MODIFIED));
            activeChar.sendPacket(new ExAttributeEnchantResult(powerToAdd));

            Log.add(activeChar.getName() + "|Successfully enchanted by attribute|" + itemToEnchant.getItemId() + "|to+" + itemToEnchant.getAttributeElementValue() + "|" + Config.ENCHANT_ATTRIBUTE_CHANCE, "enchants");
            Log.LogItem(activeChar, Log.EnchantItem, itemToEnchant);
            Logs.LogEvent(activeChar.getName(), activeChar.getIP(), "EnchantItem_Attribute", new String[] { "Trying to attribute enchant:", "item: " + itemToEnchant.getItemId() + " enchants : " + itemToEnchant.getAttributeElementValue()+ "|" + Config.ENCHANT_ATTRIBUTE_CHANCE, "enchants" });

        }
        else
        {
            activeChar.sendPacket(new SystemMessage(SystemMessage.YOU_HAVE_FAILED_TO_ADD_ELEMENTAL_POWER));
            Log.add(activeChar.getName() + "|Failed to enchant attribute|" + itemToEnchant.getItemId() + "|+" + itemToEnchant.getAttributeElementValue() + "|" + Config.ENCHANT_ATTRIBUTE_CHANCE, "enchants");
            Logs.LogEvent(activeChar.getName(), activeChar.getIP(), "EnchantItem_Attribute", new String[] { "Failed to enchant attribute:", "item: " + itemToEnchant.getItemId() + " enchants : " + itemToEnchant.getAttributeElementValue()+ "|" + Config.ENCHANT_ATTRIBUTE_CHANCE, "enchants" });

        }

        activeChar.setActiveEnchantAttrItem(null);
        activeChar.updateStats();
    }

    private byte getElementFromItemId(final int itemId)
    {
        byte element = 0;
        for(final int id : Elementals.STONES)
        {
            if(id == itemId)
                return element;
            element++;
        }
        element = 0;
        for(final int id : Elementals.CRYSTALS)
        {
            if(id == itemId)
                return element;
            element++;
        }
        element = 0;
        for(final int id : Elementals.JEWELS)
        {
            if(id == itemId)
                return element;
            element++;
        }
        element = 0;
        for(final int id : Elementals.ENERGIES)
        {
            if(id == itemId)
                return element;
            element++;
        }
        element = 0;
        for(final int id : Elementals.ROUGHORES)
        {
            if(id == itemId)
                return element;
            element++;
        }
        return -2;
    }

    private int getLimit(final int itemId, final L2ItemInstance item)
    {
        for(final int id : Elementals.STONES)
            if(id == itemId)
            {
                if(item.isWeapon())
                    return Elementals.WEAPON_VALUES[3];
                return Elementals.ARMOR_VALUES[3];
            }
        for(final int id : Elementals.ROUGHORES)
            if(id == itemId)
            {
                if(item.isWeapon())
                    return Elementals.WEAPON_VALUES[3];
                return Elementals.ARMOR_VALUES[3];
            }
        for(final int id : Elementals.CRYSTALS)
            if(id == itemId)
            {
                if(item.isWeapon())
                    return Elementals.WEAPON_VALUES[6];
                return Elementals.ARMOR_VALUES[6];
            }
        for(final int id : Elementals.JEWELS)
            if(id == itemId)
            {
                if(item.isWeapon())
                    return Elementals.WEAPON_VALUES[9];
                return Elementals.ARMOR_VALUES[9];
            }
        for(final int id : Elementals.ENERGIES)
            if(id == itemId)
            {
                if(item.isWeapon())
                    return Elementals.WEAPON_VALUES[12];
                return Elementals.ARMOR_VALUES[12];
            }
        return 0;
    }

    private int getPowerToAdd(final int stoneId, final int oldValue, final L2ItemInstance item)
    {
        boolean stone = false;
        for(final int id : Elementals.ALL_MODIFERS)
        {
            if(id != stoneId)
                continue;
            stone = true;
            break;
        }

        if(stone)
            if(item.isWeapon())
            {
                if(oldValue == 0)
                    return Config.ENCHANT_ATTRIBUTE_FIRST_WEAPON_BONUS;
                else
                    return Config.ENCHANT_ATTRIBUTE_WEAPON_BONUS;
            }
            else if(item.isArmor())
                return Config.ENCHANT_ATTRIBUTE_ARMOR_BONUS;

        return 0;
    }

    
    public String getType()
    {
        return _C__5F_REQUESTENCHANTITEM;
    }
}
 
  • Мне нравится
Реакции: Hook
Обратите внимание, что данный пользователь заблокирован! Не совершайте с ним никаких сделок! Перейдите в его профиль, чтобы узнать причину блокировки.
дафай я качаю сейчас с форума сурс который кто то там вылил от раста 14-15 или похер ветку ты это делаешь или балаболка

я так понял что ты был же в тиме расторгуева. точно.

расскажи мне, разработчик говна, почему у вас в щиты СПОКОЙНО ставится аттрибут?

на тебе пруф, дерево ебучее:
package l2s.game.network.clientpackets;

import l2s.Config;
import l2s.game.cache.Msg;
import l2s.game.model.Elementals;
import l2s.game.model.actor.L2Player;
import l2s.game.model.instances.L2ItemInstance;
import l2s.game.model.items.PcInventory;
import l2s.game.network.serverpackets.ExAttributeEnchantResult;
import l2s.game.network.serverpackets.InventoryUpdate;
import l2s.game.network.serverpackets.SystemMessage;
import l2s.game.templates.L2Item;
import l2s.util.Log;
import l2s.util.Logs;
import l2s.util.Rnd;
import l2s.util.Util;

public class RequestEnchantItemAttribute extends AbstractEnchantPacket
{
private final static String _C__5F_REQUESTENCHANTITEM = "[C] 5F RequestEnchantItem";
// Format: chd
private int _objectId;


public void readImpl()
{
_objectId = readD();
}


public void runImpl()
{
final L2Player activeChar = getClient().getActiveChar();
if(activeChar == null)
return;

if(activeChar.isOutOfControl() || activeChar.isActionsDisabled())
{
activeChar.sendActionFailed();
return;
}

if(_objectId == 0xFFFFFFFF)
{
activeChar.sendPacket(new SystemMessage(SystemMessage.ELEMENTAL_POWER_ENCHANCER_USAGE_HAS_BEEN_CANCELLED));
activeChar.setActiveEnchantAttrItem(null);
return;
}

if(activeChar.getPrivateStoreType() != L2Player.STORE_PRIVATE_NONE)
{
activeChar.sendPacket(Msg.YOU_CANNOT_ADD_ELEMENTAL_POWER_WHILE_OPERATING_A_PRIVATE_STORE_OR_PRIVATE_WORKSHOP);
activeChar.setActiveEnchantAttrItem(null);
return;
}

final PcInventory inventory = activeChar.getInventory();
final L2ItemInstance itemToEnchant = inventory.getItemByObjectId(_objectId);
L2ItemInstance stone = activeChar.getActiveEnchantAttrItem();
activeChar.setActiveEnchantAttrItem(null);

if(itemToEnchant == null || stone == null)
{
activeChar.sendActionFailed();
return;
}

final L2Item item = itemToEnchant.getItem();

Log.add(activeChar.getName() + "|Trying to attribute enchant|" + itemToEnchant.getItemId() + "|" + itemToEnchant.getObjectId(), "enchants");
Logs.LogEvent(activeChar.getName(), activeChar.getIP(), "EnchantItem_Attribute", new String[] { "Trying to attribute enchant:", "item: " + itemToEnchant.getItemId() + " enchants : " + itemToEnchant.getObjectId() });

if(!isEnchantable(itemToEnchant, true) || itemToEnchant.getItem().getCrystalType().cry < L2Item.CRYSTAL_S)
{
activeChar.sendPacket(Msg.INAPPROPRIATE_ENCHANT_CONDITIONS, Msg.ActionFail);
return;
}

if(itemToEnchant.isWear() || itemToEnchant.isStackable() || (stone = inventory.getItemByObjectId(stone.getObjectId())) == null)
{
activeChar.sendPacket(Msg.INAPPROPRIATE_ENCHANT_CONDITIONS, Msg.ActionFail);
return;
}

// can't enchant rods, shadow items, adventurers', PvP items, hero items, cloaks, bracelets, underwear (e.g. shirt), belt, necklace, earring, ring
if(item.isUnderwear() || item.isCloak() || item.isBracelet() || item.isBelt() || item.isAccessory())
{
activeChar.sendPacket(Msg.INAPPROPRIATE_ENCHANT_CONDITIONS, Msg.ActionFail);
return;
}
if (!Config.ENCHANTELEMENT_CAN_PVP && item.isPvP() || activeChar.isAttackingNow() || activeChar.isCastingNow())
{
activeChar.sendPacket(Msg.INAPPROPRIATE_ENCHANT_CONDITIONS, Msg.ActionFail);
return;
}
switch (itemToEnchant.getLocation())
{
case INVENTORY:
case PAPERDOLL:
{
// Запрет на заточку чужих вещей, баг может вылезти на серверных лагах
if(itemToEnchant.getOwnerId() != activeChar.getObjectId())
{
activeChar.sendPacket(Msg.INAPPROPRIATE_ENCHANT_CONDITIONS, Msg.ActionFail);
activeChar.sendActionFailed();
return;
}
break;
}
default:
{
Util.handleIllegalPlayerAction(activeChar, "RequestEnchantItemAttribute", "tried to use enchant Exploit!", Config.DEFAULT_PUNISH);
return;
}
}

// ********************* Конец проверок ***************** //

final int stoneId = stone.getItemId();
final Elementals oldElement = itemToEnchant.getElementals();
final int elementValue = oldElement == null ? 0 : oldElement.getValue();
final int limit = getLimit(stoneId, itemToEnchant);
int powerToAdd = getPowerToAdd(stoneId, elementValue, itemToEnchant);
byte elementToAdd = getElementFromItemId(stoneId);

// Armors have the opposite element
if(item.isArmor())
elementToAdd = Elementals.getOppositeElement(elementToAdd);

int newPower = elementValue + powerToAdd;
if(newPower > limit)
{
newPower = limit;
powerToAdd = limit - elementValue;
}

if(oldElement != null && oldElement.getElement() != elementToAdd && oldElement.getElement() != Elementals.ATTRIBUTE_NONE)
{
activeChar.sendPacket(Msg.ANOTHER_ELEMENTAL_POWER_HAS_ALREADY_BEEN_ADDED_THIS_ELEMENTAL_POWER_CANNOT_BE_ADDED, Msg.ActionFail);
return;
}

if(powerToAdd <= 0)
{
activeChar.sendPacket(Msg.ELEMENTAL_POWER_ENCHANCER_USAGE_HAS_BEEN_CANCELLED, Msg.ActionFail);
return;
}

L2ItemInstance removedStone;
synchronized (inventory)
{
removedStone = inventory.destroyItem(stone.getObjectId(), 1, true);
}

if(removedStone == null)
{
Util.handleIllegalPlayerAction(activeChar, "RequestEnchantItemAttribute", "tried to attribute enchant with a stone he doesn't have", Config.DEFAULT_PUNISH);
activeChar.sendPacket(ExAttributeEnchantResult.FAIL, Msg.ActionFail);
return;
}

if(Rnd.chance(Config.ENCHANT_ATTRIBUTE_CHANCE))
{
if(itemToEnchant.getAttributeElementValue() == 0)
{
final SystemMessage sm = new SystemMessage(SystemMessage.S2_ELEMENTAL_POWER_HAS_BEEN_ADDED_SUCCESSFULLY_TO_S1);
sm.addItemName(itemToEnchant.getItemId());
sm.addString(Elementals.getElementName(elementToAdd));
activeChar.sendPacket(sm);
}
else
{
final SystemMessage sm = new SystemMessage(SystemMessage.S3_ELEMENTAL_POWER_HAS_BEEN_ADDED_SUCCESSFULLY_TO__S1S2);
sm.addNumber(itemToEnchant.getAttributeElementValue());
sm.addItemName(itemToEnchant.getItemId());
sm.addString(Elementals.getElementName(elementToAdd));
activeChar.sendPacket(sm);
}

boolean equipped = false;
if(equipped = itemToEnchant.isEquipped())
{
activeChar.getInventory().setRefreshingListeners(true);
activeChar.getInventory().unEquipItem(itemToEnchant);
}

itemToEnchant.setAttributeElement(elementToAdd, newPower, true);

if(equipped)
{
activeChar.getInventory().equipItem(itemToEnchant, false);
activeChar.getInventory().setRefreshingListeners(false);
}

activeChar.sendPacket(new InventoryUpdate(itemToEnchant, L2ItemInstance.MODIFIED));
activeChar.sendPacket(new ExAttributeEnchantResult(powerToAdd));

Log.add(activeChar.getName() + "|Successfully enchanted by attribute|" + itemToEnchant.getItemId() + "|to+" + itemToEnchant.getAttributeElementValue() + "|" + Config.ENCHANT_ATTRIBUTE_CHANCE, "enchants");
Log.LogItem(activeChar, Log.EnchantItem, itemToEnchant);
Logs.LogEvent(activeChar.getName(), activeChar.getIP(), "EnchantItem_Attribute", new String[] { "Trying to attribute enchant:", "item: " + itemToEnchant.getItemId() + " enchants : " + itemToEnchant.getAttributeElementValue()+ "|" + Config.ENCHANT_ATTRIBUTE_CHANCE, "enchants" });

}
else
{
activeChar.sendPacket(new SystemMessage(SystemMessage.YOU_HAVE_FAILED_TO_ADD_ELEMENTAL_POWER));
Log.add(activeChar.getName() + "|Failed to enchant attribute|" + itemToEnchant.getItemId() + "|+" + itemToEnchant.getAttributeElementValue() + "|" + Config.ENCHANT_ATTRIBUTE_CHANCE, "enchants");
Logs.LogEvent(activeChar.getName(), activeChar.getIP(), "EnchantItem_Attribute", new String[] { "Failed to enchant attribute:", "item: " + itemToEnchant.getItemId() + " enchants : " + itemToEnchant.getAttributeElementValue()+ "|" + Config.ENCHANT_ATTRIBUTE_CHANCE, "enchants" });

}

activeChar.setActiveEnchantAttrItem(null);
activeChar.updateStats();
}

private byte getElementFromItemId(final int itemId)
{
byte element = 0;
for(final int id : Elementals.STONES)
{
if(id == itemId)
return element;
element++;
}
element = 0;
for(final int id : Elementals.CRYSTALS)
{
if(id == itemId)
return element;
element++;
}
element = 0;
for(final int id : Elementals.JEWELS)
{
if(id == itemId)
return element;
element++;
}
element = 0;
for(final int id : Elementals.ENERGIES)
{
if(id == itemId)
return element;
element++;
}
element = 0;
for(final int id : Elementals.ROUGHORES)
{
if(id == itemId)
return element;
element++;
}
return -2;
}

private int getLimit(final int itemId, final L2ItemInstance item)
{
for(final int id : Elementals.STONES)
if(id == itemId)
{
if(item.isWeapon())
return Elementals.WEAPON_VALUES[3];
return Elementals.ARMOR_VALUES[3];
}
for(final int id : Elementals.ROUGHORES)
if(id == itemId)
{
if(item.isWeapon())
return Elementals.WEAPON_VALUES[3];
return Elementals.ARMOR_VALUES[3];
}
for(final int id : Elementals.CRYSTALS)
if(id == itemId)
{
if(item.isWeapon())
return Elementals.WEAPON_VALUES[6];
return Elementals.ARMOR_VALUES[6];
}
for(final int id : Elementals.JEWELS)
if(id == itemId)
{
if(item.isWeapon())
return Elementals.WEAPON_VALUES[9];
return Elementals.ARMOR_VALUES[9];
}
for(final int id : Elementals.ENERGIES)
if(id == itemId)
{
if(item.isWeapon())
return Elementals.WEAPON_VALUES[12];
return Elementals.ARMOR_VALUES[12];
}
return 0;
}

private int getPowerToAdd(final int stoneId, final int oldValue, final L2ItemInstance item)
{
boolean stone = false;
for(final int id : Elementals.ALL_MODIFERS)
{
if(id != stoneId)
continue;
stone = true;
break;
}

if(stone)
if(item.isWeapon())
{
if(oldValue == 0)
return Config.ENCHANT_ATTRIBUTE_FIRST_WEAPON_BONUS;
else
return Config.ENCHANT_ATTRIBUTE_WEAPON_BONUS;
}
else if(item.isArmor())
return Config.ENCHANT_ATTRIBUTE_ARMOR_BONUS;

return 0;
}


public String getType()
{
return _C__5F_REQUESTENCHANTITEM;
}
}
перец могешь качай далее сурсы с форумов , повторяю я тебе поднимаю сборку ты делаешь то что указал выше если нет ты тупая овца и балаболка ! которую надо лишыть как минимум лычек а вообще как бы не выпилить с форума наркомана ходячего
 
Обратите внимание, что данный пользователь заблокирован! Не совершайте с ним никаких сделок! Перейдите в его профиль, чтобы узнать причину блокировки.
перец могешь качай далее сурсы с форумов , повторяю я тебе поднимаю сборку ты делаешь то что указал выше если нет ты тупая овца и балаболка ! которую надо лишыть как минимум лычек а вообще как бы не выпилить с форума наркомана ходячего

а вообще пидарилка расскажи за что выданы тебе лычки по форуму 0 инфы за что выдано
 
Статус
В этой теме нельзя размещать новые ответы.
Назад
Сверху Снизу