Рейтинг темы:
  • 0 Голос(ов) - 0 в среднем
  • 1
  • 2
  • 3
  • 4
  • 5
L2SkillType.HEAL || L2SkillType.BUFF
#1
Помогите пожалуйста, не могу хилить себя, но не знаю в чем проблема, думаю или в doCast:
[SRC="java"] @Override
public void doCast(L2Skill skill)
{
if(skill == null)
return;

if (getTarget() instanceof L2PcInstance)
{
if(skill.getSkillType() != L2SkillType.HEAL || skill.getSkillType() != L2SkillType.BUFF)
{
if(getActingPlayer().getRace() == getTarget().getActingPlayer().getRace())
{
return;
}
}
}

super.doCast(skill);

// cancel the recent fake-death protection instantly if the player attacks or casts spells
getPlayer().setRecentFakeDeath(false);
}[/SRC]
Или в checkDoCastConditions:
[SRC="java"] @Override
protected boolean checkDoCastConditions(L2Skill skill)
{
if (!super.checkDoCastConditions(skill))
return false;

switch (skill.getSkillType())
{
case SUMMON_TRAP:
{
if (isInsideZone(ZONE_PEACE))
{
sendPacket(SystemMessageId.A_MALICIOUS_SKILL_CANNOT_BE_USED_IN_PEACE_ZONE);
return false;
}
if (getTrap() != null
&& getTrap().getSkill().getId() == ((L2SkillTrap)skill).getTriggerSkillId())
{
SystemMessage sm = SystemMessage.getSystemMessage(SystemMessageId.S1_CANNOT_BE_USED);
sm.addSkillName(skill);
sendPacket(sm);
return false;
}
break;
}
case SUMMON:
{
if (!((L2SkillSummon)skill).isCubic() && (getPet() != null || isMounted() || CharSummonTable.getInstance().getPets().contains(getObjectId()) || CharSummonTable.getInstance().getPets().contains(getObjectId())))
{
if (Config.DEBUG)
_log.fine("player has a pet already. ignore summon skill");

sendPacket(SystemMessageId.YOU_ALREADY_HAVE_A_PET);
return false;
}
}
}
if(getTarget() instanceof L2PcInstance)
{
if(skill.getSkillType() == L2SkillType.HEAL || skill.getSkillType() == L2SkillType.BUFF)
{
if (getActingPlayer().getRace() != getTarget().getActingPlayer().getRace())
{
sendPacket(ActionFailed.STATIC_PACKET);
return false;
}
}
else
{
if(skill.getSkillType() == L2SkillType.HEAL || skill.getSkillType() == L2SkillType.BUFF)
{
if (getActingPlayer().getRace() == getTarget().getActingPlayer().getRace())
{
return true;
}
}
}
}
[/SRC]
Может быть не так проверка сделана? Просто когда юзаю скилл на себя, все стопорится, нужно делать релог.
Ответ
#2
[SRC="java"] if(getActingPlayer().getRace() == getTarget().getActingPlayer().getRace())
{
return;
}
[/SRC]
Ответ
#3
Не понял, это в каком методе и что измененно?
Ответ
#4
Вам показали что идет проверка если чар с расой А хилит чара с расой Б и раса А=рассе Б то хил запрещен, тоесть надо удалить проверку
Ответ
#5
APKO Написал:Вам показали что идет проверка если чар с расой А хилит чара с расой Б и раса А=рассе Б то хил запрещен, тоесть надо удалить проверку

[SRC="java"] if (getTarget() instanceof L2PcInstance)
{
if(skill.getSkillType() != L2SkillType.HEAL || skill.getSkillType() != L2SkillType.BUFF)
{
if(getActingPlayer().getRace() == getTarget().getActingPlayer().getRace())
{
return;
}
}
}[/SRC]
if(skill.getSkillType() != L2SkillType.HEAL || skill.getSkillType() != L2SkillType.BUFF)
Если НЕ хил или НЕ баф, то запрещен, а хил и баф не запрещен.
Или здесь я ошибся?
Ответ
#6
по моему тут больше подойдет И, а не ИЛИ.
Ответ
#7
ТС, может быть, стоит как-нибудь по другому реализовать?
Ответ
#8
Править надо в L2Skill.java, там есть и настройка таргетов, и типов скиллов и много ещё чего интересного. Посмотрите, например isOffensive скиллы. Копайте там.
Ответ


Возможно похожие темы ...
Тема Автор Ответы Просмотры Последний пост
  Animation buff ccc 1 1,771 08-01-2016, 11:47 AM
Последний пост: Gaikotsu
  Mobs will hate if caster will buff attaker jumanji 0 1,038 11-09-2015, 12:21 AM
Последний пост: jumanji
  Исправление Chain Heal 1553 Rolfer 11 3,556 05-12-2014, 09:32 PM
Последний пост: Rolfer
  ХФ Сhain Heal скил - как работает на офе? Munhgauzen 8 1,667 11-06-2013, 01:04 AM
Последний пост: ММЗ
  Scroll Buff с мобов [interlude] Tolkachev 2 1,678 04-10-2013, 12:35 AM
Последний пост: SunWar
  Buff MystX 9 3,746 04-20-2011, 06:32 PM
Последний пост: Gaikotsu

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


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