Arrow 24 Опубликовано 29 февраля, 2016 (изменено) хотел сделать типа # Возможность взятия любого саб-класса AltAnySubClass = True кто подскажет что и как там нужно добавить в исходах (ит.су) и куда с меня +++ Изменено 29 февраля, 2016 пользователем Arrow Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
masone 298 Опубликовано 29 февраля, 2016 лс кинь тв сделаю 1 Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
masone 298 Опубликовано 29 февраля, 2016 (изменено) или вот в общем держи : класс: package ru.catssoftware.gameserver.model.actor.instance; public class L2VillageMasterInstance extends L2FolkInstance private final Set<PlayerClass> getAvailableSubClasses(L2PcInstance player) { int baseClassId = player.getBaseClass(); if ((baseClassId >= 88 && baseClassId <= 118) || (baseClassId >= 131 && baseClassId <= 134) || baseClassId == 136) baseClassId = ClassId.values()[baseClassId].getParent().getId(); PlayerClass baseClass = PlayerClass.values()[baseClassId]; Set<PlayerClass> availSubs = baseClass.getAvailableSubclasses(player); if (availSubs != null && !availSubs.isEmpty()) { for (PlayerClass availSub : availSubs) { for (SubClass subClass : player.getSubClasses().values()) { int subClassId = subClass.getClassId(); if ((subClassId >= 88 && subClassId <= 118) || (subClassId >= 131 && subClassId <= 134) || subClassId == 136) subClassId = ClassId.values()[subClassId].getParent().getId(); if (availSub.ordinal() == subClassId || availSub.ordinal() == baseClassId) availSubs.remove(availSub); } } } return availSubs; } Изменено 29 февраля, 2016 пользователем masone 1 Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
Arrow 24 Опубликовано 29 февраля, 2016 или вот в общем держи : класс: package ru.catssoftware.gameserver.model.actor.instance; public class L2VillageMasterInstance extends L2FolkInstance private final Set<PlayerClass> getAvailableSubClasses(L2PcInstance player) { int baseClassId = player.getBaseClass(); if ((baseClassId >= 88 && baseClassId <= 118) || (baseClassId >= 131 && baseClassId <= 134) || baseClassId == 136) baseClassId = ClassId.values()[baseClassId].getParent().getId(); PlayerClass baseClass = PlayerClass.values()[baseClassId]; Set<PlayerClass> availSubs = baseClass.getAvailableSubclasses(player); if (availSubs != null && !availSubs.isEmpty()) { for (PlayerClass availSub : availSubs) { for (SubClass subClass : player.getSubClasses().values()) { int subClassId = subClass.getClassId(); if ((subClassId >= 88 && subClassId <= 118) || (subClassId >= 131 && subClassId <= 134) || subClassId == 136) subClassId = ClassId.values()[subClassId].getParent().getId(); if (availSub.ordinal() == subClassId || availSub.ordinal() == baseClassId) availSubs.remove(availSub); } } } return availSubs; } Спс бро уже завтра сделаю Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты