Modderecke > Coding

Commandset bearbeiten

(1/4) > >>

Only True Witchking:
Während ich verschiedene Sachen mit der map.ini getestet habe, bin ich auf die Idee gekommen, einfach als Test Gildors Fähigkeiten zu verändern. Also habe ich versucht, Gildors Gesang mit Wort der Macht zu ersetzen. Sowas hatte ich noch nie gemacht, aber ich habe mir folgendes zusammengebaut:


--- Code: ---CommandSet ImladrisGildorCommandSetNeuTest
1 = Command_ToggleStance
2  = Command_SpecialAbilityElfCloakGildor
    3  = Command_SpecialAbilityWordOfPowerEdain    ; SpecialAbilityGildorGesang
    4  = Command_SpecialAbilityGildorGnadenschuss
        7       = Command_ToggleFaramirWeapon
    12 = Command_CaptureBuilding
13 = Command_AttackMove
14 = Command_Stop
16  = Command_SetStanceBattle
17  = Command_SetStanceAggressive
18  = Command_SetStanceHoldGround
End

Object ImladrisGildor
CommandSet = ImladrisGildorCommandSetNeuTest
End
--- Ende Code ---

Im Spiel erscheint die Fähigkeit auch so, wie ich es wollte, (Gildor ist Stufe 10) aber wenn ich den Button anklicke, passiert gar nichts.
Bei Tests mit anderen Helden und anderen Fähigkeiten lief es genauso ab. Also ist mir klar, dass sicherlich irgendwas in meinem Code fehlt, aber ich bin nicht dahinter gekommen, was das sein könnte.
Weiß vielleicht jemand, was ich noch hinzufügen muss?

Gnomi:

--- Zitat ---Weiß vielleicht jemand, was ich noch hinzufügen muss?
--- Ende Zitat ---
Nö, das weiß niemand. :P

Die Lösung ist tatsächlich relativ simpel:

Ein CommandButton ist nichts weiter als ein Knopf, der eine Spellpower auslöst. Welche das ist, siehst du in der CommandButton.ini, dort ist jeder CommandButton genau beschrieben.
Was diese Spellpower für die jeweilige Einheit auslöst, muss in der Einheit direkt angegeben werden. Das sind dann Behaviors, die durch eine Spellpower ausgelöst werden.
Hoffe das erklärt dein Problem ein bisschen.^^

Rekudo93:

--- Zitat ---Weiß vielleicht jemand, was ich noch hinzufügen muss?

--- Zitat ---Nö, das weiß niemand. :P
--- Ende Zitat ---

--- Ende Zitat ---
Doch ich weiß es  ;)

Ich gehe mal davon aus, dass du den "Worte der Macht"-Spell von Gandalf kopiert hast.
Suche in Gildors ini nach folgendem Eintrag:

--- Code: ---        AnimationState                        = SPECIAL_WEAPON_ONE
            Animation
                AnimationName                = EUHaldir_SPCA
                AnimationMode                = ONCE
            End
            FrameForPristineBonePositions    = 60
            BeginScript
                CurDrawableShowSubObject("arrow")
                CurDrawableShowSubObject("arrownock")
            EndScript
        End
--- Ende Code ---

Diesen musst du durch folgenden Code ersetzen:

--- Code: ---        ;;; WORD OF POWER ANIMS ON FOOT ;;;
        AnimationState              =  SPECIAL_WEAPON_ONE
            StateName     = Attacking
            Animation
                AnimationName       = EUHaldir_TNTB
                AnimationMode       = ONCE
            End
            FXEvent                 = Frame:5 Name:FX_GandalfPreAttackBlast
        End

        AnimationState              =  SPECIAL_WEAPON_ONE WEAPONSET_TOGGLE_1
            StateName     = Attacking
            Animation
                AnimationName       = EUHaldir_TNTA
                AnimationMode       = ONCE
            End
            FXEvent                 = Frame:5 Name:FX_GandalfPreAttackBlast
        End

--- Ende Code ---

Jetzt sollte es eine Animation geben, erwarte aber keine Ani, wie Gandalf sie hat
Bei Problemen einfach nochmal melden. Ich habe den Code so wie ich ihn hier beschrieben habe, selbst nicht getestet, aber alle deine Probleme liegen an der fehlenden Animation.

Only True Witchking:
@gnomi
Bei einer Ini einer Custom map, die ich vor längerem heruntergeladen habe, hab ich folgendes gefunden:


--- Code: ---Object HaradSuladan
CommandSet = EvilmenSuladanCommandSetNew
AddModule ModuleTag_BruderschaftEnabler
    Behavior = UnpauseSpecialPowerUpgrade ModuleTag_BruderschaftEnabler
        SpecialPowerTemplate      = SpecialAbilitySalemeSpawnHasharin
        TriggeredBy               = Upgrade_Level_4
    End
End

AddModule ModuleTag_OCLSpecialPowerBruderschaft
    Behavior = OCLSpecialPower ModuleTag_OCLSpecialPowerBruderschaft
        SpecialPowerTemplate      = SpecialAbilitySalemeSpawnHasharin
        OCL                       = OCL_SpawnBruderschaftEggNew
        TriggerFX                 = FX_SalemeSummonUnits
        CreateLocation            = CREATE_AT_LOCATION
        StartsPaused              = Yes
    End
End

--- Ende Code ---

Ist das ungefähr was du meinst?
Und wenn ja, wo kann ich die Informationen finden, die ich brauche?
Denn das was da steht, hab ich weder in specialpower.inc oder specialpower.ini gefunden, und auch nicht in einer Objectcreationlist, zumindest nicht als ein Ganzes.

Gnomi:

--- Zitat von:  Rekudo ---Doch ich weiß es  ;)

--- Ende Zitat ---
Ich dachte es wäre offensichtlich, dass mein Kommentar nur ein Witz war...
Ebenso sind die Animationen nur ein nettes Gimmick, jedoch sind sie nicht das Problem, das oben beschrieben wird.

@ Truewitchking:
Genau das meine ich.
Naja, im allgemeinen ist Coding (vor allem am Anfang) nur ein "Zusammenkopieren von Sachen."
Behaviors sind imer bei Objekten.
Du hast z.B. den Button Command_SpecialAbilityWo rdOfPowerEdain.
Woher stammt der? Natürlich von Gandalf. Also muss Gandalf auch behaviors haben, die genau durch diesen Button ausgelöst werden. Also schaust du Mal bei Gandalf rein und suchst die dort.

in der specialpower wird nur die Specialpower beschrieben
In der objectcreationlist wird nur beschrieben was für Truppen bei bestimmten Fähigkeiten gespawnt werden.
Und wo wird beschrieben, wie ein spezielles Objekt mit einer specialpower umgeht? Richtig. In der Ini von diesem speziellen Objekt.^^

Navigation

[0] Themen-Index

[#] Nächste Seite

Zur normalen Ansicht wechseln