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