Новости Анонс The Elder Scrolls VI уже этим летом?
  • 253
  • 1
По данным инсайдера eXtas1s, Bethesda может впервые показать The Elder Scrolls VI летом 2025 года Обсуждается возможность анонса игры на одной из крупных презентаций Xbox - в июне или августе...
Новости Of Ash and Steel: разработка в цифрах
  • 234
  • 0
На днях авторы игры Of Ash and Steel поблагодарили игроков за поддержку и положительные отклики, а также поделились цифрами во время разработки. В игре будут: 300+ квестов; 30 000+ строк...
Новости Clair Obscur: Expedition 33 – новая ролевая игра, ломающая стереотипы
  • 437
  • 1
Clair Obscur: Expedition 33 – уникальная ролевая игра, которая могла появиться только у инди-разработчика Раз в год Художница просыпается и рисует на Монолите. Выводит свое проклятое число. И...
Новости Состоялся релиз The Elder Scrolls IV: Oblivion Remastered
  • 1.366
  • 18
22 апреля 2025 года состоялся релиз игры The Elder Scrolls IV: Oblivion Remastered. Это ремастер игры 2006 года, разработанный студиями Virtuos и Bethesda Game Studios, изданный Bethesda...
EthernalBreeze

EthernalBreeze 3.05 (BUILD 6.4.6)

Нет прав доступа на загрузку
Сей мод направлен на расширение Нового Баланса в формат Дьяблоида и схожих рпг игр.

DanilaDNL

Наемник
Участник форума
Регистрация
2 Май 2018
Сообщения
838
Реакции
229
Баллы
106
Лучшие ответы
0
Господа , у меня вопрос . На волынах при дропе иногда пишут (гнезд 5) что это за гнезда и где взять гемы для инкрустации или для чего они вообще нужны?
Пока не реализовано. Забей
 

Noweonex

Новичок
Участник форума
Регистрация
4 Дек 2022
Сообщения
5
Реакции
0
Баллы
6
Лучшие ответы
0

Icefist

Наемник
Участник форума
Регистрация
7 Фев 2018
Сообщения
874
Реакции
207
Баллы
136
Лучшие ответы
1
Спасибо а то пробегал все до Ирдората как дурак и ничего не нашел. Думал что рандомный спаун мобов нпс с гемами где-то уже завалил
А мог бы не то что до Ирдората, а ещё до старта игры посмотреть ФАК вопрос 38 и не мучить себя сомнениями ..
 

cajunq

Новичок
Участник форума
Регистрация
17 Окт 2023
Сообщения
17
Реакции
1
Баллы
7
Лучшие ответы
0

Noweonex

Новичок
Участник форума
Регистрация
4 Дек 2022
Сообщения
5
Реакции
0
Баллы
6
Лучшие ответы
0
Автор
Автор
StonedWizzard

StonedWizzard

Рыцарь
Участник форума
Регистрация
10 Июн 2013
Сообщения
2.144
Реакции
1.880
Баллы
384
Лучшие ответы
0

Маза Фаза

Житель города
Участник форума
Регистрация
29 Ноя 2013
Сообщения
204
Реакции
83
Баллы
51
Лучшие ответы
4
такой вопрос возник, а где в генераторе предметов можно найти множители требований к предметам? Хочу слегка понизить их
Искал в ItemGeneratorConfigs, но не понял какое там значение нужно редактировать (были мысли по StatMin/StatMax или StatValueMin/Max, но не понял это оно или нет)
 
Автор
Автор
StonedWizzard

StonedWizzard

Рыцарь
Участник форума
Регистрация
10 Июн 2013
Сообщения
2.144
Реакции
1.880
Баллы
384
Лучшие ответы
0
такой вопрос возник, а где в генераторе предметов можно найти множители требований к предметам? Хочу слегка понизить их
Искал в ItemGeneratorConfigs, но не понял какое там значение нужно редактировать (были мысли по StatMin/StatMax или StatValueMin/Max, но не понял это оно или нет)
Есть глобальные множители:
JSON:
  "ConditionStaticMult": 0.1,
  "BaseConditionStaticMult": 0.5,
  "ConditionPerLevelMult": 0.02,
  "ConditionPerRankMult": 1.0,
  "BaseConditionPerLevelMult": 0.001,
  "BaseConditionPerRankMult": 0.25,
  "ExtraConditionChanceBase": 25.0,
  "ExtraConditionChancePerRankMult": 20.0,
  "ExtraConditionChancePerLevelMult": 0.25,
