Здравствуйте! Авторизуйтесь или зарегистрируйтесь, чтобы использовать полный функционал сайта
Быстрая авторизация через соцсети:

Главная » Статьи » Моддинг » Коддинг
Режим "Война за Кольцо"
Раскопал еще один мой старый тутор, немного обновив.

Этот тутор посвящен режиму «Битва за Кольцо», расскажу как, где и что делать:
Нам нужны эти адреса:
data\ini\campaigns\common\*
data\ini\livingworld*

Расскажу о добавлении новой фракции (чисто примеры):
Проходим по адреску data\ini\livingworldplayers.ini, и видим вот что:

//-------------------------------------------------------------------------------------------------
// Men of the West
//-------------------------------------------------------------------------------------------------

LivingWorldPlayerTemplate PlayerMen – наименование фракции игрока в коде

    Faction = FactionMen – наименование фракции в коде

    StartingWorldCP = 1500 – стартовые очки командования на глобальной карте
    MaxWorldCP = 4500 – максимальные очки командования на глобальной карте
   
    StartingHeroCP = 450 - стартовые очки командования в армии полководцев
    MaxHeroCP = 450 - максимальные очки командования в армии полководцев
   
    ScenarioStartResources = 3000 – кол-во стартовых ресурсов на глобальной карте
    ;ScenarioMaxResources = 25000 // 25000 is the default

    FactionIcon = "IconMenStrategic" – иконка фракции (отображается, например, в итогах битвы)
    DefaultArmyIconName = "MoWArmyIcon" – это флаг для гарнизона\не стартовых героев на глобальной карте    ;// Default name of icons for garrison armies. Must match a LivingWorldArmyIcon entry in LivingWorld.ini
    BuildPlotIconName = "BuildPlotIcon_MOW" – слот для постройки здания
    BuildPlotSelectionPortraitName = "BPGFortress_BuildPlot" – портрет того самого слота
    GarrisonSelectionPortraitName = "UPGondor_Army" – портрет гарнизона на глобальной карте
    GarrisonDisplayNameTag = "LWA:MenGarrison" – наименование (текст) гарнизона на глобальной карте

    Music = WOTR_MusicMenMS – музыкальное сопровождение
    AutoResolveLoop = WotR_AutoresolveBattle – насколько понимаю, для авто-боя)
   
    FactionDozerTemplateName = "MenPorter" – строитель фракции
    FactionInnUnitTemplateName = "GondorRangerFreeHorde" – отряд воинов, нанимающихся в тавернах
End

Далее возникает вопрос - «А что за "MoWArmyIcon"?!», а все очень просто понять, если постучать [s]мне в асю[/s] вот сюда data\ini\livingworldicons\mowicons.ini:

