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

[Help] Визуализация Open-Team

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

Доброе утро, уважаемые пользователи форума. Нужна Ваша помощь в реализации визуализации персонажа. 
Ковырялся в исходниках и так не смог найти его в исходах Open-Team, которая в шаре и решил слипить свой, который делал на ИТ.

Суть такая: Нужно, что бы когда персонаж одевал браслет для таликов, надевался костюм. Для этого тип костюма я поменял на "BBRACELET" и подшаманил в "UserInfo"

 

		writeD(_inv.getPaperdollObjectId(Inventory.PAPERDOLL_UNDER));
		writeD(_inv.getPaperdollObjectId(Inventory.PAPERDOLL_REAR));
		writeD(_inv.getPaperdollObjectId(Inventory.PAPERDOLL_LEAR));
		writeD(_inv.getPaperdollObjectId(Inventory.PAPERDOLL_NECK));
		writeD(_inv.getPaperdollObjectId(Inventory.PAPERDOLL_RFINGER));
		writeD(_inv.getPaperdollObjectId(Inventory.PAPERDOLL_LFINGER));
		writeD(_inv.getPaperdollObjectId(Inventory.PAPERDOLL_HEAD));
		writeD(_inv.getPaperdollObjectId(Inventory.PAPERDOLL_RHAND));
		writeD(_inv.getPaperdollObjectId(Inventory.PAPERDOLL_LHAND));
		writeD(_inv.getPaperdollObjectId(Inventory.PAPERDOLL_GLOVES));
		writeD(_inv.getPaperdollObjectId(Inventory.PAPERDOLL_CHEST));
		writeD(_inv.getPaperdollObjectId(Inventory.PAPERDOLL_LEGS));
		writeD(_inv.getPaperdollObjectId(Inventory.PAPERDOLL_FEET));
		writeD(_inv.getPaperdollObjectId(Inventory.PAPERDOLL_BACK));
		writeD(_inv.getPaperdollObjectId(Inventory.PAPERDOLL_LRHAND));
		writeD(_inv.getPaperdollObjectId(Inventory.PAPERDOLL_HAIR));
		writeD(_inv.getPaperdollObjectId(Inventory.PAPERDOLL_DHAIR));
		writeD(_inv.getPaperdollObjectId(Inventory.PAPERDOLL_RBRACELET) == 0 ? _inv.getPaperdollObjectId(Inventory.PAPERDOLL_CHEST) : _inv.getPaperdollObjectId(Inventory.PAPERDOLL_RBRACELET));
		writeD(_inv.getPaperdollObjectId(Inventory.PAPERDOLL_LBRACELET));
		writeD(_inv.getPaperdollObjectId(Inventory.PAPERDOLL_DECO1));
		writeD(_inv.getPaperdollObjectId(Inventory.PAPERDOLL_DECO2));
		writeD(_inv.getPaperdollObjectId(Inventory.PAPERDOLL_DECO3));
		writeD(_inv.getPaperdollObjectId(Inventory.PAPERDOLL_DECO4));
		writeD(_inv.getPaperdollObjectId(Inventory.PAPERDOLL_DECO5));
		writeD(_inv.getPaperdollObjectId(Inventory.PAPERDOLL_DECO6));
		writeD(_inv.getPaperdollObjectId(Inventory.PAPERDOLL_BELT));

 

С первого момента, вроде работает, но только меняет верхную часть, это ладно, можно и на другие части припилить, но дело вот в чём. Надета броня, надет костюм, всё норм, но стоит снять скажем перчи, или любую другу часть брони, то сразу костюм пропадает. Приходится снимать костюм и заного надевать.
Хелпаните пожалуйста :help:

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

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


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

Вобще по логике, чтобы не было косяков с текстурами одеваемой/снимаемой брони при смене вида целым костюмом, в такой ситуации для всех слотов у которых вид меняется этим костюмом надо слать 0 в качестве одетого предмета. Ну само собой кроме слота chest.

Ну типа как вот примерно так (тип 1 - внешка меняет верх + низ, тип 2 - внешка в виде полного костюма):

			int[] inv = new int[Inventory.PAPERDOLL_ORDER.length];

			for (int PAPERDOLL_ID : Inventory.PAPERDOLL_ORDER)
				inv[PAPERDOLL_ID] = charInfoPackage.getPaperdollItemId(PAPERDOLL_ID);

			if (charInfoPackage.getAppearanceType() == 1)
			{
				inv[Inventory.PAPERDOLL_LEGS] = 0;
			}
			else if (charInfoPackage.getAppearanceType() == 2)
			{
				inv[Inventory.PAPERDOLL_LEGS] = 0;
				inv[Inventory.PAPERDOLL_GLOVES] = 0;
				inv[Inventory.PAPERDOLL_FEET] = 0;
			}

			for (int itemId : inv)
				writeD(itemId);

 

Изменено пользователем Gaikotsu
  • Like 1

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


Ссылка на сообщение
Поделиться на другие сайты
19 часов назад, Gaikotsu сказал:

Вобще по логике, чтобы не было косяков с текстурами одеваемой/снимаемой брони при смене вида целым костюмом, в такой ситуации для всех слотов у которых вид меняется этим костюмом надо слать 0 в качестве одетого предмета. Ну само собой кроме слота chest.

Ну типа как вот примерно так (тип 1 - внешка меняет верх + низ, тип 2 - внешка в виде полного костюма):


			int[] inv = new int[Inventory.PAPERDOLL_ORDER.length];

			for (int PAPERDOLL_ID : Inventory.PAPERDOLL_ORDER)
				inv[PAPERDOLL_ID] = charInfoPackage.getPaperdollItemId(PAPERDOLL_ID);

			if (charInfoPackage.getAppearanceType() == 1)
			{
				inv[Inventory.PAPERDOLL_LEGS] = 0;
			}
			else if (charInfoPackage.getAppearanceType() == 2)
			{
				inv[Inventory.PAPERDOLL_LEGS] = 0;
				inv[Inventory.PAPERDOLL_GLOVES] = 0;
				inv[Inventory.PAPERDOLL_FEET] = 0;
			}

			for (int itemId : inv)
				writeD(itemId);

 

Теперь бы знать, как это всё прилипить :ph34r::help:
Изначально там всё было с "PAPERDOLL_ORDER"

 

image.png.ad45f97aa0c29522c6fc146f368dfa45.png  image.png.6b014e6d51758554081eb2fab4131298.png


Но я немного подшаманил и сделал так:

 

image.png.f70b5db8271496fc4fb92cfbec508e28.png

Предварительно удалив сам "PAPERDOLL_ORDER". Помоги пожалуйста прилипить сие чудо :help: 

Исходники Open-Team HF, которые в шаре. 

Чистый  CharInfo.java

Чистый UserInfo.java

   

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

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


Ссылка на сообщение
Поделиться на другие сайты
5 часов назад, Infinitys сказал:

Там есть эта реализация через комьюнити борд.

html есть, но в исходниках я не нашёл. И способ вызова этих html тоже.

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


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

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

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

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

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

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

Войти

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

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

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

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

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