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

Fredderick

Путник
Пользователь
Сообщения
27
Розыгрыши
0
Репутация
0
Реакции
2
Баллы
13
Запрещено публиковать исходный код без 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 -->


Но он же должен призывать их по сути дела? Или купоны всё таки тоже должны быть прописаны?
Если да, то вопрос - как это правильно описать?
 
Ну, я скажу так. Перелопатил всю серверную часть мобиуса чтоб хотя бы немного понять логику его безумной головы.
Куклы сделал? -Сделай и скиллы к ним. Сделал скиллы- ну давай ка ещё и логику призыва сделай что бы нормально каждый купон работал. Сделал логику призыва? - а теперь давай ка бахни логику заточки и слияния.
Понял что легче самому полностью переписать с 0? - а теперь ищи все имплементации в коде где он насрал. 10 из 10. Рай мазохиста :)
 

Назад
Сверху Снизу