| 
		
	
	
	
		
	Сообщений: 1,058 
	Тем: 129 
	Зарегистрирован: May 2009
	
 Репутация: 
11,626 
	
	
		l2jfrozen 
Interlude 
Добрый вечер дамы и господа.
 
Возник вопрос.
 
В конфигах существует: Config.ALT_PERFECT_SHLD_BLOCK 
Выставив цифру = 100, каждая атака ближнего боя будет блокироватсья щитом со 100% вероятность и дмг будет = 0.
 
Но стата такого нет. 
Мне хотелось бы добавить данную какашульку.
 
Начал с формула.джава
 
			source 
Код: if(shld){
 double perfectBlock = attacker.calcStat(Stats.PERFECT_BLOCK, 0, null, null);
 if(100 - perfectBlock < Rnd.get(100))
 {
 damage = 1;
 target.sendPacket(new SystemMessage(SystemMessageId.YOUR_EXCELLENT_SHIELD_DEFENSE_WAS_A_SUCCESS));
 }
 }
 
 if (damage > 0 && damage < 1)
 damage = 1;
 else if (damage < 0)
 damage = 0;
 
И пошёл потом в статс.джава, добавил:
 
PERFECT_BLOCK("perfectBlock"),
 
в .xml, нашел скилл паладина Aegis Stance, добавил ему в щит данную функцию, дабы првоерить ее на работоспособность.
 
<add order="0x40" stat="perfectBlock" val="100"/>
 
Зашёл в игру, юзнул функцию и не получилось ничего Т_Т, мобы как бьют так и бьют, урон не блокируется...
 
Собственно сам вопрос, где еще необходимо копать кроме формул? 
 
Спасибо.
	 
	
	
	
		
	Сообщений: 92 
	Тем: 3 
	Зарегистрирован: Jul 2011
	
 Репутация: 
194 
	
	
		Удалено. Не так прочитал)
 
 Единственно что, посмотрите для разнообразия, значение perfectBlock. Не уверен, конечно, но может быть так, что вам возвращают единицу или что то к ней близкое в калкСтате
 
Если бы в Java работал GC, большинство программ удаляли бы сами себя при первом же запуске
 
	
	
	
		
	Сообщений: 1,058 
	Тем: 129 
	Зарегистрирован: May 2009
	
 Репутация: 
11,626 
	
	
		Gubble Написал:Удалено. Не так прочитал)
 
 Единственно что, посмотрите для разнообразия, значение perfectBlock. Не уверен, конечно, но может быть так, что вам возвращают единицу или что то к ней близкое в калкСтате
 
Еще один вопрос. 
PERFECT_BLOCK активируется в момент, когда срабатывает блокировка щитом. 
Все работает как надо. 
Но где найти параметр sDef (Простой шанс блокировки щитом), точнее его максимальный val?
	 
	
	
	
		
	Сообщений: 92 
	Тем: 3 
	Зарегистрирован: Jul 2011
	
 Репутация: 
194 
	
	
		не знаю, как это во фрозене, а в теоне это  
PS. а что у вас в perfectBlock то в итоге было?
	
Если бы в Java работал GC, большинство программ удаляли бы сами себя при первом же запуске
 
	
	
	
		
	Сообщений: 1,058 
	Тем: 129 
	Зарегистрирован: May 2009
	
 Репутация: 
11,626 
	
	
		Gubble Написал:не знаю, как это во фрозене, а в теоне это [code=java]Stats.SHIELD_RATE[/code]
 
 PS. а что у вас в perfectBlock то в итоге было?
 
Сейчас разберусь кое с чем, и отпешусь что было    
х_Х у меня есть два стата: SHIELD_RATE и SHIELD_DEFENCE...
 
1-ый - понятно, шанс блокировки атаки щитом, а вот 2-ой... что он делает?! ;D
	 
	
	
	
		
	Сообщений: 92 
	Тем: 3 
	Зарегистрирован: Jul 2011
	
 Репутация: 
194 
	
	
		SHIELD_RATE - это шанс блокировки  
SHIELD_DEFENCE - это прямое понижение физ. дамага в зависимости от стата.  
в общем случае -
 Код: double defence = target.getPDef(attacker);defence += (int) (target.calcStat(Stats.SHIELD_DEFENCE, 0, null, null));
 damage = 70 * damage / defence;
Естественно, это всё еще может быть обвязано конфигами и прочим трешем. Но для понимания и так сойдёт. 
Также, не менее естественно то, что у вас этих кусков кода либо нет вообще, либо то, что они могут сиииииильно отличаться   
Если бы в Java работал GC, большинство программ удаляли бы сами себя при первом же запуске
 
	
	
	
		
	Сообщений: 1,058 
	Тем: 129 
	Зарегистрирован: May 2009
	
 Репутация: 
11,626 
	
	
		Gubble Написал:SHIELD_RATE - это шанс блокировки SHIELD_DEFENCE - это прямое понижение физ. дамага в зависимости от стата.
 в общем случае -
 
 Код: double defence = target.getPDef(attacker);defence += (int) (target.calcStat(Stats.SHIELD_DEFENCE, 0, null, null));
 damage = 70 * damage / defence;
Естественно, это всё еще может быть обвязано конфигами и прочим трешем. Но для понимания и так сойдёт.
 Также, не менее естественно то, что у вас этих кусков кода либо нет вообще, либо то, что они могут сиииииильно отличаться
  
Вы правы, их нет вообще. Я разочаровываюсь во фрозенах. Надо переходить а аЦис    
	
	
	
		
	Сообщений: 92 
	Тем: 3 
	Зарегистрирован: Jul 2011
	
 Репутация: 
194 
	
	
		Лично я во фрозенах разочаровался, когда глянул на их код и заплакал кровью    
У товарищей Demon  и Ashe  уже, думаю, более продвинутая версия ациса. Хотя и им еще пилить и пилить   
Если бы в Java работал GC, большинство программ удаляли бы сами себя при первом же запуске
 
	
	
	
		
	Сообщений: 1,058 
	Тем: 129 
	Зарегистрирован: May 2009
	
 Репутация: 
11,626 
	
	
		Gubble Написал:Лично я во фрозенах разочаровался, когда глянул на их код и заплакал кровью  
 У товарищей Demon и Ashe уже, думаю, более продвинутая версия ациса. Хотя и им еще пилить и пилить
  
Обидно то, что мне придётся очень много вкусностей переносить... 
Либо сидеть, открыть исходы RT/Acis и продолжать заниматься порнухой копируя/переделывая код под фрозенов.
	 
	
	
	
		
	Сообщений: 92 
	Тем: 3 
	Зарегистрирован: Jul 2011
	
 Репутация: 
194 
	
	
		А что мешает сгенерировать разностный патч (хотя, лучше набор патчей, для каждого большого пакета- свой патчик, так перетаскивать потом будет проще) на основе вашего текущего проекта и оригинального фрозена? А потом этот патч уже запилить в ацис? Конечно, не всё будет идеально, но очень многое притащится без особых проблем.
	 
Если бы в Java работал GC, большинство программ удаляли бы сами себя при первом же запуске
 |