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

Admin

Administrator
  • Постов

    19 437
  • Зарегистрирован

  • Посещение

Весь контент Admin

  1. По ссылке просто удалено несколько сообщений вроде. И там было про Blink. По теме - предупреждение. Шанса там вообще нет.
  2. Скорее всего, забанен диапазон. Сайт находится на хостинге с усиленной защитой от ddos атак, поэтому часто в бан попадают целые подсети.
  3. Ну уж как минимум в базу должно заходить, она на отдельном хостинге. http://base.asterios.ru
  4. А кто-то обещал отстать от меня минимум на месяц, если я сделаю антараса?
  5. Все указанные там функции можно условно заменить на значения, например env.character.getMAtk(env.target, env.skill) можно заменить на matk, т.к. это он и есть. Но это уже не важно, я выложил скорее для себя, и в итоге проблему решил сам. Да и теперь вы хотя-бы примерно должны понимать, что формулы со всяких l2wh это полный бред, который просто не получится использовать на практике. Формулы в коде, и математические формулы - это немного разные вещи, даже если бы формула с l2wh была правильная, от нее было бы мало толку.
  6. Формула повреждений не изменялась. Я не курю.
  7. Прежде чем высказывать умные мысли, разберись в вопросе. Выше 500 matk новая формула выдает значения большие, чем старая. Ниже - немного меньше, чем было.
  8. Что курим? Менялся шанс дебафов, а не размер повреждений.
  9. Вобщем, вывел я формулу, по всем признакам она соответствует официальной. Какую - не скажу, а то конкуренты не дремлют, мигом украдут Сейчас проведем тесты.
  10. Что и как считает getMAtk вам лучше не знать, это совокупность всего, что влияет на mAtk. Проще говоря, это то число, что вы видите в параметрах персонажа, в игре. Число 128, и корень пятой степени в функции - приблизительные значения, выведенные путем построения графиков и проведением различных тестов. Они неправильные, именно их нужно исправлять, но неизвестно на что. Известно только 2 вещи - что шанс зависит линейно от Mdef, и нелинейно от Matk.
  11. Ну а использование сразу нескольких видов оружия, только из за SA в нем (для бафа) это по вашему нормально? Это все равно что заставить комнату мониторами, и включить, но только для того, чтобы светили, вместо лампочек
  12. Не спорю, они часть добавили, но потом поняли, что это бесполезно, и занимает слишком много времени. Да и не стал бы я верить С5 и IL правкам с того сайта, они могли ведь и из SF брать часть, а там совсем бред.
  13. Это проблема конкретных скиллов, а не формул. Возможно, базовый шанс слишком высокий, или реюз слишком маленький. Они просто используют стан до тех пор, пока он не пройдет.
  14. effect = {{p_defence_attribute;attr_hold;-80};{p_defence_attribute;attr_sleep;-80};{p_defence_attribute;attr_derangement;-80}} Они слизали данные из С4 большинство. И они ничего не тестили, все из С4 скриптов. Потому и сайт закрылся, что больше неоткуда данные брать.
  15. Про проблему с дебафами мы знаем уже года 3. Год назад более менее в порядок привели, но недостаточно. А проблемы с повреждениями нет, просто контактников усилили значительно, добавили кучу новых бафов, и прочее. И это не наша вина, это из официального списка изменений.
  16. А ты мне показываешь данные из С4. Да еще с какого-то левого сайта наверняка.
  17. Какие еще способом может считаться 70% ресист? Только путем убавления базового шанса, либо конечного. Хотя, надо подумать, что будет если применять в конце... может и хуже стать.
  18. <table name="#mentalRcpt">0.6 0.5 0.4 0.3</table>
  19. Хм, уже самому в голову пришла идея, почему не удавалось вывести похожий на официальный график. Возможно, бонус от шотов стоит применять не к базовому шансу, а к matk. Надо подумать...
  20. Выкладываю кусок кода, отвечающий у нас за рассчет дебафов. Все равно, конкурентам это не поможет, т.к. их система такого не умеет public static boolean calcSkillSuccess(Env env, Stats resistType, Stats attibuteType) { if(env.value == -1) return true; env.value /= calcSavevsDependence(env.skill.getSavevs(), env.target); // Бонус от MEN/CON/etc if(resistType != null) env.value *= 0.01 * env.target.calcStat(resistType, 100, null, null); // Различные сопротивляемости/восприимчивости if(attibuteType != null) env.value *= 0.01 * env.character.calcStat(attibuteType, 100, null, null); // Различные аттрибуты (не стихийные) double mLevel = env.skill.getMagicLevel() == 0 || !env.character.isPlayer ? env.character.getLevel() : env.skill.getMagicLevel(); // Разница в уровнях env.value += (mLevel - env.target.getLevel()) * env.skill.getLevelModifier(); // Бонус к базовому шансу от разницы в уровнях env.value = Math.max(Math.min(env.value, Config.SKILLS_CHANCE_CAP), 1); // Применяем кап, на всякий случай if(env.skill.isMagic()) // Этот блок только для магических скиллов { int mdef = Math.max(1, env.target.getMDef(env.target, env.skill)); // Вычисляем mDef цели if(env.skill.isSSPossible()) // Считаем бонус от шотов switch(env.character.getChargedSpiritShot()) { case 1: env.value *= 1.41; break; case 2: env.value *= 2; break; } env.value *= 128 * Math.pow(env.character.getMAtk(env.target, env.skill), .2) / mdef; // Основная формула } if(env.skill.isSoulBoost()) // Бонус от душ камаелей env.value *= 0.85 + 0.06 * Math.min(env.character.getConsumedSouls(), 5); env.value = env.character.calcStat(Stats.ACTIVATE_RATE, env.value, env.target, env.skill); // Учитываем общий бонус к шансам, если есть env.value = Math.max(Math.min(env.value, Config.SKILLS_CHANCE_CAP), 1); // Применяем кап еще раз if(Config.SKILLS_SHOW_CHANCE && env.character.isPlayer && !((L2Player) (env.character)).getVarB("SkillsHideChance")) // Выводим сообщение с шансом env.character.sendMessage(new CustomMessage("l2p.gameserver.skills.Formulas.Chance", env.character).addString(env.skill.getName()).addNumber((int) env.value)); return Rnd.chance(env.value); }[/code] Расставил подробные комментарии. Если у кого-то появятся [color=red]адекватные[/color] идеи, выкладывайте. В основном, интересует формула env.value *= 128 * Math.pow(env.character.getMAtk(env.target, env.skill), .2) / mdef; А остальные части правильные скорее всего. Кстати, проблема у нас только с магическими дебафами, а физические стопроцентно соответствуют официальному, проверено.
  21. Я не предлагаю лазить по сайтам. Потому что ни на одном сайте в мире, сейчас нет правильных формул для рассчета дебафов. Будь уверен, мы искали.
  22. Тебе обьяснить, почему указанные тобою формулы - бред? И в математическом смысле, и потому что не соответствуют официальному серверу? Хорошо, разберем по порядку. (Base Land Rate/Men Modifier+Resist(%))*(Level/Target Level)*(M.Atk./M.Def.) Допустим, параметры были такие: Base Land Rate = 0.8 (80%) Men Modifier = 1.2 Resist = 0.7 (70%, именно столько дает Mental Shield) Magic Level = Target Level (для упрощения) M.Atk = 3000 M.Def = 1000 Начнем с того, что зависимость от Matk на официальном сервере не прямо пропорциональна. Это давно известно, и установлено тестами. Но допустим, мы неправы, посчитаем результат по формуле: (0.8 / 1.2 + 0.7) * 1 * 3000 / 1000 = 4.1, или проще говоря, 410%. И это без шотов, а с шотами будет 820% ой, какой ужас, видимо мы допустили ошибку в формуле? Допустим, автор просто опечатался, и там не +Resist, а (Men Modifier+Resist), или даже Base Land Rate / Men Modifier * Resist Второе логичнее, посчитаем: (0.8 / 1.2 * 0.3) * 1 * 3000 / 1000 = 0.6, или 60%, или 120%, если с шотами. Ну что ж, вот тут с виду больше похоже на правду. Но в реальности, mdef ниже, matk обычно выше, плюс рассчет приводился с почти полной защитой (70%). Подставим немного другие параметры, болеее похожие на олимпиаду, и для примера возьмем скилл fear (30%): Base Land Rate = 0.3 (30%) Men Modifier = 1.2 Resist = 0 (допустим, ресиста нет) Magic Level = Target Level (для упрощения) M.Atk = 3000 M.Def = 700 (0.3 / 1.2 * 1) * 1 * 3000 / 700 = ~1, или 100% страх на олимпиаде. Добавим сюда спиритшоты, и получим 141%, т.е. полный каламбур на олимпиаде "кто первый кинул дебаф, тот и выиграл" Допустим, защита была (70%): (0.3 / 1.2 * 0.3) * 1 * 3000 / 700 = 0.32, или 45% со спиритшотами, или 64% с блесседами, и это при максимальной защите от этого дебафа. Но это я немного исправил формулу, а в изначальном варианте там вообще бред. Кроме того, рассчет тут приведен для высокоуровневых персонажей, а на низких уровнях будет совсем бред, т.к. там совсем другие соотношения matk/mdef Проблема данная не решается за 5 минут, как впрочем и за неделю ее не решить. В коде все еще на порядок сложнее, там куча особенностей, про которые автор формулы видимо не знает. Хотя впрочем, он и простейшую математику не знает, что уж тут говорить...
  23. "модификатор лвл должен считаться как мой_лвл/лвл_цели" и "модификатор мдеф как мой_матт/мдеф_цели" - вот этих двух фраз достаточно, чтобы дальше тебя не слушать. А формула твоя просто жжот, ты видимо даже приблизительно не представляешь, как это выглядит на самом деле. Насчет Mental Shield и шотов - вы не поверите, но да, корейцы изначально рассчитывали баланс исходя из того, что ни того ни другого нет. А с ними естественно баланса нет. Не даром, на олимпиаде они запретили блесседы, ибо слишком читерно выходит.
  24. Ну, судя по тому что обещали корейцы, там действительно многое исправлено, в плане производительности. Кто его знает, может быть финальная часть даже быстрее, чем С4 работать будет
×
×
  • Создать...