Рейтинг темы:
  • 0 Голос(ов) - 0 в среднем
  • 1
  • 2
  • 3
  • 4
  • 5
Spawn в Reflection'е . Как сделать?
#1
Всем привет. Исходники - эпилог, l2p.
В общем появилось желание сделать не большой данж из эпидоса. За основу взял закена. В л2п подобных исходах спавн в рефлекшене сделан через xml, т.е. там указываешь id отражения и id моба с локацией. Так вот, взял я значит кролика (25604, при убийстве которого запускается эпидос сам) и прописал в xml, все отлично, кролик появляется в отражении, после смерти запускает эпидоса, но сам эпидос стартует уже не в отражении, а в обычном своем месте, и как следствие - персонаж остается в отражении, а споры ползти начинуют по стандарту без отражения)
Как заставить спавнить этих спор именно в том отражении, где был убит кролик?
Аи кролика слишком простое:
АИ elpy

А вот сам tryStartEpidos:

спойлер

На сколько я понял ,мне нужно ковырять sporesSpawn :
спойлер

Сделал в ReflectionTable новое отражение - EPIDOS, когда делал сам данж на основе закена, пытался в спавне добавить :
spawn.setReflection(ReflectionTable.EPIDOS);
но без результатно. Подскажите, как передать от элпи (кролика) отражение, в котором он находится и как потом заспавнить эти споры в этом же отражении? Буду очень благодарен.
Ответ
#2
пример метода
Код:
    public static NpcInstance spawnNpc(int npcId, Location loc, Reflection reflection, long despawnTime)
    {
        NpcTemplate template = NpcHolder.getInstance().getTemplate(npcId);

        if (template == null)
            throw new NullPointerException("Npc template id : " + npcId + " not found!");

        NpcInstance npc = template.getNewInstance();
        npc.setHeading(loc.h < 0 ? Rnd.get(0xFFFF) : loc.h);
        npc.setSpawnedLoc(loc);
        npc.setReflection(reflection);
        npc.setCurrentHpMp(npc.getMaxHp(), npc.getMaxMp(), true);
        npc.spawnMe(npc.getSpawnedLoc());

        if (despawnTime > 0)
            ThreadPoolManager.getInstance().schedule(new GameObjectTasks.DeleteTask(npc), despawnTime);

        return npc;
    }
пример использования
Код:
NpcInstance newNpc = spawnNpc(newNpcId, elpy.getLoc(), elpy.getReflection(), 0L);
код для овера, но переделать под чистый феникс не проблема - так, несколько классов переименовать.
Ответ


Возможно похожие темы ...
Тема Автор Ответы Просмотры Последний пост
  Как сделать краски на 3 профе ? knaif 0 1,216 11-22-2017, 05:04 PM
Последний пост: knaif
  Помогите сделать аук 01g 0 1,428 03-20-2017, 01:49 PM
Последний пост: 01g
  как сделать нпс продавающего скилы со всех классов??? aaansideee 3 2,364 10-09-2016, 02:27 AM
Последний пост: JoeSilence
  Как сделать один сервер много раз Hett 5 1,658 07-20-2016, 09:12 AM
Последний пост: Hett
  Spawn в клиенте Andro 3 1,177 11-21-2015, 08:33 PM
Последний пост: Donatte
  Random spawn ELFMAN 3 1,648 10-31-2015, 01:13 PM
Последний пост: Gaikotsu
  Как сделать рестарт на сервере ? PUMAPS 9 25,318 08-14-2015, 08:42 PM
Последний пост: gorodetskiy
  Нужна помощь!Как сделать статус дворянина при страте? BRODYAGGA 4 1,716 01-23-2015, 06:55 PM
Последний пост: Influence
  Как сделать перерождения? AS_YAMMY 3 1,730 11-07-2014, 07:37 PM
Последний пост: AS_YAMMY
  Spawn [Help!] Snowball1 7 2,017 11-01-2014, 09:56 PM
Последний пост: Snowball1

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


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