Dagot_Prolaps Опубликовано 16 апреля, 2019 Жалоба Поделиться Опубликовано 16 апреля, 2019 (изменено) Плагин первой версии готов! http://www.fullrest.ru/files/4nm_skillstraining/files Математически выверенная нелинейная формула прироста опыта:(Манакост*5) / (Манакост + 80 )Это +1 опыта за каст спелла на 20 маны,+2 - за каст на около 50 маны+3 - за каст на 120 маны+5 - недостижимый предел Изменено 2 августа, 2019 пользователем Dagot_Prolaps Ссылка на комментарий Поделиться на другие сайты Поделиться
Муурн Шепард Опубликовано 17 апреля, 2019 Жалоба Поделиться Опубликовано 17 апреля, 2019 Потому что марш учить типы. Ссылка на комментарий Поделиться на другие сайты Поделиться
Dagot_Prolaps Опубликовано 19 апреля, 2019 Автор Жалоба Поделиться Опубликовано 19 апреля, 2019 Бетаверсия готова. Нуждается в тесте. Особо обратите внимание на спеллы изменения и комбинированные спеллы. Новый скрипт выверен, но мне кажется, что сама мвсешная функция имеет погрешность для школы изменения. Ссылка на комментарий Поделиться на другие сайты Поделиться
-=ChieF=- Опубликовано 23 мая, 2019 Жалоба Поделиться Опубликовано 23 мая, 2019 Бетаверсия готова. Нуждается в тесте. Особо обратите внимание на спеллы изменения и комбинированные спеллы. Новый скрипт выверен, но мне кажется, что сама мвсешная функция имеет погрешность для школы изменения.Короче, я с ним бегаю сразу, как ты сделал мод, но с изменениями не особо заметил разницу. Тем не менее, чем-то калькуляция все же различается. Так, кастуя заклинание "Перышко" стоимостью 20 маны я получаю +5 ед. к опыту Изменений (Изменения в главных навыках).То же самое со школой Колдовства: выхов Духа предков 20 маны - это +5 к Колдовству (навык важный).Используя заклинание Разрушения стоимостью 30 маны получают +4 к навыку (в главных). Ссылка на комментарий Поделиться на другие сайты Поделиться
Dagot_Prolaps Опубликовано 23 мая, 2019 Автор Жалоба Поделиться Опубликовано 23 мая, 2019 (изменено) А сколько был навык Изменений, Колдовства и Разрушений на момент каста?Тут важно учитывать текущий уровень навыка. Вот эта фиговина: player->xModProgressSkill измеряет прирост опыта в неких попугаях, точное число которых неизвестно для каждого уровня навыка.То есть при касте одного и того же спелла при 5 скилле мы получим +5 в шкалу прогресса, а при 50 скилле - уже гораздо меньше. Изменено 23 мая, 2019 пользователем Dagot_Prolaps Ссылка на комментарий Поделиться на другие сайты Поделиться
Dagot_Prolaps Опубликовано 27 июля, 2019 Автор Жалоба Поделиться Опубликовано 27 июля, 2019 (изменено) Появилась идея во-первых довести до ума плагин с помощью луа-скриптов, вызывая формулу рассчёта прироста опыта при обработке события каста безо всякой возни со звуками. И во-вторых, дополнить плагин также и продвинутыми формулами прироста к оружейным и доспешным навыкам.Как показали на примере нового плагина NGC, в луа есть функция обработки события ударов - как от ГГ по врагам, так и врагов по ГГ. То есть остаётся дополнить фичи перерасчёта урона при ударе ещё и вызовом мвсешной функции заполнения прогресс-бара соответсвующего скила. Скила оружия при ударе ГГ по врагу и скила доспехов при ударе по ГГ. Справедливая формула набора опыта для оружия: 1 экспы = ((((Уровень врага) - (Уровень навыка / 10)) * 3) / Уровень врага) * (Урон / Х)Где Х - это подгоночный коэффициент, который мы вычислим при тесте мода, чтобы было реалистично.И если в итоге выйдет отрицательное знаечние, то само собой, приравнять к нулю. Такая формула позволит сделать 2 важные вещи:Во-первых, ГГ может качаться только на достойных врагах, представляющих опасность и вызов. Лишь самый зелёный новичок может избивать манекен 1 уровня, повышая скилл на халяву до 10 уровня. И только до 30 уровня навыка можно будет качаться на скампах 3 уровня. А вот если на 30 уровне навыка найти святошу 20 лвл, то коэффициент прогресса резко скаканёт до (20 - 3)*3 / 20 = х2.55, и такая битва будет прекрасной тренировкой если Нереварин выживет.Во-вторых, ГГ не сможет абузить деревянные мечи на сильных врагах. Для набора опыта придётся наносить урон. Наносишь много урона - получаешь много опыта, но и врагов придётся искать заново. Аналогично можно вывести справедливую формулу обучения доспешным навыкам: 1 экспы = ((((Уровень врага) - (Уровень навыка / 10)) * 3) / Уровень врага) * (Полученный урон / Х) Получаем укусы от крысы - почти не учимся, а после 30 вообще не учимся. Получаем кулаком от огрима - прекрасно учимся!При этом чем в более отвратительной броне вы будете получать удары, тем меньше у вас будет класс брони, а значит больше пройдёт и получаемого урона - Нереварину придётся сильнее изгаляться чтобы выжить, значит и набор опыта пойдёт быстрее. Зы: переименуйте тему в "Реалистичный рост навыков". __________Написал автору, ответил: Thanks for the formula suggestions, customizable skill gain will be coming in the next release. Изменено 28 июля, 2019 пользователем Dagot_Prolaps Ссылка на комментарий Поделиться на другие сайты Поделиться
-=ChieF=- Опубликовано 28 июля, 2019 Жалоба Поделиться Опубликовано 28 июля, 2019 Во-первых, ГГ может качаться только на достойных врагах, представляющих опасность и вызов. Лишь самый зелёный новичок может избивать манекен 1 уровня, повышая скилл на халяву до 10 уровня. И только до 30 уровня навыка можно будет качаться на скампах 3 уровня. А вот если на 30 уровне навыка найти святошу 20 лвл, то коэффициент прогресса резко скаканёт до (20 - 3)*3 / 20 = х2.55, и такая битва будет прекрасной тренировкой если Нереварин выживет. Во-вторых, ГГ не сможет абузить деревянные мечи на сильных врагах. Для набора опыта придётся наносить урон. Наносишь много урона - получаешь много опыта, но и врагов придётся искать заново.Очень разумные рассуждения! Здорово, что продолжаешь чинить геймплей в Морровинде. Ссылка на комментарий Поделиться на другие сайты Поделиться
Dagot_Prolaps Опубликовано 2 августа, 2019 Автор Жалоба Поделиться Опубликовано 2 августа, 2019 Качайте, тестируте: http://www.fullrest.ru/files/4nm_skillstraining/files Ссылка на комментарий Поделиться на другие сайты Поделиться
-=ChieF=- Опубликовано 2 августа, 2019 Жалоба Поделиться Опубликовано 2 августа, 2019 (изменено) Качайте, тестируте: http://www.fullrest.ru/files/4nm_skillstraining/filesХм... Правильно ли я понял из краткого описания, что пока речь только о магических навыках? Какое-то влияние нахождение школы в главных / важных навыках оказывает на скорость роста? Изменено 2 августа, 2019 пользователем -=ChieF=- Ссылка на комментарий Поделиться на другие сайты Поделиться
Dagot_Prolaps Опубликовано 3 августа, 2019 Автор Жалоба Поделиться Опубликовано 3 августа, 2019 (изменено) Значит так. Магия. У меня всё работает как надо Маловажный навык 20 - каст на 30 маны = +12 столба Главный навык 20 - каст на 30 маны = + 25 столба Главный навык 30 - каст на 30 маны = + 17 столба Боевые навыки. Код написан и внедрён в NGC-мод, так как требует обработку события урона. Автор оставила у себя обычный множитель опыта, то же самое можно было сделать через гмст. Поэтому будет вилка - я выпущу свою версию этого мода, в котором помимо реалистичного опыта будут более продвинутые формулы расчёта урона. Касательно опыта. Оружейные навыки. Тут всё работает идеально. Нанёс удар - получил опыт: Опыт за удар = (((Уровень врага - (Уровень ГГ / 5)) * 5) / (Уровень врага + 20)) * (Урон * 0.05) А вот с доспешными навыками всё работает немного через жёппу. Сначала вычисляет событие попадания по ГГ, затем даёт опыт, и только потом считает урон. В результате сам опыт будет доходить до Нереварина с небольшой задержкой, равной одному удару. Получаем плюху - узнаём сколько опыта получим при следующей плюхе - получаем следующую плюху - получаем рассчитанный ранее опыт - узнаём сколько опыта получим при следующей плюхе - и так далее... Думаю, эти издержки можно перетерпеть, они по сути ни на что не влияют. Формулу предлагаю такую же, но Х опыта тут будет получаться за 10 урона, а не за 20 как в оружейных навыках. Опыт за удар = (((Уровень врага - (Уровень ГГ / 5)) * 5) / (Уровень врага + 20)) * (Урон * 0.1) И да, открыв луа-скрипт в блокноте, вы сможете легко менять формулы насколько фантазии хватит (используя те же переменные). Не забывайте: сначала степени/корни, затем умножение/деление, и наконец плюс/минус. Если всё же забыли - используйте скобки - они не подведут) Изменено 3 августа, 2019 пользователем Dagot_Prolaps Ссылка на комментарий Поделиться на другие сайты Поделиться
Муурн Шепард Опубликовано 3 августа, 2019 Жалоба Поделиться Опубликовано 3 августа, 2019 (изменено) А если команду event.register("exerciseSkill", onExerciseSkill) запихнуть в конец функции OnDamage(e), ничего не поменяется? Изменено 3 августа, 2019 пользователем Муурн Шепард Ссылка на комментарий Поделиться на другие сайты Поделиться
Dagot_Prolaps Опубликовано 3 августа, 2019 Автор Жалоба Поделиться Опубликовано 3 августа, 2019 (изменено) Нет, не поменяется.Есть способ: вообще игнорировать событие exerciseSkill для доспешных навыков, а вместо этого принудительно повышать опыт при событии получения урона. Но для этого придётся исписать совершенно невменяемую простыню кода, да и не факт что при ттаком повышении скилов будут учтены множители главных, важных и специлизационных навыков.Так что пусть лучше изящные 8 строк рабочего кода, но с небольшим временным сдвигом обучения. Всё же добавлю пока чистую версию с ростом всех навыков:http://www.fullrest.ru/files/4nm_skillstraining/files Если поставить совместно с плагином на боёвку, то я не уверен, какая функция возьмёт приоритет, и по какому урону будет рассчитываться опыт - по стандартному или изменённому.Завтра возможно будет выпущена новая версия боевого плагина, вот тогда я ей и займусь. Перезалил, исправил баг с отрицательным опытом и изменил коэфы: 50 урона для оружия и 20 урона для брони. График коэфов опыта для оружия и доспехов: http://yotx.ru/#!1/3_5/A1BfKRsBZZI%40wf7O8c7BsxhP%401/fM9wP7B/sG%40n5Ra298429s8293e2IPuHOzuH%40yTaNiNnVPG4%40kW43Hr8mJ3f2t/42xvc%40tgd3tjD7pzsLt/sE%40iYTdAB4zHHdAW4xF0sLu/tb9xtre5c7C7vbEH3TnY3T/YJ9GwGztnO4zHna0DxuPO7v7W/sbZ3ubFwe72xh5052B3/2CfRMNu7JydMR63ti4Zj1uI3f2t/Y2zvc2zg93tjT3ozsHu/sE%40iYbd2IIhGI8HjMeD3f2tfQE= Изменено 4 августа, 2019 пользователем Dagot_Prolaps Ссылка на комментарий Поделиться на другие сайты Поделиться
Рекомендуемые сообщения
Для публикации сообщений создайте учётную запись или авторизуйтесь
Вы должны быть пользователем, чтобы оставить комментарий
Создать учетную запись
Зарегистрируйте новую учётную запись в нашем сообществе. Это очень просто!
Регистрация нового пользователяВойти
Уже есть аккаунт? Войти в систему.
Войти