;/////////////////////////////////////
;// MoW Army Icon
;/////////////////////////////////////
LivingWorldArmyIcon MoWArmyIcon

    OnSelectedSound        = LivingWorldGondorArmyIconSelect        ; GondorSoldierCelebrating – звук при выборе юнита
    OnMovePlannedSound    = LivingWorldHeroIconMove – звук движения               
    OnMoveStartedSound    = LivingWorldGondorArmyIconMove - звук начала движения       
    WelcomeReinforcementsSound = MenWarArmyMergeMS - звук вступления в армию полководца        ; Sound played when garrison joins with another garrison
    KickOutReinforcementsSound = MenWarArmySplitMS - звук выхода из армии полководца          ; Sound played when we split off some troops
    DisbandUnitSound = CampSoldierWarArmySplit – звук при удалении отряда (?)                ; Sound when units are dismissed

    Object Soldiers_Small - отображение маленькой колонны воинов при маленькой же армии
        Model        = ArmyAntsS_GM01                ; model name
        ZOffset        = 5
        Scale        = 1.0
        Clickable    = Yes
        VisibleArmySizes = SMALL
    End
   
    Object Soldiers_Medium - отображение средней колонны воинов при средней же армии
        Model        = ArmyAntsM_GM01                ; model name
        ZOffset        = 5
        Scale        = 1.0
        Clickable    = Yes
        VisibleArmySizes =  MEDIUM LARGE
    End
   
    Object Banner
        Model        = LWArmyHMoW – модель флага                     ; model name
        SubObjects    = LWSTAFF LWBANNER – части модели
        ZOffset        = 5
        Scale        = 1.0 - размер
        OrientAngle     = 270
        Clickable    = Yes
        Shadow        = SHADOW_VOLUME
        UseHouseColor = Yes – использовать цвета команды
    End

    Object SmallPip - небольшие такие флажки, служащие для определения уровня, в данном случае для небольшой, армии
        Model        = LWArmyHMoW – модель флага                    ; model name
        SubObjects    = LWBANSMALL
        ZOffset        = 5
        Scale        = 1.0
        OrientAngle    = 270
        Clickable    = Yes
        Shadow        = SHADOW_VOLUME
        VisibleArmySizes = SMALL LARGE
        UseHouseColor = Yes
    End

    Object MediumPip - небольшие такие флажки, служащие для определения уровня, в данном случае для средней, армии

        Model        = LWArmyHMoW – модель флага                    ; model name
        SubObjects    = LWBANMEDIUM
        ZOffset        = 5
        Scale        = 1.0
        OrientAngle    = 270
        Clickable    = Yes
        Shadow        = SHADOW_VOLUME
        VisibleArmySizes = MEDIUM LARGE
        UseHouseColor = Yes
    End

    Object Hilighted
        Model        = SFE_ArmyDecal                    ; model name
        ZOffset        = 10
        Scale        = 0.6
        HideWhenUnhilighted = Yes
        FadeTypeForHilighting = IN
        FadeTypeForUnhilighting = OUT
        FadeMethod    = Additive
    End
   
    Object Selected
        Model        = SFE_ArmyShine                    ; model name
        ZOffset        = 10
        Scale        = 0.6
        HideWhenUnselected = Yes
        FadeTypeForSelection = INOUT
        FadeMethod    = Additive
        FadeHoldPercent = ARMY_SELECTION_FADEOUT_HOLD_PERCENT
    End
   
    Object RallyPoint - флаги для определения планируемых перемещений союзников
        Model        = LM_RallyFlag
        ZOffset        = 10
        Scale        = 1.0  // rally flag scale
        ;;;HideWhenUnselected = Yes
        DisplayAtRallyPoint = Yes            ;// Make this be displayed at the rally point instead of at the army object.
        ShowOnlyAfterMoveOrder = Yes – показывать только после выбора места перемещения
        ShowOnlyForAllies = Yes – показывать только союзникам
        Shadow        = SHADOW_VOLUME
    End
End

По тому же принципу построены иконы героев, как вы поняли нужное нам – поменять модель флага, и усё)
В data\ini\livingworldbuildploticons.ini найдете модели слотов строительства, принцип остается тем же, что и в иконах армий.
В data\ini\livingworldbuildings.ini находятся параметры зданий:

;////////// Men Of The West //////////

;------------- Fortress --------------

