eNiGMaZi 0 Опубликовано 11 мая, 2014 Где то был эвент, так вот там если у тебя шмот такой то, то тебя не телепортирует, а если такой, можешь лететь. Шмот имено в инвентаре. Поделитесь если кто меня понял и есть у кого. Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
GorDeveloper 356 Опубликовано 11 мая, 2014 А в чём смысл то эвента? Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
Расторгуев 111 Опубликовано 11 мая, 2014 тогда уже сделать что бы статы были как в 0 сете или 4 . ну что то типо такого как делали многие для олика Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
YuraAAA1 13 Опубликовано 12 мая, 2014 Где то был эвент, так вот там если у тебя шмот такой то, то тебя не телепортирует, а если такой, можешь лететь. Шмот имено в инвентаре. Поделитесь если кто меня понял и есть у кого. Чисто перебором можно (на базе 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); Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты