Ивент Rabbits To Riches

BadStealth

Величайший
Местный
Победитель в номинации 2023
Победитель в номинации 2022
Победитель в номинации 2021
Победитель в номинации 2020
Просветитель
Клиент разработчик
Старожил I степени
Преподаватель
За веру и верность форуму
Победитель в номинации 2019
Сообщения
309
Розыгрыши
0
Репутация
429
Реакции
595
Баллы
1 573
Ребят в общем делаю ивент RabbitsToRiches. по аналогии с другой сборки.
Вот код спавна ивентовых сундуков.
Код:
   private static final int _hiddenChest = 13097;
   private static final int _hiddenChestRespawnDelay = 30;
    private static final int _hiddenChestLocs[][] = {
        { 720001,  4 },
        { 720002,  4 },
        { 720003, 10 },
        { 720004, 10 } };
Код:
    private void spawnChests()
    {
        L2NpcTemplate template = NpcTable.getTemplate(_hiddenChest);
        if (template == null)
        {
            _log.warning("WARNING! Template is null for npc: " + _hiddenChest);
            Thread.dumpStack();
            return;
        }
        for (int[] loc : _hiddenChestLocs)
            for (int i = 0; i < loc[1]; i++)
                try
                {
                    L2Spawn spawn = new L2Spawn(template);
                    spawn.setLocation(loc[0]);
                    spawn.setAmount(1);
                    spawn.setRespawnDelay(_hiddenChestRespawnDelay);
                    spawn.startRespawn();
                    L2NpcInstance npc = spawn.doSpawn(true);
//                    npc.setAI(new HiddenChestAI(npc));
                }
                catch(ClassNotFoundException e)
                {
                    e.printStackTrace();
                }
    }
И вот при запуске сервера выползают такие вот ошибки. Типа зона не найдена.
Вопрос в следующем- где прописать эти зоны? Должны быть на Острове Грез.
Код:
21:04:25.113  TerritoryTable.getRandomPoint: territory 720001 not found.
21:04:25.113  TerritoryTable.getRandomPoint: territory 720001 not found.
21:04:25.113  TerritoryTable.getRandomPoint: territory 720001 not found.
21:04:25.114  TerritoryTable.getRandomPoint: territory 720001 not found.
21:04:25.114  TerritoryTable.getRandomPoint: territory 720002 not found.
21:04:25.114  TerritoryTable.getRandomPoint: territory 720002 not found.
21:04:25.115  TerritoryTable.getRandomPoint: territory 720002 not found.
21:04:25.115  TerritoryTable.getRandomPoint: territory 720002 not found.
21:04:25.115  TerritoryTable.getRandomPoint: territory 720003 not found.
21:04:25.116  TerritoryTable.getRandomPoint: territory 720003 not found.
21:04:25.116  TerritoryTable.getRandomPoint: territory 720003 not found.
21:04:25.116  TerritoryTable.getRandomPoint: territory 720003 not found.
21:04:25.117  TerritoryTable.getRandomPoint: territory 720003 not found.
21:04:25.117  TerritoryTable.getRandomPoint: territory 720003 not found.
21:04:25.117  TerritoryTable.getRandomPoint: territory 720003 not found.
21:04:25.118  TerritoryTable.getRandomPoint: territory 720003 not found.
21:04:25.118  TerritoryTable.getRandomPoint: territory 720003 not found.
21:04:25.118  TerritoryTable.getRandomPoint: territory 720003 not found.
21:04:25.118  TerritoryTable.getRandomPoint: territory 720004 not found.
21:04:25.119  TerritoryTable.getRandomPoint: territory 720004 not found.
21:04:25.120  TerritoryTable.getRandomPoint: territory 720004 not found.
21:04:25.120  TerritoryTable.getRandomPoint: territory 720004 not found.
21:04:25.120  TerritoryTable.getRandomPoint: territory 720004 not found.
21:04:25.121  TerritoryTable.getRandomPoint: territory 720004 not found.
21:04:25.121  TerritoryTable.getRandomPoint: territory 720004 not found.
21:04:25.122  TerritoryTable.getRandomPoint: territory 720004 not found.
21:04:25.122  TerritoryTable.getRandomPoint: territory 720004 not found.
21:04:25.122  TerritoryTable.getRandomPoint: territory 720004 not found.
 
Обратите внимание, что данный пользователь заблокирован! Не совершайте с ним никаких сделок! Перейдите в его профиль, чтобы узнать причину блокировки.
Ребят в общем делаю ивент RabbitsToRiches. по аналогии с другой сборки.
Вот код спавна ивентовых сундуков.
Код:
   private static final int _hiddenChest = 13097;
   private static final int _hiddenChestRespawnDelay = 30;
    private static final int _hiddenChestLocs[][] = {
        { 720001,  4 },
        { 720002,  4 },
        { 720003, 10 },
        { 720004, 10 } };
