Нужно убрать из казармы орков Охотника за головами, но сделать доступным Берсерка. Звучит просто, но ничего не выходит:
  • Берсерк есть в списке дотсупных для обучения юнитов, но в игре его не видно
  • Взаимосвязь эквивалентов у Охотника я убрал
  • У технологии изменил все действия на "Нет"
Не понимаю, в чем дело. Не хочется пока городить всякие костыли с автоматическим улучшением при старте карты.

Вот карта, где заблокирован Охотник за головами, но доступен Берсеркер.
Загруженные файлы
`
ОЖИДАНИЕ РЕКЛАМЫ...

Показан только небольшой набор комментариев вокруг указанного. Перейти к актуальным.
23
Похожие вопросы:

ответ
поставить в РО у юнита "требования" на технологию, и теперь пока она не изучена, они не будут доступны. И может быть еще способностях надо будет покопаться и в технологиях

17
Попробуй убрать его из особых , выключить требования и вручную удалить охотника из казармы и впаять туда берсерка
8
Fakov, да.
Absolute, охотника удалил, разве что из особых не убирал.
28
function InitSummonableCaps takes nothing returns nothing
    local integer index

    set index = 0
    loop
        // upgraded units
        // Note: Only do this if the corresponding upgrade is not yet researched
        // Barrage - Siege Engines
        if (not GetPlayerTechResearched(Player(index), 'Rhrt', true)) then
            call SetPlayerTechMaxAllowed(Player(index), 'hrtt', 0)
        endif

        // Berserker Upgrade - Troll Berserkers
        if (not GetPlayerTechResearched(Player(index), 'Robk', true)) then
            call SetPlayerTechMaxAllowed(Player(index), 'otbk', 0)
        endif

        // max skeletons per player
        call SetPlayerTechMaxAllowed(Player(index), 'uske', bj_MAX_SKELETONS)

        set index = index + 1
        exitwhen index == bj_MAX_PLAYERS
    endloop
endfunction
Это функция, которая запускается из InitBlizzard, которая в свою очередь запускается из функции main. Она блокирует Берсеркера, Паровой танк и устанавливает лимит на скелетов.

Чтобы убрать Охотника за головами из казармы, но сделать доступным Берсеркера, нужно заблокировать у каждого игрока Охотника за головами и разблокировать Берсеркера.

Это функция, которая запускается из InitBlizzard, которая в свою очередь запускается из функции main.
Я это к тому, что если в карте нет //! inject main, то эта функция вызывается.
17
uranus:
Fakov, да.
Absolute, охотника удалил, разве что из особых не убирал.
Тогда есть простой вариант, создай нестандартного берсерка и запихни его в казарму. На всякий случай убери его из особых
28

Также нужно помнить, что InitTechTree вызывается перед InitBlizzard, то есть ваши настройки игроков, сделанные с помощью Scenario -> Techtree\Abilities\Upgrades Properties будут применены раньше, чем запрет Парового такнка и Берсеркера.
Потому, чтобы разблокировать Берсеркера и заблокировать Охотника за головами, можно сделать улучшение на Берсеркера сразу исследованным в Scenario -> Upgrades Properties, а Охотника за головами заблокировать в Scenario -> Techtree Properties.
function main takes nothing returns nothing
    call SetCameraBounds(...)
    call SetDayNightModels(...)
    call NewSoundEnvironment("Default")
    call SetAmbientDaySound("LordaeronSummerDay")
    call SetAmbientNightSound("LordaeronSummerNight")
    call SetMapMusic("Music", true, 0)
    call InitSounds()
    call InitTechTree()
    call InitBlizzard()


    call InitGlobals()
    call InitCustomTriggers()
    call RunInitializationTriggers()

endfunction

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