Перейти к содержанию
Авторизация  
La2Bash

L2Jlink - Дебаффы Овера На Эвентах

Рекомендуемые сообщения

Всем ещё раз огромный привет.

В общем ситуация следующая - тестим серв. Я играю за овера.

На эвентах (CTF,TvT, насчет DM незнаю не тестил, но скорей всего тоже) за овера нельзя кидать массовые дебаффы (Пишет: Нельзя напасть на мирной территории)

Такого быть не должно ибо все эвенты проводятся в PvP зоне (арена) и скиллы должны работать.

Если кто то сталкивался и знает решение проблемы - просьба просветить :) Если нет - ткните меня в класс который может за это отвечать или хотя бы подскажите название переменной которая отвечает за это сообщение, будем искать :)

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

в zone.xml видимо данные территории являются ПисЗонами

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Колизей? Пис зоной?

Это происходит именно когда персонаж находится на эвенте. Когда просто прилетаешь в зону CTF или в колизей и юзаешь дебафы - они кастуются нормально

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

В общем походу нашел кусок кода в котором ошибка ибо 85 ое сообщение никто больше не отправляет (85ое сообщение - типо нельзя атаковать в мирной зоне)

  	 //************************************* Check Skill Type *******************************************

       // Check if this is offensive magic skill
       if(skill.isOffensive())
       {
           Boolean peace = isInsidePeaceZone(this, target);

           //if(isInsidePeaceZone(this, target) && !getAccessLevel().allowPeaceAttack() && (!(_inEventTvT && TvT._started) || !(_inEventCTF && CTF._started)    || !(_inEventDM && DM._started) || !(_inEventVIP && VIP._started)))
           if(peace/* && (!(_inEventTvT && TvT.is_started()) || !(_inEventCTF && CTF.is_started())    || !(_inEventDM && DM.is_started()) || !(_inEventVIP && VIP._started))*/)
           {
//                if(target instanceof L2PcInstance){
//                    
//                    if(!isInFunEvent() || !((L2PcInstance)target).isInFunEvent())
//                    {
                       // If L2Character or target is in a peace zone, send a system message TARGET_IN_PEACEZONE a Server->Client packet ActionFailed
                       sendPacket(new SystemMessage(SystemMessageId.TARGET_IN_PEACEZONE));
                       sendPacket(ActionFailed.STATIC_PACKET);
                       return;
//                    }
//                }

           }
           if(isInOlympiadMode() && !isOlympiadStart() && sklTargetType != SkillTargetType.TARGET_AURA)
           {
               // if L2PcInstance is in Olympia and the match isn't already start, send a Server->Client packet ActionFailed
               sendPacket(ActionFailed.STATIC_PACKET);
               return;
           }

           if(!(target instanceof L2MonsterInstance) && sklType == SkillType.CONFUSE_MOB_ONLY)
           {
               sendPacket(ActionFailed.STATIC_PACKET);
               return;
           }

           /*
           // Check if the target is attackable
           if(target instanceof L2PcInstance && !target.isAttackable() && !getAccessLevel().allowPeaceAttack() && (!(_inEventTvT && TvT.is_started()) || !(_inEventCTF && CTF.is_started())    || !(_inEventDM && DM.is_started()) || !(_inEventVIP && VIP._started)))
           {
               if(!isInFunEvent() || !((L2PcInstance)target).isInFunEvent())
               {
                   // If target is not attackable, send a Server->Client packet ActionFailed
                   sendPacket(ActionFailed.STATIC_PACKET);
                   return;
               }

           }
           */

           // Check if a Forced ATTACK is in progress on non-attackable target
           //if (!target.isAutoAttackable(this) && !forceUse && !(_inEventTvT && TvT._started) && !(_inEventDM && DM._started) && !(_inEventCTF && CTF._started) && !(_inEventVIP && VIP._started)
           if (!target.isAutoAttackable(this) && !forceUse && !(_inEventTvT && TvT.is_started()) && !(_inEventDM && DM.is_started()) && !(_inEventCTF && CTF.is_started()) && !(_inEventVIP && VIP._started)
                   && sklTargetType != SkillTargetType.TARGET_AURA
                   && sklTargetType != SkillTargetType.TARGET_CLAN
                   && sklTargetType != SkillTargetType.TARGET_ALLY
                   && sklTargetType != SkillTargetType.TARGET_PARTY
                   && sklTargetType != SkillTargetType.TARGET_SELF
                   && sklTargetType != SkillTargetType.TARGET_GROUND)

           {
               // Send a Server->Client packet ActionFailed to the L2PcInstance
               sendPacket(ActionFailed.STATIC_PACKET);
               return;
           }

           // Check if the target is in the skill cast range
           if(dontMove)
           {
               // Calculate the distance between the L2PcInstance and the target
               if(sklTargetType == SkillTargetType.TARGET_GROUND)
               {
                   if(!isInsideRadius(getCurrentSkillWorldPosition().getX(), getCurrentSkillWorldPosition().getY(), getCurrentSkillWorldPosition().getZ(), (int) (skill.getCastRange() + getTemplate().getCollisionRadius()), false, false))
                   {
                       // Send a System Message to the caster
                       sendPacket(SystemMessageId.TARGET_TOO_FAR);

                       // Send a Server->Client packet ActionFailed to the L2PcInstance
                       sendPacket(ActionFailed.STATIC_PACKET);
                       return;
                   }
               }
               else if(skill.getCastRange() > 0 && !isInsideRadius(target, skill.getCastRange() + getTemplate().collisionRadius, false, false)) // Calculate the distance between the L2PcInstance and the target
               {
                   // Send a System Message to the caster
                   sendPacket(new SystemMessage(SystemMessageId.TARGET_TOO_FAR));

                   // Send a Server->Client packet ActionFailed to the L2PcInstance
                   sendPacket(ActionFailed.STATIC_PACKET);
                   return;
               }
           }
       }

Не пойму только в чём прикол, почему на ТВТ, КТФ, ДМ не пашут массовые скиллы. Кто помочь может?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Для публикации сообщений создайте учётную запись или авторизуйтесь

Вы должны быть пользователем, чтобы оставить комментарий

Создать учетную запись

Зарегистрируйте новую учётную запись в нашем сообществе. Это очень просто!

Регистрация нового пользователя

Войти

Уже есть аккаунт? Войти в систему.

Войти
Авторизация  

  • Последние посетители   0 пользователей онлайн

    Ни одного зарегистрированного пользователя не просматривает данную страницу

×
×
  • Создать...