Главная » Статьи » Моддинг » Коддинг

Король мёртвых
Итак, всем доброго времени суток, и я, Акхорахил, сегодня расскажу вам как сделать и добавить совершенно нового героя в игру.
Вначале как всегда обговорю вкратце: у вас есть модель, текстуры, скачанные, например, с нашего файлового архива (возьмём Короля мёртвых), и вы хотите этого дохлого парня добавить, например Гондору (Людям Запада), но мало представляете себе, как-таки можно сие провернуть. Всё по сути довольно просто, было бы только свободное время и немного терпения...
Ладно, хватит тянуть резину, пора начинать.

Понадобятся следующие программы:
- FinalBig (основная работа там)
- Блокнот (вообще неплохой помощник, перед тем как пихать всё в биг, лучше сделать этот тут)
- Siberian String Table Editor (если русская версия; текст игры разумеется)
- Asset Cache Builder или Asset Builder (с граф. оболочкой; для заассечивания модели и текстур)


Теперь адреса в адреса в INI.big:
1.data\ini\object\goodfaction\units\men\aragorn.ini.
2.data\ini\mappedimages\aptimages\heroselecticons.ini.
3.data\ini\mappedimages\aptimages\heroui.ini.
4.data\ini\gamedata.ini.
5.data\ini\weapon.ini.
6.data\ini\armor.ini.
7.data\ini\commandset.ini.
8.data\ini\experiencelevels.ini.
9.data\ini\playertemplate.ini
10.data\ini\default\skirmishaidata.ini


Ну, теперь приступим:
Для начала нужно заассетить модель и текстуры короля мёртвых с помощью Asset Builder'а, предварительно скачав их отсюда (список файлов есть в ридми архива). Сам процесс разумеется описывать не буду... ибо тутор по этому поводу, составленный нашим магистром уже давно лежит здесь.

Так, когда всё сделано, начнём лепить героя.
В ридми архива видим, что модель короля сидит на скелете Арагорна - guaragorn_skl.w3d, значит основой для будущего короля мёртвых и будет Арагорн.

Теперь уже сам процесс:
Открываем ini.big FinalBig'ом и заходим в гости к Арагорну (data\ini\object\goodfaction\units\men\aragorn.ini) и... копируем весь иник Ары в блокнот, да-да, именно так, в блокноте будет происходить превращение короля Гондора в короля мертвецов. =)
Ну, а теперь начинается самая нудная часть тутора - прошаривание по всему инику, дабы искоренить почти всё агрономовское и заменить это немного иным.
Приступим:

Первое, что бросается в глаза - это:
Object GondorAragorn
Тут само название героя в коде, что естественно переименвываем:
Код
GondorDeadKing


Так, ниже видим следующее:
; SelectPortrait for Heros is portrait behind skill buttons. HP = HeroPortrait.
SelectPortrait = HPAragorn

; ButtonImage for Heros is button image on Hero Select UI to select hero. HI = HeroIcon or HeroImage.
ButtonImage = HIAragorn

Если вы не хотите, чтобы ваш король мёртых ходил с рожей Ары, то придётся заменить портрет и иконку, благо всё это уже есть в скачанном архиве, итак, заменяем пока тут:
Код
; SelectPortrait for Heros is portrait behind skill buttons. HP = HeroPortrait.
  SelectPortrait = KOtd_Portrait
   
  ; ButtonImage for Heros is button image on Hero Select UI to select hero. HI = HeroIcon or HeroImage.
  ButtonImage = KOtd_Icon

Конечно, это лишь замена в инике, добавлять эти картинки мы будем позднее.

А сейчас идём дальше:
DefaultModelConditionState
Model = GUAragorn_SKN
End

Вот это самая важная часть, тут и происходит окончательное превращение Ары в мёртвого короля, заменяем:
Код
DefaultModelConditionState
  Model = KOtd_SKN
  End

