Jump to content

[Share] KvN Town Protection (Java + datapack)


Recommended Posts

Hello!!! I am here today to share one mod for KvN Faction Servers!

What is doing this mod?

If one koof is in town of noobs they will autoteleport back to their town!

Same with noob in town of koofs!

Let's Start!!!

 

Index: C:/Users/Home/Desktop/eclipse/workspace/Function_CORE/java/net/sf/l2j/gameserver/model/zone/type/L2TownZone.java
===================================================================
--- C:/Users/Home/Desktop/eclipse/workspace/Function_CORE/java/net/sf/l2j/gameserver/model/zone/type/L2TownZone.java	(revision 688)
+++ C:/Users/Home/Desktop/eclipse/workspace/Function_CORE/java/net/sf/l2j/gameserver/model/zone/type/L2TownZone.java	(working copy)
@@ -36,6 +36,8 @@
	private int _taxById;
	private FastList<int[]> _spawnLocs;
	private boolean _noPeace;
+	private boolean _noKoofs;
+	private boolean _noNoobs;

	public L2TownZone(int id)
	{
@@ -44,6 +46,8 @@
		_spawnLocs = new FastList<int[]>();
		_redirectTownId = 9;
		_noPeace = false;
+		_noKoofs = false;
+		_noNoobs = false;
	}

	@Override
@@ -59,6 +63,10 @@
			_taxById = Integer.parseInt(s1);
		else if (s.equals("isPeaceZone"))
			_noPeace = Boolean.parseBoolean(s1);
+		else if (s.equals("noKoofs"))
+			_noKoofs = Boolean.parseBoolean(s1);
+		else if (s.equals("noNoobs"))
+			_noNoobs = Boolean.parseBoolean(s1);
		else
			super.setParameter(s, s1);
	}
@@ -87,6 +95,16 @@
			return;
		if (!_noPeace && Config.ZONE_TOWN != 2)
			character.setInsideZone(2, true);
+		if (_noKoofs && ((L2PcInstance) character).isKoof())
+		{
+			character.teleToLocation(111388, 223517, -3555);
+			((L2PcInstance) character).sendMessage("Koofs are not allowed in noobs town!");
+		}
+		if (_noNoobs && ((L2PcInstance) character).isNoob())
+		{
+			character.teleToLocation(115732, 75104, -2599);
+			((L2PcInstance) character).sendMessage("Noobs are not allowed in koofs town!");
+		}
	}

	@Override
@@ -137,4 +155,12 @@
	{
		return _noPeace;
	}
+	public final boolean noKoofs()
+	{
+		return _noKoofs;
+	}
+	public final boolean noNoobs()
+	{
+		return _noNoobs;
+	}
}

 

on datapack side

Open data/zones/zones.xml

Find your place where you want (i will take hunter village)

The normal one:

	<zone id='11030' type='Town' shape='Cuboid' minZ='-2800' maxZ='-1600'>
	<stat name='name' val='Hunter Village'/>
	<stat name='townId' val='11'/>
	<stat name='taxById' val='5'/>
	<spawn X='117163' Y='76511' Z='-2712'/>
	<spawn X='116580' Y='76179' Z='-2729'/>
	<spawn X='119644' Y='76609' Z='-2274'/>
	<spawn X='117009' Y='78935' Z='-2289'/>
	<spawn X='115091' Y='77740' Z='-2709'/>
	<spawn X='118270' Y='74494' Z='-2502'/>
	<spawn X='115663' Y='74995' Z='-2625'/>
</zone>

 

and the modified:

	<zone id='11030' type='Town' shape='Cuboid' minZ='-2800' maxZ='-1600'>
	<stat name='name' val='Hunter Village'/>
	<stat name='townId' val='11'/>
	<stat name='taxById' val='5'/>
	<stat name='noKoofs' val='true'/>
	<spawn X='117163' Y='76511' Z='-2712'/>
	<spawn X='116580' Y='76179' Z='-2729'/>
	<spawn X='119644' Y='76609' Z='-2274'/>
	<spawn X='117009' Y='78935' Z='-2289'/>
	<spawn X='115091' Y='77740' Z='-2709'/>
	<spawn X='118270' Y='74494' Z='-2502'/>
	<spawn X='115663' Y='74995' Z='-2625'/>
</zone>

 

The line i insert is:

		<stat name='noKoofs' val='true'/>

for noobs just put

		<stat name='noNoobs' val='true'/>

This code is created by me and only i don't know if someone make it i didn't find it! I will share only my codes not copy/pastes

 

Link to comment
Share on other sites

is more simple from RequestRestartPoint.java, when "noob" press on To Village will be ported :

 

else if (activeChar.isNoob()) _requestedPointType = 5;

case 5:

if (activeChar.isNoob)

{

activeChar.sendMessage("msg");

activeChar.teleToLocation(x,y,z);

activeChar.doRevive();

}

break;

 

Link to comment
Share on other sites

pfff!!! Please read the Topic title it saying Town Protection

Exaple When a koof is entering in the town with the mark <stat name="noKoofs" val="true"/>

It will automaticaly teleport him back to base! no when he die!

 

Oh and i change some mistakes in first post :)

