-
Постов
944 -
Зарегистрирован
-
Посещение
Тип контента
Профили
Форумы
Календарь
Сообщения, опубликованные Dagot_Prolaps
-
-
Я кажется понял, как правильно сделать безконфликтный ребаланс.
1) Делаем на основе чистого МТБ основной файл ребаланса, не затрагивающий оружие, броню и одежду.
2) Загружаем МТБ и неактивный ГФМ. На этой основе экспортируем все данные и делаем свои таблицы оружи, брони и одежды.
3) Загружаем МТБ и основной файл ребаланса как активный. Импортируем в него свои таблицы. Получаем полноценный ребаланс для чистого Морра.
4) Загружаем МТБ, НЕАКТИВНЫЙ ГФМ и активный основной файл ребаланса. Импортируем в него свои таблицы. Получаем полноценный ребаланс для Морра с ГФМ, который будет теперь его требовать.
Вопрос: какая версия ГФМ была использована в таблицах реалистик вепон и армор на листах значений из оригинальной игры?
-
Так я про что старых не существует. "Новые" в смысле совсем новые, до этого не существующие.
Например, гномское длинное копьё, даэдрическое длинное копьё...
-
Что будет если в плагин имплантировать базу данных с не только старыми, но и новыми АйДишниками шмоток?
-
Есть ли ссылка на плагин mort_training от Mortuus - не могу найти? Он будет в новом геймплейном паке или там другая версия?
-
Как полностью искоренить из игры моды на динамическую сложность и рост навыков?
Правильно ли я понял, что надо удалить файлы и папки:
D:\M[FR]\Data Files\MWSE\lua\nc\difficulty
D:\M[FR]\Data Files\MWSE\lua\nc\xpscale
nc_xpscale_config.json
nc_difficulty_config.json
?
-
Где бы найти автора плагина на контролируемое выпивание зелий? Идея хорошая, но явно не дожал. Что 5 секунд кд на приём зелий, что 4 зелья одновременно - не устраняют читерства, что лежит в основе алхимии. Я бы добавил совокупную опцию:
* Каждое выпивание повышает таймер на 50 секунд
* Каждую секунду таймер (если ГГ не в меню) понижается на 1 секунду
* Если таймер выше 100, то зелья (и маиты всякие) пить нельзя.
То есть ГГ может выжрать залпом сразу 3 зелья в начале боя, но потом ему придётся долго ждать.
Реально ли такое сделать стартовым скриптом без МВСЕ? МСР ведь привязывает звуки выпивания к ГГ, значит они распознаваемые?
-
Нет, если ГФМ к примеру меняет текстуру, модельку, зачарование и параметры шмтоки, а твой плагин - лишь 1 букву в её названии, то если загрузить сперва ГФМ а потом свой плагин, то мы получи стандартную шмотку с изменённым названием и оригинальной текстурой, моделькой, зачарованием и параметрами.
-
Вручную вносил ВСЕ эти правки?? Открываю последний ГФМ из МФРа, смотрю - около 20% всей брони и около половины всего оружия изменено. Я 5 лет играл в Морр без всяких ГФМ и не припомню, чтобы там было СТОЛЬКО ошибок. Лишь одна пропавшая текстура на сапогах лёгкой походки, 1 пропавший энчант на легендарной кувалде, 1 перепутанная модель щита, 1 неверная модель железного копья и 3 длинных копья, выпиленных из игры.
-
Это отсюда.
https://wiki.openmw.org/index.php?title=Research:Stats_and_Levelling#NPC_spells
https://wiki.openmw.org/index.php?title=GMSTs_(status)
Походу надо вручную перелопачивать все спеллы с автокалькуляцией, избавляясь от бесполезных путём кардинальной их переделки или просто исключением из автокалькуляции.
А сохранились рабочие черновики со списками спеллов из каждой школы, которые по идее должны попасть в раздачу для каждой градации силы мага?
-
Ларкин наверное никс-гончую съел на этом деле) Можешь доходчиво расписать механику этой самой автораздавалки заклинаний?
NPC spells
baseActor.spells = vector()
baseMagicka = fNPCbaseMagickaMult * baseActor.intelligence
spellSchools = { Alteration, Conjuration, Destruction, Illusion, Mysticism, Restoration }
schoolCaps = {} # could be an array indexed by school enum
for each school in spellSchools:
schoolCaps[school] = { count : 0,
limit : iAutoSpell{school}Max,
reachedLimit : iAutoSpell{school}Max <= 0,
minCost : INT_MAX,
weakestSpell : none }
for each spell in the game: # note: iteration order is important, see comments
if spell.isMarkedDeleted: continue
if spell.castingType != spell: continue
if not spell.isAutoCalculate: continue
if baseMagicka < iAutoSpellTimesCanCast * spell.cost: continue
if spell is in baseActor.race.racialSpells: continue
failedAttrSkillCheck = false
for each effect in spell:
if (effect.baseEffect.flags & TARGET_SKILL) and baseActor.skills[effect.targetSkill] < iAutoSpellAttSkillMin:
failedAttrSkillCheck = true
break
if (effect.baseEffect.flags & TARGET_ATTR) and baseActor.attribute[effect.targetAttr] < iAutoSpellAttSkillMin:
failedAttrSkillCheck = true
break
if failedAttrSkillCheck: continue
school, _ = calcWeakestSchool(spell, actor)
cap = schoolCaps[school]
if cap.reachedLimit and spell.cost <= cap.minCost: continue
if calcBaseCastChance(baseActor, spell, school) < fAutoSpellChance: continue
baseActor.spells.add(spell)
if cap.reachedLimit:
baseActor.spells.remove(cap.weakestSpell)
cap.weakestSpell = baseActor.spells.findMinCostSpell() # note: not school specific
cap.minCost = cap.weakestSpell.cost
else:
cap.count += 1
if cap.count == cap.limit:
cap.reachedLimit = true
if spell.cost < cap.minCost:
cap.weakestSpell = spell
cap.minCost = spell.costAuto-calculated spells are selected at initial loading time. baseActor refers to the actor with attributes as loaded or auto-calculated, without any kind of spell effects (i.e. abilities) applied.
Due to poor design, iteration order is critical to the algorithm's behaviour. The list of all spells in the game must be in the same order as loaded from the files. NPC spells are held in a vector, which the findMinCostSpell function scans linearly; during the scan, if there is another spell that matches the lowest cost, it keeps the first one found.
Note that when a spell school is past its limit, the weakest spell is removed, and a new weakest spell is selected. This may not be a spell from the same school as the limit. While this is undesired behaviour, fixing it is likely to cause a major difference from vanilla spell selection, which will not have been play tested. It's not recommend to fix this part at the moment.
Как добавлять конкретные спеллы в автораздавалку? Как их оттуда убирать?
Измени коэфы стоимости эффектов - и всё полетит к скампам?
И что станет с автораздачей, если ГМСТ множителя маны неписей изменить с 2 на 3?
-
Спасибо за инструктаж. Понял, что для моего ребалансера придётся вручную менять сперва ещё и формулы для вычисления урона от разных типов ударов, а для скорости вообще сочинять другие формулы (прописывать свою скорость для каждого случая массы отдельно для одноручей и отдельно для двуручей). Стало жутковато.
Ладно, лучше растолкуйте, как обеспечить совместимость плагинов с оружейными паками и главное с ГФМ?
Вот тут предложили загружать весь ГФМ, и на его основе менять параметры шмоток.
Если так поступить, то мы столкнёмся с неприятными последствиями.
В МФР будут выходить всё новые версии ГФМа и если загрузить такую новую версию после ребалансера, то весь ребалансер аннулируется, так как ГФМ зачем-то затрагивает почти все шмотки.
Если же загрузить сначала новую версию ГФМ, а поверх него ребаланс, то ВООБЩЕ ВСЁ перезапишется на версию старого ГФМ за исключением некоторых изименений из нового ГФМ, которые конечно же приведут к конфликтам, багам и возможно похерят всю игру.
Так как же с этим быть?
Как именно создавался этот ребалансер? Какие есп. были загружены на старте перед копированием данных из экселя?
-
А какой ГФМ был загружен в этом ребалансе - 6.3.2 или от жрецов отступников?
-
Делаю свой тотальный мега-ребалансер всего и вся, как импортировать данные Экселя в КС? Это что-то новенькое!
Да, очень бы пригодился мануал, как менять данные оружия и доспехов из одной группы, не задев экземпляры другой группы.
Особенно меня интересует как быть с ГФМ. Как пошагово импортировать чтоб ничего не запороть? Ведь если загрузить ребаланс после ГФМа, то все исправления вещей из ГФМа слетят, а если наоборот - то не применятся исправления ребаланс. Или может быть забить на исправления ГФМа? Я смотрю там половина оружия с метками *отредактировано*. Что там можно было исправлять? На ум приходят только сапоги лёгкой походки и длинные копья.
Кстати, в экселе нет категории длинных копий.
-
Идея для магических перков. Использовать
if ( player->GetSoundPlaying, "Sound ID" == 1 )
У каста спеллов каждой школы свои звуки. Можно добавить кучу крутых вещей при касте заклинаний, если взяты соответственные перки.
-
Этот скрипт может добавить характеристики типа атаки и увеличения силы пока экипирован любой топор, при условии, например взятия такого-то перка в топорах. А потом удалить добавленные характеристики при снятии топора.
-
Что там по планам на перки?
Будет ли глобальный скрипт с конструкциями вида
If ( Player->GetWeaponType == 0 )
Player->AddSpell, .....
для оружия
и
If ( Player->GetArmorType, 0 == 2 )
Player->AddSpell, .....
для доспехов
?
Что решено сделать с магическими школами кроме Колдовства? (там-то ясно, скрипты привязываются прямо к существам)
-
Просто божественная оптимизация на 20 фпс даже не в городе, а в поле без воды на видео
-
Помнится, ванилька шла на 3 пентиуме 600MHz и 32 видео с таким же fps. Отсюда вытекает вопрос - 20 fps при таком конфиге это норма и можно приступать к всестороннему тестированию или может работать быстрее при сохранении качества и надо поковырять?
На прошлой версии 1.5 было стабильно 60 фпс с более лучшей графикой. В 3.0 с чем-то крупно налажали.
-
Получается и из лука будет трудней попасть по неписям?
-
А может просто вернуть проблемные Сейда Нин и Эбенгард к тому состоянию, как это было в версии 1.5, а также перекачать с Нексуса исправленную версию той красивой воды?
-
А когда будут геймплейные обновления? Особенно с улучшенными перками.
-
Причин может быть крайне много. Вы видели мой конфиг в видео, и у меня все даже с водой всегда 25+ фпс.
Сейчас в сборке стоит вот этот шейдер воды, правильно?
-
Так в чём причина того, что даже на сильных компах в Сейда Нин фпс падает до 15, в то время как на версии 1.5 стабильно 60?
Точно дело НЕ в воде.
-
https://www.nexusmods.com/morrowind/mods/45993
Включите, а?
Толстожопые ублюдки из беттер бодиз ужасны.
Идеи для плагинов
в TES III: Разработка и публикация плагинов
Опубликовано
Существует ли плагин, запрещающий надевать броню во время боя? Если нет, реально ли написать скрипт, делающий это?