Тут смотри какой именно множитель нужен.
BaseCondition*** - отвечают за изменение базового, уже имеющегося требования на вещи
ConditionPerLevelMult*** - отвечают за дополнительные генерируемые требования

Если что, то для большего понимания что и как работает:
C++:
// conditions change
        float conditionsMult = GeneratorConfigs.ConditionStaticMult + (itemLevel * GeneratorConfigs.ConditionPerLevelMult) + (itemRank * GeneratorConfigs.ConditionPerRankMult);
        float baseConditionMult = GeneratorConfigs.BaseConditionStaticMult + (itemLevel * GeneratorConfigs.BaseConditionPerLevelMult) + (itemRank * GeneratorConfigs.BaseConditionPerRankMult);
        if (conditionsMult < 0.1f) conditionsMult = 0.1f;
        if (baseConditionMult < 0.5f) baseConditionMult = 0.5f;
        int extraCondChance = 10 * (GeneratorConfigs.ExtraConditionChanceBase + (itemLevel * GeneratorConfigs.ExtraConditionChancePerLevelMult) + (itemRank * GeneratorConfigs.ExtraConditionChancePerRankMult));
        bool extraCondAdded = false;
        
        for (int i = 0; i < EnchantConditionsMax; i++)
        {
            enchantment->CondAtr[i] = item->cond_atr[i];
            enchantment->CondValue[i] = item->cond_value[i];

            // item have condition in this cell
            if (item->cond_atr[i] > 0)
            {
                ItemCondition* condData = GetConditionData(item->cond_atr[i]);
                if (condData)
                {
                    enchantment->CondValue[i] *= baseConditionMult;
                    enchantment->CondValue[i] = enchantment->CondValue[i] > condData->HardCap ? condData->HardCap :
                        (enchantment->CondValue[i] <= 0 ? 1 : enchantment->CondValue[i]);
                }
            }
            else if ((item->cond_atr[i] == 0) && !extraCondAdded)
            {
                if (extraCondChance < (rand() % 1000)) continue;

                ItemCondition* condData = GetRandomConditionData(enchantment->Type, item->cond_atr[0], item->cond_atr[1], item->cond_atr[2]);
                if (condData)
                {
                    int tmpLvl = itemLevel + (itemRank * 10);
                    int condVal = GetRandomRange(tmpLvl * condData->PerLevelMin, tmpLvl * condData->PerLevelMax) * conditionsMult;
                    condVal = condVal > condData->HardCap ? condData->HardCap :
                        condVal <= 0 ? 1 : condVal;
                    enchantment->CondAtr[i] = condData->Id;
                    enchantment->CondValue[i] = condVal;
                    extraCondAdded = true;
                }
            }
        }

        // make sure to add requirement if no any present
        if ((enchantment->CondAtr[0] == 0) && (enchantment->CondAtr[1] == 0) && (enchantment->CondAtr[2] == 0))
        {
            ItemCondition* condData = GetRandomConditionData(enchantment->Type, enchantment->CondAtr[0], enchantment->CondAtr[1], enchantment->CondAtr[2]);
            int i = (enchantment->CondAtr[0] == 0) ? 0 :
                (enchantment->CondAtr[1] == 0) ? 1 :
                (enchantment->CondAtr[2] == 0) ? 2 : Invalid;

            if(i == Invalid)
                DEBUG_MSG("ProcessItemEmbeddedStats - condition index is Invalid!");

            if (condData && (i != Invalid))
            {
                int tmpLvl = itemLevel + (itemRank * 10);
                int condVal = GetRandomRange(tmpLvl * condData->PerLevelMin, tmpLvl * condData->PerLevelMax) * conditionsMult;
                condVal = condVal > condData->HardCap ? condData->HardCap :
                    condVal <= 0 ? 1 : condVal;
                enchantment->CondAtr[i] = condData->Id;
                enchantment->CondValue[i] = condVal;
            }
        }
 

khellzhao

Труженик
Участник форума
Регистрация
22 Ноя 2021
Сообщения
354
Реакции
131
Баллы
63
Лучшие ответы
0
@StonedWizzard проблемы (если подтвеждены) со щитом смотрел? Может так же дать опцию для множителя 0-ххх для набора ЭЩ?
 
Автор темы Похожие темы Форум Ответов Дата
Icefist Новый Баланс - FAQ / Мануалы 0
Сверху Снизу