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

Главная » Статьи » Моддинг » Коддинг
Главный Туториал Для Начинающих. Часть I

Это материал может послужить главной основой для тех кто никогда кодингом не занимался, а также для тех кто чего-то не знает, и тех кто просто чего-то забыл. Все что интересует нас изначала это закрытые объекты: Герои, армии, строения и мы всегда проходя кампанию желали добавить героев которые доступны только там. Так как The Battle for Middle-earth является стратегией, она рассчитана как свободное пространство для нашей фантазии и все что нам нужно чтобы ее воплотить - это знать не сложный язык скриптов для построения наших замыслов.
Главный файл в котором заключена информация и конфигурации игры это файл INI.big - он находиться в корневой папке игры. Это файл big, его способна открыть не плохая программа FinalBIGEditor. Когда мы откроем наш INI мы увидим древовидную систему из разных ini-файлов, каждый из них это раздел отвечающий за определенную задачу в игре, все они взаимосвязаны и изменение одного из них повлечет изменение других. Главное перед коддингом сделать запасную копию INI в случае неправильного редактирования.
Итак, пора рассказать об INI, я не смогу обозначить все ini-файлы, но расскажу об главных из них:


ФРАКЦИИ: В самом низу вы найдете иник Data\ini\PlayerTemplate.ini это главный лист всех фракций, это настройки в которых заключена конфигурация об начальных ресурсах, героев в крепостях, самих крепостях, и прочих настроек.
Для примера я возьму фракцию Mordor (Мордор)

PlayerTemplate FactionMordor \\\\\\\\Начало конфигурации, обозначающие раздел мордора
Side = Mordor \\\\\Фракция, название
PlayableSide = Yes \\\Игробельность, Здесь Yes, следовательно - Да
Evil = Yes \\\\Зло? это мордор следовательно - Да
StartMoney = 0 \\\\ Начальные Ресурсы
MaxLevelMP = #DIVIDE( PLAYER_MAX_PURCHASE_POINTS_DEFAULT PLAYER_PURCHASE_POINTS_GRANTED )
MaxLevelSP = #DIVIDE( PLAYER_MAX_PURCHASE_POINTS_EVIL PLAYER_PURCHASE_POINTS_GRANTED )
PreferredColor = R:175 G:49 B:33

StartingBuilding = MordorFortress \\\\Начальная Крепость

;------------- NO STARTING UNITS FOR YOU -------
StartingUnit0 = MordorPorter \\\Начальный Строитель
StartingUnitOffset0 = X:1 Y:240 Z:0

StartingUnit1 = MordorPorter
StartingUnitOffset1 = X:1 Y:190 Z:0

StartingUnitTacticalWOTR = MordorPorter\\\Строитель В войне кольца
StartingUnitTacticalWOTR = MordorPorter
IntrinsicSciences = SCIENCE_EVIL \\\Палантир Сил
IntrinsicSciencesMP = SCIENCE_MORDOR \\\Силы фракции
SpellBook = EvilSpellBook
SpellBookMp = MordorSpellBook
PurchaseScienceCommandSet = EvilSpellStoreCommandSet
PurchaseScienceCommandSetMP = MordorSpellStoreCommandSet
DisplayName = INI:FactionMordor
DefaultPlayerAIType = MordorSkirmishAI
BeaconName = MultiplayerBeacon
LightPointsUpSound = MordorLightPointsUp
ObjectiveAddedSound = Gui_MissionObjectiveNew
ObjectiveCompletedSound = Gui_MissionObjectiveCompleted
InitialUpgrades = Upgrade_MordorDualEconomyChoice Upgrade_MordorFaction Upgrade_EvilDualEconomyChoice;Any upgrades this player template is born with.

