Modderecke > Coding
Tar-Palantirs Coding-Fragen Thread
Tar-Palantir:
Hey Leute, ich habe ein kleines Problem. Ich möchte, dass Elendil ab Level 7 sein CommandSet wechselt und dabei gleichzeitig noch etwas anderes freigeschaltet wird. Ich habe also ein Upgrade erstellt. Leider funktioniert es nicht, wie es sollte. Der Button ist zwar da und ich kann draufklicken, aber nichts passiert. Ich habe alles schon drei oder vier mal kontrolliert und mit dem Aranarth-System verglichen, aber ich finde den Fehler nicht. Hier sind die relevanten Codes:
Das ist der relevante Teil in der elendil.ini:
--- Code: --- Behavior = CommandSetUpgrade ModuleTag_CommandSetElendilFluchtausNumenor
TriggeredBy = Upgrade_ElendilFluchtausNumenor ;Upgrade_Level_7 ;SpecialAbilityFakeLeadership3
CommandSet = GondorElendilCommandSet_DZZNachFlucht
End
--- Ende Code ---
Der Teil aus der commandbutton.inc:
--- Code: ---CommandButton Command_PurchaseElendilFluchtausNumenor
Command = OBJECT_UPGRADE ;PLAYER_UPGRADE ;SPECIAL_POWER OK_FOR_MULTI_SELECT
Options = NEED_UPGRADE CANCELABLE ; SpecialPower = SpecialAbilityFakeLeadership3
Upgrade = Upgrade_ElendilFluchtausNumenor ;Upgrade_FreundschaftmitLindon
TextLabel = CONTROLBAR:ElendilFluchtausNumenor
ButtonImage = BCShipwright_GoodGondorship
ButtonBorderType = UPGRADE
DescriptLabel = CONTROLBAR:ToolTipElendilFluchtausNumenor
Radial = No
InPalantir = Yes
NeededUpgrade = Upgrade_Level_7
End
--- Ende Code ---
Der Teil aus der upgrade.inc:
--- Code: ---Upgrade Upgrade_ElendilFluchtausNumenor
Type = OBJECT ;PLAYER
DisplayName = CONTROLBAR:ElendilFluchtausNumenor
Tooltip = TOOLTIP:ElendilFluchtausNumenor
End
--- Ende Code ---
Und der Teil, der eine wohl eher untergeordnete Rolle spielt, commandset.inc:
--- Code: ---CommandSet GondorElendilCommandSet_DZZ
1 = Command_ToggleStance
2 = Command_ElendilLeadership
3 = Command_SpecialAbilityElendilAthelas
4 = Command_SpecialAbilityElfCloakElendiliElendil ;Command_SpecialAbilitySchätzedesKönigreichs
5 = Command_PurchaseElendilFluchtausNumenor ;Command_SpecialAbilityElendilKingsFavor
6 = Command_ElendilNumenoren
12 = Command_CaptureBuilding
13 = Command_AttackMove
14 = Command_Stop
16 = Command_SetStanceBattle
17 = Command_SetStanceAggressive
18 = Command_SetStanceHoldGround
End
CommandSet GondorElendilCommandSet_DZZNachFlucht
1 = Command_ToggleStance
2 = Command_ElendilLeadership
3 = Command_SpecialAbilityElendilAthelas
4 = Command_SpecialAbilitySchätzedesKönigreichs
5 = Command_SpecialAbilityElendilKingsFavor
6 = Command_ElendilNumenoren
12 = Command_CaptureBuilding
13 = Command_AttackMove
14 = Command_Stop
16 = Command_SetStanceBattle
17 = Command_SetStanceAggressive
18 = Command_SetStanceHoldGround
End
--- Ende Code ---
Ealendril der Dunkle:
Damit eine Einheit ein Upgrade erwerben kann, benötigt diese einen ProductionBehaviour-Eintrag:
--- Code: --- Behavior = ProductionUpdate ModuleTag_06
GiveNoXP = Yes
End
--- Ende Code ---
Einfach irgendwo in die ini einfügen.
Desweiteren würde ich zur Sicherheit einen Buildtime und Buildcost-Eintrag mit = 0 in das Upgrade einfügen (einfach zur Sicherheit).
Tar-Palantir:
Danke, hat endlich geklappt. Ich musste das noch in ModuleTag_07 umbenennen, weil 06 schon belegt war, aber seit dem klappt die Fähigkeit. Das mit den BuildCost und BuildTime habe ich in der Zwischenzeit auch schon dank FG15 eingestellt.
Hey, ich habe erneut eine Frage. Ich habe ein Player_Upgrade und möchte, dass abhängig davon die produzierten Arnor-Soldaten einen anderen (Schild-)Skin erhalten.
Ich habe probiert, das schwere Rüstungs-Upgrade bzw. das dazugehörige Behavior in der ini der Einheit zu kopieren und das Player_Upgrade als Voraussetzung eingestellt.
Das sah dann so aus:
--- Code: --- Behavior = SubObjectsUpgrade Königspartei
TriggeredBy = Upgrade_MännerdesKönigs
;UpgradeTexture = gunumnrean.tga 0 guarnorsoldat_HA.tga
;UpgradeTexture = guarnorsoldat.tga 0 guarnorsoldat_HA.tga
UpgradeTexture = gunumshield.tga ;0 guarnorschild.tga
RecolorHouse = Yes
;ExcludeSubobjects = Forged_Blade
End
--- Ende Code ---
Wenn ich das gunumshield.tga ;0 guarnorschild.tga oben als Standartwert einstelle, wird der andere Schild angezeigt, aber dieses obige Behavior, was zu einem Wechsel führen soll, führt immer nur zu einem Gamecrash.
Wie muss ich das Behavior wählen oder was muss ich sonst anders machen, damit durch das Player_Upgrade Upgrade_MännerdesKönigs alle zukünftig gebauten Soldaten einen anderen Schildskin verwenden? Oder muss ich dafür ein SubObject erstellen?Hat sich erledigt, ich hatte das Ganze unter Draw gepackt.
Tar-Palantir:
Hey, ich brauche mal wieder eure Hilfe.
Ich habe eine Fähigkeit gecodet, durch die ein Held den ArnorBarracks ein Object_Upgrade gibt und durch das diese dann das CommandSet ändert. Diese hat wunderbar funktioniert, ich habe als Grundlage Bolgs Horden-Sammeln-Fähigkeit genommen.
Nun habe ich ein neues Object erstellt, indem ich einfach die ini der ArnorBarracks in eine neue ini kopiert habe, und dort den Object-Namen geändert habe. Bis auf ein oder zwei unwichtige Kleinigkeiten habe ich die ini aber genau so belassen, wie sie bei den ArnorBarracks war. Auch den für das Upgrade notwendigen Teil.
Ich habe dieses Object dann in der Weapon.ini bei der "Auflevelfähigkeit" als einziges Zielobjekt dieser Fähigkeit eingetragen. Doch wenn ich jetzt die Fähigkeit anwenden will und mit der Maus über die neue Kaserne wandere, erscheint nur dieser rote Cursor, der signalisiert, dass man die Fähigkeit dort nicht wirken kann.
Muss ich das neue Object noch irgendwo definieren, damit ich es in der weapon.ini als Ziel angeben kann?
Vielen Dank im Voraus
EDIT1: Hat sich schon wieder erledigt. Ich sollte häufiger hier fragen. Entweder kommt mir beim Schreiben die Lösung in den Sinn, jemand schreibt mir die Lösung auf Skype oder hier antwortet jemand. In diesem Fall ist der zweite Fall eingetreten.
Ich habe zunächst in der Specialpower.ini die ArnorBarracks definiert, das danach aber irgendwie vergessen, weil ich nur noch wusste, dass ich das Ziel auch in der weapon.ini definiert hatte. Darüber habe ich die Specialpower.ini völlig vergessen.
Edit2: Danke dir trotzdem Ea!
Ealendril der Dunkle:
Du musst natürlich auch in der Specialpower dieser Fähigkeit den Objectfilter anpassen.
Navigation
[0] Themen-Index
[#] Nächste Seite
Zur normalen Ansicht wechseln