Сообщений: 1,058 
	Тем: 129 
	Зарегистрирован: May 2009
	
 Репутация: 
 11,626
	 
 
	
	
		Доброго времени суток. 
Данную тему я создал, дабы не плодить темы со своими тупыми вопросами. 
Мне предстоит сложный путь, создание всех классов с нуля.
 
Сейчас веду работу над способностью "Спрятаться" и уже столкнулся с проблемой.
 * Спрятаться - Воровское ремесло - которое позволяет слиться с окружающей средой на 30/60/90 секунд. Эффект спадает если вы двигаетесь, атакуете, применяете способности/магию. Откат: 30 секунд.
 
За основу, я взял понятное дело простой инвиз, в который (как я думаю) необходимо только добавить нужные мне условия. Все условия, которые нужны мне, необходимо дописать в onActionTime, я надеюсь что это именно так.
 
			код 
			
Код:     public boolean onActionTime() 
    { 
        if (getEffector() instanceof L2PcInstance) 
        { 
            L2PcInstance activeChar = ((L2PcInstance) getEffector()); 
            if (activeChar.isDead()) 
            { 
                activeChar.getAppearance().setVisible(); 
                activeChar.stopAbnormalEffect(AbnormalEffect.STEALTH);             
            } 
            else if (activeChar.isRunning()) 
            { 
                activeChar.getAppearance().setVisible(); 
                activeChar.stopAbnormalEffect(AbnormalEffect.STEALTH);             
            } 
        } 
        return false; 
    }
  
		 
По какой причине второе условие игнорируется?
 
Спасибо.
 
P.S. Я знаю, что руки у меня кривые, но все же, хотелось бы узнать в чем я допустил ошибку...
	  
	
	
	
	
 
 
	
	
	
		
	Сообщений: 2,036 
	Тем: 37 
	Зарегистрирован: Jun 2011
	
 Репутация: 
 10,597
	 
 
	
	
		Если выполняемый код после условия совпадает, то проще сделать if (activeChar.isDead() || activeChar.isRunning()). Имхо.
	 
	
	
	
	
 
 
	
	
	
		
	Сообщений: 1,058 
	Тем: 129 
	Зарегистрирован: May 2009
	
 Репутация: 
 11,626
	 
 
	
	
		Dеmon Написал:Если выполняемый код после условия совпадает, то проще сделать if (activeChar.isDead() || activeChar.isRunning()). Имхо. 
Совпадает, сейчас попробуемс.
 
Итог: персонаж все равно, при беге не выходит из данного эффекта, я все перепробывал...
	  
	
	
	
	
 
 
	
	
	
		
	Сообщений: 2,036 
	Тем: 37 
	Зарегистрирован: Jun 2011
	
 Репутация: 
 10,597
	 
 
	
	
		finfan Написал:Совпадает, сейчас попробуемс. 
 
Итог: персонаж все равно, при беге не выходит из данного эффекта, я все перепробывал... 
Это не должно было помочь, это был просто совет на будущее.   
	 
	
	
	
	
 
 
	
	
	
		
	Сообщений: 1,058 
	Тем: 129 
	Зарегистрирован: May 2009
	
 Репутация: 
 11,626
	 
 
	
	
		Dеmon Написал:Это не должно было помочь, это был просто совет на будущее.   
И за совет спасибо и за преподанный урок)
	  
	
	
	
	
 
 
	
	
	
		
	Сообщений: 5,862 
	Тем: 105 
	Зарегистрирован: Sep 2010
	
 Репутация: 
 13,014
	 
 
	
	
		Цитата:activeChar.isRunning() 
Посмотри работает ли это вообще.
	  
	
	
	
	
 
 
	
	
	
		
	Сообщений: 1,484 
	Тем: 12 
	Зарегистрирован: Mar 2010
	
 Репутация: 
 2,994
	 
 
	
		
		
		11-25-2012, 02:19 AM 
(Сообщение последний раз редактировалось: 11-25-2012, 02:52 AM   Visor.)
		
	 
	
		public boolean onActionTime() 
в эффекте выполняется, если у вас баф с тиками время/кол-во, а когда 1 время и 1 кол-во то выполняется только 1 раз. 
 
Самый простой путь - прицепить в начале эффекта таск и в нем по интервалу проверять состояние.
	 
	
	
	
	
 
 
	
	
	
		
	Сообщений: 1,058 
	Тем: 129 
	Зарегистрирован: May 2009
	
 Репутация: 
 11,626
	 
 
	
	
		Visor Написал:public boolean onActionTime() 
в эффекте выполняется, если у вас баф с тиками время/кол-во, а когда 1 время и 1 кол-во то выполняется только 1 раз. 
>.<! Как тогда быть? В голове каша...
	  
	
	
	
	
 
 
	
	
	
		
	Сообщений: 1,484 
	Тем: 12 
	Зарегистрирован: Mar 2010
	
 Репутация: 
 2,994
	 
 
	
	
		Я там дописал в посте, как раз когда у вас вопрос возник как быть. 
 
Есть и второй путь ... но он сложный - это через АИ чара - где собрать действия playable вход через точку, и там анализаровать что происходит.  
Можно еще на конкретные события чара повесить. 
 
Как видите варианты есть. Чтобы не забивать голову - проще всего 1 вариант в пред посте.
	 
	
	
	
	
 
 
	
	
	
		
	Сообщений: 1,058 
	Тем: 129 
	Зарегистрирован: May 2009
	
 Репутация: 
 11,626
	 
 
	
	
		Zubastic Написал:Посмотри работает ли это вообще. 
работает, только везде где есть count'ы... поэтому я и работал на фрозенах методы были void а не були, мне было проще понять аналоги )
 Visor Написал:Я там дописал в посте, как раз когда у вас вопрос возник как быть. 
 
Есть и второй путь ... но он сложный - это через АИ чара - где собрать действия playable вход через точку, и там анализаровать что происходит.  
Можно еще на конкретные события чара повесить. 
 
Как видите варианты есть. Чтобы не забивать голову - проще всего 1 вариант в пред посте. 
Знаете, больше всего, я боялся что в работе с исходным кодом, мне попадётся то, с чем я никогда не работал, к чему никогда не "прибегал", и сейчас - тот случай. Наверное поэтому я и выбрал в одно время фрозенов, так было легче... время прошло и структуру сервера я более-менее научился понимать незная явы вообще, я создавал разные типы способностей по аналогам изменяя в них то что мне нужно. В ядре я никогда не понимал что за task и string-и меня окружают, меньше всего я надеялся работать с этими двумя факторами, панический страх стал развиваться как у школьника.
 
Могу я попросить у вас пример с task-ами? Если разберусь с одним, думаю что и другие осилю... Если нет, то я пойму, продолжу дробить свой мозг до потери пульса.
 
Спасибо.
	  
	
	
	
	
 
 
	 
 |