Skip to content

Olympiad A Grade

Featured Replies

Hello here is a code for olympiad with A grade

Index: I:/workspace/L2_GameServer/java/com/l2jstep/gameserver/network/clientpackets/UseItem.java
===================================================================
--- I:/workspace/L2_GameServer/java/com/l2jstep/gameserver/network/clientpackets/UseItem.java   (revision 4167)
+++ I:/workspace/L2_GameServer/java/com/l2jstep/gameserver/network/clientpackets/UseItem.java   (working copy)
@@ -97,6 +97,14 @@

	   if (activeChar.getActiveTradeList() != null)
		  activeChar.cancelActiveTrade();
+	 
+	  int weaponGrade = activeChar.getActiveWeaponItem().getCrystalType();
+	  int armorGrade = activeChar.getActiveChestArmorItem().getCrystalType();
+	  if (activeChar.isInOlympiadMode() && (weaponGrade == L2Item.CRYSTAL_S || armorGrade == L2Item.CRYSTAL_S))
+	  {
+		 activeChar.sendMessage("You cannot use S grade equipment at the Grand Olympiad games.");
+		 return;
+	  }

	   // NOTE: disabled due to deadlocks
	   // synchronized (activeChar.getInventory())
Index: I:/workspace/L2_GameServer/java/com/l2jstep/gameserver/model/olympiad/Olympiad.java
===================================================================
--- I:/workspace/L2_GameServer/java/com/l2jstep/gameserver/model/olympiad/Olympiad.java   (revision 4167)
+++ I:/workspace/L2_GameServer/java/com/l2jstep/gameserver/model/olympiad/Olympiad.java   (working copy)
@@ -50,6 +50,7 @@
import com.l2jserver.gameserver.network.serverpackets.NpcHtmlMessage;
import com.l2jserver.gameserver.network.serverpackets.SystemMessage;
import com.l2jserver.gameserver.templates.StatsSet;
+import com.l2jserver.gameserver.templates.L2Item;
import com.l2jserver.util.L2FastList;

import javolution.util.FastMap;
@@ -482,6 +483,14 @@
	    * return false; }
	    */

