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

Morrowind Skillcap(beta?)


Ao3

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

Перенёс тему из теста

 

Ни для кого не секрет, что уже к 20му уровню ГГ становиться универсальной машиной смерти. Вот небольшой плагин, призванный сделать игровые классы более узко специализированными, не ограничивая, по возможности, свободу действий игрока.

 

Плагин добавляет так называемый SkillCap - ограничение на сумму уровней всех навыков игрока. После того, как навыки игрока в сумме достигнут значения "Skillcap" (пока остановился на 800), навыки больше не будут расти (уровень и характеристики игрока при этом будет увеличиваться как и раньше), пока игрок искусственно не "сбросит" наименее нужный ему навык.

 

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

 

Скачать. :beta:

 

 

Что планируется:

Возможность понижать не нужные навыки, освобождая "место" для более важных (за деньги)

Возможность увеличения числа "Skillcap" в определённых условиях (например, награда за квест, специальные предметы, становление вампиром, итд)

Может быть - постепенное уменьшение не используемых навыков ("забывчивость").

 

Выявленные баги:

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

 

Прошу оценить - стоит ли продолжать работать над этим плагом, или в топку? Помощь и советы по развитию идеи, оптимизации скриптов и устранению ошибок - приветствуются)

 

ПС: знаю что реализация кривая, если понравится идея - переделаю.

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

  • 2 недели спустя...
Бету втопку, сейчас все криво, но сама идея с скиллкапом неплохая, главное суметь нормально и без заусенцев ее реализовать. Если знаешь что делаешь то дерзай...
Ссылка на комментарий
Поделиться на другие сайты

Я токо скачал бету, токо поиграл, а ее уже на суд публики выложили)))

 

После того, как навыки игрока в сумме достигнут значения "Skillcap" (пока остановился на 800), навыки больше не будут расти (уровень и характеристики игрока при этом будет увеличиваться как и раньше), пока игрок искусственно не "сбросит" наименее нужный ему навык.

Как я понимаю, с кажидым уровнем значение skillcap увеличивается? или оно статично?

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

пока статично, но можно что - нибудь придумать.

 

На самом деле главная, если не единственная проблема - артефакты, увеличивающие навыки, вроде артефактов Сангвина. Скриптом ведь их наличие практически не отследить.

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

ну скажем так - отследить то можно, но только те, что в игре есть, а те что с плагами и самопал - это да %)

 

А что если при каждом одевании нового предмета проверять значение навыков и сохранять их в новые переменные? а потом при снятии возвращать сохраненные?

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

ну скажем так - отследить то можно, но только те, что в игре есть, а те что с плагами и самопал - это да %)

Можно по эффекту отследить!

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

я об этом тоже думал. Итак:

 

Если скиллкап достигнут, и на игроке эффект "увеличить навык"...

 

то что?)

 

Нельзя же узнать "силу" эффекта. А то можно было её приплюсовать к скиллкапу.

 

Эх, надо мне за МСФД браться) Можно ли отследить по эффекту, какой именно навык повышен?

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

Эх, надо мне за МСФД браться) Можно ли отследить по эффекту, какой именно навык повышен?

в МСФД есть функции возвращающие оригинальные значения навыков (т.е без учета эффектов) Пусть буит А

Навыки полученные стантартное функцией ГэтАрмор и тп Пусть буит Б

Б - А = С

С = Сила действия эффекта на определенный навык

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

в МСФД есть функции возвращающие оригинальные значения навыков (т.е без учета эффектов) Пусть буит А

Навыки полученные стантартное функцией ГэтАрмор и тп Пусть буит Б

Б - А = С

С = Сила действия эффекта на определенный навык

 

 

бррр, где она там есть? Откуда берёться А?

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

бррр, где она там есть? Откуда берёться А?

Кто?

 

УПД

Все понял ща скажу

GetBaseStr, xGetBaseInt, xGetBaseWil, xGetBaseAgi

