So it works like this.
But when I remove the pvpzone it stops working (people unflag when they hit inside the zone).
And I can't seem to make it work.
I don't want it to be pvpzone because of the hit clan without ctrl.
It's the one or the other pretty much.
package net.sf.l2j.gameserver.model.zone.type;
import net.sf.l2j.Config;
import net.sf.l2j.gameserver.enums.ZoneId;
import net.sf.l2j.gameserver.model.actor.Creature;
import net.sf.l2j.gameserver.model.actor.Player;
import net.sf.l2j.gameserver.model.zone.ZoneType;
import net.sf.l2j.gameserver.network.SystemMessageId;
import net.sf.l2j.gameserver.taskmanager.PvpFlagTaskManager;
/**
* A zone extending {@link ZoneType}, used for jail behavior. It is impossible to summon friends and use shops inside it.
*/
public class ChaoticZone extends ZoneType
{
public ChaoticZone(int id)
{
super(id);
}
@Override
protected void onEnter(Creature character)
{
if (character instanceof Player)
{
character.setInsideZone(ZoneId.CHAOTICZONE, true);
character.setInsideZone(ZoneId.PVP, true);
((Player) character).sendPacket(SystemMessageId.ENTERED_COMBAT_ZONE);
final Player activeChar = (Player) character;
// Set pvp flag
if (activeChar.getPvpFlag() == 0)
activeChar.updatePvPFlag(1);
}
return;
}
@Override
protected void onExit(Creature character)
{
if (character instanceof Player)
{
character.setInsideZone(ZoneId.CHAOTICZONE, false);
character.setInsideZone(ZoneId.PVP, false);
final Player activeChar = (Player) character;
((Player) character).sendPacket(SystemMessageId.LEFT_COMBAT_ZONE);
activeChar.exitOnNoLandingZone();
PvpFlagTaskManager.getInstance().add(activeChar, Config.PVP_PVP_TIME);
// Set pvp flag
if (activeChar.getPvpFlag() == 0)
activeChar.updatePvPFlag(1);
}
return;
}
}
Thank you for your time.