Рейтинг темы:
  • 1 Голос(ов) - 1 в среднем
  • 1
  • 2
  • 3
  • 4
  • 5
Breaking arrow
#1
Добрый день, в очередной раз обрашаюсь к вам за помошюWink перекинул аи фринтеззи себе в сборку, брал из фрозенов. всё настроил отличнно работает, но не работают стрелы, тоесть те которыми успокаивают фринтеззу, если отхожу на растояние по дальше пишет в чат The purpose is inaccessible на сколько понимаю ето типо слишком далеко от цели нахожусь, если подхожу поближе нажимая на итем воопше ничего не пишет и непроисходет. может у кого была такая проблема, буду благодарен за любую идею в решении проблемы
Ответ
#2
ковыряй сами итемы
СЕО Оптимизация сайтов
Ответ
#3
mar4ello24 Написал:Добрый день, в очередной раз обрашаюсь к вам за помошюWink перекинул аи фринтеззи себе в сборку, брал из фрозенов. всё настроил отличнно работает, но не работают стрелы, тоесть те которыми успокаивают фринтеззу, если отхожу на растояние по дальше пишет в чат The purpose is inaccessible на сколько понимаю ето типо слишком далеко от цели нахожусь, если подхожу поближе нажимая на итем воопше ничего не пишет и непроисходет. может у кого была такая проблема, буду благодарен за любую идею в решении проблемы

а в итемхандлерах стрела прописана?
Ответ
#4
да наверно разобрался, шяс буду пробовать компилить, небыло добавленно рефлект для фринтеззи от стрел

Добавлено через 2 часа 30 минут
не неполучилось, да в ядре есть сами стрелы, но не стреляют

Добавлено через 4 часа 54 минуты
собственно вот сам код:
Код:
public class BreakingArrow implements IItemHandler
{
    private static final int[] ITEM_IDS =
    {
        8192
    };

    //    private static final int INTERACTION_DISTANCE = 500; // Ненавижу РІРѕСЂРЅРёРЅРіРё!!!

    public void useItem(L2PlayableInstance playable, L2ItemInstance item)
    {
        int itemId = item.getItemId();
        if(!(playable instanceof L2PcInstance))
            return;
        L2PcInstance activeChar = (L2PcInstance) playable;
        L2Object target = activeChar.getTarget();
        if(!(target instanceof L2GrandBossInstance) || target == null)
        {
            activeChar.sendPacket(new SystemMessage(SystemMessageId.INCORRECT_TARGET));
            activeChar.sendPacket(ActionFailed.STATIC_PACKET);
            return;
        }
        L2GrandBossInstance Frintezza = (L2GrandBossInstance) target;
        if(!activeChar.isInsideRadius(Frintezza, 500, false, false))
        {
            activeChar.sendMessage("The purpose is inaccessible");
            activeChar.sendPacket(ActionFailed.STATIC_PACKET);
            return;
        }
        if(itemId == 8192 && Frintezza.getObjectId() == 29045)
        {
            Frintezza.broadcastPacket(new SocialAction(Frintezza.getObjectId(), 2));
            playable.destroyItem("Consume", item.getObjectId(), 1, null, false);
        }
    }

    public int[] getItemIds()
    {
        return ITEM_IDS;
    }
}

в итеминстанце тоже есть где ешё должно быть, может кто посмотрет как у вас устреонно, буду благодарен

