Jump to content
  • 0

[Help]Problem with Java code


Question

Posted

Hey guys....

I try to put this java code in my server : http://www.maxcheaters.com/forum/index.php?topic=148257.0 and i put it :)

But when i wear S grade armor/weapon and i take out after i cant wear again any armor/weapon/jewel and in gameserver window say:

 

Client: [Character: Lougkraaaaaa[268479809] - Account: manos2864 - IP: 127.0.0.1

] - Failed running: [C] 14 UseItem - L2J Server Version: ${l2j.revision} - DP Re

vision: ${l2jdp.revision} ; null

java.lang.NullPointerException

       at com.l2jserver.gameserver.network.clientpackets.UseItem.runImpl(UseIte

m.java:103)

       at com.l2jserver.gameserver.network.clientpackets.L2GameClientPacket.run

(L2GameClientPacket.java:93)

       at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(Unknown Source

)

       at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)

       at java.lang.Thread.run(Unknown Source)

 

 

Some guys in greek section told me maybe i make something wrong.... and they try to help me with teamviewer but nothing happen!! Code had problem... Can someone fix this code pls!!! Or give me another code (i want olympiad only with A grade armor/weapons/jewels)

I use l2jserver Epilogue (Compile)

 

Recommended Posts

  • 0
Posted

when i delete } another problem created... here

{

_nonClassBasedRegisters.add(noble);

sm = new SystemMessage(SystemMessageId.YOU_HAVE_BEEN_REGISTERED_IN_A_WAITING_LIST_OF_NO_CLASS_GAMES);

noble.sendPacket(sm);

}

     

return true;

(x) say syntax error , insert } to complete statement

  • 0
Posted
Index: java/com/l2jserver/gameserver/network/clientpackets/UseItem.java
===================================================================
--- java/com/l2jserver/gameserver/network/clientpackets/UseItem.java	(revision 4167)
+++ java/com/l2jserver/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_A || armorGrade == L2Item.CRYSTAL_A))
+		{
+			activeChar.sendMessage("You cannot use A grade equipment at the Grand Olympiad games.");
+			return;
+		}

		// NOTE: disabled due to deadlocks
		// synchronized (activeChar.getInventory())
Index: java/com/l2jserver/gameserver/model/olympiad/Olympiad.java
===================================================================
--- java/com/l2jserver/gameserver/model/olympiad/Olympiad.java	(revision 4167)
+++ java/com/l2jserver/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.item.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_A || armorGrade == L2Item.CRYSTAL_A)
+		{
+			noble.sendMessage("You cannot join the grand olympiad games using A grade equipment.");
+			return false;
+		}
+		
		if (!_inCompPeriod)
		{
			sm = new SystemMessage(SystemMessageId.THE_OLYMPIAD_GAME_IS_NOT_CURRENTLY_IN_PROGRESS);

  • 0
Posted

Index: java/com/l2jserver/gameserver/network/clientpackets/UseItem.java
===================================================================
--- java/com/l2jserver/gameserver/network/clientpackets/UseItem.java	(revision 4167)
+++ java/com/l2jserver/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_A || armorGrade == L2Item.CRYSTAL_A))
+		{
+			activeChar.sendMessage("You cannot use A grade equipment at the Grand Olympiad games.");
+			return;
+		}

		// NOTE: disabled due to deadlocks
		// synchronized (activeChar.getInventory())
Index: java/com/l2jserver/gameserver/model/olympiad/Olympiad.java
===================================================================
--- java/com/l2jserver/gameserver/model/olympiad/Olympiad.java	(revision 4167)
+++ java/com/l2jserver/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.item.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_A || armorGrade == L2Item.CRYSTAL_A)
+		{
+			noble.sendMessage("You cannot join the grand olympiad games using A grade equipment.");
+			return false;
+		}
+		
		if (!_inCompPeriod)
		{
			sm = new SystemMessage(SystemMessageId.THE_OLYMPIAD_GAME_IS_NOT_CURRENTLY_IN_PROGRESS);

with this code i cant wear any armor... :/ when i put out my armor i cant wear it again.... :S

  • 0
Posted

http://pastebin.com/yJp3EtZE <-- olympiad.java with code

I had no problems with that.

Anyway,since you use epilogue,you can get inspired by intrepid's post.

Add this.

       L2ItemInstance item = noble.getInventory().getItemByObjectId(_objectId);
       if (item.getItemGrade() > 4)
       {
               noble.sendMessage("You can't participate to Olympiad while holding a S grade Weapon.");
   		return false;
       }

  • 0
Posted

i delete this code from Olympiad.java

L2ItemInstance item = noble.getInventory().getItemByObjectId(_objectId);

     int lolz0r = item.getItem().getCrystalType();

     if (item != null)

     {

         if (lolz0r == L2Item.CRYSTAL_S || lolz0r == L2Item.CRYSTAL_S80 || lolz0r == L2Item.CRYSTAL_S84)

         {

             noble.sendMessage("You cannot use S grade equipment at the Grand Olympiad games.");

             return false;

         }

     }

and i replace this with this code

       L2ItemInstance item = noble.getInventory().getItemByObjectId(_objectId);

       if (item.getItemGrade() > 4)

       {

               noble.sendMessage("You can't participate to Olympiad while holding a S grade Weapon.");

    return false;

       }

but now it say The method getItemGrade() is undefined for the type l2ItemInstance

  • 0
Posted

Sry for double post but i am from yesterday... and no answer :S i am waiting so many hours... can someone tell me a solution pls?

[its not only for me this code... many guys want this... if someone help me to solve this problem... then i will add this code in the forum or someone else] (with credits)

  • 0
Posted

i fix it :) guys...!!! :D topic lock!!!! i read some topics for java codes... and i fix it !!! xaxa ooo nice!!! thanks for your help!!

locked.

Guest
This topic is now closed to further replies.



×
×
  • Create New...