Jump to content
  • 0

[Help]Problem with Java code


manos2864

Question

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)

 

Link to comment
Share on other sites

Recommended Posts

  • 0

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

Link to comment
Share on other sites

  • 0
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);

Link to comment
Share on other sites

  • 0

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

Link to comment
Share on other sites

  • 0

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;
       }

Link to comment
Share on other sites

  • 0

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

Link to comment
Share on other sites

  • 0

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)

Link to comment
Share on other sites

  • 0

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.

Link to comment
Share on other sites

Guest
This topic is now closed to further replies.



×
×
  • Create New...

AdBlock Extension Detected!

Our website is made possible by displaying online advertisements to our members.

Please disable AdBlock browser extension first, to be able to use our community.

I've Disabled AdBlock