Kamuy 0 Опубликовано 13 марта, 2021 2021-03-13 14:14:38,836 ERROR o.m.g.n.l.c.L2GameClientPacket [ThreadPoolExecutor-3] - Client: AUTHED IP: 127.0.0.1 Account: fghfgh - Failed running: [C] CharacterCreate - Server Version: ${build.revision} java.lang.NullPointerException at org.mmocore.gameserver.network.lineage.clientpackets.CharacterCreate.initNewChar(CharacterCreate.java:129) at org.mmocore.gameserver.network.lineage.clientpackets.CharacterCreate.runImpl(CharacterCreate.java:98) at org.mmocore.gameserver.network.lineage.clientpackets.L2GameClientPacket.run(L2GameClientPacket.java:43) at org.mmocore.commons.net.nio.impl.MMOExecutableQueue.run(MMOExecutableQueue.java:34) at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624) at java.lang.Thread.run(Thread.java:748) всем привет . . помогите понять в чем проблема . . в исходник JTS пытаюсь прикрутить char_templates Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
Rolo 279 Опубликовано 13 марта, 2021 (изменено) Нулевое значение идет туда, куда идти не должно, смотрите что у Вас в CharacterCreate на 129 строке. Изменено 13 марта, 2021 пользователем Rolo Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
Kamuy 0 Опубликовано 13 марта, 2021 for(StartItem i : template.getStartItems()) { ItemInstance item = ItemFunctions.createItem(i.getId()); long count = i.getCount(); if(item.isStackable()) { item.setCount(count); item.setEnchantLevel(i.getEnchantLevel()); newChar.getInventory().addItem(item); } else { for(long n = 0; n < count; n++) { item = ItemFunctions.createItem(i.getId()); item.setEnchantLevel(i.getEnchantLevel()); newChar.getInventory().addItem(item); } if(item.isEquipable() && i.isEquiped()) newChar.getInventory().equipItem(item); } if(item.getItemId() == 5588) // tutorial book newChar.getShortCutComponent().registerShortCut(new ShortCut(11, 0, ShortCut.TYPE_ITEM, item.getObjectId(), -1, 1)); if(item.isEquipable() && (newChar.getActiveWeaponItem() == null || item.getTemplate().getType2() != ItemTemplate.TYPE2_WEAPON)) newChar.getInventory().equipItem(item); } Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
Gaikotsu 620 Опубликовано 13 марта, 2021 и которая строка тут 129? Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
Kamuy 0 Опубликовано 13 марта, 2021 for(StartItem i : template.getStartItems()) Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
Gaikotsu 620 Опубликовано 5 апреля, 2021 ну и что тут непонятного тогда? getStartItems() у тебя возвращает null, т.к. подозреваю ты его не инициализируешь как вариант после своей переделки З.Ы. вобще не понимаю зачем пихать обратно эти данные в бд, ведь я правильно понял что char_templates - это таблица в бд? Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты