Проблема с призыванием кукол

Fredderick

Путник
Участник
Сообщения
46
Розыгрыши
0
Репутация
0
Реакции
13
Баллы
50
Запрещено публиковать исходный код без BB-кода — CODE
Хроники
  1. Master Class
Исходники
Присутствуют
Сборка
L2J_Mobius_Essence_8.2_HeartOfVolcano
qq

Существуют купоны призыва кукл, (1 штука) (11 штук) обычные редкие и т.п.

При вызывании одной из них срёт ошибку в консоли по типу:

[04/10 02:19:41] java.lang.NullPointerException: Cannot invoke "org.l2jmobius.gameserver.model.holders.RelicDataHolder.getGrade()" because the return value of "org.l2jmobius.gameserver.data.xml.RelicData.getRelic(int)" is null
at org.l2jmobius.gameserver.network.serverpackets.relics.ExRelicsSummonResult.writeImpl(ExRelicsSummonResult.java:263)
at org.l2jmobius.gameserver.network.serverpackets.ServerPacket.write(ServerPacket.java:154)
at org.l2jmobius.gameserver.network.serverpackets.ServerPacket.write(ServerPacket.java:31)
at org.l2jmobius.commons.network.WritablePacket.writeDataToBuffer(WritablePacket.java:72)
at org.l2jmobius.commons.network.WritablePacket.writeData(WritablePacket.java:48)
at org.l2jmobius.commons.network.Client.write(Client.java:144)
at org.l2jmobius.commons.network.Client.writeNextPacket(Client.java:129)
at org.l2jmobius.commons.network.internal.fairness.SingleBucketStrategy.doNextAction(SingleBucketStrategy.java:42)
at org.l2jmobius.commons.network.internal.fairness.FairnessController.nextFairAction(FairnessController.java:65)
at org.l2jmobius.commons.network.Client.writeFairPacket(Client.java:110)
at org.l2jmobius.commons.network.Client.writePacket(Client.java:81)
at org.l2jmobius.gameserver.network.GameClient.sendPacket(GameClient.java:235)
at org.l2jmobius.gameserver.model.actor.Player.sendPacket(Player.java:4620)
at handlers.itemhandlers.RelicSummonCoupon.useItem(RelicSummonCoupon.java:63)
at org.l2jmobius.gameserver.network.clientpackets.UseItem.runImpl(UseItem.java:444)
at org.l2jmobius.gameserver.network.clientpackets.ClientPacket.run(ClientPacket.java:53)
at org.l2jmobius.commons.threads.RunnableWrapper.run(RunnableWrapper.java:35)
at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1144)
at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:642)
at java.base/java.lang.Thread.run(Thread.java:1583)


Как я понимаю в RelicData нужно записать этот купон что бы он был в дате.
Тут существуют вот такие строки:

<relic id="1" grade="1" skillId="50702"> <!-- Princess Molrang Doll -->
<relicStat enchantLevel="0" skillLevel="1" /> <!-- Princess Molrang Doll Lv. 1 -->


Но он же должен призывать их по сути дела? Или купоны всё таки тоже должны быть прописаны?
Если да, то вопрос - как это правильно описать?
 
ну я не коперфильд, но в ошибке как будто написано, что он не может понять какой грейд у куклы?
 
376 строк в RelicData , 308 строк в RelicDataCollection, как будто бы все куклы существуют для него, вопрос почему он вообще бьёт ошибку
 

Вложения

  • 1727983865476.webp
    11,8 КБ · Просмотры: 83
ну это они в клиенте, а в итемах они есть?
 
Оверпостинг
а, ну если они в инвентаре, значит есть

в теме написано "при призывании одной из них", то есть остальные он дает выбрать?
 
Последнее редактирование модератором:
ну а что с купона получаете прописано?
Вот в этом и вопрос.

Если это должно быть прописано, то где и каким методом.
Если в RelicData / RelicCollection то нет, там ТОЛЬКО КУКЛЫ. А купоны не прописаны.
Мне хотя бы 1 пример как это выглядит, я пойму и сам всё сделаю.

Имею ввиду при призыве куклы в принципе. Ошибся в формулировке.

Любой купон крашит в логах.

а, ну если они в инвентаре, значит есть
Ну по скольку сервер их видит и я спокойно через alt+g их выдал, предполагаю что они есть)
 
Ага, да, и геарскор там есть.
Ниxyя там кроме пакетки не реализовано)
 
Ниxyя там кроме пакетки не реализовано)
немного оффтопа

возможно посоветуешь сейчас самый адекватный эмулятор? мб какие-то платные варианты по типу 'заплатил - запустил - играешь'
 
Я то знаю у кого есть, но продает ли хз)
Если даже и продает, то сумма там будет не маленькая)
Если планируешь этим в одну кабину заниматься, без тимы, то мобиус наверное лучший вариант, сиди и ковыряй.
 
Черкани контактик в личку пожалуйста.
деньги не главное в этой жизни) по этому интересно будет посмотреть
 

Вложения

  • Screenshot_4.webp
    44,8 КБ · Просмотры: 49
  • Screenshot_5.webp
    56,9 КБ · Просмотры: 30
  • Screenshot_6.webp
    61,3 КБ · Просмотры: 48
Я добавил парсер релик купонов, каждому купону задал ид вытаскиваемых из него реликвий.
Убрал наxyй конфиги от мобиуса.
В кратце. У тебя по дефолту код мобиуса пытается призвать реликвию с ид 0, и ему абсолютно похуй на твои данные., он пытается только ид 0 призвать, которого не существует.
 
Последнее редактирование:
зачем мне убирать парсер даты и коллекций? чтобы что? заного их написать?
нет, я добавил новый парсер, где указал ид купонов, купонам добавил ид реликвий из релик даты.
 
А как же: шансы, коллекции кукол, оповещение про вытаскивание, оповещение про сбор коллекции
Или делал ради, сделать что бы заработало?
 
Да просто от балды
 
Данный сайт использует cookie. Вы должны принять их для продолжения использования. Узнать больше…