Jump to content
  • 0

[Help]How to Block item in Zone


Question

Posted

Exsample

 

  Player have item A,B,C

 

-------------

I want to...

-------------

 

block item A in Girun

 

block item B in olympiad

 

block item C at 18.00-22.00

 

Block = Can no't use item in "location Setting"

 

 

How to config in server....

 

 

----------------------------

Thx for All to help me

----------------------------

5 answers to this question

Recommended Posts

  • 0
Posted

for olympiad you can block items via config.

 

to block items in a town well you can block it in useitem.java something like

 

if (activeChar.isInPeaceZone)
{
    code here(look at the other codes to get an example you need to disarm the item than add restriction for re-equip)
}

 

or to block only 1 town you need to get the Id of the town its something like

if (TownManager.getTown(Id of the town)
{
    same restriction here
}

 

the block by time is harder a bit because 1 day in l2 means 240minute i dont know the solution for that now but you can make it like item restriction if ingame its night its something like

if (GameTimeController.getInstance().isNowNight())
{
   same restriction here
}

 

  • 0
Posted

I did this for you,just replace the random item ID's and minutesatyourmintim minutesatyourmaxtim with what you want and thats it. Next time try to do it yourself.

public void useItem(L2PlayableInstance playable, L2ItemInstance item)
{
	if (!(playable instanceof L2PcInstance))
		return;
	L2PcInstance activeChar = (L2PcInstance) playable;
	int itemId = item.getItemId();
	switch(itemId)
	{
		case 2132121:
			if(playable.isInsideZone(L2Zone.FLAG_PEACE))
			{
				playable.sendMessage("You cannot use this item in towns.");
				return;
			}
			break;
		case 34534543:
			if(playable.isInsideZone(L2Zone.FLAG_STADIUM))
			{
				playable.sendMessage("You cannot use this item whilte in Olympiad.);
				return;
			}
			break;
		case 131231:

		{
			if(GameTimeController.getInstance().getGameTime() > minutesatyourmintime && GameTimeController.getInstance().getGameTime() > minutesatyourmaxtime)
			playable.sendMessage("You cannot use this item between timemin - timemax.);
			return;
		}
			break;

	}

  • 0
Posted

thx sure.

You're welcome. Next time just make sure you search the source to understand how things work.

I did that code, it works ,feel free to use it and claim it your own ;)

  • 0
Posted

Horus.code Edit in l2jserver only? or other.

What do you mean?

If I only code L2j or L2jFree ? or if this code works on all packs?

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
Answer this question...

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