Skip to content
La2Base
Home
DownloadsWikiForumFAQ
ruen
Sign up Login
HomeFilesWikiLogin
  • Home
  • Downloads
  • Wiki
  • FAQ
  • Contact Us
  • About
  • Rules
  • Privacy
  • Terms of Service

© 2026 la2base.com · All rights reserved

ruen
Forum/Дополнения к Lineage 2 Java серверам/[share]multisell Bug Fix
Search

[share]multisell Bug Fix

8 replies179 viewsCurrently viewing: 1
Кирилл
Кирилл

Author

Ветеран

Posts: 511

На форуме с: 04/06/2008

Репутация: +327

Рейтинг: 0

· 05/24/2009, 05:13 PM

Код
Index: java/net/sf/l2j/gameserver/network/clientpackets/MultiSellChoose.java
===================================================================
--- java/net/sf/l2j/gameserver/network/clientpackets/MultiSellChoose.java    (revision 2745)
+++ java/net/sf/l2j/gameserver/network/clientpackets/MultiSellChoose.java    (working copy)
@@ -88,6 +88,8 @@
    {
        PcInventory inv = player.getInventory();
        
+        boolean maintainItemFound = false;
+        
        // given the template entry and information about maintaining enchantment and applying taxes
        // re-create the instance of the entry that will be used for this exchange
        // i.e. change the enchantment level of select ingredient/products and adena amount appropriately.
@@ -126,10 +128,26 @@
            }
            if (newIng)
            {
+                // If there is a maintainIngredient, then we do not need to check the enchantment parameter
+                //  as the enchant level will be checked elsewhere
+                if (maintainEnchantment && e.getMantainIngredient())
+                {
+                    maintainItemFound = true;
+                }
                // if it's a new ingredient, just store its info directly (item id, count, enchantment)
                _ingredientsList.add(L2Multisell.getInstance().new MultiSellIngredient(e));
            }
        }
+        
+        // If there is no maintainIngredient, then we must make sure that the
+        //  enchantment is not kept from the client packet, as it may have been forged
+        if (!maintainItemFound)
+        {
+            for (MultiSellIngredient product : entry.getProducts())
+            {
+                product.setEnchantmentLevel(0);
+            }
+        }
        // now check if the player has sufficient items in the inventory to cover the ingredients' expences
        for (MultiSellIngredient e : _ingredientsList)
        {

Если стоит пароль на архив в моей новости, значит пароль www.la2base.ru

— L2 Live Developers Team

0
K
KRIG

User

Участник

Posts: 32

На форуме с: 05/28/2009

Рейтинг: 0

· 05/24/2009, 09:34 PM

а куда это дело вставлять?

0
Андрей
Андрей

User

Бывалый

Posts: 314

На форуме с: 05/05/2007

Репутация: +55

Рейтинг: 0

· 05/24/2009, 09:39 PM

Dixi: а куда это дело вставлять?

Если я не ошибаюсь то сюда - MultiSellChoose.java

Ктулху зохавывает всех (;,;)
Lineage 2: C4 - online / C5,IT,Kamael - offline>

0
Дима
Дима

User

Бывалый

Posts: 485

На форуме с: 02/23/2009

Репутация: +140

Рейтинг: 0

· 05/24/2009, 09:56 PM

какой ето фикс? что он делает? ато ничё не понял

0
Юрий
Юрий

User

Бывалый

Posts: 122

На форуме с: 02/21/2008

Репутация: +81

Рейтинг: 0

· 05/26/2009, 01:09 AM

Можно поподробнее описание фикса

0
Юрий
Юрий

User

Бывалый

Posts: 122

На форуме с: 02/21/2008

Репутация: +81

Рейтинг: 0

· 05/28/2009, 03:45 AM

Обьясните суть фикса?

0
Александр
Александр

User

Бывалый

Posts: 456

На форуме с: 02/05/2009

Репутация: +185

Рейтинг: 0

· 05/28/2009, 04:32 AM

для тех кто не понял данной темы
думаю стоит просто пройти мимо :)

или взять учебник по яве =)

— Жадный...

0
Александр
Александр

User

Ветеран

Posts: 1306

На форуме с: 05/25/2009

Репутация: +296

Рейтинг: 0

· 05/28/2009, 04:51 AM

Прочитав комментарие в коде, а также сам код, легко можно догадаться, данный фикс устраняет заточку клиентом через мультиселл.

You can't feeling! No you can't feeling! And you can't feeling!

— People = Shit

0
Войдите или зарегистрируйтесь чтобы ответить