Ещё хороший тутор. Может кого и заинтересует.
Привет всем! На этот раз я расскажу вам о создании фракции Харад (ака Люди Тьмы) для первой части BFME. Помог мне этот тутор (спасибо Uvatha), но всё же в нём говориться об общих моментах, да и не очень понятен новичкам. Поэтому я решил написать, подробно разобрав данный процесс. И так, господа, начнём:
Для сего дела нам понадобятся следующие программы:
- FinalBig
- Блокнот (если английская версия, да и вообще неплохой помощник)
- Siberian String Table Editor (если русская версия)
- HEXeditor
- Worldbuilder.exe (в игре есть)
Теперь адреса в INI.big:
1.data\ini\playertemplate.ini.
2.data\ini\upgrade.ini.
3.data\ini\victorysystem.ini.
4.data\ini\commandset.ini.
5.data\ini\object\evilfaction\evilfactionbuildings.ini.
6.data\ini\object\civilian\civilianbuildings.ini.
Первым делом пойдём в data\ini\playertemplate.ini. Там добавим в конец файла следующее:
В итоге у нас получился Харад, похожий несколько на Мордор, но сие сделано для играбельности (например спеллы мордовские).
Потом заходим в data\ini\upgrade.ini. Находим например:
Upgrade Upgrade_MordorFaction
DisplayName = UPGRADE:MordorFaction
Type = PLAYER
End
И ниже вставляем код:
Затем открываем файл data\ini\victorysystem.ini. Туда добавляем это (можно ниже аналогичного блока Мордора) :
Теперь цитадель и фундаменты. Это по адресу data\ini\object\evilfaction\evilfactionbuildings.ini.
Находим Object HaradCampKeep и Object HaradBuildingFoundation, копируем данные блоки (блок от Object ... до следующего Object ...) и вставляем их в конец файла. Теперь, что надо в них (копированных конечно) заменить:
Object HaradBuildingFoundation
например, на:
Side = Mordor
на (в обоих блоках):
CommandSet = MordorFoundationCommandSet
на
Object HaradCampKeep
например на:
CommandSet = MordorCampKeepCommandSet
на:
Ну... вообщем все замены. (Хотя я советую скопировать код от ; ***DESIGN parameters *** до Geometry = BOX из блока Object MordorCampKeep в ваш блок Object HaradCampKeep (с прежнего заменой разумеется) и подкорректировать написанные выше моменты).
Так же можно намного проще управится, используя чайлд.
А теперь настало время для data\ini\commandset.ini. Туда добавляем это:
и это:
Из ИНИ.БИГа пока выходим, сохраняя изменения. Пора прописать игровой текст. Об это здесь я рассказывать не буду, посмотрите тут. Скажу только, что у меня русская версия, патч 1.03, т.е нужный файл lang\russian\lotr.csf лежит в биге _russianpatch103.big. Я открыл его при помощи Siberian String Table Editor'а.
Нас интересуют строки (я уже всё прописал):
В русской версии соответственно:
А дальше идёт самый муторный процесс - создание 3 баз (.bse файлов): замка, лагеря, аванпоста.
Начнём с замка.
Для этого открываем Worldbuilder.exe. Там в панели инструментов нажимаем File > New. Появится окно, в которое забиваем параметры: 100, 100, 30, 16. Нажимаем OK. Карта готова, осталость только разместить нужные объекты на ней.=)
Сначала нажимаем на значок в панели инструментов в виде трёх стрелочек, вылезет окно, в котором идём по адресу: ByNativeType > Civilian > STRUKTURE > CastleFlagNE. Выбираем объект (чёрный непонятный круг с какими-то надписями) и ставим на своей карте. Дальше выбираем в пенельке инструмент Polygon Toll(замкнутая с точками), нажимаем на него, и ставим точки (они должны автоматически соединятся), обводя ими чёрный круг. Потом правой конпкой мыши кликаем на землю пустую (линия перестаёт мигать). Теперь удаляем круг и возвращаемся к трём стрелкам. Там идём по адресу: ByNativeType > Harad > STRUKTURE > Eastbuildingfoundation.
И ставим на карту внутри замкнутой красной линии. Это основание для постройки зданий. В замке их обычно 8. Затем идём по адресу (всё там же в трх стрелках):
ByNativeType-Civilian-SYSTEM-BaseCenterGeneric - это розовая пирамида сама "база". Поставим в середину круга.Потом нажимаем на него. Там будет окно параметров. В пустой строчке Name пишем BASE. После этого ставим галочку в пункте Is a base, а в строке Team выберем PlyrHarad/teamPlyrHarad. С пирамидой покончили, теперь главное здание: ByNativeType > Harad > STRUKTURE > Eastcampkeep. Данный объект ставим на пирамиду. В параметрах В меню In Base ставим BASE. Это же делаем со всеми основаниями. А теперь, чтобы замок не был таким скучным и пустым можно поставить декорации, а для защиты - фундаменты башенок. Адрес башен: ByNativeType > Mordor > STRUKTURE > MordorBaseDefenceFoundation. Декорации найдёте сами, покопавшись в ByNativeType > Civilian > MISC_MAN_MADE и/или в ByNativeType > Civilian > MISC_NATURAL. У всех ваших объектов (декораций, башен, фундаментов) нужно прописать в параметрах свою команду и выбрать BASE в строке In Base (аналогично как мы делали с фундаментами построек).
Так, базу сделали, теперь сохраняем как (File > SaveAs) castle_harad (можно в папке с игрой).
Теперь открываем HEXeditor (XVI32.exe). Нажимаем File > Open..., находим файл и открываем его. Вы увидите кучу цифр и букв, но не пугайтесь, нам нужна только строчка castle_harad в правой половине где-то вверху. Как нашли сразу переименовываем (редактируем прям там) в Castle_Harad. Сохраняем файл и выходим из редактора.
И осталось закинуть ваш файл в биг игры (можно в Bases.big или в ваш собственный). Открываем биг-файл Edit > Add file и выбираем файл. Не забудьте его там грамотно назвать! По аналогу с мордовским, например. У меня: bases\castle_harad\castle_harad.bse.
Теперь Лагерь.
Процесс аналогичный, как с замком, только нужно заменить CastleFlagNE на CampFlagNE, сохранить как camp_harad, в HEXeditor'е вместо camp_harad Camp_Harad.
Аванпост.
Процесс такой же только: нужно заменить CastleFlagNE на ExpansionFlag, сохранить как expansion_harad, в HEXeditor'е вместо expansion_harad Expansion_Harad.
Всё с ВБ покончили. Снова возвращаемся в INI.big. Нам нужен последний адрес: data\ini\object\civilian\civilianbuildings.ini. Там есть несколько блоков, где присутствуют названия всех играбельных фракций: Gondor, Mordor, Rohan, Isengard. Так вот, теперь аналогично добавляем во все эти блоки Harad. Например, было:
Behavior = CastleBehavior ModuleTag_castle
SidesAllowed = Gondor FROM_PLAYER FROM_AI FROM_SCRIPT
SidesAllowed = Isengard FROM_PLAYER FROM_AI FROM_SCRIPT
SidesAllowed = Mordor FROM_PLAYER FROM_AI FROM_SCRIPT
SidesAllowed = Rohan FROM_PLAYER FROM_AI FROM_SCRIPT
UseTheNewCastleSystemInsteadOfTheClunkyBuildList = Yes
FilterValidOwnedEntries = ANY +STRUCTURE +WALK_ON_TOP_OF_WALL +BASE_FOUNDATION +TACTICAL_MARKER
End
End
Стало:
Можно скачать один файл с Третьей Эры. Там сохранить его в блокноте, нажать Ctrl+H. В разделе "Что" писать Elves, а в "Чем" - Harad > Заменить всё. Кидаем этот текстовый файл в иник, заменяя data\ini\object\civilian\civilianbuildings.ini (название оставить data\ini\object\civilian\civilianbuildings.ini).
Помните только, что Харад - злая фракция (ближе к Мордору), это относится к выбору посторек на поселениях. У меня - лесопилки. Для этого заменим (если делаете сами, то просто добавляем нужную строчку):
UseSecondaryBuildList = Yes
UseTheNewCastleSystemInsteadOfTheClunkyBuildList = Yes
CastleToUnpackForFaction = Mordor Lumbermill_Mordor MORDOR_FLAG_ECONOMY_UNPACK_COST
CastleToUnpackForFaction = Isengard Lumbermill_Mordor ISENGARD_FLAG_ECONOMY_UNPACK_COST
CastleToUnpackForFaction = Rohan EconomyFarm_Rohan ROHAN_FLAG_ECONOMY_UNPACK_COST
CastleToUnpackForFaction = Gondor Farm_Gondor GONDOR_FLAG_ECONOMY_UNPACK_COST
CastleToUnpackForFaction = Harad Farm_Harad GONDOR_FLAG_ECONOMY_UNPACK_COST
FilterValidOwnedEntries = ANY +STRUCTURE +WALK_ON_TOP_OF_WALL +BASE_FOUNDATION +TACTICAL_MARKER
End
На:
Так меняем все аналогичные блоки. И ещё, базы у нас только: Castle_Harad Camp_Harad Expansion_Harad. Никаких иных быть не должно. Особенно после использования файла с Третьей Эры (там может встретится Camp_ElvesSW, например, а при автомат-замене на Harad будет: Camp_HaradSW, чего не должно).
Примечания:
1. Тутор полностью по Хараду, если вы хотите создать другую фракцию, например, Эльфы, то просто заменяете Harad на название расы (помня, про то, что эльфы - добрая фракция).
2. Книга заклинаний, герои, строения в фундаменте можете выбирать свои.
3. Могут быть несоответствия между патчами. (Так же обратите внимание, что у меня русская версия).
4. Семь раз проверь - один раз отрежь! (Тутор серьёзный, т.е. тупо копировкой без знания кода делать не советую).
5. При любых замечаниях, пишите в комментарии, причём излагайте конкретную проблему, а не типа: "У мене не получилось, хнык.(" И если увидите ошибки, хоть незначительные, тоже сообщайте (это уже к продвинутым моддерам).
На сим всё. У меня работает (скрины в придачу), фракцией вполне можно играть, а если доделать немного, так вообще ништяк будет.)
Скрин в придачу:
Tutorial by Akrahil. Копировать запрещено!
Привет всем! На этот раз я расскажу вам о создании фракции Харад (ака Люди Тьмы) для первой части BFME. Помог мне этот тутор (спасибо Uvatha), но всё же в нём говориться об общих моментах, да и не очень понятен новичкам. Поэтому я решил написать, подробно разобрав данный процесс. И так, господа, начнём:
Для сего дела нам понадобятся следующие программы:
- FinalBig
- Блокнот (если английская версия, да и вообще неплохой помощник)
- Siberian String Table Editor (если русская версия)
- HEXeditor
- Worldbuilder.exe (в игре есть)
Теперь адреса в INI.big:
1.data\ini\playertemplate.ini.
2.data\ini\upgrade.ini.
3.data\ini\victorysystem.ini.
4.data\ini\commandset.ini.
5.data\ini\object\evilfaction\evilfactionbuildings.ini.
6.data\ini\object\civilian\civilianbuildings.ini.
Первым делом пойдём в data\ini\playertemplate.ini. Там добавим в конец файла следующее:
Код:
PlayerTemplate FactionHarad
Side = Harad
PlayableSide = Yes
Evil = Yes
StartMoney = 0
MaxLevelMP = 44
MaxLevelSP = 84
PreferredColor = R:225 G:150 B:60
IntrinsicSciences = SCIENCE_EVIL
IntrinsicSciencesMP = SCIENCE_MORDOR ;SCIENCE_HARAD
SpellBook = EvilSpellBook
SpellBookMp = MordorSpellBook ;HaradSpellBook
PurchaseScienceCommandSet = EvilSpellStoreCommandSet
PurchaseScienceCommandSetMP = MordorSpellStoreCommandSet ;HaradSpellStoreCommandSet
;SpecialPowerShortcutCommandSet = SpecialPowerShortcutGLA
;SpecialPowerShortcutWinName = GenPowersShortcutBarGLA.wnd
;SpecialPowerShortcutButtonCount = 3
DisplayName = INI:FactionHarad
DefaultPlayerAIType = MordorSkirmishAI
;StartingBuilding = MordorBuildingFoundation
;StartingUnit0 = MordorFighter
;ScoreScreenImage = GLA_ScoreScreen
;LoadScreenImage = SUFactionLogoPage_GLA
;LoadScreenMusic = Load_GLA
;FlagWaterMark = WatermarkGLA
;EnabledImage = SSObserverGLA
BeaconName = MultiplayerBeacon
;SideIconImage = GameinfoGLA
LightPointsUpSound = MordorLightPointsUp
ObjectiveAddedSound = Gui_MissionObjectiveNew
ObjectiveCompletedSound = Gui_MissionObjectiveCompleted
InitialUpgrades = Upgrade_HaradFaction Upgrade_MordorDualEconomyChoice Upgrade_EvilDualEconomyChoice ;Any upgrades this player template is born with.
BuildableHeroesMP = MordorFellBeast MordorWitchKing
SpellStoreCurrentPowerLabel = APT:SpellStoreCurrentRingPower
SpellStoreMaximumPowerLabel = APT:SpellStoreMaximumRingPower
End
Потом заходим в data\ini\upgrade.ini. Находим например:
Upgrade Upgrade_MordorFaction
DisplayName = UPGRADE:MordorFaction
Type = PLAYER
End
И ниже вставляем код:
Код:
Upgrade Upgrade_HaradFaction
DisplayName = UPGRADE:HaradFaction
Type = PLAYER
End
Затем открываем файл data\ini\victorysystem.ini. Туда добавляем это (можно ниже аналогичного блока Мордора) :
Код:
FactionVictoryData Harad
AllyDeathScaleFactor = 1.0 ; Value this faction places on the loss of its own units.
EnemyKillScaleFactor = 1.1 ; Value this faction places on 'kills' of enemy units that it gets.
VictoryThreshold = 200.0 ; Thereshold needed for a 'Victory'
MajorUnitValue = 10.0 ; Value placed on special/major units
MapToCellVictoryRatio = 0.8 ; Factor of VictoryThreshold that a cell needs for a Victory, practical range should be
; on the order of 0.2 and 1.0. Larger values make it more difficult to achieve 'Victory'
End
Находим Object HaradCampKeep и Object HaradBuildingFoundation, копируем данные блоки (блок от Object ... до следующего Object ...) и вставляем их в конец файла. Теперь, что надо в них (копированных конечно) заменить:
Object HaradBuildingFoundation
например, на:
Код:
Object EastBuildingFoundation
на (в обоих блоках):
Код:
Side = Harad
на
Код:
CommandSet = HaradFoundationCommandSet
например на:
Код:
Object EastCampKeep
на:
Код:
CommandSet = HaradCampKeepCommandSet
Так же можно намного проще управится, используя чайлд.
А теперь настало время для data\ini\commandset.ini. Туда добавляем это:
Код:
CommandSet HaradCampKeepCommandSet
1 = Command_GenericReviveSlot1
2 = Command_GenericReviveSlot2
3 = Command_GenericReviveSlot3
4 = Command_GenericReviveSlot4
5 = Command_GenericReviveSlot5
6 = Command_GenericReviveSlot6
7 = Command_GenericReviveSlot7
8 = Command_GenericReviveSlot8
9 = Command_StartCitadelFoDSelfRepair ;
End
Код:
CommandSet HaradFoundationCommandSet
1 = Command_ConstructSlaughterHouse
2 = Command_ConstructMordorHaradrimPalace
3 = Command_ConstructMordorPen
End
Из ИНИ.БИГа пока выходим, сохраняя изменения. Пора прописать игровой текст. Об это здесь я рассказывать не буду, посмотрите тут. Скажу только, что у меня русская версия, патч 1.03, т.е нужный файл lang\russian\lotr.csf лежит в биге _russianpatch103.big. Я открыл его при помощи Siberian String Table Editor'а.
Нас интересуют строки (я уже всё прописал):
Код:
INI:FactionHarad - Harad
SIDE:Harad - Harad
LWA:Harad - Harad
LWA:HaradArmy - Harad Army
OBJECT:HaradBuildingFoundation - Harad Building Foundation
Код:
INI:FactionHarad - Харад
SIDE:Harad - Харад
LWA:Harad - Харад
LWA:HaradArmy - HАрмия Харада
OBJECT:HaradBuildingFoundation - Строительный фундамент Харада
А дальше идёт самый муторный процесс - создание 3 баз (.bse файлов): замка, лагеря, аванпоста.
Начнём с замка.
Для этого открываем Worldbuilder.exe. Там в панели инструментов нажимаем File > New. Появится окно, в которое забиваем параметры: 100, 100, 30, 16. Нажимаем OK. Карта готова, осталость только разместить нужные объекты на ней.=)
Сначала нажимаем на значок в панели инструментов в виде трёх стрелочек, вылезет окно, в котором идём по адресу: ByNativeType > Civilian > STRUKTURE > CastleFlagNE. Выбираем объект (чёрный непонятный круг с какими-то надписями) и ставим на своей карте. Дальше выбираем в пенельке инструмент Polygon Toll(замкнутая с точками), нажимаем на него, и ставим точки (они должны автоматически соединятся), обводя ими чёрный круг. Потом правой конпкой мыши кликаем на землю пустую (линия перестаёт мигать). Теперь удаляем круг и возвращаемся к трём стрелкам. Там идём по адресу: ByNativeType > Harad > STRUKTURE > Eastbuildingfoundation.
И ставим на карту внутри замкнутой красной линии. Это основание для постройки зданий. В замке их обычно 8. Затем идём по адресу (всё там же в трх стрелках):
ByNativeType-Civilian-SYSTEM-BaseCenterGeneric - это розовая пирамида сама "база". Поставим в середину круга.Потом нажимаем на него. Там будет окно параметров. В пустой строчке Name пишем BASE. После этого ставим галочку в пункте Is a base, а в строке Team выберем PlyrHarad/teamPlyrHarad. С пирамидой покончили, теперь главное здание: ByNativeType > Harad > STRUKTURE > Eastcampkeep. Данный объект ставим на пирамиду. В параметрах В меню In Base ставим BASE. Это же делаем со всеми основаниями. А теперь, чтобы замок не был таким скучным и пустым можно поставить декорации, а для защиты - фундаменты башенок. Адрес башен: ByNativeType > Mordor > STRUKTURE > MordorBaseDefenceFoundation. Декорации найдёте сами, покопавшись в ByNativeType > Civilian > MISC_MAN_MADE и/или в ByNativeType > Civilian > MISC_NATURAL. У всех ваших объектов (декораций, башен, фундаментов) нужно прописать в параметрах свою команду и выбрать BASE в строке In Base (аналогично как мы делали с фундаментами построек).
Так, базу сделали, теперь сохраняем как (File > SaveAs) castle_harad (можно в папке с игрой).
Теперь открываем HEXeditor (XVI32.exe). Нажимаем File > Open..., находим файл и открываем его. Вы увидите кучу цифр и букв, но не пугайтесь, нам нужна только строчка castle_harad в правой половине где-то вверху. Как нашли сразу переименовываем (редактируем прям там) в Castle_Harad. Сохраняем файл и выходим из редактора.
И осталось закинуть ваш файл в биг игры (можно в Bases.big или в ваш собственный). Открываем биг-файл Edit > Add file и выбираем файл. Не забудьте его там грамотно назвать! По аналогу с мордовским, например. У меня: bases\castle_harad\castle_harad.bse.
Теперь Лагерь.
Процесс аналогичный, как с замком, только нужно заменить CastleFlagNE на CampFlagNE, сохранить как camp_harad, в HEXeditor'е вместо camp_harad Camp_Harad.
Аванпост.
Процесс такой же только: нужно заменить CastleFlagNE на ExpansionFlag, сохранить как expansion_harad, в HEXeditor'е вместо expansion_harad Expansion_Harad.
Всё с ВБ покончили. Снова возвращаемся в INI.big. Нам нужен последний адрес: data\ini\object\civilian\civilianbuildings.ini. Там есть несколько блоков, где присутствуют названия всех играбельных фракций: Gondor, Mordor, Rohan, Isengard. Так вот, теперь аналогично добавляем во все эти блоки Harad. Например, было:
Behavior = CastleBehavior ModuleTag_castle
SidesAllowed = Gondor FROM_PLAYER FROM_AI FROM_SCRIPT
SidesAllowed = Isengard FROM_PLAYER FROM_AI FROM_SCRIPT
SidesAllowed = Mordor FROM_PLAYER FROM_AI FROM_SCRIPT
SidesAllowed = Rohan FROM_PLAYER FROM_AI FROM_SCRIPT
UseTheNewCastleSystemInsteadOfTheClunkyBuildList = Yes
FilterValidOwnedEntries = ANY +STRUCTURE +WALK_ON_TOP_OF_WALL +BASE_FOUNDATION +TACTICAL_MARKER
End
End
Стало:
Код:
Behavior = CastleBehavior ModuleTag_castle
SidesAllowed = Gondor FROM_PLAYER FROM_AI FROM_SCRIPT
SidesAllowed = Isengard FROM_PLAYER FROM_AI FROM_SCRIPT
SidesAllowed = Mordor FROM_PLAYER FROM_AI FROM_SCRIPT
SidesAllowed = Rohan FROM_PLAYER FROM_AI FROM_SCRIPT
SidesAllowed = Harad FROM_PLAYER FROM_AI FROM_SCRIPT
UseTheNewCastleSystemInsteadOfTheClunkyBuildList = Yes
FilterValidOwnedEntries = ANY +STRUCTURE +WALK_ON_TOP_OF_WALL +BASE_FOUNDATION +TACTICAL_MARKER
End
End
Помните только, что Харад - злая фракция (ближе к Мордору), это относится к выбору посторек на поселениях. У меня - лесопилки. Для этого заменим (если делаете сами, то просто добавляем нужную строчку):
UseSecondaryBuildList = Yes
UseTheNewCastleSystemInsteadOfTheClunkyBuildList = Yes
CastleToUnpackForFaction = Mordor Lumbermill_Mordor MORDOR_FLAG_ECONOMY_UNPACK_COST
CastleToUnpackForFaction = Isengard Lumbermill_Mordor ISENGARD_FLAG_ECONOMY_UNPACK_COST
CastleToUnpackForFaction = Rohan EconomyFarm_Rohan ROHAN_FLAG_ECONOMY_UNPACK_COST
CastleToUnpackForFaction = Gondor Farm_Gondor GONDOR_FLAG_ECONOMY_UNPACK_COST
CastleToUnpackForFaction = Harad Farm_Harad GONDOR_FLAG_ECONOMY_UNPACK_COST
FilterValidOwnedEntries = ANY +STRUCTURE +WALK_ON_TOP_OF_WALL +BASE_FOUNDATION +TACTICAL_MARKER
End
На:
Код:
UseSecondaryBuildList = Yes
UseTheNewCastleSystemInsteadOfTheClunkyBuildList = Yes
CastleToUnpackForFaction = Mordor Lumbermill_Mordor MORDOR_FLAG_ECONOMY_UNPACK_COST
CastleToUnpackForFaction = Isengard Lumbermill_Mordor ISENGARD_FLAG_ECONOMY_UNPACK_COST
CastleToUnpackForFaction = Rohan EconomyFarm_Rohan ROHAN_FLAG_ECONOMY_UNPACK_COST
CastleToUnpackForFaction = Gondor Farm_Gondor GONDOR_FLAG_ECONOMY_UNPACK_COST
CastleToUnpackForFaction = Harad Lumbermill_Mordor MORDOR_FLAG_ECONOMY_UNPACK_COST
FilterValidOwnedEntries = ANY +STRUCTURE +WALK_ON_TOP_OF_WALL +BASE_FOUNDATION +TACTICAL_MARKER
End
Примечания:
1. Тутор полностью по Хараду, если вы хотите создать другую фракцию, например, Эльфы, то просто заменяете Harad на название расы (помня, про то, что эльфы - добрая фракция).
2. Книга заклинаний, герои, строения в фундаменте можете выбирать свои.
3. Могут быть несоответствия между патчами. (Так же обратите внимание, что у меня русская версия).
4. Семь раз проверь - один раз отрежь! (Тутор серьёзный, т.е. тупо копировкой без знания кода делать не советую).
5. При любых замечаниях, пишите в комментарии, причём излагайте конкретную проблему, а не типа: "У мене не получилось, хнык.(" И если увидите ошибки, хоть незначительные, тоже сообщайте (это уже к продвинутым моддерам).
На сим всё. У меня работает (скрины в придачу), фракцией вполне можно играть, а если доделать немного, так вообще ништяк будет.)
Скрин в придачу:
Tutorial by Akrahil. Копировать запрещено!