Код:
    private void spawnChests()
    {
        L2NpcTemplate template = NpcTable.getTemplate(_hiddenChest);
        if (template == null)
        {
            _log.warning("WARNING! Template is null for npc: " + _hiddenChest);
            Thread.dumpStack();
            return;
        }
        for (int[] loc : _hiddenChestLocs)
            for (int i = 0; i < loc[1]; i++)
                try
                {
                    L2Spawn spawn = new L2Spawn(template);
                    spawn.setLocation(loc[0]);
                    spawn.setAmount(1);
                    spawn.setRespawnDelay(_hiddenChestRespawnDelay);
                    spawn.startRespawn();
                    L2NpcInstance npc = spawn.doSpawn(true);
//                    npc.setAI(new HiddenChestAI(npc));
                }
                catch(ClassNotFoundException e)
                {
                    e.printStackTrace();
                }
    }
И вот при запуске сервера выползают такие вот ошибки. Типа зона не найдена.
Вопрос в следующем- где прописать эти зоны? Должны быть на Острове Грез.
Код:
21:04:25.113  TerritoryTable.getRandomPoint: territory 720001 not found.
21:04:25.113  TerritoryTable.getRandomPoint: territory 720001 not found.
21:04:25.113  TerritoryTable.getRandomPoint: territory 720001 not found.
21:04:25.114  TerritoryTable.getRandomPoint: territory 720001 not found.
21:04:25.114  TerritoryTable.getRandomPoint: territory 720002 not found.
21:04:25.114  TerritoryTable.getRandomPoint: territory 720002 not found.
21:04:25.115  TerritoryTable.getRandomPoint: territory 720002 not found.
21:04:25.115  TerritoryTable.getRandomPoint: territory 720002 not found.
21:04:25.115  TerritoryTable.getRandomPoint: territory 720003 not found.
21:04:25.116  TerritoryTable.getRandomPoint: territory 720003 not found.
21:04:25.116  TerritoryTable.getRandomPoint: territory 720003 not found.
21:04:25.116  TerritoryTable.getRandomPoint: territory 720003 not found.
21:04:25.117  TerritoryTable.getRandomPoint: territory 720003 not found.
21:04:25.117  TerritoryTable.getRandomPoint: territory 720003 not found.
21:04:25.117  TerritoryTable.getRandomPoint: territory 720003 not found.
21:04:25.118  TerritoryTable.getRandomPoint: territory 720003 not found.
21:04:25.118  TerritoryTable.getRandomPoint: territory 720003 not found.
21:04:25.118  TerritoryTable.getRandomPoint: territory 720003 not found.
21:04:25.118  TerritoryTable.getRandomPoint: territory 720004 not found.
21:04:25.119  TerritoryTable.getRandomPoint: territory 720004 not found.
21:04:25.120  TerritoryTable.getRandomPoint: territory 720004 not found.
21:04:25.120  TerritoryTable.getRandomPoint: territory 720004 not found.
21:04:25.120  TerritoryTable.getRandomPoint: territory 720004 not found.
21:04:25.121  TerritoryTable.getRandomPoint: territory 720004 not found.
21:04:25.121  TerritoryTable.getRandomPoint: territory 720004 not found.
21:04:25.122  TerritoryTable.getRandomPoint: territory 720004 not found.
21:04:25.122  TerritoryTable.getRandomPoint: territory 720004 not found.
21:04:25.122  TerritoryTable.getRandomPoint: territory 720004 not found.
посмотри как тут сделан.
 

Вложения

  • RabbitsToRiches.rar
    5,8 КБ · Просмотры: 46
Описываешь территорию и все.
Как конкретно - зависит от сборки. в выше приведенной реализации для феникса, территории описывались в бд, в отдельной таблице.
Для овера придется описать в хмлках спавнов, ну и сам метод спавна сундуков переписать.
 
Вы можете скинуть таблицу locations для БД. С этой сборки и еще файлик npc/model/EventChestInstance.java?
Или если сборочка была шарная то можно ссылочку на нее?
 
Последнее редактирование:
Описываешь территорию и все.
Как конкретно - зависит от сборки. в выше приведенной реализации для феникса, территории описывались в бд, в отдельной таблице.
Для овера придется описать в хмлках спавнов, ну и сам метод спавна сундуков переписать.
Gaikotsu я с ваших ивентов пытаюсь адаптировать. Вы можете скинуть таблицу locations и файлик EventChestInstance.java ?
Буду очень признателен!
 
