Сообщений: 32
Тем: 5
Зарегистрирован: Oct 2012
Всем привет!
Кто-нибудь сталкивался с этим на ОВ сборках? Что мне хотелось бы узнать- если я хочу например ввести скил, который работал бы как дизарм, но снимал например плащ (это я так, для примера), где мне это смотреть? Просто дизарм запрещает вообще любые действия с инвентарем, а мне допустим надо для моих целей разграничение на разные типы, и скопировать эффект из дизарма с заменой типа снимаемого предмета не получится... Кто-нибудь в курсе?:Olen':
Сообщений: 3,968
Тем: 90
Зарегистрирован: Nov 2010
Репутация:
15,337
org.mmocore.gameserver.skills.effects.EffectDisarm
[SRC="java"] @Override
public void onStart()
{
super.onStart();
Player player = (Player) _effected;
ItemInstance wpn = player.getActiveWeaponInstance();
if(wpn != null)
{
player.getInventory().unEquipItem(wpn);
player.sendDisarmMessage(wpn);
}
player.startWeaponEquipBlocked();
}
[/SRC]
Меняете под свои нужды, как вариант - можно добавить параметр эффекту и использовать его, определяя в каком скиле снимется пуха, а в каком плащ.
Без знаний, конечно, вы ничего толкового не сделаете).
Сообщений: 32
Тем: 5
Зарегистрирован: Oct 2012
Ro_0TT Написал:org.mmocore.gameserver.skills.effects.EffectDisarm
[SRC="java"] @Override
public void onStart()
{
super.onStart();
Player player = (Player) _effected;
ItemInstance wpn = player.getActiveWeaponInstance();
if(wpn != null)
{
player.getInventory().unEquipItem(wpn);
player.sendDisarmMessage(wpn);
}
player.startWeaponEquipBlocked();
}
[/SRC]
Меняете под свои нужды, как вариант - можно добавить параметр эффекту и использовать его, определяя в каком скиле снимется пуха, а в каком плащ.
Без знаний, конечно, вы ничего толкового не сделаете).
Ну я вроде писал, что в самом скиле только тип снимаемого снаряжение менять можно, а мне больше интересно как поменять условия блокировки его повторной экипировки, т.к. если это использовать, то блокируется весь инвентарь, что для моих планов ну совсем не подходит
внутри Creature вроде как черным по белому написана блокировка оружия и можноЮ казалось бы, просто переписать аналогичный метод, но к сожалению все та же проблема: мы как бы блокируем отдельный тип, но на деле идет блокировка инвентаря
Сообщений: 32
Тем: 5
Зарегистрирован: Oct 2012
10-07-2012, 04:44 AM
(Сообщение последний раз редактировалось: 10-07-2012, 05:22 AM FullMetal.)
linliss Написал:boolean can_equip_cloak = true;
при успешном прохождении еффекта can_equip_cloak = false;
при одевании шмотки
if(armorType == cloak && !can_equip_cloak)
return;
при остановке еффекта can_equip_cloak = true;
это самое простое решение
Блин. Надо отдохнуть, не додумался сам до этого. Спасибо)
попутно еще один вопрос - где идет непосредственная обработка одевания эквипа?
Смотрел Inventory -> onEquip() но нет, не оно.
Сообщений: 32
Тем: 5
Зарегистрирован: Oct 2012
linliss Написал:клиентский пакет UseItem
Не совсем так, скорее вот тут EquipableItem. Сразу не нашел, т.к .искал в ядре, а он зараза в ДП
Спасибо всем кто откликнулся!
P.S. Когда нибудь я найду кнопку "спасибо"