Рейтинг темы:
  • 0 Голос(ов) - 0 в среднем
  • 1
  • 2
  • 3
  • 4
  • 5
Моификация Головных Уборов
#1
Уважаемые форумчане второй день не могу понять почему ,Свиток. Модифицировать Головной Убор , не работает , в систем чат при попытке его использования выводится сообщение "Не соответствие свитка модификации" . :help: Мой скайп Lineage_gw :help:
Так же не работает Камень Жизни Для Головных Уборов
Не работает Обработка Головных Уборов

Принятые мной попытки .
Переписан файл Config > xml >EnchantItemData ,



Ядро пробовал по всякому но может я что то упускаю .


gameserver\model\items\EnchantItem

package l2next.gameserver.model.items;

import l2next.gameserver.model.items.base.L2Item;
import l2next.gameserver.model.items.base.instance.L2ItemInstance;
import l2next.gameserver.model.items.base.proptypes.CrystalGrade;
import l2next.gameserver.model.skills.stats.StatsSet;
import java.util.List;
public class EnchantItem
{
protected final int _id;
protected final boolean _isWeapon;
protected final CrystalGrade _grade;
protected final int _maxEnchantLevel;
protected final double _chanceAdd;
protected final List<Integer> _itemIds;

public EnchantItem(StatsSet set, List<Integer> items)
{
_id = set.getInteger("id");
_isWeapon = set.getBool("isWeapon", true);
_grade = CrystalGrade.valueOf(set.getString("targetGrade", "NONE"));
_maxEnchantLevel = set.getInteger("maxEnchant", 0);
_chanceAdd = set.getDouble("successRate", 0);
_itemIds = items;
}

/*
@isValid возвращает при заточке удовлетворяет ли итем тербованиям или нет.
*/
public final boolean isValid(L2ItemInstance enchantItem)
{
if(enchantItem == null)
{
return false;
}

if(_maxEnchantLevel != 0 && enchantItem.getEnchantLevel() >= _maxEnchantLevel)
{
return false;
}
if(getScrollId() == 36978)
{
switch(enchantItem.getArmorItem().getBodyPart())
{
case L2Item.SLOT_HAIR:
case L2Item.SLOT_HAIR2:
case L2Item.SLOT_HAIRALL:
return true;
}
}

if(!enchantItem.isEnchantable())
{
return false;
}
else if(!isValidItemType(enchantItem.getItem().getType2()))
{
return false;
}

else if(_grade != enchantItem.getItem().getItemGradeSPlus())
{
return false;
}
else if((!enchantItem.isEnchantable() && (_itemIds.isEmpty() || !_itemIds.contains(enchantItem.getItemId()))) || !_itemIds.isEmpty() && !_itemIds.contains(enchantItem.getItemId()))
{
return false;
}

return true;
}
private boolean isValidItemType(int type2)
{
if(type2 == L2Item.TYPE2_WEAPON)
{
return _isWeapon;
}
else if(type2 == L2Item.TYPE2_SHIELD_ARMOR || type2 == L2Item.TYPE2_ACCESSORY)
{
return !_isWeapon;
}
return false;
}

/**
* @return chance increase
*/
public final double getChanceAdd()
{
return _chanceAdd;
}

public final int getMaxEnchantLevel()
{
return _maxEnchantLevel;
}
public int getScrollId()
{
return _id;
}
}
Ответ
#2
проверки на соответствие типа свитка и типа затачиваемой вещи в основном в пакетах заточки, так что там копай
Ответ
#3
Перекавыряно уже все под ряд причин не видит не кто осталось последнее проверить если не прокатит то уже не знаю куда обращаться

Добавлено через 16 минут
<skill id="9234" levels="1" name="Свиток: Модифицировать Головной Убор">
<set name="target" val="TARGET_NONE"/>
<set name="skillType" val="NOTDONE"/>
<set name="operateType" val="OP_PASSIVE"/>
</skill>

может все таки в скиле дело ? есть у кого неть работающий аналог ?
PS. на аналогичной сборке шапка точится и зачаровывается и все остальное с таким же убитым скилом
Ответ


Перейти к форуму:


Пользователи, просматривающие эту тему: 2 Гость(ей)