Перейти к содержанию
Asterios

Механика атрибутов


SadMercury

Рекомендуемые сообщения

Это наоборот, только для простых ударов. Разве не видно приставочку "!" (отрицание) ?

Дык я ж не кодер. :)

Ссылка на комментарий
Поделиться на другие сайты

Это наоборот, только для простых ударов. Разве не видно приставочку "!" (отрицание) ?

Найдено в коде:

var reg: RegExp = /\[([biu])\](.*?)(?=\[\/\1\])\[\/\1\]/gi; // вот и вся моя личная жизнь

(С) bash.org.ru 

Ссылка на комментарий
Поделиться на другие сайты

ph34r.gif Привет вам, братья по разуму, зело странен ваш язык...
Ссылка на комментарий
Поделиться на другие сайты

Даешь open source! Программисты хотят видеть изнанку сервера =)

З.Ы. Уже давненько просил исходники по атрибутам =)

К сожалению, в данном проекте open source = open cheats...

Нельзя никому код показывать, иначе будет проще найти различные уязвимости.

Плюс, "конкуренты" не дремлют, быстро украдут и к себе поставят.

Ссылка на комментарий
Поделиться на другие сайты

Вывод по теме:

return 1.0 + 0.007 * Math.min(Math.max(diff, -20), 100);

Абсолютно точно соответствует построенному мной графику для физ ударов(второму). Ну а физ скиллы, судя по коду, работают по первому графику с оффа. А маг скиллы по ходу так и останутся загадкой

PS судя по многим статьям скорее всего все 3 вида атак должны работать по одной зависимости, а не по разным как у нас. Но я честно говоря в этом не уверен, да это и не принципиально.

PPS про маг атаки узнать все-таки бы хотелось...

Ссылка на комментарий
Поделиться на другие сайты

Про магические скиллы я детально описывал в другой теме. Ищите.

Ссылка на комментарий
Поделиться на другие сайты

ааааааааа....скиньте ссилку плиз кто нашол)

Ссылка на комментарий
Поделиться на другие сайты

проверил програмку.. следущим кодом. Для простых атак.


 	static void Main(string[] args)

 	{

 	for (int i = 0; i < 160; i = i + 5)

 	{

 	double res = getElementMod(0, i, false);

 	Console.WriteLine("{0} - {1}", i, res);

 	}

 	Console.ReadKey();

 	}


 	private static double getElementMod(double defense, double attack, Boolean skill)

 	{

 	double diff = attack - defense;

 	if (diff <= 0)

 	return 1.0;

 	else if (!skill)

 	return 1.0 + 0.007 * Math.Min(Math.Max(diff, -20), 100);

 	else if (diff < 75)

 	return 1.0 + diff * 0.0052;

 	else if (diff < 150)

 	return 1.4;

 	else if (diff < 290)

 	return 1.7;

 	else if (diff < 300)

 	return 1.8;

 	else

 	return 2.0;

 	}

получил на выходе от такую зябу:

0 - 1

5 - 1,035

10 - 1,07

15 - 1,105

20 - 1,14

25 - 1,175

30 - 1,21

35 - 1,245

40 - 1,28

45 - 1,315

50 - 1,35

55 - 1,385

60 - 1,42

65 - 1,455

70 - 1,49

75 - 1,525

80 - 1,56

85 - 1,595

90 - 1,63

95 - 1,665

100 - 1,7

105 - 1,7

110 - 1,7

115 - 1,7

120 - 1,7

125 - 1,7

130 - 1,7

135 - 1,7

140 - 1,7

145 - 1,7

150 - 1,7

155 - 1,7

Получается, что для простых атак выше 100 ставить нафиг не нужно.

Ссылка на комментарий
Поделиться на другие сайты

К сожалению, в данном проекте open source = open cheats...

Нельзя никому код показывать, иначе будет проще найти различные уязвимости.

Плюс, "конкуренты" не дремлют, быстро украдут и к себе поставят.