// NOTE: It is very important that the create-a-hero be the first buildable hero, to ensure that the create-a-hero and the ring hero are always
// attached to the first two buttons in the command set.
BuildableHeroesMP = CreateAHero NeutralGollum MordorGothmog MordorMouthOfSauron KhamulFellBeast MorgomirFellBeast MordorWitchKingOnFellBeast ;// NeutralGollum EvilMenBlackRider EvilMenBlackRider MordorFellBeast MordorFellBeast \\\герои
BuildableRingHeroesMP = MordorSauron_RingHero ///кольцевой герой
SpellStoreCurrentPowerLabel = APT:SpellStoreCurrentRingPower
SpellStoreMaximumPowerLabel = APT:SpellStoreMaximumRingPower
ResourceModifierObjectFilter = RESOURCE_MODIFIER_OBJECT_FILTER
ResourceModifierValues = 100 100 100 100 90 85 80 75 71 68 66
MultiSelectionPortrait = UPMordor_Army ///изображение при выделение армии
LoadScreenMusic = Shell2MusicForLoadScreen \\\мелодия фракции
End
Если мы хотим внести изменения, нажимаем на раздел Иника и жмем комбинацию клавиш CTRL + E, иник откроется в блокноте, после изменений мы нажимаем на сохранить и закрываем, сохранения будут внесены.