Так, собственно, всё в этих блоках иника, теперь пора пролистывать вплоть до ; ***DESIGN parameters ***
И весь блок заменяем на это:
Код
; ***DESIGN parameters ***
  Side = Men
  EditorSorting = UNIT
  ThreatLevel = ARAGORN_THREAT_LEVEL
  ThingClass = CHARACTER_UNIT
  TransportSlotCount = TRANSPORTSLOTCOUNT_HERO

  ;//DisplayMeleeDamage = ARAGORN_DAMAGE
   
  HeroSortOrder = 20

  BuildCost = KOD_BUILDCOST  
  BuildTime = KOD_BUILDTIME
  MaxSimultaneousOfType = 1
  ShockwaveResistance = SHOCKWAVE_RESISTANCE_STRONG  
  WeaponSet
  Conditions = None  
  Weapon = PRIMARY GondorKodSword
  End
  ;WeaponSet
  ; Conditions = WEAPONSET_HERO_MODE
  ; Weapon = PRIMARY GondorAragornHeroSword
  ;End
  ;WeaponSet
  ; Conditions = PASSENGER_TYPE_ONE  
  ; Weapon = SECONDARY GondorAragornDwarfToss
  ;End

  ArmorSet
  Conditions = None
  Armor = KodArmor ; ; HeroArmor
  DamageFX = NormalDamageFX
  End
   
  VisionRange = VISION_HERO_STANDARD  
  ShroudClearingRange = SHROUD_CLEAR_HERO
  MaxVisionBonusPercent = 300%
  VisionBonusTestRadius = 200
  VisionBonusPercentPerFoot = 1.0%

  BountyValue = KOD_BOUNTY_VALUE
  DisplayName = OBJECT:GondorKod
  RecruitText = CONTROLBAR:GondorKodRecruit
  ReviveText = CONTROLBAR:GondorKodRevive
  Hotkey = CONTROLBAR:GondorKodHotkey
  CrushableLevel = 2 ;What am I?: 0 = for infantry, 1 = for trees, 2 = general vehicles
; CrusherLevel = 1
   

  CommandSet = GondorKodCommandSet  
  CommandPoints = 100


Так, пора бы уже сказать про описания, а именно про:
DescriptionStrategic = CONTROLBAR:LW_ToolTip_Aragorn
DisplayName = OBJECT:GondorKod
RecruitText = CONTROLBAR:GondorKodRecruit
ReviveText = CONTROLBAR:GondorKodRevive
Hotkey = CONTROLBAR:GondorKodHotkey

Я не буду писать здесь, как их заменить, посмотрит лучше сюда (опять тутор от нашего магистра).

А мы идём "глубже":
; *** AUTO RESOLVE DATA *** - пропускаем, не будем углубляться в режим "Войны за Кольцо"
; *** AUDIO Parameters ***; - вот это уже надо заменять вполть до ; *** ENGINEERING Parameters ***
, иначе герой будет болать "по-агрономовски":
Код
; *** AUDIO Parameters ***;
   
  VoiceAttack = OathbreakerVoxSelect
; VoiceCreated = OathbreakerVoxSelect
; VoiceFullyCreated = OathbreakerVoxSelect
  VoiceMove = OathbreakerVoxSelect
  VoicePriority = 15
  VoiceSelect = OathbreakerVoxSelect

  SoundImpact = ImpactHorse
   
  UnitSpecificSounds
  VoiceGarrison = OathbreakerVoxSelect
  VoiceEnterUnitElvenTransportShip = OathbreakerVoxSelect
  VoiceEnterUnitEvilMenTransportShip = OathbreakerVoxSelect
  VoiceEnterUnitMordorMumakil = OathbreakerVoxSelect
  VoiceEnterUnitSlaughterHouse = OathbreakerVoxSelect
  VoiceInitiateCaptureBuilding = OathbreakerVoxSelect
  End

  //#include "..\includes\StandardUnitEvaEvents.inc"

  ; Warn the player when the enemy gets a unit. Override the normal sighting event from StandardUnitEvaEvents.inc
  EvaEnemyObjectSightedEvent = DiscoveredEnemyOathbreaker ;GenericEnemyUnitSighted ; Normal response to enemy units

  ClientUpdate = EvaAnnounceClientCreate ModuleTag_CreateAnnounce
  AnnouncementEventEnemy = DiscoveredEnemyOathbreaker
  AnnouncementEventAlly = None
  AnnouncementEventOwner = None
   
  OnlyIfVisible = Yes ; Don't announce if hidden in the shroud
  CountAsFirstSightedAnnoucement = Yes ; Don't re-annouce if going into shroud & back
  UseObjectsPosition = No ; Play from central Fortress, not at unit's position
  CreateFakeRadarEvent = Yes ; Allow player to jump to unit after hearing annoucement
  End