скомпилил фрозенов, проверил и тут тоже не работает,( какие исходы взять что бы реализовать то?
Ответ
#5
Up может кто проверял на фрозенах ети стрелы отпишите плз, я уже не знаю что делать все исходы перелопатил
Ответ
#6
mar4ello24 Написал:да наверно разобрался, шяс буду пробовать компилить, небыло добавленно рефлект для фринтеззи от стрел

Добавлено через 2 часа 30 минут
не неполучилось, да в ядре есть сами стрелы, но не стреляют

Добавлено через 4 часа 54 минуты
собственно вот сам код:
Код:
public class BreakingArrow implements IItemHandler
{
    private static final int[] ITEM_IDS =
    {
        8192
    };

    //    private static final int INTERACTION_DISTANCE = 500; // Ненавижу РІРѕСЂРЅРёРЅРіРё!!!

    public void useItem(L2PlayableInstance playable, L2ItemInstance item)
    {
        int itemId = item.getItemId();
        if(!(playable instanceof L2PcInstance))
            return;
        L2PcInstance activeChar = (L2PcInstance) playable;
        L2Object target = activeChar.getTarget();
        if(!(target instanceof L2GrandBossInstance) || target == null)
        {
            activeChar.sendPacket(new SystemMessage(SystemMessageId.INCORRECT_TARGET));
            activeChar.sendPacket(ActionFailed.STATIC_PACKET);
            return;
        }
        L2GrandBossInstance Frintezza = (L2GrandBossInstance) target;
        if(!activeChar.isInsideRadius(Frintezza, 500, false, false))
        {
            activeChar.sendMessage("The purpose is inaccessible");
            activeChar.sendPacket(ActionFailed.STATIC_PACKET);
            return;
        }
        if(itemId == 8192 && Frintezza.getObjectId() == 29045)
        {
            Frintezza.broadcastPacket(new SocialAction(Frintezza.getObjectId(), 2));
            playable.destroyItem("Consume", item.getObjectId(), 1, null, false);
        }
    }

    public int[] getItemIds()
    {
        return ITEM_IDS;
    }
}

в итеминстанце тоже есть где ешё должно быть, может кто посмотрет как у вас устреонно, буду благодарен

скомпилил фрозенов, проверил и тут тоже не работает,( какие исходы взять что бы реализовать то?
Ну начнем с того, что скрипт у тебя запускается и этому свидетельствует это условие, значит все по идее не так уж и плохо.
if(!activeChar.isInsideRadius(Frintezza, 500, false, false))
{
activeChar.sendMessage("The purpose is inaccessible");
activeChar.sendPacket(ActionFailed.STATIC_PACKET);
return;
}
То есть, если ты находишся от фринтезы не в радиусе 500, тебе вылетает месаг.
Следующая проверка как видишь
if(itemId == 8192 && Frintezza.getObjectId() == 29045)
{
Frintezza.broadcastPacket(new SocialAction(Frintezza.getObjectId(), 2));
playable.destroyItem("Consume", item.getObjectId(), 1, null, false);
}
SocialAction(Frintezza.getObjectId(), 2)); Смотри, что делает это действие в AI фринтезы. Может лажа какая то. И вообще ID твоей фринтезы 29045?
Ответ
#7
mar4ello24 Написал:да наверно разобрался, шяс буду пробовать компилить, небыло добавленно рефлект для фринтеззи от стрел

Добавлено через 2 часа 30 минут
не неполучилось, да в ядре есть сами стрелы, но не стреляют

Добавлено через 4 часа 54 минуты
собственно вот сам код:
Код:
public class BreakingArrow implements IItemHandler
{
    private static final int[] ITEM_IDS =
    {
        8192
    };

    //    private static final int INTERACTION_DISTANCE = 500; // Ненавижу РІРѕСЂРЅРёРЅРіРё!!!

    public void useItem(L2PlayableInstance playable, L2ItemInstance item)
    {
        int itemId = item.getItemId();
        if(!(playable instanceof L2PcInstance))
            return;
        L2PcInstance activeChar = (L2PcInstance) playable;
        L2Object target = activeChar.getTarget();
        if(!(target instanceof L2GrandBossInstance) || target == null)
        {
            activeChar.sendPacket(new SystemMessage(SystemMessageId.INCORRECT_TARGET));
            activeChar.sendPacket(ActionFailed.STATIC_PACKET);
            return;
        }
        L2GrandBossInstance Frintezza = (L2GrandBossInstance) target;
        if(!activeChar.isInsideRadius(Frintezza, 500, false, false))
        {
            activeChar.sendMessage("The purpose is inaccessible");
            activeChar.sendPacket(ActionFailed.STATIC_PACKET);
            return;
        }
        if(itemId == 8192 && Frintezza.getObjectId() == 29045)
        {
            Frintezza.broadcastPacket(new SocialAction(Frintezza.getObjectId(), 2));
            playable.destroyItem("Consume", item.getObjectId(), 1, null, false);
        }
    }

    public int[] getItemIds()
    {
        return ITEM_IDS;
    }
}

в итеминстанце тоже есть где ешё должно быть, может кто посмотрет как у вас устреонно, буду благодарен

скомпилил фрозенов, проверил и тут тоже не работает,( какие исходы взять что бы реализовать то?

ошибка ваша вот в этом месте:

Цитата:if(itemId == 8192 && Frintezza.getObjectId() == 29045)
вы берете ИДобьекта и сравниваете с ИД НПСа...
getObjectId замените на getNpcId и тогда будет все хорошо)
open-team.ru - Freya, HighFive...
Ответ
#8
пусть будет всем хорошо Smile
Ответ
#9
ааа ну мужик:+25 Duals: , use итема идёт, шяс буду крутить скилл и ефект выстрелаSmile спасибо тебе огромное выручил
Ответ


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


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