Да я шучу =) Бизнес есть бизнес =)

Получается, что для простых атак выше 100 ставить нафиг не нужно.

Ну как сказать как сказать.... 100 это diff, а значит если у чера 60 резист то надо хотя бы 160 пихать, потом абилки 3 профы и бафы... 60+ атрибут в броню... вот и всплывает что 300 не помешают (но в реальной жизни на 200 можно оттормозиться)

Ссылка на комментарий
Поделиться на другие сайты

Это понятно, что если есть резист. Но стихий больше чем 5 (кол-во шмоток). и в случае несовпадения чар со 100 атрибута будет долбить как все 150. это в пвп.

На каче еще проще. вставил 105 (для гарантии) и не паришься с атакой х1.7 по мобам)

Ссылка на комментарий
Поделиться на другие сайты

Я думаю со всем практическими идеями можно на форум хантера xD Тут все равно камни еще очень нескоро появятся.

Ссылка на комментарий
Поделиться на другие сайты

Я думаю со всем практическими идеями можно на форум хантера xD Тут все равно камни еще очень нескоро появятся.

Где "тут" то? Это как бе общая тема для всех серверов..  ^_^

Ссылка на комментарий
Поделиться на другие сайты

кто нашел поделитесь сцылкой с ответом админа про магический атрибут и фейлы в резист

Ссылка на комментарий
Поделиться на другие сайты

 

if(diff <= 0)

   return 1.0;

else if(!skill)

   return 1.0 + 0.007 * Math.min(Math.max(diff, -20), 100);

else if(diff < 75)

   return 1.0 + diff * 0.0052;

Абсолютно точно соответствует построенному мной графику для физ ударов(второму)

"читал пейждер, много думал..." по этой формуле действительно для простых атак - 100 атрибута край при котором достигается множитель 1,7... и даже 300 не будет бить больнее чем 100 атрибута, бредово как то.  

Изменено пользователем anykey
Ссылка на комментарий
Поделиться на другие сайты

 

if(diff <= 0)

   return 1.0;

else if(!skill)

   return 1.0 + 0.007 * Math.min(Math.max(diff, -20), 100);

else if(diff < 75)

   return 1.0 + diff * 0.0052;

"читал пейждер, много думал..." по этой формуле действительно для простых атак - 100 атрибута край при котором достигается множитель 1,7... и даже 300 не будет бить больнее чем 100 атрибута, бредово как то.  

Жаль, что ты и читал и думал, но так ничего и не понял. 100 - это разница между атакой и защитой. Поэтому при 300 больнее не будет, а вот если защита не 0, то при 100 будет меньше 1.7

Ссылка на комментарий
Поделиться на другие сайты

Как вывод... 100 атрибута необходимый потолок, если цель - мобы ?

Да, если моб не точнул себе бронь на атрибут  ;D

Ссылка на комментарий
Поделиться на другие сайты

