Jump to content

[l2j][share][FLAG PVP ZONE updated!


Recommended Posts

2character.java

/** Zone system */
      +public static final byte ZONE_FLAG_PVP = 0;
public static final byte ZONE_PVP = 0;

 

 

net.sf.l2j.gameserver.model.zone.type.PvpArea.java

package net.sf.l2j.gameserver.model.zone.type;

import net.sf.l2j.gameserver.datatables.MapRegionTable;
import net.sf.l2j.gameserver.model.actor.L2Character;
import net.sf.l2j.gameserver.model.actor.instance.L2PcInstance;
import net.sf.l2j.gameserver.model.zone.L2SpawnZone;
import net.sf.l2j.gameserver.network.SystemMessageId;
import net.sf.l2j.gameserver.network.serverpackets.SystemMessage;

/**
* @author  AbSoLuTePoWeR
*/
public class PvpArea extends L2SpawnZone
{	
private L2PcInstance activeChar;

public PvpArea(int id)
{
	super(11037);
}
        	
protected void onEnter(L2Character character)
{

	if (character instanceof L2PcInstance)
	{
		if (!character.isInsideZone(L2Character.ZONE_FLAG_PVP))
			((L2PcInstance) character).sendPacket(new SystemMessage(SystemMessageId.ENTERED_COMBAT_ZONE));

	}

	character.setInsideZone(L2Character.ZONE_FLAG_PVP, true);
	character.setInsideZone(L2Character.ZONE_NOSUMMONFRIEND, true);
	activeChar.decayMe();
	activeChar.spawnMe();
                activeChar.isNoblesseBlessed();
	activeChar.setPvpFlag(1);
	activeChar.setTitle("Lets Fight");
	activeChar.broadcastUserInfo();
}

protected void onExit(L2Character character)
{
	character.setInsideZone(L2Character.ZONE_FLAG_PVP, false);
	character.setInsideZone(L2Character.ZONE_NOSUMMONFRIEND, false);
	activeChar.decayMe();
	activeChar.spawnMe();
	activeChar.stopNoblesseBlessing(null);
	activeChar.setPvpFlag(0);
	activeChar.setTitle("");
	activeChar.broadcastUserInfo();

	if (character instanceof L2PcInstance)
	{
		if (!character.isInsideZone(L2Character.ZONE_FLAG_PVP))
			((L2PcInstance) character).sendPacket(new SystemMessage(SystemMessageId.LEFT_COMBAT_ZONE));
	}
}

public void onDieInside(L2Character character) {MapRegionTable.getInstance().getTeleToLocation(activeChar, MapRegionTable.TeleportWhereType.Town);}

public void onReviveInside(L2Character character) {}
}

 

	</zone>

<zone id="11037" type="ZONE_FLAG_PVP" shape="NPoly" minZ="-3600" maxZ="-3400">
	<stat name="isPeaceZone" val="false" />
	<spawn X="x" Y="y5" Z="z" />

</zone>

 

where <spawn X="x" Y="y" Z="z" />    "x" "y" "z" you can put yours

 

 

 

its a pvp flag area.

when you  will be inside you will get auto flag, auto noblesse. and a custom title .When you die there you get auto-respawn without need pressing "to village".

Everytime you respawn there,you get autonoblesse at your buffs.

 

(thx fanky for the idea)

well guys if i am wrong correct me thx.! :D

 

credits to me.

 

 

 

Nice share men :D

Keep sharing :)

Link to comment
Share on other sites

l2character.java

/** Zone system */
      +public static final byte ZONE_FLAG_PVP = 0;
public static final byte ZONE_PVP = 0;

find
public final boolean isInsideZone(final byte zone)
{
	return zone == ZONE_PVP ? _zones[ZONE_PVP] > 0 && _zones[ZONE_PEACE] == 0 : _zones[zone] > 0;
}

make it
public final boolean isInsideZone(final byte zone)
{
	return zone == ZONE_PVP ? _zones[ZONE_PVP] > 0 && ZONE_FLAG_PVP ? _zones[ZONE_FLAG_PVP] > 0 && _zones[ZONE_PEACE] == 0 : _zones[zone] > 0;
}

 

 

net.sf.l2j.gameserver.model.zone.type.L2PvpAreaZone.java

package net.sf.l2j.gameserver.model.zone.type;

