Hallo zusammen,
ich stehe wieder einmal vor einem schweren Problem beim Coding der Upgrades, und wir wissen alle schon nicht mehr weiter, weil es so unlogisch ist. Ich hoffe, dass ihr mir helfen könnt.
Wie es sein soll:Mordor. Ork-Grube. Ohne Voraussetzung lässt sich das Upgrade "Schnellrekrutierung" erforschen. Auf Stufe 2 kann man "Große Horden" erforschen. Auf Stufe 3 kann man "Große Armeen" erforschen, falls sowohl Schnellrekrutierung als auch Große Horden zuvor schon erforscht wurden. In der Zitadelle kann man "Zeit der Orks" erforschen, nachdem Große Armeen erforscht wurde - das beinhaltet die Anforderung einer Stufe 3 Orkgrube, von Schnellrekrutierung und auch von Große Horden.
Wie es wirklich ist / Das Problem:Schnellrekrutierung und Große Horden lassen sich wie gewünscht erforschen, Große Armeen ist aber das Problem: Setzt man StructureLevel3 als ein Trigger zusammen mit einem der anderen beiden (im CommandSetUpgrade Behavior der OrcPit), und dann das übrige als NeededUpgrade des CommandButtons, tritt das CommandSetUpgrade einfach nicht in Kraft und Große Armeen erscheint nie im CommandSet der OrcPit. Setzt man StructureLevel3 als NeededUpgrade des commandbuttons und dafür die anderen beiden als CSupgrade Trigger, dann SIEHT MAN SOGAR den neuen Button sobald beide Voraussetzungen erforscht sind, man kann ihn nur nicht anwählen, weil ja noch StructureLevel3 fehlt. Aber sobald die Ork-Grube auf Stufe 3 aufsteigt, VERSCHWINDET der Button einfach wieder. Das CommandSet scheint sich warum auch immer von selbst wieder zurückzusetzen! Soetwas ist mir sonst noch nie passiert, wenn es keine Kreuzwirkungen mit anderen CSupgrades desselben Gebäudes gibt, bleibt ein einmal erhaltenes CSupgrade ungeachtet i-welche LevelUps zuverlässig erhalten. Warum ist es hier anders?
Der Code:CommandButton.ini
CommandButton Command_UpgradeMordorSchnellrekrutierung
Command = PLAYER_UPGRADE
Upgrade = Upgrade_MordorSchnellrekrutierung
Options = CANCELABLE
TextLabel = Controlbar:UpgradeMordorSchnellrekrutierung
ButtonImage = BMOrcPit_Orks
ButtonBorderType = UPGRADE
DescriptLabel = Controlbar:TooltipUpgradeMordorSchnellrekrutierung
Radial = Yes
InPalantir = Yes
End
CommandButton Command_UpgradeMordorGroßeHorden
Command = PLAYER_UPGRADE
Upgrade = Upgrade_MordorGroßeHorden
Options = CANCELABLE NEED_UPGRADE
NeededUpgrade = Upgrade_StructureLevel2
TextLabel = Controlbar:UpgradeMordorGroßeHorden
ButtonImage = BMOrcPit_Horde
ButtonBorderType = UPGRADE
DescriptLabel = Controlbar:TooltipUpgradeMordorGroßeHorden
Radial = Yes
InPalantir = Yes
End
CommandButton Command_UpgradeMordorGroßeArmeen
Command = PLAYER_UPGRADE
Upgrade = Upgrade_Mordor
Options = CANCELABLE NEED_UPGRADE
NeededUpgrade = Upgrade_StructureLevel3
TextLabel = Controlbar:UpgradeMordorGroßeArmeen
ButtonImage = GothmogLeadership
ButtonBorderType = UPGRADE
DescriptLabel = Controlbar:TooltipUpgradeMordorGroßeArmeen
Radial = Yes
InPalantir = Yes
End
CommandSet.ini
CommandSet MordorOrcPitCommandSet
1 = Command_ConstructMordorOrcFighterHorde
2 = Command_ConstructMordorOrcArcherHorde
3 = Command_ConstructMinasMorgulFighterHorde
4 = Command_UpgradeMordorSchnellrekrutierung
5 = Command_UpgradeMordorGroßeHorden
6 = Command_Sell
End
CommandSet MordorOrcPitCommandSet2
1 = Command_ConstructMordorOrcFighterHorde
2 = Command_ConstructMordorOrcArcherHorde
3 = Command_ConstructMinasMorgulFighterHorde
4 = Command_UpgradeMordorSchnellrekrutierung
5 = Command_UpgradeMordorGroßeHorden
6 = Command_UpgradeMordorGroßeArmeen
7 = Command_Sell
End
CommandSet MordorOrcPitCommandSet3
1 = Command_ConstructMordorOrcFighterHorde
2 = Command_ConstructMordorOrcArcherHorde
3 = Command_ConstructMinasMorgulFighterHorde
4 = Command_Sell
End
evilfactionbuildings.ini \ Object MordorOrcPit
; *** ENGINEERING Parameters ***
RadarPriority = STRUCTURE
KindOf = PRELOAD STRUCTURE SELECTABLE IMMOBILE SCORE NEED_BASE_FOUNDATION MP_COUNT_FOR_VICTORY AUTO_RALLYPOINT FS_FACTORY MADE_OF_DIRT FACE_AWAY_FROM_CASTLE_KEEP
Behavior = ProductionUpdate ProductionUpdateModuleTag
NumDoorAnimations = 1
DoorOpeningTime = 0 ;in mSeconds how long you want doors to be in open state
DoorWaitOpenTime = 1000 ;in mSeconds time the door stays open, so units can exit
DoorCloseTime = 0 ;in mSeconds how long you want doors to be in open state
ConstructionCompleteDuration = 250 ;in mSeconds wait time so if you have multiple units they don't run over each other
VeteranUnitsFromVeteranFactory = No ;I am higher than my default level, I will give a free level to those I produce
SetBonusModelConditionOnSpeedBonus = Yes ; set the UPGRADE_ECONOMY_BONUS if there is any production bonus
BonusForType = MordorFighterHorde MordorArcherHorde MinasMorgulFighterHorde
SpeedBonusAudioLoop = CallTheHordeOrcPitLoop; Sound to play while bonus is active
End
Behavior = CommandSetUpgrade ModuleTag_GroßeHorden
CommandSet = MordorOrcPitCommandSet2
TriggeredBy = Upgrade_MordorGroßeHorden Upgrade_MordorSchnellrekrutierung
RequiresAllTriggers = Yes
End
Behavior = CommandSetUpgrade ModuleTag_GroßeArmeen
CommandSet = MordorOrcPitCommandSet3
TriggeredBy = Upgrade_MordorGroßeArmeen
RequiresAllTriggers = Yes
End
Behavior = AttributeModifierAuraUpdate ModuleTag_Schnellrekrutierung
StartsActive = No ;If no, requires upgrade to turn on.
BonusName = MordorSchnellrekrutierung
TriggeredBy = Upgrade_MordorSchnellrekrutierung
RefreshDelay = 2000
AllowSelf = Yes
Range = 2
ObjectFilter = NONE +MordorOrcPit
End
Behavior = AttributeModifierAuraUpdate ModuleTag_ZeitDerOrks
StartsActive = No ;If no, requires upgrade to turn on.
BonusName = MordorZeitDerOrks
TriggeredBy = Upgrade_MordorZeitDerOrks
RefreshDelay = 2000
AllowSelf = Yes
Range = 2
ObjectFilter = NONE +MordorOrcPit
End
Behavior = AttributeModifierAuraUpdate ModuleTag_HerrschaftVonBaradDur
StartsActive = No ;If no, requires upgrade to turn on.
BonusName = MordorHerrschaftVonBaradDur
TriggeredBy = Upgrade_MordorHerrschaftVonBaradDur
RefreshDelay = 2000
AllowSelf = Yes
Range = 2
ObjectFilter = NONE +MordorOrcPit
End
Mehr kann ich auch gar nicht sagen. Falls noch wichtiger Code fehlt, bitte sagen. Ich sehe keine Tippfehler und habe keinen blassen Schimmer, woran das liegen könnte. Bitte helft mir.
Liebe Grüße,
Mario