График сделанный якобы для нашего сервера - бред. У нас для физ. атак идут фиксированные значения как и на официальном:

	/**

 	* Возвращает множитель для атаки из значений атакующего и защитного элемента. Только для простых атак и немагических скиллов.

 	* <br /><br />

 	* Для простых атак диапазон от 1.0 до 1.7

 	* <br /><br />

 	* Для скиллов от 1.0 до 2.0

 	* <br /><br />

 	* @param defense значение защиты

 	* @param attack значение атаки

 	* @param skill флаг использования скилла

 	* @return множитель

 	*/

	private static double getElementMod(double defense, double attack, boolean skill)

	{

		double diff = attack - defense;

		if(diff <= 0)

			return 1.0;

		else if(!skill)

[color="#ff0000"][img=http://forum.asterios.tm/public/style_emoticons/default/smile.gif][color="#ff0000"]			return 1.0 + 0.007 * Math.min(Math.max(diff, -20), 100);[/color] [/color]

    	else if(diff < 75)

			return 1.0 + diff * 0.0052;

		else if(diff < 150)

			return 1.4;

		else if(diff < 290)

			return 1.7;

		else if(diff < 300)

			return 1.8;

		else

			return 2.0;

	}

Объяснять код не буду, кому надо сам поймет.

Правильно ли я понял из кода, что большая его часть относится к атаке скиллами? А дял простых атак только строчка, помеченная красным? А вы бы не могли объяснить, что значат функции в этой строчке? А то мне в голову ничего кроме минимаксной стратегии из матметодов не пришло. smile.gif

Этот код относится как к магическим, так и к физическим атакам? А разница в силе атрибута между маг и физ скиллами уже передана ранее в переменную attack?

PS тру программисты называют перемнные f, b, c, x, z, a1, b1 и т.д. чтобы не пришлось переделывать свой код, т.к. его с такими переменными вообще нельзя переделатьhaha.gif

Изменено пользователем Les Legions Noires
Ссылка на комментарий
Поделиться на другие сайты

Правильно ли я понял из кода, что большая его часть относится к атаке скиллами? А дял простых атак только строчка, помеченная красным? А вы бы не могли объяснить, что значат функции в этой строчке? А то мне в голову ничего кроме минимаксной стратегии из матметодов не пришло. smile.gif

Этот код относится как к магическим, так и к физическим атакам? А разница в силе атрибута между маг и физ скиллами уже передана ранее в переменную attack?

PS тру программисты называют перемнные f, b, c, x, z, a1, b1 и т.д. чтобы не пришлось переделывать свой код, т.к. его с такими переменными вообще нельзя переделатьhaha.gif

Тему прочитай еще раз.

Разница в переменной diff, в attack - атакующий аттрибут.

Ссылка на комментарий
Поделиться на другие сайты

	/**

 * Возвращает множитель для атаки из значений атакующего и защитного элемента. Только для простых атак и немагических скиллов.

 * <br /><br />

 * Для простых атак диапазон от 1.0 до 1.7

 * <br /><br />

 * Для скиллов от 1.0 до 2.0

 * <br /><br />

 * @param defense значение защиты

 * @param attack значение атаки

 * @param skill флаг использования скилла

 * @return множитель

 */

	private static double getElementMod(double defense, double attack, boolean skill)

	{

		double diff = attack - defense;

		if(diff <= 0)

			return 1.0;

		else if(!skill)

			return 1.0 + 0.007 * Math.min(Math.max(diff, -20), 100);

		else if(diff < 75)

			return 1.0 + diff * 0.0052;

		else if(diff < 150)

			return 1.4;

		else if(diff < 290)

			return 1.7;

		else if(diff < 300)

			return 1.8;

		else

			return 2.0;

	}

Объяснять код не буду, кому надо сам поймет.

Быть может я не совсем верно всё понял, но изначально мы проверяем чтобы значение diff было положительным, иначе множитель сразу ставим 1.0, а в следущем шаге мы для обычных ударов ограничиваем его от -20 до 100, но он уже не может быть меньше 1.

Изменено пользователем Lexxus
Ссылка на комментарий
Поделиться на другие сайты

Быть может я не совсем верно всё понял, но изначально мы проверяем чтобы значение diff было положительным, иначе множитель сразу ставим 1.0, а в следущем шаге мы для обычных ударов ограничиваем его от -20 до 100, но он уже не может быть меньше 1.

Да, ты прав. В принципе можно и не вычислять  

Math.max(diff, -20)
потому что всегда будет выбираться diff. И тогда строка будет выглядеть так:
 return 1.0 + 0.007 * Math.min(diff, 100);

Результат будет тот же, но думаю это сделано для универсальности кода. А вот почему выбрано значение -20 мне тоже не понятно. по логике там должен стоять 0, который будет "гасить" прибавку 0,007, чтобы вернуть 1,0 в случае отрицательного значения diff, попавшего в эту часть кода.

Изменено пользователем Yamax
Ссылка на комментарий
Поделиться на другие сайты

В общем, график с офа приведен для таргета с нулевым резистом. Поэтому и рассуждения тут ведутся для нулевого резиста. и здесь множитель х1.7 достигается при 100 атрибута, а не 150. А 300 (или даже около того) атрибута вообще не дают скачка. Тема об этом. Рассуждения про то, что у таргета может быть резист под тему не попадают.

Ссылка на комментарий
Поделиться на другие сайты

 

В общем, график с офа приведен для таргета с нулевым резистом. Поэтому и рассуждения тут ведутся для нулевого резиста. и здесь множитель х1.7 достигается при 100 атрибута, а не 150. А 300 (или даже около того) атрибута вообще не дают скачка. Тема об этом. Рассуждения про то, что у таргета может быть резист под тему не попадают.

1. "...Поэтому и рассуждения тут ведутся для нулевого резиста. ..." 

Рассуждения тут ведутся про МЕХАНИКУ АТРИБУТОВ! А не о графике приведённой в ссылке которую дал SadMercury.

Кстати, график приведённый по этой ссылке, который построил какой то Админ Аля (сам мужик а но фотке девушка да ещё и в придачу ник у него девичьй, он больше смахивает на пе***)- полный бред! В этом можно убедится разглядев участки 146-151, 296-300, здесь у него "кривые", а должны быть абсолютно вертикальные линии без какого либо наклона! График этот противоречит тому, что он сам написал под графиком, то есть он противоречит себе самому - начертил одно, а говорит совсем другое. Так как согласно графику, на участке от 146 до 151 включительно наблюдается линейный рост урона при повышении атрибута, то же самое можно сказать и про участок 269-300. Вообщем это не график, а его неудавшаяся фантазия.

2. "...и здесь множитель х1.7 достигается при 100 атрибута, а не 150....."

Тут ты опять не прав: "множитель х1.7" достигается не при 100 атрибут, а при разнице между значением атрибута нападающего и защитой атрибута у подвергшегося атаке, то есть diff = attack - defense. То есть урон увеличивается на 70% при diff больше или равно 150, но меньше 290. То есть 150 включительно, а 290 - нет. При diff=290 урон увеличивается на 80% до diff&lt;300. И уже при diff=300 и выше - урон удваивается.

3. "...А 300 (или даже около того) атрибута вообще не дают скачка..."

Что значит около того? Не вводи людей в заблуждение. Тут мы контретно обсуждаем цыфры а не "около того". Повторюсь: при diff=300 и выше - урон удваивается а ты говоришь "А 300  атрибута вообще не дают скачка."

4. "...Рассуждения про то, что у таргета может быть резист под тему не попадают."

Попадают ещё как попадают, даже при отрицательной защите какому либо атрибуту (отрицательную защиту можно получить, например дебаффами...) 

Изменено пользователем BarrowHill
Ссылка на комментарий
Поделиться на другие сайты

 Lorelie извини если обидел поправив тебя, но я не смог удержатся, когда с такой любопытностью читал данный раздел форума и наткнулся на твои слова, которые могут приводить в заблуждение многих.

Спасибо нашему админу за то, что он дал нам отличный ответ на многие вопросы касательно механики атрибутов, которые так долго мучили чуть ли не весь сервер.

Ссылка на комментарий
Поделиться на другие сайты

Паре одаренных: все тесты проводятся на таргете с 0 дефом.

Если не понятно и вам понравилось новое слово diff, перефразирую: график с гохи говорит что 1,7 получается при diff = 150, у нас при diff =100.

Далее: у нас для простых ударов 1,7 - максимальный множитель, если кто-либо слышал что на офе именно так - ссылку в студию. 

Админу действительно спс за пост - такие посты поднимают уровень доверия :). Но зачем было делать физ атаки так как сделано... неужели на офе действительно так? Единственную причину вижу в этом - усилить скилы по сравнению с простыми атаками для 300 атр. Но зачем в таком случае делать 1,7 для 100 атрибута... облегчить кач бомжам? Я не говорю что сделано плохо, я просто не понимаю зачем. 

