Jump to content
Sign in to follow this  
eNiGMaZi

Эвент На Ограничения По Шмоту

Recommended Posts

Где то был эвент, так вот там если у тебя шмот такой то, то тебя не телепортирует, а если такой, можешь лететь.

Шмот имено в инвентаре.

Поделитесь если кто меня понял и есть у кого.

Share this post


Link to post
Share on other sites

Где то был эвент, так вот там если у тебя шмот такой то, то тебя не телепортирует, а если такой, можешь лететь.

Шмот имено в инвентаре.

Поделитесь если кто меня понял и есть у кого.

 

Чисто перебором можно (на базе acis-а)

 

import javolution.util.FastList;
import net.sf.l2j.gameserver.model.L2ItemInstance;
import net.sf.l2j.gameserver.model.actor.instance.L2PcInstance;
import net.sf.l2j.gameserver.model.itemcontainer.PcInventory;

import java.util.List;

/**
* Created by Юрий on 12.05.14.
*/
public class ItemManager {
   private static ItemManager instance;
   private static final Object MUTEX = new Object();
   private List<Integer> itemDeniedList = new FastList<>();


   //Double check-lock singleton access
   public static ItemManager getInstance() {
       if (instance == null) {
           synchronized (MUTEX) {
               if (instance == null) {
                   instance = new ItemManager();
               }
           }
       }
       return instance;
   }

   private ItemManager() {
       //Добавляем итемы:
       itemDeniedList.add(57); //Adena
       itemDeniedList.add(4448); //Краски
   }

   @SuppressWarnings("SynchronizationOnLocalVariableOrMethodParameter")
   public boolean isPlayerHasDeniedItem(L2PcInstance pcInstance) {
       PcInventory inventory = pcInstance.getInventory();
       L2ItemInstance[] items = inventory.getItems();
       synchronized (inventory) {
           for (L2ItemInstance l2ItemInstance : items) {
               if (itemDeniedList.contains(l2ItemInstance.getItemId()))
                   return true;
           }
       }
       return false;
   }


}

 

И вызов:

 

boolean canPlayerParticipate = !ItemManager.getInstance().isPlayerHasDeniedItem(player);

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
Sign in to follow this  

  • Recently Browsing   0 members

    No registered users viewing this page.

×
×
  • Create New...