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

Index: I:/workspace/L2_GameServer/java/com/l2jserver/gameserver/network/clientpackets/UseItem.java

===================================================================

--- I:/workspace/L2_GameServer/java/com/l2jserver/gameserver/network/clientpackets/UseItem.java (revision 4167)

+++ I:/workspace/L2_GameServer/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_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())

I think in red color is the problem but i am not sure...

Link to comment
Share on other sites

  • 0

Try this:

 

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

Link to comment
Share on other sites

  • 0

// synchronized (activeChar.getInventory()) <--- line 103

 

**EDIT**

When i try your code parizaki it say syntax error (x)

Change this:

if (activeChar.isInOlympiadMode() && (weaponGrade != null || armorGrade != null)

To:

if (activeChar.isInOlympiadMode() && (weaponGrade != null || armorGrade != null))

 

My fault :P

Link to comment
Share on other sites

  • 0

Change this:

if (activeChar.isInOlympiadMode() && (weaponGrade != null || armorGrade != null)

To:

if (activeChar.isInOlympiadMode() && (weaponGrade != null || armorGrade != null))

 

My fault :P

nothing change.... :S again error!!

Noone else can help me????? just tell me other sites with java codes and will go to search!!!!

Link to comment
Share on other sites

  • 0
        int lolz0r = item.getItem().getCrystalType();
        if (activeChar.isInOlympiadMode() && lolz0r == L2Item.CRYSTAL_S)
        {
        	//to do...
        }

Link to comment
Share on other sites

  • 0

       int lolz0r = item.getItem().getCrystalType();
       if (activeChar.isInOlympiadMode() && lolz0r == L2Item.CRYSTAL_S)
       {
       	//to do...
       }

It say---> item cannot be resolved

 

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

             ^^^

 

Link to comment
Share on other sites

  • 0

It say---> item cannot be resolved

 

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

             ^^^

 

Add it below this: L2ItemInstance item = activeChar.getInventory().getItemByObjectId(_objectId);

Link to comment
Share on other sites

  • 0

+     

+      L2ItemInstance item = activeChar.getInventory().getItemByObjectId(_objectId);

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

+      }

 

Like this?? because i am confused... :S

Link to comment
Share on other sites

  • 0

Put in UseItem :\

       int lolz0r = item.getItem().getCrystalType();
       if (activeChar.isInOlympiadMode() && lolz0r == L2Item.CRYSTAL_S)
       {
             activeChar.sendMessage("You cannot use S grade equipment at the Grand Olympiad games.");
              return;
       }

Link to comment
Share on other sites

  • 0

Put in UseItem :\

       int lolz0r = item.getItem().getCrystalType();
       if (activeChar.isInOlympiadMode() && lolz0r == L2Item.CRYSTAL_S)
       {
             activeChar.sendMessage("You cannot use S grade equipment at the Grand Olympiad games.");
             return;
       }

Yes i do it ... but it say item cannot be resolved...

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

             ^^^

Link to comment
Share on other sites

  • 0

It's already defined

 

 

protected void runImpl()

{

 

L2PcInstance activeChar = getClient().getActiveChar();

 

if (activeChar == null)

           return;

 

if (activeChar.getPrivateStoreType() != 0)

{

activeChar.sendPacket(new SystemMessage(SystemMessageId.CANNOT_TRADE_DISCARD_DROP_ITEM_WHILE_IN_SHOPMODE));

activeChar.sendPacket(new ActionFailed());

return;

}

 

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

 

Link to comment
Share on other sites

  • 0

It's already defined

 

 

protected void runImpl()

{

 

L2PcInstance activeChar = getClient().getActiveChar();

 

if (activeChar == null)

            return;

 

if (activeChar.getPrivateStoreType() != 0)

{

activeChar.sendPacket(new SystemMessage(SystemMessageId.CANNOT_TRADE_DISCARD_DROP_ITEM_WHILE_IN_SHOPMODE));

activeChar.sendPacket(new ActionFailed());

return;

}

 

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

 

This one is few lines below,thats what i told him.

Link to comment
Share on other sites

Guest
This topic is now closed to further replies.



×
×
  • Create New...