зы. про маг скилы видимо эта тема - http://forum.asterios.tm/index.php?showtopic=5833&st=-20&p=4&hl=%D0%B0%D1%82%D1%82%D1%80%D0%B8%D0%B1%D1%83%D1%82&fromsearch=1&#entry4

Изменено пользователем anykey
Ссылка на комментарий
Поделиться на другие сайты

Паре одаренных: все тесты проводятся на таргете с 0 дефом.

Если не понятно и вам понравилось новое слово diff, перефразирую: график с гохи говорит что 1,7 получается при diff = 150, у нас при diff =100.

Далее: у нас для простых ударов 1,7 - максимальный множитель, если кто-либо слышал что на офе именно так - ссылку в студию. 

Админу действительно спс за пост - такие посты поднимают уровень доверия :). Но зачем было делать физ атаки так как сделано... неужели на офе действительно так? Единственную причину вижу в этом - усилить скилы по сравнению с простыми атаками для 300 атр. Но зачем в таком случае делать 1,7 для 100 атрибута... облегчить кач бомжам? Я не говорю что сделано плохо, я просто не понимаю зачем. 

1.С чего ты взял что график приведённый SadMercury является именно графиком с оффа??

2.И с чего ты взял что графки который нарисовал SadMercury собстенными руками является отображением механики атрибутов на нашем сервере? Ты что не веришь админу??? Думаешь он всех нас на форуме принимает за идиотов и врёт нам?? Я так не думаю. Он же ясно сказал "График сделанный якобы для нашего сервера - бред."

