Цитата:
Сообщение от Pro_Stalker
Вот пример конфига скории:
# Настройки бафов.
#-------------------------------------------------------------
# Максимальное кол-во слотов под баф (X + 4 от Divine Inspiration).
MaxBuffAmount = 20
# Максимальное кол-во слотов под дебаф.
MaxDebuffAmount = 6
# Не снимать бафы после смерти.
DontStopBuffs = False
Добавлено через 1 минуту
Мне именно нужно слоты пот дебаф увеличить))
|
Откройте L2Character, найдите метод addEffect2 и измените его так, как показано ниже.
PHP код:
L2Skill tempskill = newEffect.getSkill();
// Remove first Buff if number of buffs > BUFFS_MAX_AMOUNT
if (getBuffCount() >= Config.BUFFS_MAX_AMOUNT && !doesStack(tempskill) && ((
tempskill.getSkillType() == L2Skill.SkillType.BUFF ||
//tempskill.getSkillType() == L2Skill.SkillType.DEBUFF ||
tempskill.getSkillType() == L2Skill.SkillType.REFLECT ||
tempskill.getSkillType() == L2Skill.SkillType.HEAL_PERCENT ||
tempskill.getSkillType() == L2Skill.SkillType.MANAHEAL_PERCENT)&&
!(tempskill.getId() > 4360 && tempskill.getId() < 4367) &&
!(tempskill.getId() > 4550 && tempskill.getId() < 4555)))
{
if (newEffect.isHerbEffect())
{
newEffect.stopEffectTask();
return;
}
removeFirstBuff(tempskill.getId());
}
// Remove first DeBuff if number of debuffs > DEBUFFS_MAX_AMOUNT
if (getDeBuffCount() >= Config.DEBUFFS_MAX_AMOUNT && !doesStack(tempskill) && tempskill.getSkillType() == L2Skill.SkillType.DEBUFF)
{
removeFirstDeBuff(tempskill.getId());
}
Вот эти методы также надо добавить:
PHP код:
/**
* Return the number of skills of type(Buff, Debuff, HEAL_PERCENT, MANAHEAL_PERCENT) affecting this L2Character.<BR><BR>
*
* @return The number of Buffs affecting this L2Character
*/
public int getDeBuffCount()
{
L2Effect[] effects = getAllEffects();
int numDeBuffs=0;
if (effects != null)
{
for (L2Effect e : effects)
{
if (e != null)
{
if (e.getSkill().getSkillType() == L2Skill.SkillType.DEBUFF)
{
numDeBuffs++;
}
}
}
}
effects = null;
return numDeBuffs;
}
/**
* Removes the first DeBuff of this L2Character.<BR><BR>
*
* @param preferSkill If != 0 the given skill Id will be removed instead of first
*/
public void removeFirstDeBuff(int preferSkill)
{
L2Effect[] effects = getAllEffects();
L2Effect removeMe = null;
if (effects != null)
{
for (L2Effect e : effects)
{
if (e != null)
{
if (e.getSkill().getSkillType() == L2Skill.SkillType.DEBUFF)
{
if (preferSkill == 0)
{
removeMe=e; break;
}
else if (e.getSkill().getId() == preferSkill)
{
removeMe=e; break;
}
else if (removeMe==null)
{
removeMe=e;
}
}
}
}
}
if (removeMe != null)
{
removeMe.exit();
}
effects = null;
removeMe = null;
}