+	  int weaponGrade = noble.getActiveWeaponItem().getCrystalType();
+	  int armorGrade = noble.getActiveChestArmorItem().getCrystalType();
+	  if (weaponGrade == L2Item.CRYSTAL_S || armorGrade == L2Item.CRYSTAL_S)
+	  {
+		 noble.sendMessage("You cannot join the grand olympiad games using S grade equipment.");
+		 return false;
+	  }
+	 
	   if (!_inCompPeriod)
	   {
		  sm = new SystemMessage(SystemMessageId.THE_OLYMPIAD_GAME_IS_NOT_CURRENTLY_IN_PROGRESS);
	     

Code is not mine!

Bad, so bad. The olympiad check probably is while registering, so well.. You may register and then equip it and voile, you are with S grade.

 

The check should be zone related with auto unequip.

also this checks only if he wears the item so if he has it in inventory, as sweety said if you dont check auto unequip they will ware it after they enter. zones can be done onEnter method make some restriction

example net.sf.l2j.gameserver.model.zone.type here

  • 4 months later...

thanks for  share

Edited by RêdfLâg

You must edit Olympiad Stadium Zone to unequip restricted items when the player go in that area, then create a condition to prevent the use of those items while inside that area.

In addition, you don't need core support to do that.

Add <set name="is_oly_restricted" val="true" /> on item's XML of your choice.

Edited by Kraker

Just do this.

Index: java/net/sf/l2j/gameserver/model/item/kind/Item.java
===================================================================
--- java/net/sf/l2j/gameserver/model/item/kind/Item.java	(revision 2)
+++ java/net/sf/l2j/gameserver/model/item/kind/Item.java	(working copy)
@@ -477,7 +477,7 @@
 	public boolean checkCondition(L2Character activeChar, L2Object target, boolean sendMessage)
 	{
 		// Don't allow hero equipment and restricted items during Olympiad
-		if ((isOlyRestrictedItem() || isHeroItem()) && ((activeChar instanceof L2PcInstance) && activeChar.getActingPlayer().isInOlympiadMode()))
+		if ((isOlyRestrictedItem() || isOlyRestrictedItemByGrade() || isHeroItem()) && ((activeChar instanceof L2PcInstance) && activeChar.getActingPlayer().isInOlympiadMode()))
 		{
 			if (isEquipable())
 				activeChar.getActingPlayer().sendPacket(SystemMessageId.THIS_ITEM_CANT_BE_EQUIPPED_FOR_THE_OLYMPIAD_EVENT);
@@ -550,6 +550,11 @@
 		return _isOlyRestricted;
 	}
 	
+	public boolean isOlyRestrictedItemByGrade()
+	{
+		return (getCrystalType() == CrystalType.S);
+	}
+	
 	public boolean isPetItem()
 	{
 		return (getItemType() == ArmorType.PET || getItemType() == WeaponType.PET);
  • 2 months later...

There is already mod for that.

  • 5 years later...
On 8/22/2015 at 11:37 PM, Trance said:

Just do this.


Index: java/net/sf/l2j/gameserver/model/item/kind/Item.java
===================================================================
--- java/net/sf/l2j/gameserver/model/item/kind/Item.java	(revision 2)
+++ java/net/sf/l2j/gameserver/model/item/kind/Item.java	(working copy)
@@ -477,7 +477,7 @@
 	public boolean checkCondition(L2Character activeChar, L2Object target, boolean sendMessage)
 	{
 		// Don't allow hero equipment and restricted items during Olympiad
-		if ((isOlyRestrictedItem() || isHeroItem()) && ((activeChar instanceof L2PcInstance) && activeChar.getActingPlayer().isInOlympiadMode()))
+		if ((isOlyRestrictedItem() || isOlyRestrictedItemByGrade() || isHeroItem()) && ((activeChar instanceof L2PcInstance) && activeChar.getActingPlayer().isInOlympiadMode()))
 		{
 			if (isEquipable())
 				activeChar.getActingPlayer().sendPacket(SystemMessageId.THIS_ITEM_CANT_BE_EQUIPPED_FOR_THE_OLYMPIAD_EVENT);
@@ -550,6 +550,11 @@
 		return _isOlyRestricted;
 	}
 	
+	public boolean isOlyRestrictedItemByGrade()
+	{
+		return (getCrystalType() == CrystalType.S);
+	}
+	
 	public boolean isPetItem()
 	{
 		return (getItemType() == ArmorType.PET || getItemType() == WeaponType.PET);

Hello, how are you. if i want to block some items in olympiad how would the right place be?

6 minutes ago, L2VANPER said:

Hello, how are you. if i want to block some items in olympiad how would the right place be?

 pack ? 

2 minutes ago, Irrelevant said:

 pack ? 

aCis 398 

I don't find Olympiad Items and Block and Dual Box

Edited by L2VANPER

9 hours ago, L2VANPER said:

aCis 398 

I don't find Olympiad Items and Block and Dual Box

config/events 
 

# Allow to get in oly with same ip players
AltOlyAllowSameIPInOly = false

# Restrict specified items in Olympiad. ItemID's need to be separated with a comma (ex. 1,200,350)
# This item will auto remove if is wear
# This item will be auto blocked to use until olympiad match end
# 0 is default
AltOlyRestrictedItems = 

Create an account or sign in to comment

Account

Navigation

Search

Search

Configure browser push notifications

Chrome (Android)
  1. Tap the lock icon next to the address bar.
  2. Tap Permissions → Notifications.
  3. Adjust your preference.
Chrome (Desktop)
  1. Click the padlock icon in the address bar.
  2. Select Site settings.
  3. Find Notifications and adjust your preference.