Рейтинг темы:
  • 0 Голос(ов) - 0 в среднем
  • 1
  • 2
  • 3
  • 4
  • 5
Не убиваемые NPC
#1
Приветствую

Есть проблема - NPC в городах убивают саммонами, где нужно выставить правило что бы при атаке проверялся таргет?

Файл gameserver/model/L2Summon.java в функциях onAction и onUseCast выставил такой код:
Код:
        // Check if the target is Undead NPC
        if (player.getTarget() instanceof L2NpcInstance && ((L2NpcInstance) player.getTarget()).isUndead()){
            sendPacket(new ActionFailed());
            return;
        }
Эффекта нет. Почему?

Добавлено через 10 часов 28 минут
Совсем никто не поможет?
Никогда не поверю, что никто с этим не сталкивался.
Классический Interlude PvP сервер http://akamanah.ru/
Ответ
#2
SunnyX Написал:Приветствую

Есть проблема - NPC в городах убивают саммонами, где нужно выставить правило что бы при атаке проверялся таргет?

Файл gameserver/model/L2Summon.java в функциях onAction и onUseCast выставил такой код:
Код:
        // Check if the target is Undead NPC
        if (player.getTarget() instanceof L2NpcInstance && ((L2NpcInstance) player.getTarget()).isUndead()){
            sendPacket(new ActionFailed());
            return;
        }
Эффекта нет. Почему?

Добавлено через 10 часов 28 минут
Совсем никто не поможет?
Никогда не поверю, что никто с этим не сталкивался.


метод isUndead() возращает тру, если нпц нежись(если не ошибаюсь)
Ответ
#3
VISTALL Написал:метод isUndead() возращает тру, если нпц нежись(если не ошибаюсь)
Какой смысл в этом? Есть множество типов - ангелы, гуманойды, андеады и т.п., смысл выносить отдельно? Поискал по исходникам - этот код (isUndead) практически нигде не проверяется.
Классический Interlude PvP сервер http://akamanah.ru/
Ответ
#4
SunnyX Написал:Приветствую

Есть проблема - NPC в городах убивают саммонами, где нужно выставить правило что бы при атаке проверялся таргет?

Файл gameserver/model/L2Summon.java в функциях onAction и onUseCast выставил такой код:
Код:
        // Check if the target is Undead NPC
        if (player.getTarget() instanceof L2NpcInstance && ((L2NpcInstance) player.getTarget()).isUndead()){
            sendPacket(new ActionFailed());
            return;
        }
Эффекта нет. Почему?

Добавлено через 10 часов 28 минут
Совсем никто не поможет?
Никогда не поверю, что никто с этим не сталкивался.

onAction - метод, который вызывается при двойном нажатии на Пета.
Что бы запретить атаку петом НПЦ (именно физическую атаку, не скилом) правь RequestActionUse.
Ответ


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


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