LivingWorldBuilding LWB_MenFortress - название
    AvailableTo = PlayerMen – фракция

    BattleThingTemplate = MenFortress – название объекта (который используется в скирмише) для авто-боев и реал-тайм боев                ; Name of unit spawned during battles (tactical map & auto-resolve)
   
    BuildingIcon = LWBIcon_MenFortress – икона постройки (это пересылка на объект с моделью, а не на иконку в традиционном понимании)                ; Visual/audio data   
    TurnsToBuild = 1 – время постройки, ходов ; 2                        ; How long does it take to build this building? 1 = built at start of next turn
    StrategicResourceCost = WOTR_FORTRESS_COST – стоимость в глобальном режиме

    ConstructButtonImage = BGFortress – иконка постройки (изображение)
    ConstructButtonTitle = CONTROLBAR:LW_Structure_MenFortress – текст названия для постройки
    ConstructButtonHelp = CONTROLBAR:LW_ToolTipBuild_MenFortress – текст описания для постройки
   
    DisplayNameTag = CONTROLBAR:LW_Structure_MenFortress – текст для уже построенного здания, при наведении на него
    DisplayDescriptionTag = CONTROLBAR:LW_ToolTip_MenFortress – текст для уже построенного здания, при наведении на него

    CreateUnitDuringAutoResolve = Yes - возможность постройки даже при участии в авто-боях            ; During auto-resolve, turn this building into a unit which can dish out damage, absorb damage -- and be killed
    CanDefendTerritory = Yes – может защищать территорию (если параметр «Нет», то вражеский полководец сможет без сопротивления захватить вашу территорию)                    ; Whether this building can defend the territory it is currently in.   
   
    Type = Fortress    - тип постройки (здание)                ; Where to put this building in the end-of-game score/stats screen

    BuildingNugget StrengthenArmy            NuggetTag_Defender
        StrengtheningRange = THIS_TERRIORITY – защищать (эту территорию)
        BonusKey = GoodCastle – бонусы (Светлый замок)   ; As distinct from armory bonuses. Keys should be unique to avoid having castles use the armory lookup table or visa versa
        ; Bonus = <MinNumberOfBuildingsToGetBonus> Weapon:<BonusPercent> Armor:<BonusPercent> Experience:<BonusPercent>
        ; Castles are just a linear bonus, each castle multiplies damage taken by 90% (10% damage reduction)
        Bonus = 1 Armor:90% - бонусы при одном замке в регионе (Эриадор и т.п.)
        Bonus = 2 Armor:81% - бонусы при двух замках в регионе
        Bonus = 3 Armor:72.9% - бонусы при трёх замках в регионе
        Bonus = 4 Armor:65.61% - бонусы при четырёх замках в регионе
        Bonus = 5 Armor:59.049% - бонусы при пяти замках в регионе
        Bonus = 6 Armor:53.1441% - бонусы при шести замках в регионе
        Bonus = 7 Armor:47.82969% - бонусы при семи замках в регионе
        ; Guessing that we won't have more than 7 castles in a territory!
    End   

    BuildingNugget IncreaseTreasury NuggetTag_GiveLoot – приносит богатства
        TreasureAmount = GAIN_PER_FORTRESS – кол-во приносимых ресурсов
    END

    ;// You must use "NuggetTag_Spawner" to name SpawnArmy nuggets. – может призывать юнитов -- Actually, i don't think this is true - BKW
    BuildingNugget SpawnArmy                NuggetTag_Spawner – аналог беха, служит для вызова юнитов
        QueueSize = 6 – максимальная длина очереди найма отрядов
        ArmyToSpawn
            PlayerArmy = MoW_CreateAHeroArmy – армия игрока
            Icon = MoWArmyIcon – флаг
            IconSize = Small – размер иконы (флага)
            PalantirMovie = Palantir_150
            BuildTime = 1 ; 3 – время постройки, ходов
            ConstructButtonImage = CPYoungWizardAlpha – иконка юнита (изображение)    // TEMP
            ConstructButtonTitle = CONTROLBAR:LW_Hero_CreateAHero – текст вызова
            ConstructButtonHelp = CONTROLBAR:LW_ToolTipBuild_CreateAHero – описание героя
        End
        ArmyToSpawn
            PlayerArmy = GandalfArmy
            Icon = MoWArmyIcon
            IconSize = Small
            PalantirMovie = Palantir_150
            BuildTime = 1 ; 3
            ConstructButtonImage = HIGandalf_wotr
            ConstructButtonTitle = CONTROLBAR:LW_Hero_Gandalf
            ConstructButtonHelp = CONTROLBAR:LW_ToolTipBuild_Gandalf
        End
        ArmyToSpawn
            PlayerArmy = FaramirArmy
            Icon = HeroFaramirIcon
            IconSize = Small
            PalantirMovie = Palantir_150
            BuildTime = 1 ; 3
            ConstructButtonImage = HIFaramir_wotr
            ConstructButtonTitle = CONTROLBAR:LW_Hero_Faramir
            ConstructButtonHelp = CONTROLBAR:LW_ToolTipBuild_Faramir
        End
        ArmyToSpawn
            PlayerArmy = ImrahilArmy
            Icon = HeroImrahilIcon
            IconSize = Small
            PalantirMovie = Palantir_150
            BuildTime = 1 ; 3
            ConstructButtonImage = HIImrahil
            ConstructButtonTitle = CONTROLBAR:LW_Hero_Faramir
            ConstructButtonHelp = CONTROLBAR:LW_ToolTipBuild_Faramir
        End
        ArmyToSpawn
            PlayerArmy = DenethorArmy
            Icon = MoWArmyIcon
            IconSize = Small
            PalantirMovie = Palantir_150
            BuildTime = 1 ; 3
            ConstructButtonImage = HIGandalf
            ConstructButtonTitle = CONTROLBAR:LW_Hero_Faramir
            ConstructButtonHelp = CONTROLBAR:LW_ToolTipBuild_Faramir
        End
        ArmyToSpawn
            PlayerArmy = BeregondArmy
            Icon = MoWArmyIcon
            IconSize = Small
            PalantirMovie = Palantir_150
            BuildTime = 1 ; 3
            ConstructButtonImage = HIBeregond
            ConstructButtonTitle = CONTROLBAR:LW_Hero_Faramir
            ConstructButtonHelp = CONTROLBAR:LW_ToolTipBuild_Faramir
        End
        ;ArmyToSpawn
        ;    PlayerArmy = EomerArmy
        ;    HeroTemplateName = RohanEomer
        ;    Icon = HeroEomerIcon
        ;    IconSize = Small
        ;    PalantirMovie = Palantir_150
        ;    BuildTime = 1 ; 2
        ;    ConstructButtonImage = HIEomer_wotr
        ;    ConstructButtonTitle = CONTROLBAR:LW_Hero_Eomer
        ;    ConstructButtonHelp = CONTROLBAR:LW_ToolTipBuild_Eomer
        ;End
        ;ArmyToSpawn
        ;    PlayerArmy = EowynArmy
        ;    Icon = MoWArmyIcon
        ;    IconSize = Small
        ;    PalantirMovie = Palantir_150
        ;    BuildTime = 1 ; 2
        ;    ConstructButtonImage = HIEowyn_wotr
        ;    ConstructButtonTitle = CONTROLBAR:LW_Hero_Eowyn
        ;    ConstructButtonHelp = CONTROLBAR:LW_ToolTipBuild_Eowyn
        ;End   
        ;ArmyToSpawn
        ;    PlayerArmy = TheodenPlayerArmy
        ;
            ;    Icon = HeroTheodenIcon
        ;    IconSize = Small
        ;    PalantirMovie = Palantir_150
        ;    BuildTime = 1 ; 3
        ;    ConstructButtonImage = HITheoden_wotr
        ;    ConstructButtonTitle = CONTROLBAR:LW_Hero_Theoden
        ;    ConstructButtonHelp = CONTROLBAR:LW_ToolTipBuild_Theoden
        ;End
        ArmyToSpawn
            PlayerArmy = AragornPlayerArmy
            HeroTemplateName = GondorAragornMP
            Icon = HeroAragornIcon
            IconSize = Small
            PalantirMovie = Palantir_150
            BuildTime = 1 ; 3
            ConstructButtonImage = HIAragorn_wotr
            ConstructButtonTitle = CONTROLBAR:LW_Hero_Aragorn
            ConstructButtonHelp = CONTROLBAR:LW_ToolTipBuild_Aragorn
        End
        ArmyToSpawn
            PlayerArmy = BoromirPlayerArmy
            HeroTemplateName = GondorBoromir
            Icon = HeroBoromirIcon
            IconSize = Small
            PalantirMovie = Palantir_150
            BuildTime = 1 ; 3
            ConstructButtonImage = HIBorimir
            ConstructButtonTitle = CONTROLBAR:LW_Hero_Boromir
            ConstructButtonHelp = CONTROLBAR:LW_ToolTipBuild_Boromir
        End
    End   
