Jump to content
Sign in to follow this  
Engineer000

Удаляються все ЛСы при аугментации из инвентаря

Recommended Posts

Всем привет,подскажите кто знает , поставил в базе - stackable  ,в клиенте игры в файле etcitemgrp.dat значение stackable поставил на вместо 0 поставил на 2

Когда вставляешь ЛС то все они в одной стопке удаляються.Подскажите это в ядре править нужно или же на стороне конфигов,базы ,клиента?

 

Share this post


Link to post
Share on other sites

Делаешь в xml файле где итем следующее:
<set name="is_stackable" val="true" />

Далее в файле etcitemgrp.dat (клиент, папка system) находишь предмет с нужным ID, едешь в конце строки, если все три числа 0 0 0 - это значит, что итем не стакается, чтобы он стакался, меняешь первый 0 на 2 далее сохраняешь в 413 кодировке.

 

Так делал ?

Share this post


Link to post
Share on other sites
20 часов назад, MURC сказал:

Делаешь в xml файле где итем следующее:
<set name="is_stackable" val="true" />

не могу понять какой xml файл в папке какой или где он находиться?Сборка Фрозен

Edited by Engineer000

Share this post


Link to post
Share on other sites
4 минуты назад, Engineer000 сказал:

не могу понять какой xml файл в папке какой или где он находиться?Сборка Фрозен

Итем вы как свои правите ?

Share this post


Link to post
Share on other sites

В

16 минут назад, MURC сказал:

Итем вы как свои правите ?

вот нашел etcitem  но xml не могу найти.Правлю через базу MySql

 

Edited by Engineer000

Share this post


Link to post
Share on other sites
20 часов назад, MURC сказал:

чтобы он стакался, меняешь первый 0 на 2 далее сохраняешь в 413 кодировке.

Да ,делал так.Сначала в базе поставил stackable а потом etcitem.dat там где 0  на 2 (stackable).И тоже самое делал с точками но точки все не пропадают после заточки а после вставки лс  - 1 слот пропадает . В стаке или по штучно .

Share this post


Link to post
Share on other sites

Решено: 

Идем суда : gameserver\head-src\com\l2jfrozen\gameserver\network\clientpackets\RequestRefine.java

Меняем:

consume the life stone  if(!player.destroyItem("RequestRefine", refinerItem, null, false))

На:

consume the life stone  if (!player.destroyItem("RequestRefine", refinerItem.getObjectId(), 1, null, false))
 
 
 
Edited by Engineer000

Share this post


Link to post
Share on other sites
On 9/13/2021 at 1:43 AM, Engineer000 said:

Решено: 

Идем суда : gameserver\head-src\com\l2jfrozen\gameserver\network\clientpackets\RequestRefine.java

Меняем:

consume the life stone  if(!player.destroyItem("RequestRefine", refinerItem, null, false))

На:

consume the life stone  if (!player.destroyItem("RequestRefine", refinerItem.getObjectId(), 1, null, false))
 
 
 

А для заточек нужно смотреть RequesEnchantItem.java? Можешь подсказать где там подправить, чтобы вся стопка заточек не исчезала? 

Share this post


Link to post
Share on other sites
В 21.05.2022 в 02:07, FatkhievER сказал:

А для заточек нужно смотреть RequesEnchantItem.java? Можешь подсказать где там подправить, чтобы вся стопка заточек не исчезала? 

Это для Frozen , для других может где то быть отличие:

Сервер(База данных)

1.Заходишь в базу Mysql ;

2.Выбераешь  столбик etcitem ;

3.Ищешь к примеру по id или по названию заточку,например id 729 ,в столбике consume_type пишешь вместо normal > stackable(Сохраняешь).

Клиент (файл etcitemgrp.dat)

1.Заходишь в Клиент игры , папка system ищешь файл  etcitemgrp.dat , открываешь его через L2FileEdit (можно выделить все ctrl+a , скопирывать и для удобства переместить все это в exel таблицу).Можно и в FileEdit но не так удобно так как нет нормальной табуляции.

2.В таблице  там где колонка Stackable (AD, это последние 3 столбика в файле, справа) вместо 0 ставишь значение 2 ,затем с первой ячейки выделяешь всю таблицу и копируешь, заменяешь содержимое в etcitemgrp.dat которую ты открыл через FileEdit и сохраняешь в 413 кодировке (Она по умолчанию).Предложит заменить файл , заменяешь.

Edited by Engineer000

Share this post


Link to post
Share on other sites
2 hours ago, Engineer000 said:

Это для Frozen , для других может где то быть отличие:

Сервер(База данных)

1.Заходишь в базу Mysql ;

2.Выбераешь  столбик etcitem ;

3.Ищешь к примеру по id или по названию заточку,например id 729 ,в столбике consume_type пишешь вместо normal > stackable(Сохраняешь).

Клиент (файл etcitemgrp.dat)

1.Заходишь в Клиент игры , папка system ищешь файл  etcitemgrp.dat , открываешь его через L2FileEdit (можно выделить все ctrl+a , скопирывать и для удобства переместить все это в exel таблицу).Можно и в FileEdit но не так удобно так как нет нормальной табуляции.

2.В таблице  там где колонка Stackable (AD, это последние 3 столбика в файле, справа) вместо 0 ставишь значение 2 ,затем с первой ячейки выделяешь всю таблицу и копируешь, заменяешь содержимое в etcitemgrp.dat которую ты открыл через FileEdit и сохраняешь в 413 кодировке (Она по умолчанию).Предложит заменить файл , заменяешь.

У меня стоит Mobius и там ко всему прочему, что ты написал,  надо было в конфиге поменять для заточек настройку Stackable = True. Тогда вот тут java\com\l2jmobius\gameserver\network\clientpackets\RequestEnchantItem.java выполняется условие и все работает. Спасибо.

	if (Config.SCROLL_STACKABLE)
        {
            scroll = activeChar.getInventory().destroyItem("Enchant", scroll.getObjectId(), 1, activeChar, item);
        }
        else
        {
            scroll = activeChar.getInventory().destroyItem("Enchant", scroll, activeChar, item);
        }
	

  • Like 1

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
Sign in to follow this  

  • Recently Browsing   0 members

    No registered users viewing this page.

×
×
  • Create New...