Link to comment
Share on other sites

  • 4 months later...

kinda same just when a character is going out of the city onExit as you say make a command noOutKoofs, noOutNoobs, there where the noobs town is put it and when a character is going out of the city he will be teleported back the the spot, but something other this way ither teleport will not allowed to make because on teleport you exit the zone, so you will teleported twice.

Link to comment
Share on other sites

  • 2 weeks later...
  • 3 months later...

nice idea but have errors with npc or instances shows error cant cast teleporterinstance to townzone or casting from l2pcinstace failed, so no npc can be in town any suggestions ?

 

ps in that town is only one npc == teleporter

 

Dec 22, 2010 12:11:21 AM com.l2jserver.gameserver.datatables.StaticObjects parseData

WARNING: Error while creating StaticObjects table com.l2jserver.gameserver.model.actor.instance.L2StaticObjectInstance cannot be cast to com.l2jserver.gameserver.model.actor.instance.L2PcInstance

java.lang.ClassCastException: com.l2jserver.gameserver.model.actor.instance.L2StaticObjectInstance cannot be cast to com.l2jserver.gameserver.model.actor.instance.L2PcInstance

at com.l2jserver.gameserver.model.zone.type.L2TownZone.onEnter(L2TownZone.java:98)

at com.l2jserver.gameserver.model.zone.L2ZoneType.revalidateInZone(L2ZoneType.java:338)

at com.l2jserver.gameserver.model.L2WorldRegion.revalidateZones(L2WorldRegion.java:103)

at com.l2jserver.gameserver.model.actor.position.CharPosition.setWorldRegion(CharPosition.java:48)

at com.l2jserver.gameserver.model.L2Object.spawnMe(L2Object.java:487)

at com.l2jserver.gameserver.datatables.StaticObjects.parse(StaticObjects.java:155)

at com.l2jserver.gameserver.datatables.StaticObjects.parseData(StaticObjects.java:66)

at com.l2jserver.gameserver.datatables.StaticObjects.<init>(StaticObjects.java:48)

at com.l2jserver.gameserver.datatables.StaticObjects.<init>(StaticObjects.java:34)

at com.l2jserver.gameserver.datatables.StaticObjects$SingletonHolder.<clinit>(StaticObjects.java:168)

at com.l2jserver.gameserver.datatables.StaticObjects.getInstance(StaticObjects.java:42)

at com.l2jserver.gameserver.GameServer.<init>(GameServer.java:272)

at com.l2jserver.gameserver.GameServer.main(GameServer.java:506)

Dec 22, 2010 12:11:21 AM com.l2jserver.gameserver.model.L2Spawn doSpawn

WARNING: NPC 30006 class not found

java.lang.ClassCastException: com.l2jserver.gameserver.model.actor.instance.L2TeleporterInstance cannot be cast to com.l2jserver.gameserver.model.actor.instance.L2PcInstance

at com.l2jserver.gameserver.model.zone.type.L2TownZone.onEnter(L2TownZone.java:98)

at com.l2jserver.gameserver.model.zone.L2ZoneType.revalidateInZone(L2ZoneType.java:338)

at com.l2jserver.gameserver.model.L2WorldRegion.revalidateZones(L2WorldRegion.java:103)

at com.l2jserver.gameserver.model.actor.L2Character.revalidateZone(L2Character.java:4265)

at com.l2jserver.gameserver.model.actor.L2Character.onSpawn(L2Character.java:454)

at com.l2jserver.gameserver.model.actor.L2Npc.onSpawn(L2Npc.java:1423)

at com.l2jserver.gameserver.model.L2Object.spawnMe(L2Object.java:535)

at com.l2jserver.gameserver.model.L2Spawn.initializeNpcInstance(L2Spawn.java:558)

at com.l2jserver.gameserver.model.L2Spawn.doSpawn(L2Spawn.java:468)

at com.l2jserver.gameserver.model.L2Spawn.doSpawn(L2Spawn.java:416)

at com.l2jserver.gameserver.model.L2Spawn.init(L2Spawn.java:375)

at com.l2jserver.gameserver.datatables.SpawnTable.fillSpawnTable(SpawnTable.java:189)

at com.l2jserver.gameserver.datatables.SpawnTable.<init>(SpawnTable.java:55)

at com.l2jserver.gameserver.datatables.SpawnTable.<init>(SpawnTable.java:39)

at com.l2jserver.gameserver.datatables.SpawnTable$SingletonHolder.<clinit>(SpawnTable.java:355)

at com.l2jserver.gameserver.datatables.SpawnTable.getInstance(SpawnTable.java:49)

at com.l2jserver.gameserver.model.entity.Fort.initNpcs(Fort.java:1276)

at com.l2jserver.gameserver.model.entity.Fort.<init>(Fort.java:260)

at com.l2jserver.gameserver.instancemanager.FortManager.loadInstances(FortManager.java:177)

at com.l2jserver.gameserver.GameServer.<init>(GameServer.java:275)

at com.l2jserver.gameserver.GameServer.main(GameServer.java:506)

Dec 22, 2010 12:11:21 AM com.l2jserver.gameserver.model.L2Spawn doSpawn

Link to comment
Share on other sites

  • 2 months 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...