Код:
INSERT INTO `locations` (`loc_id`, `name`, `loc_x`, `loc_y`, `loc_zmin`, `loc_zmax`, `radius`) VALUES
(720001, 'rabbits_to_riches', -76662, -77593, -4696, 3304, 0),
(720001, 'rabbits_to_riches', -65536, -77344, -4696, 3304, 0),
(720001, 'rabbits_to_riches', -65536, -65536, -4696, 3304, 0),
(720001, 'rabbits_to_riches', -81410, -65536, -4696, 3304, 0),
(720002, 'rabbits_to_riches', -51267, -78666, -4696, 3304, 0),
(720002, 'rabbits_to_riches', -44978, -75445, -4696, 3304, 0),
(720002, 'rabbits_to_riches', -44281, -65536, -4696, 3304, 0),
(720002, 'rabbits_to_riches', -65536, -65536, -4696, 3304, 0),
(720002, 'rabbits_to_riches', -65536, -72713, -4696, 3304, 0),
(720003, 'rabbits_to_riches', -83544, -65536, -4696, 3304, 0),
(720003, 'rabbits_to_riches', -65536, -65536, -4696, 3304, 0),
(720003, 'rabbits_to_riches', -65536, -41699, -4696, 3304, 0),
(720003, 'rabbits_to_riches', -80543, -39424, -4696, 3304, 0),
(720003, 'rabbits_to_riches', -91856, -41776, -4696, 3304, 0),
(720003, 'rabbits_to_riches', -92099, -53834, -4696, 3304, 0),
(720004, 'rabbits_to_riches', -65536, -65536, -4696, 3304, 0),
(720004, 'rabbits_to_riches', -43060, -65536, -4696, 3304, 0),
(720004, 'rabbits_to_riches', -44899, -44178, -4696, 3304, 0),
(720004, 'rabbits_to_riches', -65536, -43068, -4696, 3304, 0);
Код:
package npc.model;

import l2p.gameserver.model.L2Character;
import l2p.gameserver.model.L2Player;
import l2p.gameserver.model.L2Skill;
import l2p.gameserver.model.instances.L2NpcInstance;
import l2p.gameserver.templates.L2NpcTemplate;

/**
* Используется сундуками в эвентах Trick of Transmutation и Rabbits to Riches
* @author Gaikotsu
*/
public class EventChestInstance extends L2NpcInstance
{
    public EventChestInstance(int objectId, L2NpcTemplate template)
    {
        super(objectId, template);
    }

    @Override
    public synchronized void startRegeneration()
    {}

    @Override
    public void reduceCurrentHp(double i, double fullDamage, L2Character attacker, L2Skill skill, boolean awake, boolean standUp, boolean directHp, boolean canReflect, boolean lethal, boolean canTrigger, boolean canPvPFlag)
    {}
  
    @Override
    public boolean isAutoAttackable(L2Character attacker)
    {
        return true;
    }

    @Override
    public void showChatWindow(L2Player player, int val)
    {}

    @Override
    public boolean isInvul()
    {
        return false;
    }

    @Override
    public boolean isMovementDisabled()
    {
        return true;
    }

    @Override
    public boolean isLethalImmune()
    {
        return true;
    }

    @Override
    public boolean isFearImmune()
    {
        return true;
    }

    @Override
    public boolean isParalyzeImmune()
    {
        return true;
    }

}
З.Ы. сборка не шарная была - мы сами ее в свое время апали с грации до хф. и выкладывать ее не буду - шеф не разрешит.
 
  • Мне нравится
Реакции: kick
З.Ы. сборка не шарная была - мы сами ее в свое время апали с грации до хф. и выкладывать ее не буду - шеф не разрешит.
Да мне главное нужны были локации. СПС огромное. Ивент уже работает- вот только все дело было в локах.
А вот вопрос - при использовании скила Взгляд Кролика- нивидимые сундуки должны подсвечиваться на расстоянии? Ато их вообще не видно.
 
насколько помню сундуки эти модели не имеют, точнее имеют невидимую модель и "видя" использование определенного скилла, уже они спавнят сундуки которые можно открыть.
 
  • Мне нравится
Реакции: kick
насколько помню сундуки эти модели не имеют, точнее имеют невидимую модель и "видя" использование определенного скилла, уже они спавнят сундуки которые можно открыть.
ППЦ так можно год бегать и сундук не найти. Я им 1 локу прописал так они скопом появлялись в 1 месте. Проверял- Спавняться, затем из них появляются по 3 сундука- тоже нормально открываются. Я вот кажись припоминаю что на офф при использовании скила эти сундуки подсвечивались ненадолго- чтобы можно было хоть как-то найти. Ну лан если так должно быть значит так и будет. СПС еще раз.
 
хз, у нас игроки никаких особых затруднений с поиском не испытывали
учитывая количество этих сундуков на территории - почти всегда хоть один да удавалось зацепить - все же зависит от того, какой радиус воздействия скиллу сделаешь.
 
  • Мне нравится
Реакции: kick
У меня сундуки спавнятся но не открываются- такое ощущение что они так на верху и висят.
 
ну дык проверяй - реагируют ли на скилл нужный и все такое
 
ну дык проверяй - реагируют ли на скилл нужный и все такое
На скил реагируют- но только если находятся в одной плоскости с игроком а если сундук чуть выше или ниже то не реагируют.
 
хм, ну это что-то уже с высотой действия скиллов чтоли у тебя...
 
Назад
Сверху Снизу