Dagot_Prolaps Опубликовано 9 марта, 2019 Жалоба Поделиться Опубликовано 9 марта, 2019 (изменено) Этот плагин устанавливает максимум хп Нереварина в зависимости от базового (то есть не изменённого магией) значения его Выносливости, Силы и Силы Воли. Требует МВСЕ (который входит в состав Фуллрест-репака). Предыдущий плагин на независимый рост хп имел такой скрипт: Begin Tal_StateBasedHP float TCurrentHP float TMaxHP float TBasicLife float TDamage float TFortifiedHP float TLeveledHP short TFirstLevelHPBonusshort TLevel short TEnduranceshort TStrengthshort TDoOnce if ( TDoOnce == 0 )set TEndurance to ( Player->GetEndurance )set TStrength to ( Player->GetStrength )set TDoOnce to 1endif if ( Player->GetHealthGetRatio == 0 ) return endif if ( Player->GetEndurance == TEndurance )if ( Player->GetStrength == TStrength )return endif endif if ( Player->GetEffect, sEffectFortifyHealth == 1 )set TCurrentHP to ( Player->GetHealth )set TMaxHP to ( TCurrentHP / Player->GetHealthGetRatio ) set TLevel to ( Player->GetLevel )set TLeveledHP to ( TEndurance * 1 )set TLeveledHP to ( TLeveledHP )set TFirstLevelHPBonus to ( TStrength / 2 + 10 )set TBasicLife to ( TLeveledHP + TFirstLevelHPBonus )set TFortifiedHP to ( TMaxHP - TBasicLife )set TFortifiedHP to ( TFortifiedHP - Tal_ExtraHP )set TEndurance to ( Player->GetEndurance ) set TStrength to ( Player->GetStrength ) set TLevel to ( Player->GetLevel ) set TCurrentHP to ( Player->GetHealth ) set TMaxHP to ( TCurrentHP / Player->GetHealthGetRatio ) set TDamage to ( TCurrentHP - TMaxHP )set TLeveledHP to ( TEndurance * 1 ) set TLeveledHP to ( TLeveledHP )set TFirstLevelHPBonus to ( TStrength / 2 + 10 )set TBasicLife to ( TLeveledHP + TFirstLevelHPBonus )set TMaxHP to ( TBasicLife + TFortifiedHP + Tal_ExtraHP)Player->SetHealth, TMaxHPPlayer->ModCurrentHealth, TDamageelse set TEndurance to ( Player->GetEndurance ) set TStrength to ( Player->GetStrength ) set TLevel to ( Player->GetLevel ) set TCurrentHP to ( Player->GetHealth ) set TMaxHP to ( TCurrentHP / Player->GetHealthGetRatio ) set TDamage to ( TCurrentHP - TMaxHP ) set TLeveledHP to ( TEndurance * 1 )set TLeveledHP to ( TLeveledHP ) set TFirstLevelHPBonus to ( TStrength / 2 + 10 ) set TBasicLife to ( TLeveledHP + TFirstLevelHPBonus ) set TMaxHP to ( TBasicLife + Tal_ExtraHP) Player->SetHealth, TMaxHP Player->ModCurrentHealth, TDamage endif End Да, сразу видны недостатки - хп просто скакало при изменении статов ГГ магией, кроме того скрипт работал постоянно. В новом же плагине применены МВСЕ-функции для нахождения истинного не изменённого магией значания характеристик героя. Кроме того плагин выполнен в форме стартового скрипта, то есть запускает 1 раз при каждой загрузке игры, а затем завершается, не нагружая более систему. Вот сам скрипт: Begin maxhealth long pcReffloat newhpfloat endurancefloat strengthfloat willpower if ( Player->GetHealthGetRatio != 1 )StopScript "maxhealth"returnendif if ( Player->GetEffect, sEffectFortifyHealth == 1 )StopScript "maxhealth"returnendif if ( Player->GetEffect, sEffectDrainHealth == 1 )StopScript "maxhealth"returnendif setx pcRef to xGetRef "player"setx endurance to pcRef->xGetBaseEndsetx strength to pcRef->xGetBaseStrsetx willpower to pcRef->xGetBaseWilset newhp to ( endurance + ( strength * 0.5 ) + ( willpower * 0.5 ) )Player->SetHealth, newhp StopScript "maxhealth" End Для того чтобы хп перерасчиталось, нужно выполнение следующих условий на момент загрузки сейва:1) Герой должен быть полностью здоров.2) На героя не должны влиять эффекты повышения или понижения максимального запаса здоровья (снимите шмотки, зачаренные на постэффект + к максимуму хп, если такие имеются) Формула: Здоровье = Выносливость + Сила/2 + Воля/2 То есть на максимуме всех статов у Нереварина будет 200 хп.MaxHp.esp Изменено 9 марта, 2019 пользователем Dagot_Prolaps Ссылка на комментарий Поделиться на другие сайты Поделиться
Vladii Опубликовано 9 марта, 2019 Жалоба Поделиться Опубликовано 9 марта, 2019 (изменено) То есть на максимуме всех статов у Нереварина будет 200 хп. Это все конечно гуд. Но у меня есть несколько мааааленьких вопросов. На форуме проскакивала уже шутка - ребаланс на ФР стал мемом. Я все понимаю, красивые формулы, красивые программы (я про мвсе). Но вот я простой русский Ваня, который решил поиграть в Морр. Как ТС считает, если я погляжу на эту формулу - я сразу начну писаться от счастья и побегу закачивать этот плаг? Ок, можно сказать что выложено не для Вани (ну на форуме, не в базе. А чисто для разработчиков). Тогда второй вопрос - регулируя ОДНУ сторону медали - т.е. здоровье героя - можем ли мы добиться баланса (а баланс - это ИНТЕРЕСНОЕ прохождение, не слишком легко но и не по 100500 раз перезагружая игру чтоб пройти дальше) БЕЗ ИЗМЕНЕНИЯ здоровья неписей? Вот моя левая пятка почему то уверена что нет. Ну это так, небольшое брюзжание. И маленький совет напоследок - Дагот, ты сделал норм програмку с ЧИМ - модом - ну и развивай ее дальше. Что ты в каждую свою тему МФР вплетаешь? Пусть Эл чешется сам, а ты чешись по своему. Не надо бодаться, надо делать нашу любимую игру еще лучше. ПыСы. Это мнение автора поста, выражает только его мнение и надежду, что Дагот сделает еще много хороших и интересных вещей Изменено 9 марта, 2019 пользователем Vladii Ссылка на комментарий Поделиться на другие сайты Поделиться
Dagot_Prolaps Опубликовано 9 марта, 2019 Автор Жалоба Поделиться Опубликовано 9 марта, 2019 (изменено) Плагин для разработчиков. Менять строчку с формулой и перекомпилировать скрипт в MWEdit. Баланса конечно же тут мало, потому что 200 хп от одних статов - слишком жирно. В ЧИМ-моде лишь 100. _____кстати, если игрок краб и хочет поиграть с ЧИМ-модом, но не желает оставаться на сотке хп, то этот плагин, установленный поверх, решит проблему. Правда, перки на бонусы к хп будут аннулированы. Изменено 9 марта, 2019 пользователем Dagot_Prolaps Ссылка на комментарий Поделиться на другие сайты Поделиться
Vladii Опубликовано 9 марта, 2019 Жалоба Поделиться Опубликовано 9 марта, 2019 _____кстати, если игрок краб и хочет поиграть с ЧИМ-модом, но не желает оставаться на сотке хп То для него надо разбить ЧИМ мод по частям с выбором скачанного коннекта и он будет просто визжать от восторга. Но работа 2-3 часов по небольшой переделки это же так влом. Ссылка на комментарий Поделиться на другие сайты Поделиться
aL☢ Опубликовано 9 марта, 2019 Жалоба Поделиться Опубликовано 9 марта, 2019 if ( Player->GetEffect, sEffectFortifyHealth == 1 ) Любой эффект с "чувством" увеличения чего-либо (навыка, магии т.д.) не работает. Об этом кстати упоминается в MSFD. Ссылка на комментарий Поделиться на другие сайты Поделиться
Dagot_Prolaps Опубликовано 9 марта, 2019 Автор Жалоба Поделиться Опубликовано 9 марта, 2019 (изменено) Я как раз и взял эту функцию из МФСД, нафига было расписывать, если она не работает? Кстати, та же функция применена и в вышеприведённом скрипте под спойлером. Изменено 9 марта, 2019 пользователем Dagot_Prolaps Ссылка на комментарий Поделиться на другие сайты Поделиться
aL☢ Опубликовано 9 марта, 2019 Жалоба Поделиться Опубликовано 9 марта, 2019 Я как раз и взял эту функцию из МФСД, нафига было расписывать, если она не работает? Кстати, та же функция применена и в вышеприведённом скрипте под спойлером. Посмотри с гугл-переводчиком, если на английском затрудняешься, вот этот мануал, найдешь замену той команде - https://media.readthedocs.org/pdf/mwse/stable/mwse.pdf Ссылка на комментарий Поделиться на другие сайты Поделиться
Dagot_Prolaps Опубликовано 9 марта, 2019 Автор Жалоба Поделиться Опубликовано 9 марта, 2019 Ну как тебе сказать, я только что протестил загрузку сейва и с эффектом повышения здоровья и с эффектом понижения - фильтр работает. Всё ещё не понимаю, что ты имел в виду про "эффект не работает". Ссылка на комментарий Поделиться на другие сайты Поделиться
aL☢ Опубликовано 10 марта, 2019 Жалоба Поделиться Опубликовано 10 марта, 2019 Ну как тебе сказать, я только что протестил загрузку сейва и с эффектом повышения здоровья и с эффектом понижения - фильтр работает. Всё ещё не понимаю, что ты имел в виду про "эффект не работает".Смотри, верить или нет - решать тебе. Лично сталкивался с тем, что данная команда просто отказывает где-то в середине игры, возможно связано с ростом характеристик, не знаю. Увеличение же навыка не работает от слова вообще даже при старте. Ссылка на комментарий Поделиться на другие сайты Поделиться
Рекомендуемые сообщения
Для публикации сообщений создайте учётную запись или авторизуйтесь
Вы должны быть пользователем, чтобы оставить комментарий
Создать учетную запись
Зарегистрируйте новую учётную запись в нашем сообществе. Это очень просто!
Регистрация нового пользователяВойти
Уже есть аккаунт? Войти в систему.
Войти