Рейтинг темы:
  • 1 Голос(ов) - 5 в среднем
  • 1
  • 2
  • 3
  • 4
  • 5
Прописать проверку
#11
Ashe Написал:[SRC="java"]if(target instanceof L2PcInstance && ((L2PcInstance) target).getRace() == getActingPlayer().getRace()){
sendMessage("Йоу, чувак, свои!");
return;
}[/SRC]
Добавил код, теперь когда бьешь гварда (например возле города), то начинаются ошибки в ГС + сам гвард не бьет вас...
Ответ
#12
FireaGe Написал:Добавил код, теперь когда бьешь гварда (например возле города), то начинаются ошибки в ГС + сам гвард не бьет вас...

вставить проверку на атакующего, ничего сложного.

спойлер
как то так. З.Ы. может быть что-то другое вместо activeChar.
Ответ
#13
FireaGe Написал:Добавил код, теперь когда бьешь гварда (например возле города), то начинаются ошибки в ГС + сам гвард не бьет вас...

[SRC="java"]if(getActingPlayer() instanceof L2PcInstance && target instanceof L2PcInstance && ((L2PcInstance) target).getRace() == getActingPlayer().getRace()){
sendMessage("Йоу, чувак, свои!");
return;
}[/SRC]
Fortuna - non penis, in manus non recipe.
Ответ
#14
Ashe Написал:[SRC="java"]if(getActingPlayer() instanceof L2PcInstance && target instanceof L2PcInstance && ((L2PcInstance) target).getRace() == getActingPlayer().getRace()){
sendMessage("Йоу, чувак, свои!");
return;
}[/SRC]
Теперь NPE после того, как убиваешь моба... Пытался совместить 2 варианта кода, переместить проверки... Эффект тот же
Ответ
#15
FireaGe Написал:Теперь NPE после того, как убиваешь моба... Пытался совместить 2 варианта кода, переместить проверки... Эффект тот же
Что за ошибка, выложите хоть лог
Ответ
#16
DeveloperS Написал:Что за ошибка, выложите хоть лог
[Изображение: b5cf2c18af11.png]
Ответ
#17
Вам Ashe дал костыль. Хотите большего - учите Java и структуру сервера. Правильнее было бы сделать первым сравнением if (target instanceof L2PcInstance), а уж в него вложить проверку на расы и скилы. А так у вас получается всё тип-топ пока в константе target не будет находиться объект L2MonsterInstance, L2RaidBossInstance, L2NpcInstance и т.д. И всё потому, что метод getRace() у них будет возвращать null. Даже наведясь на дверь или трон у вас будут те же ошибки связанные с NPE.

Как там Tryskell ещё не повесился от вас.
Ответ
#18
Donatte Написал:Вам Ashe дал костыль. Хотите большего - учите Java и структуру сервера. Правильнее было бы сделать первым сравнением if (target instanceof L2PcInstance), а уж в него вложить проверку на расы и скилы. А так у вас получается всё тип-топ пока в константе target не будет находиться объект L2MonsterInstance, L2RaidBossInstance, L2NpcInstance и т.д. И всё потому, что у них нет такого метода в свойствах как getRace(). Даже наведясь на дверь или трон у вас будут те же ошибки связанные с NPE.

Как там Tryskell ещё не повесился от вас.
Добавлю еще то, что у игрока раса берется из Race, а у нпс из L2NpcTemplate, что уже порождает проблемы(ох уж эти древние костыли).
Ответ
#19
Просидел пару дней, так и не получилось реализовать, вечно проблемы, исправляю 1, появляется 2. Может есть у кого реализация?
Ответ
#20
FireaGe Написал:Просидел пару дней, так и не получилось реализовать, вечно проблемы, исправляю 1, появляется 2. Может есть у кого реализация?

Сначало представь что тебе нужно. Определись с условиями. Потом оцени что обрабатывает класс, какие варианты и с какими объектами. А уж потом пытайся что-то делать. Ответ тебе уже был дан. Возможно ты просто не понимаешь движок или недостаточно навыков в программировании.
Ответ


Возможно похожие темы ...
Тема Автор Ответы Просмотры Последний пост
  Прописать тп в handlers Сантехник 9 1,896 09-05-2013, 01:36 PM
Последний пост: Сантехник

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


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