Озвучку взял от обычных мертвецов, дабы, хоть что-то было.

Ниже заменяем вот что на это аналогичный блок:
Код
Body = RespawnBody ModuleTag_RespawnBody
  CheerRadius = EMOTION_CHEER_RADIUS
  MaxHealth = KOD_HEALTH ;BALANCE Aragorn Health
  PermanentlyKilledByFilter = NONE ;Who kills me permanently?
  DodgePercent = HERO_DODGE_PERCENT  
  End


И теперь блок воскрешения тоже заменить на:
Код
Behavior = RespawnUpdate ModuleTag_RespawnUpdate
  DeathAnim = DYING ;Model condition to play when killed-to-respawn
  DeathFX = FX_AragornDieToRespawn ;FXList to play when killed-to-respawn
  DeathAnimationTime = 3933 ;How long DeathAnim will take.
  InitialSpawnFX = FX_AragornInitialSpawn ;FXList to play when respawning.
  RespawnAnim = LEVELED ;Animation to play when respawning.
  RespawnFX = FX_ResurrectionAragorn ;FXList to play when respawning.
  RespawnAnimationTime = 2000 ;Time it takes for respawn to play.
  AutoRespawnAtObjectFilter = NONE +CASTLE_KEEP ;Respawn at this location -- and at it's exit production point if possible.
  ButtonImage = KOtd_Icon
   
  ;RespawnEntries determine the ruleset for how a character can be revived. Some units may automatically respawn, others
  ;may require a specific revive action performed on him. You can specify different values for each level... or use Level:Any
  RespawnRules = AutoSpawn:No Cost:5500 Time:600000 Health:100% ;DEFAULT VALUES
  RespawnEntry = Level:2 Cost:5500 Time:600000 ; ;50% cost, 1x buildtime ;For other levels, only override what is different.
  RespawnEntry = Level:3 Cost:5500 Time:600000
  RespawnEntry = Level:4 Cost:5500 Time:600000
  RespawnEntry = Level:5 Cost:5950 Time:1200000 ; ;65% cost, 2x buildtime
  RespawnEntry = Level:6 Cost:5950 Time:1200000
  RespawnEntry = Level:7 Cost:5950 Time:1200000
  RespawnEntry = Level:8 Cost:6400 Time:1800000 ; ;80% cost, 3x buildtime
  RespawnEntry = Level:9 Cost:6400 Time:1800000  
  RespawnEntry = Level:10 Cost:6400 Time:1800000  
  End


Теек-с, ниже идут ненужные костюмы и апгрейды, которые просто удаляем:
Behavior = SubObjectsUpgrade Anduril_Upgrade
TriggeredBy = Upgrade_Anduril
ShowSubObjects = PLANE02
End

; Behavior = SubObjectsUpgrade Costume_01
; TriggeredBy = Upgrade_AragornCostume_01
; UpgradeTexture = guaragorn_2trs.tga 0 guaragorn_rotk.tga
; RecolorHouse = Yes
; End
; Behavior = SubObjectsUpgrade Costume_01a
; TriggeredBy = Upgrade_AragornCostume_01
; UpgradeTexture = guaragfel.tga 0 guaragorn_rotk.tga
; RecolorHouse = Yes
; End
;
; Behavior = SubObjectsUpgrade Costume_02
; TriggeredBy = Upgrade_AragornCostume_02
; UpgradeTexture = guaragorn_rotk.tga 0 guaragfel.tga
; RecolorHouse = Yes
; End
; Behavior = SubObjectsUpgrade Costume_02a
; TriggeredBy = Upgrade_AragornCostume_02
; UpgradeTexture = guaragorn_2trs.tga 0 guaragfel.tga
; RecolorHouse = Yes
; End
;
; Behavior = SubObjectsUpgrade Costume_03
; TriggeredBy = Upgrade_AragornCostume_03
; UpgradeTexture = guaragfel.tga 0 guaragorn_2trs.tga
; RecolorHouse = Yes
; End
; Behavior = SubObjectsUpgrade Costume_03a
; TriggeredBy = Upgrade_AragornCostume_03
; UpgradeTexture = guaragorn_rotk.tga 0 guaragorn_2trs.tga
; RecolorHouse = Yes
; End

