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

Dagot_Prolaps

Граждане
  • Постов

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

  • Посещение

Сообщения, опубликованные Dagot_Prolaps

  1. Я кажется понял, как правильно сделать безконфликтный ребаланс.

     

    1) Делаем на основе чистого МТБ основной файл ребаланса, не затрагивающий оружие, броню и одежду.

     

    2) Загружаем МТБ и неактивный ГФМ. На этой основе экспортируем все данные и делаем свои таблицы оружи, брони и одежды.

     

    3) Загружаем МТБ и основной файл ребаланса как активный. Импортируем в него свои таблицы. Получаем полноценный ребаланс для чистого Морра.

     

    4) Загружаем МТБ, НЕАКТИВНЫЙ ГФМ и активный основной файл ребаланса. Импортируем в него свои таблицы. Получаем полноценный ребаланс для Морра с ГФМ, который будет теперь его требовать.

     

     

     

    Вопрос: какая версия ГФМ была использована в таблицах реалистик вепон и армор на листах значений из оригинальной игры?

  2. Так я про что старых не существует. "Новые" в смысле совсем новые, до этого не существующие.

     

    Например, гномское длинное копьё, даэдрическое длинное копьё...

  3. Где бы найти автора плагина на контролируемое выпивание зелий? Идея хорошая, но явно не дожал. Что 5 секунд кд на приём зелий, что 4 зелья одновременно - не устраняют читерства, что лежит в основе алхимии. Я бы добавил совокупную опцию:

    * Каждое выпивание повышает таймер на 50 секунд

    * Каждую секунду таймер (если ГГ не в меню) понижается на 1 секунду

    * Если таймер выше 100, то зелья (и маиты всякие) пить нельзя.

     

    То есть ГГ может выжрать залпом сразу 3 зелья в начале боя, но потом ему придётся долго ждать.

    Реально ли такое сделать стартовым скриптом без МВСЕ? МСР ведь привязывает звуки выпивания к ГГ, значит они распознаваемые?

  4. Нет, если ГФМ к примеру меняет текстуру, модельку, зачарование и параметры шмтоки, а твой плагин - лишь 1 букву в её названии, то если загрузить сперва ГФМ а потом свой плагин, то мы получи стандартную шмотку с изменённым названием и оригинальной текстурой, моделькой, зачарованием и параметрами. 

  5. Вручную вносил ВСЕ эти правки?? Открываю последний ГФМ из МФРа, смотрю - около 20% всей брони и около половины всего оружия изменено. Я 5 лет играл в Морр без всяких ГФМ и не припомню, чтобы там было СТОЛЬКО ошибок. Лишь одна пропавшая текстура на сапогах лёгкой походки, 1 пропавший энчант на легендарной кувалде, 1 перепутанная модель щита, 1 неверная модель железного копья и 3 длинных копья, выпиленных из игры.

  6. Это отсюда.

    https://wiki.openmw.org/index.php?title=Research:Stats_and_Levelling#NPC_spells

    https://wiki.openmw.org/index.php?title=GMSTs_(status)

     

    Походу надо вручную перелопачивать все спеллы с автокалькуляцией, избавляясь от бесполезных путём кардинальной их переделки или просто исключением из автокалькуляции.

     

    А сохранились рабочие черновики со списками спеллов из каждой школы, которые по идее должны попасть в раздачу для каждой градации силы мага?

  7. Ларкин наверное никс-гончую съел на этом деле) Можешь доходчиво расписать механику этой самой автораздавалки заклинаний?

     

    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.cost

     

    Comments  

    Auto-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?

  8. Спасибо за инструктаж. Понял, что для моего ребалансера придётся вручную менять сперва ещё и формулы для вычисления урона от разных типов ударов, а для скорости вообще сочинять другие формулы (прописывать свою скорость для каждого случая массы отдельно для одноручей и отдельно для двуручей). Стало жутковато.

     

    Ладно, лучше растолкуйте, как обеспечить совместимость плагинов с оружейными паками и главное с ГФМ?

     

    Вот тут предложили загружать весь ГФМ, и на его основе менять параметры шмоток.

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

    В МФР будут выходить всё новые версии ГФМа и если загрузить такую новую версию после ребалансера, то весь ребалансер аннулируется, так как ГФМ зачем-то затрагивает почти все шмотки.

    Если же загрузить сначала новую версию ГФМ, а поверх него ребаланс, то ВООБЩЕ ВСЁ перезапишется на версию старого ГФМ за исключением некоторых изименений из нового ГФМ, которые конечно же приведут к конфликтам, багам и возможно похерят всю игру.

    Так как же с этим быть?

    Как именно создавался этот ребалансер? Какие есп. были загружены на старте перед копированием данных из экселя?

  9. Делаю свой тотальный мега-ребалансер всего и вся, как импортировать данные Экселя в КС? Это что-то новенькое!

     

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

     

     

    Особенно меня интересует как быть с ГФМ.  Как пошагово импортировать чтоб ничего не запороть? Ведь если загрузить ребаланс после ГФМа, то все исправления вещей из ГФМа слетят, а если наоборот - то не применятся исправления ребаланс. Или может быть забить на исправления ГФМа? Я смотрю там половина оружия с метками *отредактировано*. Что там можно было исправлять? На ум приходят только сапоги лёгкой походки и длинные копья.

     

    Кстати, в экселе нет категории длинных копий.

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

  11. Что там по планам на перки?

     

    Будет ли глобальный скрипт с конструкциями вида

    If ( Player->GetWeaponType == 0 )

    Player->AddSpell, .....

    для оружия

    и

    If ( Player->GetArmorType, 0 == 2 )

     

    ​Player->AddSpell, .....

    для доспехов

     

    ?

     

    Что решено сделать с магическими школами кроме Колдовства? (там-то ясно, скрипты привязываются прямо к существам)

  12. Помнится, ванилька шла на 3 пентиуме 600MHz и 32 видео с таким же fps. Отсюда вытекает вопрос - 20 fps при таком конфиге это норма и можно приступать к всестороннему тестированию или может работать быстрее при сохранении качества и надо поковырять?

     

    На прошлой версии 1.5 было стабильно 60 фпс с более лучшей графикой. В 3.0 с чем-то крупно налажали.

×
×
  • Создать...