End

Аналогично с остальными зданями.
В data\ini\livingworldbuildingicons.ini все по аналогии с иконами армий.
В data\ini\livingworldautoresolve* находятся данные юнитов (такие, как урон, броня, здоровье), можете править, муторно=) Я делал… не забудьте в инике юнитов прописать это.
Следуем в  data\ini\campaigns\common\livingworldstartingunits.inc, видим полководцев, героев-стартеров, они могут водить армии, захватывать территории врага:

//-------------------------------------------------------------------------------------------------
// Men of the West starting armies
//-------------------------------------------------------------------------------------------------

LivingWorldPlayerArmy
    Name = FaramirPlayerArmy – наименование армии полководца
    DisplayNameTag = LWA:MenHeroArmy – текстовое описание
    ArmyEntry - армия
        ThingTemplate = GondorFaramir – объект
        Quantity = 1 – кол-во
    End
End

LivingWorldPlayerArmy
    Name = AragornPlayerArmy
    DisplayNameTag = LWA:MenHeroArmy   
    ArmyEntry
        ThingTemplate = GondorAragornMP
        Quantity = 1
    End
End

LivingWorldPlayerArmy
    Name = BoromirPlayerArmy
    DisplayNameTag = LWA:MenHeroArmy   
    ArmyEntry
        ThingTemplate = GondorBoromir
        Quantity = 1
    End
