L2SkillType.HEAL || L2SkillType.BUFF - Форум администраторов игровых серверов
Форум администраторов игровых серверов StormWall - Защита от DDos атак
Регистрация Мнения Справка Сообщество Календарь
Вернуться   Форум администраторов игровых серверов > MMO > Lineage II > Работа со скриптами

Работа со скриптами Помощь в редактировании и написании квестов к Java серверам, а так же эвентов.

Ответ
Опции темы
Непрочитано 12.11.2013, 18:48   #1
Пользователь

Автор темы (Топик Стартер) L2SkillType.HEAL || L2SkillType.BUFF

Помогите пожалуйста, не могу хилить себя, но не знаю в чем проблема, думаю или в doCast:
       @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);
  }
Code: Java
Или в checkDoCastConditions:
 @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;
                    }
                }
            }
        }
 
Code: Java
Может быть не так проверка сделана? Просто когда юзаю скилл на себя, все стопорится, нужно делать релог.
Raymon212 вне форума Ответить с цитированием
Непрочитано 12.11.2013, 19:05   #2
Аватар для Gaikotsu
Герой

По умолчанию Re: L2SkillType.HEAL || L2SkillType.BUFF

           if(getActingPlayer().getRace() == getTarget().getActingPlayer().getRace())
            {
                return;
            }
 
Code: Java
Gaikotsu вне форума Ответить с цитированием
Непрочитано 12.11.2013, 19:15   #3
Пользователь

Автор темы (Топик Стартер) Re: L2SkillType.HEAL || L2SkillType.BUFF

Не понял, это в каком методе и что измененно?
Raymon212 вне форума Ответить с цитированием
Непрочитано 12.11.2013, 19:38   #4
Аватар для APKO
Постоялец

По умолчанию Re: L2SkillType.HEAL || L2SkillType.BUFF

Вам показали что идет проверка если чар с расой А хилит чара с расой Б и раса А=рассе Б то хил запрещен, тоесть надо удалить проверку
APKO вне форума Ответить с цитированием
Непрочитано 12.11.2013, 19:56   #5
Аватар для L2J
Пользователь

По умолчанию Re: L2SkillType.HEAL || L2SkillType.BUFF

Цитата:
Сообщение от APKO Посмотреть сообщение
Вам показали что идет проверка если чар с расой А хилит чара с расой Б и раса А=рассе Б то хил запрещен, тоесть надо удалить проверку
            if (getTarget() instanceof L2PcInstance)
            {
            if(skill.getSkillType() != L2SkillType.HEAL || skill.getSkillType() != L2SkillType.BUFF)
            {
            if(getActingPlayer().getRace() == getTarget().getActingPlayer().getRace())
            {
                return;
            }
            }
            }
Code: Java
if(skill.getSkillType() != L2SkillType.HEAL || skill.getSkillType() != L2SkillType.BUFF)
Если НЕ хил или НЕ баф, то запрещен, а хил и баф не запрещен.
Или здесь я ошибся?
L2J вне форума Ответить с цитированием
Непрочитано 12.11.2013, 21:03   #6
Аватар для Gaikotsu
Герой

По умолчанию Re: L2SkillType.HEAL || L2SkillType.BUFF

по моему тут больше подойдет И, а не ИЛИ.
Gaikotsu вне форума Ответить с цитированием
Сказали спасибо:
Непрочитано 12.11.2013, 22:05   #7
Аватар для L2J
Пользователь

По умолчанию Re: L2SkillType.HEAL || L2SkillType.BUFF

ТС, может быть, стоит как-нибудь по другому реализовать?
L2J вне форума Ответить с цитированием
Непрочитано 13.11.2013, 00:08   #8
Аватар для Archiel
Пользователь

По умолчанию Re: L2SkillType.HEAL || L2SkillType.BUFF

Править надо в L2Skill.java, там есть и настройка таргетов, и типов скиллов и много ещё чего интересного. Посмотрите, например isOffensive скиллы. Копайте там.
Archiel вне форума Отправить сообщение для Archiel с помощью ICQ Ответить с цитированием
Ответ


Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
 

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.

Быстрый переход


© 2007–2024 «Форум администраторов игровых серверов»
Защита сайта от DDoS атак — StormWall
Работает на Булке неизвестной версии с переводом от zCarot
Текущее время: 16:17. Часовой пояс GMT +3.

Вверх