Modding Union
Modderecke => Coding => Thema gestartet von: atar am 7. Sep 2015, 10:34
-
Guten Morgen,
wenn man im Spiel Verstärkung für die Armee vom selbsterstellten Helden benutzt, dann gibt es ja verschiedene Stufen 1,2,3,4. Woher weiß das System das für Verstärkung der Armee 4 bei den Bösen z.b Orks, Riese und ein Kampftroll gerufen werden.
Diese Zuweisung habe ich nirgends gefunden und weiß nicht wo ich da suchen muss.
Ich habe die einzelnen Truppen Kampftroll Riese etc.. schon gefunden gehabt konnte dort aber lediglich nur die Zeit erhöhen in der sie bleiben oder gar dafür sorgen das sie nicht mehr verschwinden.
Aber Information darüber das diese Einheiten durch Verstärkung der Armee (4) gerufen werden habe ich nicht gefunden.
Ich wollte einfach mal versuchen andere Truppen durch Verstärkung für die Armee herbeirufen zu lassen, weiß aber nicht wo ich da anfangen soll.
Wäre nett wenn mir jemand nur ein Tipp geben könnte danke :)
-
Hey,
ich weiss das Thema ist schon ziemlich alt aber ich denke eine Antwort wäre gut für alle die auch mal auf das Problem stoßen.
In den folgenden Code Schnipseln sind teilweise einige Erläuterungen enthalten.
Wenn ihr sie nicht genau sehen könnt, einfach nach ";// hier z.B." suchen.
Also beim normalen BfMe2 EP1, in der Datei 'ini.big' in "data\ini\objectcreationlist.ini" gibt es einen Abschnitt in dem du dann auch die Einheiten, die gerufen werden ändern kannst:
// Servant of Sauron Summon Allies
ObjectCreationList OCL_CreateAHeroSoSSpawnAllies_Level1
CreateObject
ObjectNames = MordorFighterHorde_Summoned
Count = 1
FadeIn = Yes
FadeTime = 8000
IgnoreCommandPointLimit = Yes
Disposition = ABSOLUTE_ANGLE
DispositionAngle = 315
UseJustBuiltFlag = Yes
StartingBusyTime = 5000
End
End
ObjectCreationList OCL_CreateAHeroSoSSpawnAllies_Level2
CreateObject
ObjectNames = MordorFighterHorde_Summoned
Count = 1
FadeIn = Yes
FadeTime = 8000
IgnoreCommandPointLimit = Yes
Disposition = ABSOLUTE_ANGLE
DispositionAngle = 315
UseJustBuiltFlag = Yes
StartingBusyTime = 5000
End
CreateObject
ObjectNames = MordorCaveTroll_Summoned
Count = 1
FadeIn = Yes
FadeTime = 8000
IgnoreCommandPointLimit = Yes
Disposition = ABSOLUTE_ANGLE
DispositionAngle = 315
UseJustBuiltFlag = Yes
StartingBusyTime = 5000
End
End
ObjectCreationList OCL_CreateAHeroSoSSpawnAllies_Level3
CreateObject
ObjectNames = MordorFighterHorde_Summoned
Count = 1
FadeIn = Yes
FadeTime = 8000
IgnoreCommandPointLimit = Yes
Disposition = ABSOLUTE_ANGLE
DispositionAngle = 315
UseJustBuiltFlag = Yes
StartingBusyTime = 5000
Offset = X:10 Y:10 Z:0
End
CreateObject
ObjectNames = MordorFighterHorde_Summoned
Count = 1
FadeIn = Yes
FadeTime = 8000
IgnoreCommandPointLimit = Yes
Disposition = ABSOLUTE_ANGLE
DispositionAngle = 315
UseJustBuiltFlag = Yes
StartingBusyTime = 5000
Offset = X:-10 Y:-10 Z:0
End
CreateObject
ObjectNames = MordorAttackTroll_Summoned
Count = 1
FadeIn = Yes
FadeTime = 8000
IgnoreCommandPointLimit = Yes
Disposition = ABSOLUTE_ANGLE
DispositionAngle = 315
UseJustBuiltFlag = Yes
StartingBusyTime = 5000
Offset = X:-20 Y:20 Z:0
End
End
ObjectCreationList OCL_CreateAHeroSoSSpawnAllies_Level4
CreateObject
ObjectNames = MordorFighterHorde_Summoned
Count = 1
FadeIn = Yes
FadeTime = 8000
IgnoreCommandPointLimit = Yes
Disposition = ABSOLUTE_ANGLE
DispositionAngle = 315
UseJustBuiltFlag = Yes
StartingBusyTime = 5000
Offset = X:10 Y:10 Z:0
End
CreateObject
ObjectNames = MordorFighterHorde_Summoned
Count = 1
FadeIn = Yes
FadeTime = 8000
IgnoreCommandPointLimit = Yes
Disposition = ABSOLUTE_ANGLE
DispositionAngle = 315
UseJustBuiltFlag = Yes
StartingBusyTime = 5000
Offset = X:-10 Y:10 Z:0
End
CreateObject
ObjectNames = MordorAttackTroll_Summoned ;// hier z.b. wird ein Kampftroll von Mordor herbeigerufen
Count = 1
FadeIn = Yes
FadeTime = 8000
IgnoreCommandPointLimit = Yes
Disposition = ABSOLUTE_ANGLE
DispositionAngle = 315
UseJustBuiltFlag = Yes
StartingBusyTime = 5000
Offset = X:-20 Y:20 Z:0
End
CreateObject
ObjectNames = WildMountainGiant_Summoned ;// hier z.B. wird ein Gebirgsriese herbeigerufen
Count = 1
FadeIn = Yes
FadeTime = 8000
IgnoreCommandPointLimit = Yes
Disposition = ABSOLUTE_ANGLE
DispositionAngle = 315
UseJustBuiltFlag = Yes
StartingBusyTime = 5000
Offset = X:20 Y:20 Z:0
End
End
Der oben gezeigte Code legt fest welche Monster gerufen werden.
Jetzt zu den verweisen für das CreateAHero Objekt.
Immernoch in 'ini.big', diesmal aber in "data\ini\object\createahero\createaheropowers.inc" findet man einen Abschnitt in dem festgelegt wird welche OCL aufgerufen wird wenn die jeweilige Fähigkeit aktiviert wird.
//--------------------------------------------------------------------------
// Hero of the West Summon Allies Level 1
//--------------------------------------------------------------------------
Behavior = UnpauseSpecialPowerUpgrade ModuleTag_CreateAHeroHotWSummonAllies_Level1
SpecialPowerTemplate = SpecialAbilityCreateAHeroHotWSummonAllies_Level1
TriggeredBy = Upgrade_CreateAHeroHotWSummonAllies_Level1
End
Behavior = OCLSpecialPower ModuleTag_OCLSpecialPowerHotWSummonAllies_Level1
SpecialPowerTemplate = SpecialAbilityCreateAHeroHotWSummonAllies_Level1
OCL = OCL_CreateAHeroHotWSpawnAllies_Level1 ;// hier z.b. steht die OCL, die für die guten selbsterstellten Helden auf der ersten Stufe der Fähigkeit "Verbündete rufen" herbeigerufen wird.
TriggerFX = FX_DunedainSummon
CreateLocation = CREATE_AT_LOCATION
StartsPaused = Yes
SetModelCondition = ModelConditionState:USER_1
SetModelConditionTime = 8.1
End
//--------------------------------------------------------------------------
// Hero of the West Summon Allies Level 2
//--------------------------------------------------------------------------
Behavior = UnpauseSpecialPowerUpgrade ModuleTag_CreateAHeroHotWSummonAllies_Level2
SpecialPowerTemplate = SpecialAbilityCreateAHeroHotWSummonAllies_Level2
TriggeredBy = Upgrade_CreateAHeroHotWSummonAllies_Level2
End
Behavior = OCLSpecialPower ModuleTag_OCLSpecialPowerHotWSummonAllies_Level2
SpecialPowerTemplate = SpecialAbilityCreateAHeroHotWSummonAllies_Level2
OCL = OCL_CreateAHeroHotWSpawnAllies_Level2
TriggerFX = FX_DunedainSummon
CreateLocation = CREATE_AT_LOCATION
StartsPaused = Yes
SetModelCondition = ModelConditionState:USER_1
SetModelConditionTime = 8.1
End
//--------------------------------------------------------------------------
// Hero of the West Summon Allies Level 3
//--------------------------------------------------------------------------
Behavior = UnpauseSpecialPowerUpgrade ModuleTag_CreateAHeroHotWSummonAllies_Level3
SpecialPowerTemplate = SpecialAbilityCreateAHeroHotWSummonAllies_Level3
TriggeredBy = Upgrade_CreateAHeroHotWSummonAllies_Level3
End
Behavior = OCLSpecialPower ModuleTag_OCLSpecialPowerHotWSummonAllies_Level3
SpecialPowerTemplate = SpecialAbilityCreateAHeroHotWSummonAllies_Level3
OCL = OCL_CreateAHeroHotWSpawnAllies_Level3
TriggerFX = FX_DunedainSummon
CreateLocation = CREATE_AT_LOCATION
StartsPaused = Yes
SetModelCondition = ModelConditionState:USER_1
SetModelConditionTime = 8.1
End
//--------------------------------------------------------------------------
// Hero of the West Summon Allies Level 4
//--------------------------------------------------------------------------
Behavior = UnpauseSpecialPowerUpgrade ModuleTag_CreateAHeroHotWSummonAllies_Level4
SpecialPowerTemplate = SpecialAbilityCreateAHeroHotWSummonAllies_Level4
TriggeredBy = Upgrade_CreateAHeroHotWSummonAllies_Level4
End
Behavior = OCLSpecialPower ModuleTag_OCLSpecialPowerHotWSummonAllies_Level4
SpecialPowerTemplate = SpecialAbilityCreateAHeroHotWSummonAllies_Level4
OCL = OCL_CreateAHeroHotWSpawnAllies_Level4
TriggerFX = FX_DunedainSummon
CreateLocation = CREATE_AT_LOCATION
StartsPaused = Yes
SetModelCondition = ModelConditionState:USER_1
SetModelConditionTime = 8.1
End
//--------------------------------------------------------------------------
// Servant of Sauron Summon Allies Level 1
//--------------------------------------------------------------------------
Behavior = UnpauseSpecialPowerUpgrade ModuleTag_CreateAHeroSoSSummonAllies_Level1
SpecialPowerTemplate = SpecialAbilityCreateAHeroSoSSummonAllies_Level1
TriggeredBy = Upgrade_CreateAHeroSoSSummonAllies_Level1
End
Behavior = OCLSpecialPower ModuleTag_OCLSpecialPowerSoSSummonAllies_Level1
SpecialPowerTemplate = SpecialAbilityCreateAHeroSoSSummonAllies_Level1
OCL = OCL_CreateAHeroSoSSpawnAllies_Level1
TriggerFX = FX_SummonWildmen
CreateLocation = CREATE_AT_LOCATION
StartsPaused = Yes
SetModelCondition = ModelConditionState:USER_1
SetModelConditionTime = 8.1
End
//--------------------------------------------------------------------------
// Servant of Sauron Summon Allies Level 2
//--------------------------------------------------------------------------
Behavior = UnpauseSpecialPowerUpgrade ModuleTag_CreateAHeroSoSSummonAllies_Level2
SpecialPowerTemplate = SpecialAbilityCreateAHeroSoSSummonAllies_Level2
TriggeredBy = Upgrade_CreateAHeroSoSSummonAllies_Level2
End
Behavior = OCLSpecialPower ModuleTag_OCLSpecialPowerSoSSummonAllies_Level2
SpecialPowerTemplate = SpecialAbilityCreateAHeroSoSSummonAllies_Level2
OCL = OCL_CreateAHeroSoSSpawnAllies_Level2
TriggerFX = FX_SummonWildmen
CreateLocation = CREATE_AT_LOCATION
StartsPaused = Yes
SetModelCondition = ModelConditionState:USER_1
SetModelConditionTime = 8.1
End
//--------------------------------------------------------------------------
// Servant of Sauron Summon Allies Level 3
//--------------------------------------------------------------------------
Behavior = UnpauseSpecialPowerUpgrade ModuleTag_CreateAHeroSoSSummonAllies_Level3
SpecialPowerTemplate = SpecialAbilityCreateAHeroSoSSummonAllies_Level3
TriggeredBy = Upgrade_CreateAHeroSoSSummonAllies_Level3
End
Behavior = OCLSpecialPower ModuleTag_OCLSpecialPowerSoSSummonAllies_Level3
SpecialPowerTemplate = SpecialAbilityCreateAHeroSoSSummonAllies_Level3
OCL = OCL_CreateAHeroSoSSpawnAllies_Level3
TriggerFX = FX_SummonWildmen
CreateLocation = CREATE_AT_LOCATION
StartsPaused = Yes
SetModelCondition = ModelConditionState:USER_1
SetModelConditionTime = 8.1
End
//--------------------------------------------------------------------------
// Servant of Sauron Summon Allies Level 4
//--------------------------------------------------------------------------
Behavior = UnpauseSpecialPowerUpgrade ModuleTag_CreateAHeroSoSSummonAllies_Level4
SpecialPowerTemplate = SpecialAbilityCreateAHeroSoSSummonAllies_Level4
TriggeredBy = Upgrade_CreateAHeroSoSSummonAllies_Level4
End
Behavior = OCLSpecialPower ModuleTag_OCLSpecialPowerSoSSummonAllies_Level4
SpecialPowerTemplate = SpecialAbilityCreateAHeroSoSSummonAllies_Level4
OCL = OCL_CreateAHeroSoSSpawnAllies_Level4
TriggerFX = FX_SummonWildmen
CreateLocation = CREATE_AT_LOCATION
StartsPaused = Yes
SetModelCondition = ModelConditionState:USER_1
SetModelConditionTime = 8.1
End
-
Und obwohl das Thema schon alt ist habe ich bis heute nicht herausgefunden wie das geht. Vielen dank. Ich glaube ich weiß was jetzt zu tun ist. :)
-
Naja, du hast die Codes doch bereits hier aufgeführt. Das hier sind die OCL-Einträge:
OCL_CreateAHeroHotWSpawn Allies_Level1, etc.
Wenn du diese in der Objectcreationlist veränderst, d.h. andere Objecte definierst, dann werden auch andere Truppen gerufen.^^ Die Definitionen der Einheiten hingegen befindet sich immer in der Einheiten.ini.
-
Ja das was ich bekommen habe war eigentlich schon die Antwort statt ein Tipp vielen dank hat alles super geklappt. Ist schon lustig man kann sogar den Balrog oder Gebäuden rufen lassen obwohl das kompletter Schwachsinn ist ^^.
Mal eine andere Frage ich möchte mal etwas sauberer arbeiten. Sprich ich möchte eine eigene Verstärkung für die Armee erschaffen mit eigenem Label und Describtion, sodass ich den alten nicht verunstalten muss.
Auf welche Inis muss ich da achten. Ich hab zwar selbst eine Idee habe aber Hemmung etwas zu vergessen und dann eben das Spiel zerstören
Wenn sowas mal behandelt wurde dann könntet ihr mir den Link dorthin geben vielen dank im Voraus :)
-
Das ist geknüpft an den CommandButton und den Weapon-Eintrag der Fähigkeit. Da hängen ziemlich viele Änderungen dran, weshalb ich dir für den Anfang empfehlen würde erstmal nur das Grundgerüst zu verändern.
Den Commandbutton findest du in der Commandbutton.ini, z.B:
CommandButton Command_CreateAHero_HotW_SummonAllies_Level1
Command = SPECIAL_POWER
SpecialPower = SpecialAbilityCreateAHeroHotWSummonAllies_Level1
TextLabel = CONTROLBAR:HotWSummonAllies_Level1
ButtonImage = CAHSummonAllies
Options = NEED_TARGET_POS CONTEXTMODE_COMMAND
RadiusCursorType = SummonOathBreakersRadiusCursor
CursorName = Bombard
InvalidCursorName = GenericInvalid
ButtonBorderType = ACTION
DescriptLabel = CONTROLBAR:TooltipHotWSummonAllies_Level1
InPalantir = Yes
CreateAHeroUIAllowableUpgrades = Upgrade_CreateAHero_ClassHeroOfTheWest
CreateAHeroUIMinimumLevel = 1
CreateAHeroUIPrerequisiteButtonName = None
CreateAHeroUICostIfSelected = CAH_SUMMONALLIES_LEVEL1_COST
End
-
Ja da hatte ich mich auch schon ausgetobt cursor verändern. Andere Helden die Fähigkeiten geben. die Requiments entfernen, sodass man z.b gleich sofort Überragend auswählen kann die Kosten verändert. Das waren so die ersten Sachen die ich gemacht habe. Aber bei Deskription und Label bin ich noch nicht so dahinter gekommen. Ich meine da steht Textlabel und ich dachte Super ^^ kann ich einfach wie sonst auch in der Form TextLabel = " Verstärkung für die Armee neu" oder Textlabel = 'Verstärkung für die Armee neu' hinschreiben und der nimmt das an
Im game stand aber Missing und nur einige Buchstaben von Verstärkung. Hab ab da gemerkt das dass dann wahrscheinlich doch eher sich auf eine Klasse bezieht.
Die Klassen aber weder von dem einen noch dem anderen habe ich nicht gefunden :S :S :S
-
Die Beschreibung der Fähigkeit ist nicht nur an TextLabel und DescriptionLabel geknüpft, sondern auch an den Name des Buttons. Für diese Fähigkeit ist folgender String der Eintrag in der lotr.str:
CAH:Command_CreateAHero_HotW_SummonAllies_Level1_Name
"Verstärkung"
END
Das setzt sich zusammen durch die Definition CAH:, dem namen des Buttons Command_CreateAHero_HotW_SummonAllies_Level1 und dem Zusatzabschnitt _Name.
Wenn du also z.B. einen Button hast:
Command_CreateAHero_HotW_SummonAllies_MeinEigenerCommandbutton
Dann wäre der String dazu:
CAH:Command_CreateAHero_HotW_SummonAllies_MeinEigenerCommandbutton_Name
"Willkommen in Pupshausen"
END
Nur so als Beispiel.
-
Ahh okay danke Ealendril. reicht das wenn ich sage einfach mal wie du meineigenerCommand button nur in der Commandbutton.ini definiere so wie du es als Beispiel vorgeschlagen hast oder muss er auch in anderen Inis auftauchen.
Und theoretisch brauche ich ja dann auch eine neue OCL wo finde ich denn die definierten OCL Einträge?
-
Hab alles selbst nach langer Zeit hinbekommen danke an alle die mir geholfen hatten :)