Jump to content

[Share] Disallowing donators to enter certain towns.


Recommended Posts

Basically, this really simple script disallows the donators to enter some towns (Gludio & Dion by default). If they enter, it jails them for 10 minutes (once again you can change it as you wish!)

Of course the donators is just an idea you can edit it with anything you want.

 

Here are the town ids if you want to change them

1: Dark elf village
2: Talking Island
3: Elven village
4: Orc village
5: Gludin
6: Dwarven village
7: Gludio
8: Dion
9: Giran
10: Oren
11: Hunters village
12: Aden
13: Goddard
14: Rune
15: Heine
16: Floran
17: Schuttgart

 

I also added a protection, if a donator finds a way (dunno how, just a precaution) to enter the certain towns, on their exit (teleportation - or simple get out of the town) they will get jailed.

 

Someone requested from me to make it, so the idea is not mine!

 

Here's the script:

Index: I:/workspace/L2_GameServer_It/java/net/sf/l2j/gameserver/model/zone/type/L2TownZone.java
===================================================================
--- I:/workspace/L2_GameServer_It/java/net/sf/l2j/gameserver/model/zone/type/L2TownZone.java	(revision 3615)
+++ I:/workspace/L2_GameServer_It/java/net/sf/l2j/gameserver/model/zone/type/L2TownZone.java	(working copy)
@@ -95,12 +95,28 @@
	{
		if (character instanceof L2PcInstance)
		{
+			// just a method, for efficiency
+			L2PcInstance activeChar = ((L2PcInstance)character);
+			
			// PVP possible during siege, now for siege participants only
			// Could also check if this town is in siege, or if any siege is going on
-			if (((L2PcInstance)character).getSiegeState() != 0 && Config.ZONE_TOWN == 1)
+			if (activeChar.getSiegeState() != 0 && Config.ZONE_TOWN == 1)
				return;

			//((L2PcInstance)character).sendMessage("You entered "+_townName);
+			
+			if (activeChar.isDonator() && getTownId() == 7)
+			{
+				activeChar.sendMessage("Donators can't enter Gludio. You are now jailed.");
+				activeChar.setInJail(true, 10);
+			}
+			else if (activeChar.isDonator() && getTownId() == 8)
+			{
+				activeChar.sendMessage("Donators can't enter Dion. You are now jailed.");
+				activeChar.setInJail(true, 10);
+			}
+			else
+				activeChar.sendMessage("You have entered a non-restricted area.");
		}

		if (!_noPeace && Config.ZONE_TOWN != 2) character.setInsideZone(L2Character.ZONE_PEACE, true);
@@ -114,7 +130,15 @@

		// if (character instanceof L2PcInstance)
			//((L2PcInstance)character).sendMessage("You left "+_townName);
-
+		
+		if (character instanceof L2PcInstance)
+		{
+			if (((L2PcInstance)character).isDonator() && (getTownId() == 7 || getTownId() == 8) && !((L2PcInstance)character).isInJail())
+			{
+				((L2PcInstance)character).sendMessage("How you entered in first place? Oh i hate exploiters!");
+				((L2PcInstance)character).setInJail(true, 60);
+			}
+		}
	}

	@Override

 

Here's another small patch disallowing them to totally use Gatekeepers, requested by Spidey*

Index: I:/workspace/L2_GameServer/java/com/l2jserver/gameserver/model/actor/instance/L2TeleporterInstance.java
===================================================================
--- I:/workspace/L2_GameServer/java/com/l2jserver/gameserver/model/actor/instance/L2TeleporterInstance.java	(revision 4167)
+++ I:/workspace/L2_GameServer/java/com/l2jserver/gameserver/model/actor/instance/L2TeleporterInstance.java	(working copy)
@@ -227,6 +227,11 @@
				player.sendMessage("Go away, you're not welcome here.");
				return;
			}
+			else if (player.isDonator())
+			{
+				player.sendMessage("Donators are not allowed to use GateKeepers.");
+				return;
+			}
			else if (player.isCombatFlagEquipped())
			{
				player.sendMessage("You can't port with a Combat Flag or Territory Ward!");

 

You'll have an error at isDonator() just change it with the method made in your pack.

Have a nice day!

Link to comment
Share on other sites

Woooowww relax... this is  a few lines code and something very very easy

Yes, if it wasn't easy, i wouldn't be sharing it. It's simple logic. Besides that i own a server myself, so it would be dumb to be sharing my server's features, wouldn't it be? Since i don't need it, i share it. Oh and a quote from my first post

this really simple script

 

 

 

Thanks for your good comments & the karma.

Link to comment
Share on other sites

You haven't understood what i am talking about...

Woooowww relax... this is  a few lines code and something very very easy

Yes, if it wasn't easy, i wouldn't be sharing it. It's simple logic. Besides that i own a server myself, so it would be dumb to be sharing my server's features, wouldn't it be? Since i don't need it, i share it. Oh and a quote from my first post

As i know, we don't take karma for easy things...

Link to comment
Share on other sites

yeah me too!

 

DO not spam!

 

Its hard to understand? Its just idea.. engine lol.

 

For example you can create something like:

 

All 1-76 lvl  characters = noob Status

 

and now .. you can create one town only for advanced players (76lvl+) with special thing like npc etc..

 

use your brain a bit..

Link to comment
Share on other sites

DO not spam!

 

Its hard to understand? Its just idea.. engine lol.

 

For example you can create something like:

 

All 1-76 lvl  characters = noob Status

 

and now .. you can create one town only for advanced players (76lvl+) with special thing like npc etc..

 

use your brain a bit..

yeah thanks for explaining them

 

as i said someone requested me to do it

Link to comment
Share on other sites

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...