3.Почему ты уверен, что "у нас для простых ударов 1,7 - максимальный множитель"? Админ же ясно показал код из которого следует что максимум у нас 2,0. Опять ему не веришь?

4. График с гохи это ты про якобы график с оффа который привёл SadMercury? Если да то ты противоречишь сам себе: "график с гохи говорит что 1,7 получается при diff = 150, у нас при diff =100." а потом ты написал "Далее: у нас для простых ударов 1,7 - максимальный множитель, если кто-либо слышал что на офе именно так - ссылку в студию."

Ты сначала принимаешь то, что это график  имменно с оффа и делаешь рассуждение а далее сомневаешся в этом.

Ссылка на комментарий
Поделиться на другие сайты

извини, ты слишком не внимателен, но при этом спорить наглости хаватает  :D .

1. 1й график - это график с гохи из еврораздела, ты этого не заметил?

2. 2й график ТСа соответсвует приведенному админом коду, ты этого не заметил? Справедливости ради, смысл слов: "График сделанный якобы для нашего сервера - бред." мне непонятен, т.к. 2й график полностью соответсвует коду. М.б. я чего-то не замечаю?

3. "Админ же ясно показал код из которого следует что" для простых атак максимум у нас 1,7, ты этого не заметил?

4. тс привел 2 графика, ты вообще видел 1й пост?   извини, но тебе надо больше читать... чем писать :)

Изменено пользователем anykey
Ссылка на комментарий
Поделиться на другие сайты

2 -мя сообщениями выше я доказал что 1 -ый график - неверный. Если этот график неверный, то почему ты опять продолжаешь сравнивать эти две таблицы??? Повторяю - максимум у нас не 1,7 а 2,0. Второй график неполный так как значений выше 190 там нет.

Ссылка на комментарий
Поделиться на другие сайты

- вася умер, завтра похороны

- я не понял, че вася не пойдет?

Ссылка на комментарий
Поделиться на другие сайты

Присоединяйтесь к обсуждению

Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.
Примечание: Ваш пост будет проверен модератором, прежде чем станет видимым.

Гость
Ответить в этой теме...

×   Вставлено с форматированием.   Восстановить форматирование

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.

  • Последние посетители   0 пользователей онлайн

    • Ни одного зарегистрированного пользователя не просматривает данную страницу
×
×
  • Создать...