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

Gameserver

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

Всем привет, ребят такая проблема! видел где то тут на форуме эту проблему гдет 2015году но не нашел ни какого ответа! 

проблема такая, при ударе по мобу выдает такую ошибкуи у моба хп не уходит! подскажите где это исправить, зарание спасибо

 

java.lang.NullPointerException
        at ru.catssoftware.gameserver.model.actor.status.CharStatus.reduceHp0(Ch
arStatus.java:278)
        at ru.catssoftware.gameserver.model.actor.status.NpcStatus.reduceHp0(Npc
Status.java:32)
        at ru.catssoftware.gameserver.model.actor.status.CharStatus.reduceHp(Cha
rStatus.java:248)
        at ru.catssoftware.gameserver.model.L2Character.reduceCurrentHp(L2Charac
ter.java:5562)
        at ru.catssoftware.gameserver.model.L2Attackable.reduceCurrentHp(L2Attac
kable.java:474)
        at ru.catssoftware.gameserver.model.L2Character.reduceCurrentHp(L2Charac
ter.java:5544)
        at ru.catssoftware.gameserver.model.L2Character.onHitTimer(L2Character.j
ava:4179)
        at ru.catssoftware.gameserver.model.L2Character$HitTask.runImpl(L2Charac
ter.java:2466)
        at ru.catssoftware.lang.RunnableImpl.run(RunnableImpl.java:16)
        at java.util.concurrent.Executors$RunnableAdapter.call(Unknown Source)
        at java.util.concurrent.FutureTask.run(Unknown Source)
        at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.
access$201(Unknown Source)
        at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.
run(Unknown Source)
        at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source)
        at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
        at java.lang.Thread.run(Unknown Source)

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


Ссылка на сообщение
Поделиться на другие сайты
3 минуты назад, Demoncool сказал:

CharStatus

278 строка

if ((getActiveChar().isPlayer() && attacker.isPlayer() || Config.ALT_OLY_INCLUDE_SUMMON_DAMAGE) && player.isInOlympiadMode() && attackerPlayer.isInOlympiadMode())

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


Ссылка на сообщение
Поделиться на другие сайты
1 час назад, MrBishop сказал:

if ((getActiveChar().isPlayer() && attacker.isPlayer() || Config.ALT_OLY_INCLUDE_SUMMON_DAMAGE) && player.isInOlympiadMode() && attackerPlayer.isInOlympiadMode())

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

Либо getActiveChar(), либо attacker, либо player, либо attackerPlayer

Костыль - добавить проверку на то, что обьект не нулл на все выражения типо  if ((getActiveChar() != null && getActiveChar().isPlayer()) ... итд

Не костыль - поставить брейкпоинт, посмотреть что конкретно там null, выяснить почему. 

  • Like 1

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


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

void reduceHp0(double value, L2Character attacker, boolean awake, boolean isDOT, L2Skill skill)
    {
        if (!isDOT)
        {
            if (awake)
            {
                if (getActiveChar().isSleeping())
                    getActiveChar().stopSleeping(null);
                if (getActiveChar().isImmobileUntilAttacked())
                    getActiveChar().stopImmobileUntilAttacked(null);
            }

            if (getActiveChar().isStunned() && Rnd.get(10) == 0)
                getActiveChar().stopStunning(null);
        }
        else if (awake && getActiveChar().isPlayer())
        {
            if (getActiveChar().isSleeping())
                getActiveChar().stopSleeping(null);
        }

        final L2PcInstance player = getActiveChar().getPlayer();
        final L2PcInstance attackerPlayer = attacker.getPlayer();

        if (value > 0) // Reduce Hp if any

 если по ошибке глядеть, может вот она связь?

java.lang.NullPointerException
        at ru.catssoftware.gameserver.model.actor.status.CharStatus.reduceHp0(Ch
arStatus.java:278)

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


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

Ну вы прям палцем в небо:) То что вы выделили цветом абсолютно никак между собой не связано

Я вижу 3 возможных решения этой проблемы

1. Вы учите JAVA, учите структуру серверного кода, пробуете решить проблему сами.

2. Вы платите человуку, который знает JAVA, чтобы он решил ваши проблемы.

3. Вы берете другу сборку, в которой все работает.

 

ПС. Как решить проблему я писал на одно сообщение выше, есть желание - пробуйте

  • Like 1

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


Ссылка на сообщение
Поделиться на другие сайты
1 минуту назад, lvlkoo сказал:

Ну вы прям палцем в небо:) То что вы выделили цветом абсолютно никак между собой не связано

Я вижу 3 возможных решения этой проблемы

1. Вы учите JAVA, учите структуру серверного кода, пробуете решить проблему сами.

2. Вы платите человуку, который знает JAVA, чтобы он решил ваши проблемы.

3. Вы берете другу сборку, в которой все работает.

 

ПС. Как решить проблему я писал на одно сообщение выше, есть желание - пробуйте

Вопросов нет,  от слова совсем, буду решать, по вашему, выше сказаному! спасибо за совет)) +1

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


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

278строка

if (player != null && attackerPlayer != null && player != attackerPlayer)
                if (!attacker.isSummon() || Config.ALT_OLY_INCLUDE_SUMMON_DAMAGE)
                    if (player.isInOlympiadMode() && attackerPlayer.isInOlympiadMode())
                        if (player.getOlympiadGameId() == attackerPlayer.getOlympiadGameId())
                        {
                    OlympiadGame game = Olympiad.getInstance().getOlympiadGames().get(player.getOlympiadGameId());
                    game.addDamage(attackerPlayer, value);
                }

ошибка исправлена)))) 

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


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

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

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

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

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

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

Войти

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

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

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

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

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