End

LivingWorldPlayerArmy
    Name = ImrahilPlayerArmy
    DisplayNameTag = LWA:MenHeroArmy   
    ArmyEntry
        ThingTemplate = ArnorImrahil
        Quantity = 1
    End
End

LivingWorldPlayerArmy
    Name = MenOfTheWest_StartingArmy
    DisplayNameTag = LWA:MenOfTheWestGarrison
    ArmyEntry
        ThingTemplate = GondorArcherHorde
        Quantity = 1
    End
    ArmyEntry
        ThingTemplate = GondorFighterHorde
        Quantity = 1
    End
    ArmyEntry
        ThingTemplate = GondorKnightHorde
        Quantity = 1
    End
End

В data\ini\campaigns\common\livingworlddefaultarmies.inc мы видим «комплект» для стартового героя:
//-------------------------------------------------------------------------------------------------
// Men of the West
//-------------------------------------------------------------------------------------------------

SpawnArmy
    ScriptingName = HeroArmy1 – для скриптов, армия героев 1 здесь (по нумерации далее)
    //SpawnAtActStart = No                // Default is "Yes". If set to "No", then this army will only be spawned if directed to do so elsewhere (such as when an Ownership spawns an army).
    SpawnForTemplates = PlayerMen – фракция            // Required for armies, not allowed for cities.
    HeroTemplateName = GondorAragornMP – объект
    PlayerArmy = AragornPlayerArmy – наименование армии игрока (прописывали в предыдущем инике)
    Icon = HeroAragornIcon – икона героя (прописывали в mowicons.ini)
    ; MoveSpeed = 15.0    ;;; Each army can have a custom move speed (the default is in LivingWorld.ini)
    Banner = BannerMen – знамя( для чего?)
End

SpawnArmy
    ScriptingName = HeroArmy2
    SpawnForTemplates = PlayerMen
    HeroTemplateName = GondorFaramir
    PlayerArmy = FaramirPlayerArmy
    Icon = HeroFaramirIcon
    Banner = BannerMen
End

SpawnArmy
    ScriptingName = HeroArmy3
    SpawnForTemplates = PlayerMen
    HeroTemplateName = GondorBoromir
    PlayerArmy = BoromirPlayerArmy
    Icon = HeroBoromirIcon
    Banner = BannerMen
End

SpawnArmy
    ScriptingName = HeroArmy4
    SpawnForTemplates = PlayerMen
    HeroTemplateName = ArnorImrahil
    PlayerArmy = ImrahilPlayerArmy
    Icon = HeroImrahilIcon
    Banner = BannerMen
End

SpawnArmy
    ScriptingName = GarrisonArmy1
    SpawnForTemplates = PlayerMen
    PlayerArmy = MenOfTheWest_StartingArmy
    Icon = MoWArmyIcon