Ну, давайте что-ли отредактируем скорость героя (заменим аналогичный блок на):
Код
LocomotorSet
  Locomotor = HeroHumanLocomotor
  Condition = SET_NORMAL  
  Speed = UNNORMAL_GOOD_HERO_SPEED
  End


А вот далее пошли различные бехи абилок, которые можно пока оставить, ибо сия статья не посвящён способностям, благо таких уже достаточно много в нашем разделе туторов.

Ну, напоследок, осталось вырезать "рёбёнка", удаляем:
;;; ----------------------------------------- ;;;
;;; MP version of Aragorn with Costume Change ;;;
;;; ----------------------------------------- ;;;
ChildObject GondorAragornMP GondorAragorn
End


Поздравляю, вы сделали иник будущему герою! Но рано ещё радоваться, ведь впереди ещё несколько важных адресов, но для начала пора бы этот иник запихнуть в ини.биг, а делается сие так:
1. Сохраняем блокнот-файл с изменениями хотя бы на рабочем столе.
2. Заходим в ini.big.
3. На панели нажимаем: Edit > Add File > Выбираете файл > сохраняете под имененм, например: data\ini\object\goodfaction\units\men\kingofdead.ini > OK

Ну, и настало время работы в ини.биге, а именно, шатания по адресам.
Начнём с портрета и иконки. Иконка (data\ini\mappedimages\aptimages\heroselecticons.ini):
В этот адрес добавим вниз следующее:
Код
MappedImage KOtd_Icon
  Texture = KOtd_Icon.tga
  TextureWidth = 64
  TextureHeight = 64
  Coords = Left:0 Top:0 Right:63 Bottom:63
  Status = NONE
End

Заметьте, что несмотря на то, что текстура в .dds, в коде пишем .tga
Портрет: (data\ini\mappedimages\aptimages\heroui.ini):
Вниз вставляем:
Код
MappedImage KOtd_Portrait
  Texture = KOtd_Portrait.tga
  TextureWidth = 256
  TextureHeight = 256
  Coords = Left:0 Top:0 Right:192 Bottom:192
  Status = NONE
End


С графикой покончили, переходим к характеристикам персонажа, и, следуя по инику пора идти в data\ini\gamedata.ini, где лежат разные цифровые параметры. Где-то рядом с Арагорном (в поиск вбиваем ARAGORN_BU) создаём новый блок:
Код
;-----------------------King of Dead------------------
#define KOD_BUILDCOST 7000
#define KOD_BUILDTIME 60
#define KOD_HEALTH 6000
#define KOD_BOUNTY_VALUE 1000
#define UNNORMAL_GOOD_HERO_SPEED 95

#define KOD_DAMAGE
550
Параметры готовы, приступим к оружию (data\ini\weapon.ini). В поиск вбиваем: GondorAragornSword, а выше вставляем это:
Код
;------------------------------------------------------------------------------
Weapon GondorKodSword
  LeechRangeWeapon = Yes
  AttackRange = STANDARD_MELEE_ATTACK_RANGE
  MeleeWeapon = Yes

  DelayBetweenShots = ARAGORN_DELAYBETWEENSHOTS ; time between shots, msec
  PreAttackDelay = ARAGORN_PREATTACKDELAY ; 400 is sword swing delay time before contact with target.
  PreAttackType = PER_SHOT ; Do the delay each time we attack a new target
  FireFX = FX_GondorSwordHit
  ;FireFX = FX_IsildurSword
  FiringDuration = ARAGORN_FIRINGDURATION ; Duration of the sword swing
  RadiusDamageAffects = ENEMIES NEUTRALS ; ;

  DamageNugget ; A basic Nugget that just does damage
  Damage = KOD_DAMAGE
  DamageScalar = 50000% NONE +RohanOathbreaker
  Radius = 2.0 ; ;
  Radius = 0.0
  DelayTime = 0
  DamageType = HERO
  DamageFXType = SWORD_SLASH
  DeathType = NORMAL
  End
  ; ;
  DamageNugget ; A basic Nugget that just does damage
  Damage = KOD_DAMAGE
  DamageScalar = 50000% NONE +RohanOathbreaker
  Radius = 10.0 ; ;
  Radius = 0.0
  DelayTime = 0
  DamageType = HERO
  DamageFXType = SWORD_SLASH
  DeathType = NORMAL
  End