import net.sf.l2j.gameserver.datatables.MapRegionTable;
import net.sf.l2j.gameserver.model.actor.L2Character;
import net.sf.l2j.gameserver.model.actor.instance.L2PcInstance;
import net.sf.l2j.gameserver.model.zone.L2SpawnZone;
import net.sf.l2j.gameserver.network.SystemMessageId;
import net.sf.l2j.gameserver.network.serverpackets.SystemMessage;

/**
* @author  AbSoLuTePoWeR
*/
public class L2PvpAreaZone extends L2SpawnZone
{	
private L2PcInstance activeChar;

public PvpArea(int id)
{
	super(11037);
}
        	
protected void onEnter(L2Character character)
{

	if (character instanceof L2PcInstance)
	{
		if (!character.isInsideZone(L2Character.ZONE_FLAG_PVP))
			((L2PcInstance) character).sendPacket(new SystemMessage(SystemMessageId.ENTERED_COMBAT_ZONE));

	}

	character.setInsideZone(L2Character.ZONE_FLAG_PVP, true);
	character.setInsideZone(L2Character.ZONE_NOSUMMONFRIEND, true);
	activeChar.decayMe();
	activeChar.spawnMe();
                activeChar.isNoblesseBlessed();
	activeChar.setPvpFlag(1);
	activeChar.setTitle("Lets Fight");
	activeChar.broadcastUserInfo();
}

protected void onExit(L2Character character)
{
	character.setInsideZone(L2Character.ZONE_FLAG_PVP, false);
	character.setInsideZone(L2Character.ZONE_NOSUMMONFRIEND, false);
	activeChar.decayMe();
	activeChar.spawnMe();
	activeChar.stopNoblesseBlessing(null);
	activeChar.setPvpFlag(0);
	activeChar.setTitle("");
	activeChar.broadcastUserInfo();

	if (character instanceof L2PcInstance)
	{
		if (!character.isInsideZone(L2Character.ZONE_FLAG_PVP))
			((L2PcInstance) character).sendPacket(new SystemMessage(SystemMessageId.LEFT_COMBAT_ZONE));
	}
}

public void onDieInside(L2Character character) {MapRegionTable.getInstance().getTeleToLocation(activeChar, MapRegionTable.TeleportWhereType.Town);}

public void onReviveInside(L2Character character) {}
}

 

	</zone>

<zone id="11037" type="ZONE_FLAG_PVP" shape="NPoly" minZ="-3600" maxZ="-3400">
	<stat name="isPeaceZone" val="false" />
	<spawn X="x" Y="y5" Z="z" />

</zone>

 

where <spawn X="x" Y="y" Z="z" />    "x" "y" "z" you can put your zone. :P

 

net.sf.l2j.gameserver.model.zone.L2Zonetype.java

 

+import net.sf.l2j.gameserver.model.zone.type.L2PvpAreaZone;
import net.sf.l2j.gameserver.model.zone.type.L2SkillZone;
import net.sf.l2j.gameserver.model.zone.type.L2SwampZone;
import net.sf.l2j.gameserver.model.zone.type.L2TownZone;
								{
									temp = new L2SwampZone(zoneId);
								}
+								else if(zoneType.equals("PvpFlagZone"))
+								{
+									temp = new PvpAreaZone(11037);
+								}

zone_vertices.sql

-- Schuttgart Castle
INSERT INTO `zone_vertices` VALUES
(112080,0,80995,-153334),
(112080,1,80808,-150137),
(112080,2,79228,-148694),
(112080,3,76451,-148399),
(112080,4,74703,-149543),
(112080,5,73718,-153342),
(112080,6,75632,-156376),
(112080,7,77635,-155680),
(112080,8,79985,-155849),
(112080,9,80995,-153334);

+INSERT INTO `zone_vertices` VALUES
+(11037,0,x,-x),
+(11037,1,x,-x),
+(110370,1,x,-x),
+(11037,2,,-x),

 

where x you must add your coor.

 

 

 

 

its a pvp flag area.

when you  will be inside you will get auto flag, auto noblesse. and a custom title .When you die there you get auto-respawn without need pressing "to village".

Everytime you respawn there,you get autonoblesse at your buffs.

 

(thx fanky for the idea)

well guys if i am wrong correct me thx.! :D

 

credits to me.

 

 

Credits you?
Link to comment
Share on other sites

  • 4 weeks later...

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.



×
×
  • Create New...