End
Ну и последний отдел data\ini\campaigns\common\livingworldbuildableunits.inc, отряды юнитов, возможных для постройки в бараках:
//-------------------------------------------------------------------------------------------------
// Armies Generated By Barracks
//-------------------------------------------------------------------------------------------------

;////////// Men Of The West //////////

LivingWorldPlayerArmy
    Name = GondorFighterArmy – наименование армии (прописывали в livingworldstructures.ini)
    DisplayNameTag = LWA:MenOfTheWest – текстовое описание
    ArmyEntry - армия
        ThingTemplate = GondorFighterHorde – объект
        Quantity = 1
    End
End

LivingWorldPlayerArmy
    Name = GondorArcherArmy
    DisplayNameTag = LWA:MenOfTheWest
    ArmyEntry
        ThingTemplate = GondorArcherHorde
        Quantity = 1
    End
End

LivingWorldPlayerArmy
    Name = GondorRangerArmy
    DisplayNameTag = LWA:MenOfTheWest
    ArmyEntry
        ThingTemplate = GondorRangerHorde
        Quantity = 1
    End
End

LivingWorldPlayerArmy
    Name = GondorKnightArmy
    DisplayNameTag = LWA:MenOfTheWest
    ArmyEntry
        ThingTemplate = GondorKnightHorde
        Quantity = 1
    End
End

LivingWorldPlayerArmy
    Name = GondorPikemanArmy
    DisplayNameTag = LWA:MenOfTheWest
    ArmyEntry
        ThingTemplate = GondorPikemanHorde
        Quantity = 1
    End
End

LivingWorldPlayerArmy
    Name = GondorTowerShieldGuardArmy
    DisplayNameTag = LWA:MenOfTheWest
    ArmyEntry
        ThingTemplate = GondorTowerShieldGuardHorde
        Quantity = 1
    End
End

LivingWorldPlayerArmy
    Name = GondorTrebuchetArmy
    DisplayNameTag = LWA:MenOfTheWest
    ArmyEntry
        ThingTemplate = GondorTrebuchet
        Quantity = 1
    End
End


LivingWorldPlayerArmy – ДОБАВЛЕНО В МОДЕ
    Name = GondorBatteringRamArmy
    DisplayNameTag = LWA:MenOfTheWest
    ArmyEntry
        ThingTemplate = MenBatteringRam
        Quantity = 1
    End
End

Ах да, еще пройдемся в data\ini\armysummarydescription.ini, это – для прописки текста в армии героя (наводим курсором на героя-полководца, слева видим – наименование героя, его армию):
  UnitCategory
    Name        = BANNERUI:RohanFighter – описание юнита (1 шт)
    PluralName    = BANNERUI:RohanFighters описание юнитов (много)
    Filter        = ANY +RohanFighter – объект
  End 
все то же, но для хорды (отряда):
  UnitCategory
    Name        = CONTROLBAR:LW_Unit_RohanFighterHorde - описание отряда
    PluralName    = CONTROLBAR:LW_UNIT_RohanFighterHordePlural - описание отрядов
    Filter        = ANY +RohanFighterHorde – объект
  End
Потом можно в data\ini\bannerui.ini дописать что-то типа этого:
BannerType BannerRohan
    FlagObj = Rohan_Enabl
;  GlowObj = Banner_Glow01
  Icon = Banner_Rohan
End
Вот и всё, надеюсь, кому-то помог.



Оценить:
Просмотров: 3719 | Комментарии: 4 | Рейтинг: 5.0/13
Категория: Коддинг | Добавил: SauronGreat (21.06.2012)
Теги: BFME Modding, WotR, tutorials
ПОХОЖИЕ МАТЕРИАЛЫ

Всего комментариев: 4
avatar
4 BALROG_111 • 20:44, 29.07.2016
У меня такой же вылет как у жругих
avatar
У меня вылиты после сражения в реальном времени, как исправить?
avatar
2 Carthaen • 19:33, 23.01.2013
Почему у меня не хочет Арнор работать?! Вернее, он работает, но игра сразу же вылетает! 
avatar
1 s_asha1998 • 06:47, 31.10.2012
А КАК ЕГО СОХРАНИТЬ?
avatar