casdepri 8 Опубликовано 28 июня, 2016 Хочу сделать, чтоб при одевании шапки срабатывала анимации. Например одели шапку и сработала анимация берсерка(каст бп). Где и как это сделать? В редактировании клиент получилось только вскрыть анимации(и то нифига не понятно ибо не по названию расположены они) и сделать при точке другое свечение(хиро, валакаса плюха и т.д.). Знаю что можно через ядро делать абнормал эффект. Получилось сделать свечение невита при одевании пуза. Но как я понимаю, анимация и абнормалы это вообще разные вещи? Или нет?Помогите пожалуйста. Инфа чисто для себя, ну очень уж интересное занятие это. Не собираюсь заниматься какой-либо продажей и т.д. и в конкуренты набиваться кому-то тоже не хочу Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
terege 110 Опубликовано 28 июня, 2016 Хочу сделать, чтоб при одевании шапки срабатывала анимации. Например одели шапку и сработала анимация берсерка(каст бп). Где и как это сделать? В редактировании клиент получилось только вскрыть анимации(и то нифига не понятно ибо не по названию расположены они) и сделать при точке другое свечение(хиро, валакаса плюха и т.д.). Знаю что можно через ядро делать абнормал эффект. Получилось сделать свечение невита при одевании пуза. Но как я понимаю, анимация и абнормалы это вообще разные вещи? Или нет? Помогите пожалуйста. Инфа чисто для себя, ну очень уж интересное занятие это. Не собираюсь заниматься какой-либо продажей и т.д. и в конкуренты набиваться кому-то тоже не хочу проверка что одевается если правда применить эффект скила потом одеть ту вещь Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
CalypsoToolz 451 Опубликовано 28 июня, 2016 Если сборка на основе лоста/феникса, то можно задействовать OnEquipListener, при одевании проверяем ид итема на нужный нам и рассылаем пакет MagicSkillUse от игрока с нужным нам скиллом. Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
casdepri 8 Опубликовано 29 октября, 2016 АпРебята конечно логичные) Но где писать условие? Это ядро или на уровне клиента можно?Как рассылать пакеты? Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
terege 110 Опубликовано 31 октября, 2016 Ап Ребята конечно логичные) Но где писать условие? Это ядро или на уровне клиента можно? Как рассылать пакеты? ядро править Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
casdepri 8 Опубликовано 31 октября, 2016 ядро править В каком направлении копать? Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
terege 110 Опубликовано 31 октября, 2016 В каком направлении копать? функция де одевается итем или пакет Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
casdepri 8 Опубликовано 31 октября, 2016 функция де одевается итем или пакет Спасиб, попробуем) Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
CalypsoToolz 451 Опубликовано 1 ноября, 2016 Так и не услышал названия сборки, поэтому кину пример для лоста: package services; import org.mmocore.gameserver.listener.inventory.OnEquipListener; import org.mmocore.gameserver.model.Playable; import org.mmocore.gameserver.model.items.ItemInstance; import org.mmocore.gameserver.network.l2.s2c.MagicSkillUse; public class EffectOnEquip implements OnEquipListener { @Override public void onEquip(int slot, ItemInstance item, Playable actor) { // проверяем ид итема if(item.getItemId() == 11111) { actor.broadcastPacket(new MagicSkillUse(actor, ид_скилла, лвл_скилла, 0, 0)); } } @Override public void onUnequip(int slot, ItemInstance item, Playable actor) { // можно добавить действия при снятии } } Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
casdepri 8 Опубликовано 1 ноября, 2016 Ах, сборка l2j-dev Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
CalypsoToolz 451 Опубликовано 2 ноября, 2016 Ах, сборка l2j-dev Тогда вот этот код должен работать package services; import org.mmocore.gameserver.listener.actor.player.OnPlayerEnterListener; import org.mmocore.gameserver.listener.inventory.OnEquipListener; import org.mmocore.gameserver.listener.script.OnInitScriptListener; import org.mmocore.gameserver.model.Playable; import org.mmocore.gameserver.model.Player; import org.mmocore.gameserver.model.actor.listener.PlayerListenerList; import org.mmocore.gameserver.model.items.ItemInstance; import org.mmocore.gameserver.network.l2.s2c.MagicSkillUse; public class EffectOnEquip implements OnInitScriptListener { private static final OnEquipListener eqListenerImpl = new OnEquipListenerImpl(); private static final OnPlayerEnterListener enterListenerImpl = new OnPlayerEnterListenerImpl(); @Override public void onInit() { PlayerListenerList.addGlobal(enterListenerImpl); } private static final class OnPlayerEnterListenerImpl implements OnPlayerEnterListener { @Override public void onPlayerEnter(Player player) { player.getInventory().addListener(eqListenerImpl); } } private static final class OnEquipListenerImpl implements OnEquipListener { @Override public void onEquip(int slot, ItemInstance item, Playable actor) { if(item.getItemId() == 11111) actor.broadcastPacket(new MagicSkillUse(actor, ид_скилла, лвл_скилла, 0, 0)); } @Override public void onUnequip(int slot, ItemInstance item, Playable actor) {} } } Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты