Сообщество Империал: hidden_resource и Математика - Сообщество Империал

Dart Kovu Nazgul

hidden_resource и Математика

hidden_resource и Математика
Тема создана: 05 января 2019, 03:39 · Автор: Dart Kovu Nazgul
 Dart Kovu Nazgul
  • Imperial
Imperial
Гранд-мофф

Дата: 05 января 2019, 03:39

Думаю многие их Вас кто занимается моддингом профессионально, либо же что то изменяют в игре под себя встречали использование hidden_resource (скрытый ресурс) в файле export_descr_buildings.txt для ограничения возможности строительства определённых зданий или найма определённых юнитов только в определённых провинциях.
Максимальное число hidden_resource в игре 64 (при этом вроде 5 из них являются обязательными)

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

Специфика использования команд на ограничение найма юнитов или строительства зачастую используется для привязки к одному скрытому ресурсу, или иногда к двум скрытым ресурсам, с созданием своеобразных регионов для ограничения. Всё это используется поверхностно и иногда можно встретить жалобы что 64 скрытых ресурсов недостаточно. Но это не так в действительности.


Пример найма:
recruit_pool "Имя Юнита" 1 0.07 1 0 requires factions { sicily, denmark, turks, russia, spain, turks, } and hidden_resource Harad and hidden_resource HiddenA

Пример строительства:
fortress castle requires factions { sicily, turks, russia, denmark, } and building_present_min_level masons_lodge grand_lodge and hidden_resource Arnor and hidden_resource HiddenD


Для примера я хочу Вам показать использование 10 скрытых ресурсов (для начала) и команды ограничения на два ресурса (представлена выше).

Итак введём в игру 10 скрытых ресурсов

hidden_resource hr1 hr2 hr3 hr4 hr5 hr6 hr7 hr8 hr9 hr10

При использовании в обычном виде ограничения на 1 ресурс мы получим соответственно только 10 ограничений!
Но при использовании 2-ух ограничений записанных через команду and мы получаем следующие варианты уникальных комбинаций, исключающие повторения скрытых ресурсов в условиях:
Спойлер (раскрыть)

Итого - 9+8+7+6+5+4+3+2+1 = 45 ограничений, при этом использовано только всё те же 10 ресурсов

Добавив в игру ещё только одно условие hr11 , мы получим ещё целых 10 ограничений
Спойлер (раскрыть)


Итого 10+9+8+7+6+5+4+3+2+1 = 55 ограничений, при этом использовано 11 ресурсов

Не сложно заметить закономерность, что при добавлении 12 ресурса, мы получим прирост в уже не в 10, а 11 ограничений. Комбинации растут в прогрессии с ростом количества самих ресурсов.

Несложным подсчётом мы можем прийти к варианту использования 21 скрытого ресурса, что даёт нам: 20+19+18 ... 3+2+1= 210, это даже больше чем доступные 199 регионов на карте.

В итоге используя всего только 21 скрытый ресурс мы получаем уникальную систему региональных ограничений на каждую провинцию карты!

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

ПыСыСы
И это только 21 ресурс с двойным ограничением, а ограничением в 3-и ресурса все будет ещё веселее!!! :013:
     Dart Kovu Nazgul
    • Imperial
    Imperial
    Гранд-мофф

    Дата: 05 января 2019, 16:35

    В ранее рассмотренном варианте с использованием 2-ух скрытых ресурсов и их комбинаций было учтено что комбинации использующие одинаковые скрытые ресурсы идентичны вне зависимости от написания. Т.е. следующие комбинации равны друг другу и не являются уникальными, а просто дублируют друг друга, соответственно и считаются за одну:

    hr1 + hr2
    hr2 + hr1

    Далее я решил проверить варианты комбинаций с использование 3-ёх скрытых ресурсов, и неожиданно для себя понял что количество дублируемых комбинаций возрастает, т.е. следующие комбинации полностью идентичные:

    hr1 + hr2 + hr3
    hr1 + hr3 + hr2
    hr2 + hr1 + hr3
    hr2 + hr3 + hr1
    hr3 + hr2 + hr1
    hr3 + hr1 + hr2

    Что существенно сокращает (а не увеличивает, как я предполагал) количество доступных комбинаций с использованием 3-ёх скрытых ресурсов.
    В итоге выход. при введении в игру как и ранее (в начале) 10 скрытых ресурсов

    hidden_resource hr1 hr2 hr3 hr4 hr5 hr6 hr7 hr8 hr9 hr10

    У нас выйдут следующие комбинации:
    Спойлер (раскрыть)


    Итого - 8+7+6+5+4+3+2+1 = 36 что явно меньше 45 ранее полученных при использовании 2-ух скрытых ресурсов.
    НО!!! этот вариант ограничен из за использования 3-его скрытого ресурса который и так используется в доступных комбинациях.

    Что в свою очередь накладывает ограничения и на использование параллельно системы на 2-и и 3-и скрытых ресурса.
    К примеру провинция с указанными скрытыми ресурсами hr1, hr2, hr3 будет активировать сразу несколько ограничений:
    hr1 + hr2 + hr3
    hr1 + hr2
    hr1 + hr3
    hr2 + hr3

    Если же вместо использования уже существующих скрытых ресурсов добавить всего 1 (один) новый, с уникальным названием - hrA, то это даст нам:

    При 10 скрытых ресурсах такие комбинации:

    Спойлер (раскрыть)


    При этом отсутствие этого ресурса в ранних комбинация удваивает количество комбинаций позволяя использовать как ограничения на 2-а знака, так и на 3-и.
    Соответственно, используя всего 11 скрытых ресурсов выйдет набор из уже ранее обозначенных 55 ограничений (2 знака) + ещё 55 ограничений (при добавлении 3-го знака)

    НО опять же происходит дублирование.
    К примеру провинция с указанными скрытыми ресурсами hr1, hr2, hrA будет активировать сразу только 2-а ограничения:
    hr1 + hr2 + hrA
    hr1 + hr2

    Этого легко избежать если использовать команду and not (Спасибо камраду bitterhowl за напоминание :006: )
    Эта команда поможет отличить провинцию со скрытыми ресурсами hr1, hr2 от провинции со скрытыми ресурсами hr1, hr2, hrA


    Пример:
    recruit_pool "Имя юнита" 0 0.02 1 1 requires factions { normans, } and hidden_resource hr1 and hidden_resource hr2 and hidden_resource hrA

    recruit_pool "Имя юнита2" 0 0.02 1 1 requires factions { normans, } and hidden_resource hr1 and hidden_resource hr2 and not hidden_resource hrА


    Итого - 110 ограничений при 11 скрытых ресурсах


    ПыСы
    Конечно же команду and not можно использовать и в варианте где дублировались комбинации уже существующих скрытых ресурсов
    hr1 + hr2 + hr3
    hr1 + hr2
    hr1 + hr3
    hr2 + hr3
    Но это вызовет в конечном итоге большую запутанность, ИМХО.
       Искандерус
      • Imperial
      Imperial
      Форумчанин

      Дата: 26 ноября 2021, 15:45

      Что касается скрытых ресурсов, камрад, то позволю себе добавить насчет синтаксиса:
      можно еще использовать команду or!
      Так, экспериментальным путем добился, что здание строится только в регионах, где есть один из этих ресурсов.
      Пример: and resource sulfur or resource wool
      Думаю, что это будет касаться и скрытых ресурсов.
        Воспользуйтесь одной из соц-сетей для входа
        РегистрацияВход на форум 
        «Империал» · Условия · Ответственность · Визитка · 28 мар 2024, 18:32 · Зеркала: Org, Site, Online · Эльдорадо казино · Gold казино · Счётчики