Skip to content

Itens ++ Shoping L2jacis

Featured Replies

Hello, I'm testing here but it does not work on Ingredient.java
has this _enchantmentLevel but is incomplete more when I add the error!

 

5xqSEtk.png

 

 

 


package net.sf.l2j.gameserver.model.multisell;

import net.sf.l2j.gameserver.data.ItemTable;
import net.sf.l2j.gameserver.model.item.kind.Armor;
import net.sf.l2j.gameserver.model.item.kind.Item;
import net.sf.l2j.gameserver.model.item.kind.Weapon;
import net.sf.l2j.gameserver.templates.StatsSet;

/**
 * A datatype which is part of multisell system. It is either the "result" or the "required part" of a multisell action.
 */
public class Ingredient
{
    private int _itemId;
    private int _itemCount;
    private int _enchantmentLevel;
    
    private boolean _isTaxIngredient;
    private boolean _maintainIngredient;
    
    private Item _template = null;
    
    public Ingredient(StatsSet set)
    {
        this(set.getInteger("id"), set.getInteger("count"),  set.getInteger("enchantmentLevel"), set.getBool("isTaxIngredient", false), set.getBool("maintainIngredient", false));
    }
    
    public Ingredient(int itemId, int itemCount, int enchantmentLevel, boolean isTaxIngredient, boolean maintainIngredient)
    {
        _itemId = itemId;
        _itemCount = itemCount;
        _enchantmentLevel = enchantmentLevel;
        _isTaxIngredient = isTaxIngredient;
        _maintainIngredient = maintainIngredient;
        
        if (_itemId > 0)
            _template = ItemTable.getInstance().getTemplate(_itemId);
    }
    
    /**
     * @return a new Ingredient instance with the same values as this.
     */
    public Ingredient getCopy()
    {
        return new Ingredient(_itemId, _itemCount, _enchantmentLevel, _isTaxIngredient, _maintainIngredient);
    }
    
    public final int getItemId()
    {
        return _itemId;
    }
    
    public final void setItemId(int itemId)
    {
        _itemId = itemId;
    }
    
    public final int getItemCount()
    {
        return _itemCount;
    }
    
    public final void setItemCount(int itemCount)
    {
        _itemCount = itemCount;
    }
    
    public final int getEnchantLevel()
    {
        return _enchantmentLevel;
    }
    
    public final void setEnchantLevel(int enchantmentLevel)
    {
        _enchantmentLevel = enchantmentLevel;
    }
    
    public final boolean isTaxIngredient()
    {
        return _isTaxIngredient;
    }
    
    public final void setIsTaxIngredient(boolean isTaxIngredient)
    {
        _isTaxIngredient = isTaxIngredient;
    }
    
    public final boolean getMaintainIngredient()
    {
        return _maintainIngredient;
    }
    
    public final void setMaintainIngredient(boolean maintainIngredient)
    {
        _maintainIngredient = maintainIngredient;
    }
    
    public final Item getTemplate()
    {
        return _template;
    }
    
    public final boolean isStackable()
    {
        return (_template == null) ? true : _template.isStackable();
    }
    
    public final boolean isArmorOrWeapon()
    {
        return (_template == null) ? false : (_template instanceof Armor) || (_template instanceof Weapon);
    }
    
    public final int getWeight()
    {
        return (_template == null) ? 0 : _template.getWeight();
    }
}

 

Edited by l2jkain

Solved by SweeTs

Xml is missing enchantment level line. You could add default 0 in code. 

  • Author
2 minutes ago, SweeTs said:

Xml está faltando linha de nível de encantamento. Você pode adicionar o código padrão 0 no código. 

 

I already tried to change it

 

set.getInteger("enchantmentLevel")

 

for

 

0

 

When I go to buy the item, do not come ++

  • Author

set.getInteger("enchantmentLevel")

 

so that this part is what makes the option to add in the xml in MultisellData it calls it so


// Feed with a new ingredient.
entry.addIngredient (new Ingredient (set));

  • Solution

You didn't get the point. Like set.getInteger("enchantmentLevel", 0); Second parameter is the default value. So, you add the enchantmentLevel value where you need.

  • Author
53 minutes ago, SweeTs said:

You didn't get the point. Like set.getInteger("enchantmentLevel", 0); Second parameter is the default value. So, you add the enchantmentLevel value where you need.

 

and you're right I did not know the null parameter he quoted could close the resoved topic thank you.

  • SweeTs locked this topic
Guest
This topic is now closed to further replies.

Account

Navigation

Search

Search

Configure browser push notifications

Chrome (Android)
  1. Tap the lock icon next to the address bar.
  2. Tap Permissions → Notifications.
  3. Adjust your preference.
Chrome (Desktop)
  1. Click the padlock icon in the address bar.
  2. Select Site settings.
  3. Find Notifications and adjust your preference.