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

char_templates JTS

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

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

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


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

Нулевое значение идет туда, куда идти не должно, смотрите что у Вас в CharacterCreate на 129 строке. 

Изменено пользователем Rolo

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


Ссылка на сообщение
Поделиться на другие сайты
 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);
		}

 

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


Ссылка на сообщение
Поделиться на другие сайты
 for(StartItem i : template.getStartItems())

 

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


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

ну и что тут непонятного тогда?

getStartItems()

у тебя возвращает null, т.к. подозреваю ты его не инициализируешь как вариант после своей переделки

З.Ы. вобще не понимаю зачем пихать обратно эти данные в бд, ведь я правильно понял что char_templates  - это таблица в бд?

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


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

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

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

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

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

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

Войти

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

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

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

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

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