Сообщений: 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 минуту
Добавлено через 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;
    } 
 
	
	
Человек просто обязан ошибаться, раз другие учатся на его ошибках .......