Ну, с оружием покончили, переходим к броне (data\ini\armor.ini), куда добавим данный блок хоть куда:
Код
;------------------------------------------------------------------------------
Armor KodArmor
  Armor = DEFAULT 5%  
  Armor = MAGIC 1000%
  Armor = HERO 50%
End


Так, броня, оружие есть, параметры тоже, иконки запилили... Теперь создать нужно сет (data\ini\commandset.ini). В конец файла добавляем:
[/code]CommandSet GondorKodCommandSet
1 = Command_ToggleStance
12 = Command_CaptureBuilding
13 = Command_AttackMove
14 = Command_Stop
End[/code]

И вроде это всё...ан-нет, не всё, ведь герой должен качаться, и для этого нужен data\ini\experiencelevels.ini, где за арагорновским блоком поставим блок короля мёртвых:
Код
;---------------------- KOD -------------------------------------

ExperienceLevel DeadKingLevelMP1
  TargetNames = GondorDeadKing
  RequiredExperience = 1
  ExperienceAward = ARAGORN_LVL1_EXP_AWARD  
  Rank = 1
  SelectionDecal
  Texture = decal_hero_good
  Style = SHADOW_ALPHA_DECAL
  OpacityMin = 50%
  OpacityMax = 100%
  MinRadius = 40
  MaxRadius = 200
  MaxSelectedUnits = 40
  End  
End  

ExperienceLevel DeadKingLevelMP2
  TargetNames = GondorDeadKing
  RequiredExperience = ARAGORN_LVL2_EXP_NEEDED
  ExperienceAward = ARAGORN_LVL2_EXP_AWARD  
  LevelUpFx = FX:GandalfLevelUp1FX
  ;LevelUpOCL = OCL_GandalfLevelUp1OCL
  Rank = 2
  AttributeModifiers = HeroLevelUpDamage1
  SelectionDecal
  Texture = decal_hero_good
  Style = SHADOW_ALPHA_DECAL
  OpacityMin = 50%  
  OpacityMax = 100%
  MinRadius = 40
  MaxRadius = 200
  MaxSelectedUnits = 40
  End  
End  

ExperienceLevel DeadKingLevelMP3
  TargetNames = GondorDeadKing
  RequiredExperience = ARAGORN_LVL3_EXP_NEEDED
  ExperienceAward = ARAGORN_LVL3_EXP_AWARD  
  LevelUpFx = FX:GandalfLevelUp1FX
  ;LevelUpOCL = OCL_GandalfLevelUp1OCL
  Rank = 3
  AttributeModifiers = HeroLevelUpDamage2
  SelectionDecal
  Texture = decal_hero_good
  Style = SHADOW_ALPHA_DECAL
  OpacityMin = 50%  
  OpacityMax = 100%
  MinRadius = 40
  MaxRadius = 200
  MaxSelectedUnits = 40
  End  
End  

ExperienceLevel DeadKingLevelMP4
  TargetNames = GondorDeadKing
  RequiredExperience = ARAGORN_LVL4_EXP_NEEDED
  ExperienceAward = ARAGORN_LVL4_EXP_AWARD  
  LevelUpFx = FX:GandalfLevelUp1FX
  ;LevelUpOCL = OCL_GandalfLevelUp1OCL
  Rank = 4
  AttributeModifiers = HeroLevelUpDamage3
  SelectionDecal
  Texture = decal_hero_good
  Style = SHADOW_ALPHA_DECAL
  OpacityMin = 50%  
  OpacityMax = 100%
  MinRadius = 40
  MaxRadius = 200
  MaxSelectedUnits = 40
  End  
