Помогите пожалуйста.
Сделал я гварда, который должен атаковать вражескую фракцию, но он бьет все фракции, даже свою
Вот код:
[SRC="java"]package l2p.gameserver.ai;
import l2p.gameserver.geodata.GeoEngine;
import l2p.gameserver.model.Creature;
import l2p.gameserver.model.instances.NpcInstance;
public class FactionRanger extends Ranger
{
public FactionRanger(NpcInstance actor)
{
super(actor);
}
@Override
protected boolean canAttackCharacter(Creature target)
{
if(getActor().getFactionId() != target.getFactionId())
{
return super.canAttackCharacter(target);
}
return target.isMonster();
}
}[/SRC]
У нпц я указал
<set name="factionId" value="1" />
<set name="ai_type" value="FactionRanger" />
<set name="type" value="Guard" />
Что я неправильно сделал?
Добавлено через 55 секунд
Забыл, в Creature я добавил [SRC="java"] public int factionId = 0;
public int getFactionId()
{
return this.factionId;
}
public void setFactionId(int i)
{
factionId=i;
}[/SRC]
дабы все скомпилилось
Сборка овер.
Сделал я гварда, который должен атаковать вражескую фракцию, но он бьет все фракции, даже свою
Вот код:
[SRC="java"]package l2p.gameserver.ai;
import l2p.gameserver.geodata.GeoEngine;
import l2p.gameserver.model.Creature;
import l2p.gameserver.model.instances.NpcInstance;
public class FactionRanger extends Ranger
{
public FactionRanger(NpcInstance actor)
{
super(actor);
}
@Override
protected boolean canAttackCharacter(Creature target)
{
if(getActor().getFactionId() != target.getFactionId())
{
return super.canAttackCharacter(target);
}
return target.isMonster();
}
}[/SRC]
У нпц я указал
<set name="factionId" value="1" />
<set name="ai_type" value="FactionRanger" />
<set name="type" value="Guard" />
Что я неправильно сделал?
Добавлено через 55 секунд
Забыл, в Creature я добавил [SRC="java"] public int factionId = 0;
public int getFactionId()
{
return this.factionId;
}
public void setFactionId(int i)
{
factionId=i;
}[/SRC]
дабы все скомпилилось
Сборка овер.