ЕСЛИ МЫ ХОТИМ ДОБАВИТЬ ГЕРОЯ мы на том же примере Мордора ищем строчку: BuildableHeroesMP = CreateAHero MordorGothmog MordorMouthOfSauron... добавим допустим голума, вставляем его наименование в строчку:
= CreateAHero NeutralGollum MordorGothmog MordorMouthOfSauron... После сохранения голлум появиться в игре, добавить можно любового героя, главное знать его системное имя, если мы введем просто Frodo он не появиться а скорее даже выявит ошибку, но если мы введем RohanFrodo - он будет доступен для найма. Чтобы героя нанимал компьютер (ИП) мы ищем иник data\ini\default\skirmishaidata открываем его комбинацией клавиш, ищем строчку HeroBuildOrder = MordorSauron_RingHero MordorWitchKing KhamulFellBeast MordorMouthOfSauron... -это найм AI героев, впереди всегда стоит кольцевой герой, после саурона добавим NeutralGollum
HeroBuildOrder = MordorSauron_RingHero NeutralGollum MordorWitchKing KhamulFellBeast MordorMouthOfSauron...
(если он имеется в PlayerTemplate, мы можем ожидать голлума для найма у нашего компьютерного игрока мордора, также в skirmishaidata содержится информация для найма отрядов для AI.

КОМАНДЫ И ДЕЙСТВИЯ В ИГРЕ один из самых интересных и главных отделов в игре это data\ini\CommandButton.ini и data\ini\CommandSet.ini
CommandButton: - это раздел отвечающий за найм отрядов, единиц и специальные силы - для примера я возьму Батальон Ренджеров Гондора:

CommandButton Command_ConstructGondorRangerHorde\\\"Command_Construct" - команда создать, пример ренджер
Command = UNIT_BUILD\\\тип команды "UNIT_BUILD" создать юнит
Object = GondorRangerHorde \\\сам объект, здесь указан отряд рендеров
Options = NEED_UPGRADE CANCELABLE\\\Графа опции в данном случае "NEED_UPGRADE" - нужен апгрейд
NeededUpgrade = Upgrade_GondorArcheryRangeLevel2\\\"NeededUpgrade" нужный апгрейд - здесь стрельбище 2 уровня.
NeededUpgradeAny = Yes \\\"NeededUpgradeAny" нужен ли апгрейд?
TextLabel = CONTROLBAR:ConstructGondorRangerHorde\\\текст при создании, здесь инфо о юните которую мы видим нажимая на заначек рендеров.
ButtonImage = BGArcheryRange_Rangers\\\Иконка юнита
ButtonBorderType = BUILD \\\тип: создание
DescriptLabel = CONTROLBAR:ToolTipBuildGondorRangerHorde\\\информация об юните
Radial = Yes
InPalantir = Yes
ShowProductionCount = Yes
UnitSpecificSound = GondorArcherVoiceBuy
End
Если мы хотим получить Ренджеров при первом уровне стрельбища мы уберем всю информацию о апгрейде.

CommandSet: Команды юнитов, структур - это лист комманд определенных юнитов это и есть те самые команды которые размещены в палантире в виде 6 ячеек, пример тех же ренджеров:

CommandSet GondorRangerHordeCommandSet
1 = Command_ToggleStance \\\Команда остановиться
2 = Command_ArcherBombard \\\Обстрел территории
3 = Command_MenLongShotAbility
4 = Command_PurchaseUpgradeGondorFireArrows \\\Огненные стрелы
5 = Command_PurchaseUpgradeGondorBasicTraining
12 = Command_CaptureBuilding
13 = Command_AttackMove \\\Команда атаки
14 = Command_Stop \\\команда стоп
16 = Command_SetStanceBattle \\\опция состояние: Сражение
17 = Command_SetStanceAggressive \\\опция состояние: Агрессивный
18 = Command_SetStanceHoldGround \\\опция состояние: Охрана Позиции
End

ИНДИВИДУАЛЬНЫЕ ОПЦИИ ОБЪЕКТА: каждый объект в игре имеет свой ini-файл в котором заключена информация так как их действительно много, мы возьмем не сложный иник строителя изенгарда, (все иник объектов размещены по категориям: ФракцияДобра\Зла, и сама фракция Мордор, Эльфы... Это должно облегчить поиск)

Так как иники имеют очень большей размер, я размечу образец в минимальной копии:

; aka Tribute Cart

Object MordorPorter \\\Название объекта в базе
; *** ART Parameters *** \\\Параметры "Art" это самая первая глава в параметрах, заключает в себя визуальные опции
SelectPortrait = UPIsenguard_OrcLaborer/// Портрет в палантире

ButtonImage = BMFortress_Porter \\\Иконка для найма
Draw = W3DTruckDraw ModuleTag_01
OkToChangeModelColor = Yes


; StaticModelLODMode = yes ; Will append M or L to the skin name depending on GameLOD

DefaultModelConditionState
Model = WUPorter_SKN \\\3D модель
Skeleton = MUOrcPrtr_SKL
End
IdleAnimationState \\\один из фрагментов анимации
Animation = IDLA
AnimationName = MUOrcPrtr_IDLA
AnimationMode = ONCE
AnimationPriority = 10
End
; ***DESIGN parameters *** \\\Главная для нас глава, в ней заключается информация для игры
Side = Mordor \\\ Фракция объекта
EditorSorting = UNIT \\\Сортировка "UNIT" - юнит
ThingClass = HORDE_UNIT \\\ Класс"HORDE_UNIT" - подразделение
CommandPoints = 0 \\\ Командные пункты, так как это строитель - их 0

TransportSlotCount = 1
ArmorSet
Conditions = None
Armor = PorterArmor
DamageFX = NormalDamageFX
End


BuildCost = MORDOR_PORTER_BUILDCOST \\\Стоимость, здесь указан раздел из GameGata, но мы можем обозначить цифрой.
BuildTime = MORDOR_PORTER_BUILDTIME \\\Время найма
VisionRange = MORDOR_PORTER_VISION_RANGE
ShroudClearingRange = MORDOR_PORTER_SHROUD_RANGE
BountyValue = MORDOR_PORTER_BOUNTY_VALUE


DisplayName = OBJECT:MordorPorter \\\Имя в базе, отображается в игре
CrushableLevel = 1 ;What am I?: 0 = for infantry, 1 = for trees, 2 = general vehicles
CrusherLevel = 0 ;What can I crush?: 0 = small animals, 1 = infantry, 2 = trees, 3 = vehicles
ShockwaveResistance = SHOCKWAVE_RESISTANCE_IMMUNE


CommandSet = MordorPorterCommandSet \\\КомандСет - Строителя

; *** ENGINEERING Parameters *** это последний раздел отвечает за все инженерные данные модели, так как он самый большой, я не буду приводить примеры.
Я рассказал о главных параметрах, есть то что еще можно расскать ибо я привел очень малый пример, но это именно то, что необходимо знать для создания своего юнита, или конкретного изменения фракции - я обязательно выпущу вторую часть описаний INI где опишу больше конфигураций, если я не внес сюда важных данный, я буду редактировать статью.
ПОСЛЕСЛОВИЕ: Все что нужно для умелого кодинга это знание Английского Языка на 4, Внимательность, так как можно сравнивать одну часть с другой, и хорошую память, ну и конечно знание самой игры, мы занимаемся кодингом потому что мы изучили игру буквально во всех ее уголках, и нам просто хочется внести разнообразие ибо bfme одна из самых лучших стратегий, в котором мы получим контроль над самым огромным вымышленном мире - Арды.

MelkorLord



Оценить:
Просмотров: 2279 | Рейтинг: 3.9/16
Категория: Коддинг | Добавил: MelkorLord (06.12.2012)
ПОХОЖИЕ МАТЕРИАЛЫ

Всего комментариев: 0
avatar