End  

ExperienceLevel DeadKingLevelMP5
  TargetNames = GondorDeadKing
  RequiredExperience = ARAGORN_LVL5_EXP_NEEDED
  ExperienceAward = ARAGORN_LVL5_EXP_AWARD  
  LevelUpFx = FX:GandalfLevelUp1FX
  ;LevelUpOCL = OCL_GandalfLevelUp1OCL
  Rank = 5
  AttributeModifiers = HeroLevelUpDamage4
  SelectionDecal
  Texture = decal_hero_good
  Style = SHADOW_ALPHA_DECAL
  OpacityMin = 50%  
  OpacityMax = 100%
  MinRadius = 40
  MaxRadius = 200
  MaxSelectedUnits = 40
  End  
End

ExperienceLevel DeadKingLevelMP6
  TargetNames = GondorDeadKing
  RequiredExperience = ARAGORN_LVL6_EXP_NEEDED
  ExperienceAward = ARAGORN_LVL6_EXP_AWARD  
  LevelUpFx = FX:GandalfLevelUp1FX
  ;LevelUpOCL = OCL_GandalfLevelUp1OCL
  Rank = 6
  AttributeModifiers = HeroLevelUpDamage5
  SelectionDecal
  Texture = decal_hero_good
  Style = SHADOW_ALPHA_DECAL
  OpacityMin = 50%
  OpacityMax = 100%
  MinRadius = 40
  MaxRadius = 200
  MaxSelectedUnits = 40
  End  
End  

ExperienceLevel DeadKingLevelMP7
  TargetNames = GondorDeadKing
  RequiredExperience = ARAGORN_LVL7_EXP_NEEDED
  ExperienceAward = ARAGORN_LVL7_EXP_AWARD  
  LevelUpFx = FX:GandalfLevelUp1FX
  ;LevelUpOCL = OCL_GandalfLevelUp1OCL
  Rank = 7
  AttributeModifiers = HeroLevelUpDamage6
  SelectionDecal
  Texture = decal_hero_good
  Style = SHADOW_ALPHA_DECAL
  OpacityMin = 50%  
  OpacityMax = 100%
  MinRadius = 40
  MaxRadius = 200
  MaxSelectedUnits = 40
  End  
End  

ExperienceLevel DeadKingLevelMP8
  TargetNames = GondorDeadKing
  RequiredExperience = ARAGORN_LVL8_EXP_NEEDED
  ExperienceAward = ARAGORN_LVL8_EXP_AWARD  
  LevelUpFx = FX:GandalfLevelUp1FX
  ;LevelUpOCL = OCL_GandalfLevelUp1OCL
  Rank = 8
  AttributeModifiers = HeroLevelUpDamage7
  SelectionDecal
  Texture = decal_hero_good
  Style = SHADOW_ALPHA_DECAL
  OpacityMin = 50%  
  OpacityMax = 100%
  MinRadius = 40
  MaxRadius = 200
  MaxSelectedUnits = 40
  End  
End  

ExperienceLevel DeadKingLevelMP9
  TargetNames = GondorDeadKing
  RequiredExperience = ARAGORN_LVL9_EXP_NEEDED
  ExperienceAward = ARAGORN_LVL9_EXP_AWARD  
  LevelUpFx = FX:GandalfLevelUp1FX
  ;LevelUpOCL = OCL_GandalfLevelUp1OCL

  Rank = 9
  AttributeModifiers = HeroLevelUpDamage8
  SelectionDecal
  Texture = decal_hero_good
  Style = SHADOW_ALPHA_DECAL
  OpacityMin = 50%  
  OpacityMax = 100%
  MinRadius = 40
  MaxRadius = 200
  MaxSelectedUnits = 40
  End  
End  

