Перейти к содержанию
Авторизация  
artil94

Клик итем - вызов нпс (Buffer)

Рекомендуемые сообщения

Не помню на каком, играл сервере, и очень полезный итем был, который сложно было достать, но он был.

 

Как по названию вы уже поняли, если кликнуть по итему в сумке, вылазил Buffer на 10 секунд.

 

Кто что знает? Как сделать такое на Interlude?

 

 

Как вариант, можно создать ещё один предмет (горн) типа вызова того же дракончика, поменять ид на своего нпс, с этим нет проблем.

Но вопрос, как поменять диалоговое окно на диалоговое окно бафера, оно появляется как у питомца, скилы и т.п, и ограничить время использования?

Изменено пользователем artil94

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Интересная идея)

Может это что то по типу extractable_items где прописывать активные вещи, но как вызвать диалоговое окно...

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Возможен вариант вызова через скил, того же суммонера, но диалог окно остаётся пета.

Изменено пользователем artil94

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

ну вы и наркоманы..

привет с hellsing-world

 

package ru.catssoftware.gameserver.handler.itemhandlers;

import org.apache.log4j.Logger;
import ru.catssoftware.gameserver.ThreadPoolManager;
import ru.catssoftware.gameserver.datatables.NpcTable;
import ru.catssoftware.gameserver.handler.IItemHandler;
import ru.catssoftware.gameserver.idfactory.IdFactory;
import ru.catssoftware.gameserver.model.L2ItemInstance;
import ru.catssoftware.gameserver.model.actor.instance.L2NpcInstance;
import ru.catssoftware.gameserver.model.actor.instance.L2PcInstance;
import ru.catssoftware.gameserver.model.actor.instance.L2PlayableInstance;
import ru.catssoftware.gameserver.network.SystemMessageId;
import ru.catssoftware.gameserver.network.serverpackets.ActionFailed;
import ru.catssoftware.gameserver.templates.chars.L2NpcTemplate;
import ru.catssoftware.gameserver.util.FloodProtector;

public class SummonNPC implements IItemHandler
{
    protected static Logger _log = Logger.getLogger(SummonNPC.class.getName());

    private static final int[] ITEM_IDS = { 9556 };
    public void useItem(L2PlayableInstance playable, L2ItemInstance item, boolean par){}

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


    public void useItem(L2PlayableInstance playable, L2ItemInstance item)
    {
        L2PcInstance activeChar;
        activeChar = (L2PcInstance) playable;

        L2NpcTemplate template;
        template = NpcTable.getInstance().getTemplate(50001);
        if (activeChar.isInOlympiadMode())
        {
            activeChar.sendPacket(SystemMessageId.THIS_ITEM_IS_NOT_AVAILABLE_FOR_THE_OLYMPIAD_EVENT);
            return;
        }
        if(!FloodProtector.tryPerformAction(activeChar, FloodProtector.Protected.USE_TRASH))
        {
            activeChar.sendPacket(ActionFailed.STATIC_PACKET);
            return;
        }
        L2NpcInstance npc = new L2NpcInstance(IdFactory.getInstance().getNextId(), template);
        npc.setInstanceId(activeChar.getInstanceId());
        npc.setIsInvul(true);
        npc.setTitle(activeChar.getName());
        npc.setName("trash");
        npc.updateAbnormalEffect();
        npc.spawnMe(activeChar.getX(), activeChar.getY(), activeChar.getZ());

        ThreadPoolManager.getInstance().scheduleGeneral(new deleteNPC(npc), 60000);

    }

    public class deleteNPC implements Runnable
    {
        protected L2NpcInstance _npc;
        public void run(){_npc.deleteMe();}
        deleteNPC(L2NpcInstance npc){_npc = npc;}
    }
}

 

 

Изменено пользователем masone
  • Upvote 2

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Не помню на каком, играл сервере, и очень полезный итем был, который сложно было достать, но он был.

 

Как по названию вы уже поняли, если кликнуть по итему в сумке, вылазил Buffer на 10 секунд.

 

Кто что знает? Как сделать такое на Interlude?

 

 

Как вариант, можно создать ещё один предмет (горн) типа вызова того же дракончика, поменять ид на своего нпс, с этим нет проблем.

Но вопрос, как поменять диалоговое окно на диалоговое окно бафера, оно появляется как у питомца, скилы и т.п, и ограничить время использования?

Есть под пв, могу переписать под любую сборку: тык

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

если не хочется сильно лезть в скрипты, то можно сделать копию скилла вызова голема-торговца у гномов - сменив там ид вызваемого нпс и все такое.

не помню правда с каких хроник этот скилл у них появился.

Изменено пользователем Gaikotsu

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Для публикации сообщений создайте учётную запись или авторизуйтесь

Вы должны быть пользователем, чтобы оставить комментарий

Создать учетную запись

Зарегистрируйте новую учётную запись в нашем сообществе. Это очень просто!

Регистрация нового пользователя

Войти

Уже есть аккаунт? Войти в систему.

Войти
Авторизация  

  • Последние посетители   0 пользователей онлайн

    Ни одного зарегистрированного пользователя не просматривает данную страницу

×
×
  • Создать...