xGetBaseSpe, xGetBaseEnd, xGetBasePer, xGetBaseLuc

Вот это функции из МВСЕ... возвращают не модифицированные статы. Для навыков наверняка тоже есть, я не вчитывался в мануал.

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

МВСЕ не хотелось бы применять... хотя это многое бы облегчило.

 

А без него:

 

sEffectFortifySkill

 

только такой эффект, то есть для конкретного навыка эффект не определить(

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

только такой эффект, то есть для конкретного навыка эффект не определить(

А мож при подсчете статов, римув этот эффект к такой-то бабушке? А игроку мессаджбоксим - мол переодень вещи зачаренные на статы?

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

но пока подсчёт происходит каждый фрейм. Как то же надо следить за ростом навыков... Может есть соображения как это сделать по-другому?
Ссылка на комментарий
Поделиться на другие сайты

но пока подсчёт происходит каждый фрейм. Как то же надо следить за ростом навыков... Может есть соображения как это сделать по-другому?

GetPCSleep или как там (непомню уже) тебе в помощь.

Заодно стимул раздется перед сном, как все нормальные люди.

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

да чтож беседовцы так неудобно сделали то... Статы повышенные заклинанием даже ярким цветом выделяются в игре, а в скриптах это не учтено =(
Ссылка на комментарий
Поделиться на другие сайты

да чтож беседовцы так неудобно сделали то... Статы повышенные заклинанием даже ярким цветом выделяются в игре, а в скриптах это не учтено =(

Это деверсия! Они предвидели, что Русские захотят сделать такой мод, и специально удалили нужные нам функции. :-X

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

нашёл решение, пусть и ректальное... но раз скрипты морра не позволяют удалять гланды через рот, будем удалять через задницу. Если на игроке висит эффект увеличения навыка, скрипт останавливается, новое значение суммы скиллов сравнивается со старым, и разница прибавляется к skillcap. Но есть загвоздка:

 

if ( player -> GetEffect, sEffectFortifySkill )

 

игра на это никак не реагирует! Хотя, по идее, должна. Что я делаю не так? Вот пример из мануала:

 

if ( Player -> GetEffect, sEffectRestoreHealth )
Ссылка на комментарий
Поделиться на другие сайты

игра на это никак не реагирует! Хотя, по идее, должна. Что я делаю не так? Вот пример из мануала:

Хм.. я хз. В бета-тесте валяется мой плаг - Сильная Воля. Так там все реализовано через эту функцию, и все прикрасно работает :dontknow:

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

переделал основной скрипт, перезалил, Неймлесс, можешь глянуть? Там с проверкой на эффект вроде всё как у тебя в "Сильной воле", только не работает) Изменено пользователем Ao3
Ссылка на комментарий
Поделиться на другие сайты

Хм. чето не втыкаю, откель у тебя aoz_skillcheck1 стартится?

А пробовал просто скрипт

Begin Bugaga
if ( Player -> GetEffect, sEffectFortifySkill == 1 ) 
MessageBox "Bugaga!"
endif
End

запускать?

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

aoz_skillcheck1 - стартовый, aoz_debugscript - запускается из aoz_skillcheck1, остальные - мусор.

 

попробовал, всё равно не видит =( такой эффект чтоли неправильный...

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

попробовал, всё равно не видит =( такой эффект чтоли неправильный...

И впрямь эффект косячный... :dontknow: Надо думать как по-другому реализовать. Видимо и впрямь без МВСЕ никуда...

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

  • 4 недели спустя...

Для публикации сообщений создайте учётную запись или авторизуйтесь

Вы должны быть пользователем, чтобы оставить комментарий

Создать учетную запись

Зарегистрируйте новую учётную запись в нашем сообществе. Это очень просто!

Регистрация нового пользователя

Войти

Уже есть аккаунт? Войти в систему.

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

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