ExperienceLevel DeadKingLevelMP10
  TargetNames = GondorDeadKing
  RequiredExperience = ARAGORN_LVL10_EXP_NEEDED
  ExperienceAward = ARAGORN_LVL10_EXP_AWARD
  LevelUpFx = FX:GandalfLevelUp1FX
  ;LevelUpOCL = OCL_GandalfLevelUp1OCL
  Rank = 10
  AttributeModifiers = HeroLevelUpDamage9
  SelectionDecal
  Texture = decal_hero_good
  Style = SHADOW_ALPHA_DECAL
  OpacityMin = 50%  
  OpacityMax = 100%
  MinRadius = 40
  MaxRadius = 200
  MaxSelectedUnits = 40
  End  
End


Теперь всё, герой готов, осталось лищь его добавить Людям - data\ini\playertemplate.ini, ищем строку:
BuildableHeroesMP = CreateAHero GondorBoromir...
И вставляем нашего персонажа, получая это:
Код
BuildableHeroesMP = CreateAHero GondorBoromir RohanTheoden RohanEowyn GondorFaramir RohanEomer GondorAragornMP GondorGandalf GondorDeadKing


Но тут я вспомнил одну досадную вещь, про которую забыл: в сражении вы сможете нанимать и пользоваться королём, а бот-то нет! Несправедливо, не так ли? Давайте это исправим, зайдя в data\ini\default\skirmishaidata.ini. В строку HeroBuildOrder = ElvenGaladriel_RingHero RohanFrodo RohanEowyn RohanEomer GondorBoromir...
Добавим опять короля:
Код
HeroBuildOrder = ElvenGaladriel_RingHero RohanFrodo RohanEowyn RohanEomer GondorBoromir RohanTheoden GondorFaramir GondorAragornMP GondorGandalf GondorDeadKing


Конец.=)

В итоге получили мощного героя с своим оружием, бронёй, прочими параметрами и который может прокачиваться.
Примечания:

1. Как я и писал, в туторе только само добавление героя, в подробности я не вдавался (абилки, ассет, текст игры и проч.)
2. Если у вас розовые текстуры портрета и иконки и/или невидимая модель, но вы неправильно зааассетили их.
3. Могут быть несоответствия между патчами и версиями. Делал на бфме 2, 1.06.
4. Семь раз проверь - один раз отрежь! (Уже знаете о чём я).
5. При любых замечаниях, пишите в комментарии, причём излагайте конкретную проблему, а не типа: "У мене не получилось, хнык.(" И если увидите ошибки, хоть незначительные, тоже сообщайте.


У меня всё работает (скрин в придачу), героем вполне можно играть, а если доделать немного, то будет полноценный король мёртвых.

Tutorial by Akrahil. Копировать запрещено!

Скрин



Категория: Коддинг | Добавил: Akrahil (04.08.2013)
Просмотров: 3863 | Комментарии: 3 | Теги: Король мертвых, добавление героя | Рейтинг: 4.5/8
Всего комментариев: 3
avatar
3 Oversun • 12:45, 21.01.2015
Т.е. игра запускается, ошибок нет, но и короля покойников тоже?
1) Проверь, правильно ли ты подключил мод (например в плейертемплайте задай кучу денег и смотри изменения в игре).
2) Убедись что в плейертемплее ты дал Покойника тем людям, т.к. есть фракция для туториала, герои стоят те же что и у людей. Мог случайно перепутать.
3) Убедись что правильно написал имя короля мертвых (у меня была такая проблема, видимо в туторе оно неправильно написано), лучше скопируй из иника трупа.
4) Убедись что хватает слотов для героев (убери Гендальфа).

Урок повторил, автору спасибо! Есть пара минусов:
1) Используются нестандартные значения, которых нет в игре, из за чего она не запускалась и ругалась. (В инике и виапоне)
2) Герой не получает уровни, видимо беда в екпиренслевел, пока не нашел как исправить.
Еще раз Спасибо!  drinks

PS: Решил проблему с прокачкой, добавив имя короля мертвых в прокачку Арагорна (да в общем не решил, схалтурил).
avatar
2 klushtane • 02:15, 04.08.2014
а в битве за средиземье 1 работает??
avatar
0
1 550233159 • 18:54, 06.01.2014
у меня все работает только героя нету в крепости в playertemplate добавил имя героя
avatar