Сообщений: 231
Тем: 68
Зарегистрирован: Jun 2013
Репутация:
654
02-23-2014, 06:36 PM
(Сообщение последний раз редактировалось: 03-01-2014, 03:24 AM Ashe.)
Всем привет! Как сделать чтобы с определенного нпц давался предмет при ударе определенным оружием?
Напримеp: Берешь кирку в руки и бьешь нпц(залежи руды) ударяешь 5 раз и за эти 5 ударов тебе дается по 20 руды, а потом руда исчезает?
Ну мне собственно не понятно только самый первый вопрос.
Подскажите пожалуйста, может быть есть уже что-то наподобие реализованное в l2?
Сообщений: 2,228
Тем: 77
Зарегистрирован: Jan 2012
Репутация:
12,733
02-23-2014, 07:19 PM
(Сообщение последний раз редактировалось: 02-23-2014, 07:28 PM MrShyr.)
К какому нибудь OnKill прикрутить правило - если убийца в момент смерти держал в руке item_id такой-то, то награждать его тем-то. Только нужно будет еще правило писать, для того что бы только с этого item_id дамаг наносился - это совсем иная история. Как то так. Додумывайте сами
Добавлено через 1 минуту
З.Ы. AI Баракиеля вам в помощь. Там вы найдете много чего полезного для начала.
Решил положить кабель по потолку, так как очень большой пинг меня не устраивает.
Сообщений: 1,065
Тем: 20
Зарегистрирован: Mar 2010
Репутация:
3,855
для примера тот же эвент с тыквами/арбузами - если он правильно реализован, то тыквам/арбузам дамагу наносить можно только при помощи сувенирного оружия.
Сообщений: 2,228
Тем: 77
Зарегистрирован: Jan 2012
Репутация:
12,733
Gaikotsu Написал:для примера тот же эвент с тыквами/арбузами - если он правильно реализован, то тыквам/арбузам дамагу наносить можно только при помощи сувенирного оружия.
Ну я со стороны AI подход предложил
Ваш метод от части так-же весьма валид.
Решил положить кабель по потолку, так как очень большой пинг меня не устраивает.
Сообщений: 1,660
Тем: 9
Зарегистрирован: Feb 2009
Репутация:
10,142
Делаем новый инстанс мобу, наследуя его от л2монстер...Перехвачиваем метод reduceCurrentHp, в нем получаем attacker, далее берем активное оружие, ну и дальше все, что вам с ним нужно...только не забываем вызвать reduceCurrentHp в родительских классах, а то не будет дамажить
А можно и через АИ, я не знаю как там называется метод, что-то связанное с онАтак, перехватываем его и получаем атакера и с него оружие...
P.S. Это именно при каждом ударе, а при убийстве то onDead метод, в нем делаем все, что нам нужно или в инстансе метод doDie.
open-team.ru - Freya, HighFive...
Сообщений: 406
Тем: 10
Зарегистрирован: Jun 2008
Репутация:
2,862
можно через квест сделать
PHP код:
<?php
@Override
public String onAttack(L2Npc npc, L2PcInstance attacker, int damage, boolean isPet)
{
L2Weapon weapon = attacker.getActiveWeaponItem();
if(weapon != null && !isPet)
{
switch (weapon.getItemType())
{
case SWORD:
attacker.addItem(ProcessType.DROP, 57, 1, npc, true);
break;
case DUALFIST:
attacker.addItem(ProcessType.DROP, 57, 10, npc, true);
break;
case DAGGER:
attacker.addItem(ProcessType.DROP, 57, 100, npc, true);
break;
}
}
return null;
}
Человек просто обязан ошибаться, раз другие учатся на его ошибках .......