public class L2DonatorZone extends L2ZoneType
{
public L2DonatorZone (final int id)
{
super (id);
}
@Override
protected void onEnter (final L2Character character)
{
if (character instanceof L2PcInstance)
{
L2PcInstance player = (L2PcInstance)character;
if (player.getParty()==null || player.getParty.getMembers.size<6){//if player in not in party or if party has 5 or less people
player.sendMessage ("You need a party of 6 or more people to enter this zone");
player.teleportTo(1,1,1);//teleport to another location
}
player.setInPartyZone(true);
}
}
@Override
protected void onExit (final L2Character character){
L2PcInstance player = (L2PcInstance) character;
player.setInPartyZone(false);
}
@Override
protected void onDieInside (final L2Character character){
}
@Override
protected void onReviveInside (final L2Character character){
}
}
So you will need to make a variable private boolean _isInPartyZone = false; and two methods
public void setInPartyZone(boolean b){_isInPartyZone = b;} and
public boolean getInPartyZone(){return _isInPartyZone;} inside L2PcInstance.
Then you will have to find the requestLeave(i don't know the name of the packet) and write something like: if(player.getInPartyZone())return; or disable /leave command when he is in that zone, sorry for the abstract second part of the code but I don't know the packet :(. Also some of the methods my need adjustment, i have never worked on l2jfrozen