Пвп флаг по мобу\боссу

ELSATHESLAYER

Единомышленник
Пользователь
Сообщения
30
Розыгрыши
0
Решения
2
Репутация
0
Реакции
1
Баллы
145
Хроники
  1. Shadow of the Kamael
Исходники
Присутствуют
Сборка
L2jmobius
Привет,подскажите пожалуйста чего здесь не хватает?и может ли оно так работать
Код:
package ai.others;

import org.l2jmobius.Config;
import org.l2jmobius.gameserver.model.actor.Npc;
import org.l2jmobius.gameserver.model.actor.Player;

import ai.AbstractNpcAI;

public class RaidFlag extends AbstractNpcAI
{
    private final static int[] BOSSES =
    {
       
        25226, // Roaring Lord Kastor
        25234, // Ancient Weird Drake
        25252, // Palibati Queen Themis
        25255, // Gargayle Lord Tiphon
        25256, // Taik High Prefect Arak
        25263, // Kernons Faithul Servant Kelone
        25407, // Lord Ishka
        25423, // Fairy Queen Timiniel
        25453, // Meanas Anor
        25478, // Shilens Priest Hisilrome
        25738, // Queen Ant Drone Priest
        25739, // Angel Priest of Baium
   
    };
   
    public RaidFlag()
    {
        if (Config.RAID_BOSS_FLAG)
        {
            addAttackId(BOSSES);
        }
    }
   
    @Override
    public String onAttack(Npc npc, Player attacker, int damage, boolean isSummon)
    {
        if (attacker.isPlayer())
        {
            attacker.updatePvPStatus();
           
        }
       
        return super.onAttack(npc, attacker, damage, isSummon);
    }
   
    public static RaidFlag qwe()
    {
        return new RaidFlag();
    }
}
 
Привет,подскажите пожалуйста чего здесь не хватает?и может ли оно так работать
Код:
package ai.others;

import org.l2jmobius.Config;
import org.l2jmobius.gameserver.model.actor.Npc;
import org.l2jmobius.gameserver.model.actor.Player;

import ai.AbstractNpcAI;

public class RaidFlag extends AbstractNpcAI
{
    private final static int[] BOSSES =
    {
      
        25226, // Roaring Lord Kastor
        25234, // Ancient Weird Drake
        25252, // Palibati Queen Themis
        25255, // Gargayle Lord Tiphon
        25256, // Taik High Prefect Arak
        25263, // Kernons Faithul Servant Kelone
        25407, // Lord Ishka
        25423, // Fairy Queen Timiniel
        25453, // Meanas Anor
        25478, // Shilens Priest Hisilrome
        25738, // Queen Ant Drone Priest
        25739, // Angel Priest of Baium
  
    };
  
    public RaidFlag()
    {
        if (Config.RAID_BOSS_FLAG)
        {
            addAttackId(BOSSES);
        }
    }
  
    @Override
    public String onAttack(Npc npc, Player attacker, int damage, boolean isSummon)
    {
        if (attacker.isPlayer())
        {
            attacker.updatePvPStatus();
          
        }
      
        return super.onAttack(npc, attacker, damage, isSummon);
    }
  
    public static RaidFlag qwe()
    {
        return new RaidFlag();
    }
}


Можно так:

Код:
@Override
public String onAttack(Npc npc, Player attacker, int damage, boolean isSummon, Skill skill)
{
   if(attacker.getPvpFlag() == 0)
   {
      attacker.setPvpFlagLasts(System.currentTimeMillis() + Config.PVP_PVP_TIME);
      attacker.startPvPFlag();
   }
return super.onAttack(npc, attacker, damage, isSummon, skill);
 
Можно так:

Код:
@Override
public String onAttack(Npc npc, Player attacker, int damage, boolean isSummon, Skill skill)
{
   if(attacker.getPvpFlag() == 0)
   {
      attacker.setPvpFlagLasts(System.currentTimeMillis() + Config.PVP_PVP_TIME);
      attacker.startPvPFlag();
   }
return super.onAttack(npc, attacker, damage, isSummon, skill);
спасибо, но так тоже не флагается
 
Конечно не флагается, потому что класс не запускается.

в main()
{
new RaidFlag();
}
 
Решение
Можно так:

Код:
@Override
public String onAttack(Npc npc, Player attacker, int damage, boolean isSummon, Skill skill)
{
   if(attacker.getPvpFlag() == 0)
   {
      attacker.setPvpFlagLasts(System.currentTimeMillis() + Config.PVP_PVP_TIME);
      attacker.startPvPFlag();
   }
return super.onAttack(npc, attacker, damage, isSummon, skill);
Если мы используем только attacker, то зачем нужны npc, damage, isSummon, skill в public String onAttack ? Просто вопрос, я не шарю
 
Если мы используем только attacker, то зачем нужны npc, damage, isSummon, skill в public String onAttack ? Просто вопрос, я не шарю
это обычный метод, который будет задействован при ударе "attackable" НПСов.
 
это обычный метод, который будет задействован при ударе "attackable" НПСов.
если оставить только Npc npc, Player attacker, boolean isSummon будет хуже?
я это как понимаю - что оно понимает кого бьют и кто бьет - игрок или сумон
а зачем в данном случае каким скилом бьют или сколько дамаги наносят? или это не так работает?
 
если оставить только Npc npc, Player attacker, boolean isSummon будет хуже?
я это как понимаю - что оно понимает кого бьют и кто бьет - игрок или сумон
а зачем в данном случае каким скилом бьют или сколько дамаги наносят? или это не так работает?
атаку умениями регистрировать не будет или выбьет ошибку ибо такого метода в abstractscript не существует :)
 
Назад
Сверху Снизу