Modderecke > Coding

Modell-Switch per Fähigkeit

(1/2) > >>

Hexenkönig13:
Hallo
Ich hab vor kurzem Khamul für SuM1 erstellt. Er beginnt als Ostling und soll nach Kauf einer Fähigkeit im Spellbook ein Nazgul werden. Wie stelle ich das am besten an? Hab schon einiges probiert, hat aber nichts gebracht. Ich hab den Edain Mod 1 istalliert.
Hoffe auf Hilfe
HK13

Rimli:
Ich kenn's nur in SuM2, aber denke dass sollte in SuM1 auch so laufen.

Also du musst per Fähigkeit ein Upgrade geben (guckste dir einfach z.B. von Gandalf den Weißen Spell ab (zu ändern: sience.ini, specialpower.ini, system.ini, upgrade.ini, commandset.ini und commandbutton.ini). Bei Fragen, kannste dazu ja noch posten

Jetzt zum kniffligen in der Einheiten-ini:
Dieses Upgrade ändert dein ModelConditionState, das hauste zu den anderen Behaviors:

--- Code: ---   Behavior = ModelConditionUpgrade ModuleTag_ChangeModel
        TriggeredBy                = Upgrade_deinUpgrade
        AddConditionFlags        = USER_5
        Permanent                = Yes
    End
--- Ende Code ---

Mit dem ModelConditionState machste das so:
Du machst zwei DrawModule. Das eine für den Ostling, das andere für den Nazgul.


--- Code: --- //Der Typ als Ostling
Draw = W3DHordeModelDraw ModuleTag_Easterling

OkToChangeModelColor = Yes
 
StaticModelLODMode = Yes

; specify options for static LODs
LodOptions = LOW
AllowMultipleModels = ALLOW_MULTIPLE_MODELS_LOW
MaxRandomTextures = MAX_RANDOM_TEXTURES_LOW
MaxRandomAnimations = MAX_RANDOM_ANIMATIONS_LOW
MaxAnimFrameDelta = MAX_ANIM_FRAME_DELTA_LOW
End

LodOptions = MEDIUM
AllowMultipleModels = ALLOW_MULTIPLE_MODELS_MED
MaxRandomTextures = MAX_RANDOM_TEXTURES_MED
MaxRandomAnimations = MAX_RANDOM_ANIMATIONS_MED
MaxAnimFrameDelta = MAX_ANIM_FRAME_DELTA_MED
End

LodOptions = HIGH
AllowMultipleModels = ALLOW_MULTIPLE_MODELS_HIGH
MaxRandomTextures = MAX_RANDOM_TEXTURES_HIGH
MaxRandomAnimations = MAX_RANDOM_ANIMATIONS_HIGH
MaxAnimFrameDelta = MAX_ANIM_FRAME_DELTA_HIGH
End

//Modell als Ostling wird angezeigt
    DefaultModelConditionState
      Model = //Easterling Model eintragen
      Skeleton = //Skeleton hier
    End
//im Nazgul Modus soll dieses Drawmodul nicht stören, deswegen kein Model
ModelConditionState = USER_5
      Model               = None
    End

//hier stehen dann die anis für den Ostling

//-------------------------------------------------------------------------------------------------------------
End

//Der Typ als Nazgul
Draw = W3DHordeModelDraw ModuleTag_Nazgul

OkToChangeModelColor = Yes
 
StaticModelLODMode = Yes

; specify options for static LODs
LodOptions = LOW
AllowMultipleModels = ALLOW_MULTIPLE_MODELS_LOW
MaxRandomTextures = MAX_RANDOM_TEXTURES_LOW
MaxRandomAnimations = MAX_RANDOM_ANIMATIONS_LOW
MaxAnimFrameDelta = MAX_ANIM_FRAME_DELTA_LOW
End

LodOptions = MEDIUM
AllowMultipleModels = ALLOW_MULTIPLE_MODELS_MED
MaxRandomTextures = MAX_RANDOM_TEXTURES_MED
MaxRandomAnimations = MAX_RANDOM_ANIMATIONS_MED
MaxAnimFrameDelta = MAX_ANIM_FRAME_DELTA_MED
End

LodOptions = HIGH
AllowMultipleModels = ALLOW_MULTIPLE_MODELS_HIGH
MaxRandomTextures = MAX_RANDOM_TEXTURES_HIGH
MaxRandomAnimations = MAX_RANDOM_ANIMATIONS_HIGH
MaxAnimFrameDelta = MAX_ANIM_FRAME_DELTA_HIGH
End

//im Ostling Modus soll dieses Drawmodul nicht stören, deswegen kein Model
    DefaultModelConditionState
      Model = None
    End
//Nazgul Modell wird im Nazgul-Modus angezeigt
ModelConditionState = USER_5
      Model = //Nazgul Model eintragen
      Skeleton = //Skeleton hier
    End

//hier stehen dann die anis für den Nazgul

//-------------------------------------------------------------------------------------------------------------
End
--- Ende Code ---
Wichtig bei den Nazgul-Anis:
Hinter jeden AnimationState MUSS USER_5 dahinter also z.B.:

--- Code: ---        AnimationState = FREEFALL USER_5
Animation = Falling
AnimationName = GUTowerGrd_FLYA
AnimationMode = LOOP
AnimationBlendTime = 10
End
End
--- Ende Code ---

Das wird aus dem AnimationState "FREEFALL".
Die IDLE-Ani lässt du jedoch so wie sie ist, sie muss jedoch ganz am Ende kommen.

Viel Spaß beim Modden. :)

Hexenkönig13:
Danke für die Anleitung.  :)
Werds gleich probieren!

Edit: Beim zweiten DrawModule gibts einen Error:

Unknown field 'Draw' in block 'Object'

Der Ausschnitt der ini:
(Das erste ist die letzte Ani vom Ostling)

--- Code: ---        TransitionState               = TRANS_SwordToBow_Running
            Animation               = DrawBow
                AnimationName       = GUFaramir_SKL.GUFaramir_STHC
                AnimationMode       = ONCE
            End
        End       

    Draw = W3DHordeModelDraw ModuleTag_Nazgul

    OkToChangeModelColor = Yes
     
    StaticModelLODMode = Yes
   
    ; specify options for static LODs
    LodOptions    = LOW
        AllowMultipleModels        =    ALLOW_MULTIPLE_MODELS_LOW
        MaxRandomTextures        =    MAX_RANDOM_TEXTURES_LOW
        MaxRandomAnimations        =    MAX_RANDOM_ANIMATIONS_LOW
        MaxAnimFrameDelta        =    MAX_ANIM_FRAME_DELTA_LOW
    End
   
    LodOptions    = MEDIUM
        AllowMultipleModels        =    ALLOW_MULTIPLE_MODELS_MED
        MaxRandomTextures        =    MAX_RANDOM_TEXTURES_MED
        MaxRandomAnimations        =    MAX_RANDOM_ANIMATIONS_MED
        MaxAnimFrameDelta        =    MAX_ANIM_FRAME_DELTA_MED
    End
   
    LodOptions    = HIGH
        AllowMultipleModels        =    ALLOW_MULTIPLE_MODELS_HIGH
        MaxRandomTextures        =    MAX_RANDOM_TEXTURES_HIGH
        MaxRandomAnimations        =    MAX_RANDOM_ANIMATIONS_HIGH
        MaxAnimFrameDelta        =    MAX_ANIM_FRAME_DELTA_HIGH
    End
   
    //im Ostling Modus soll dieses Drawmodul nicht stören, deswegen kein Model
    DefaultModelConditionState
      Model = None
    End
    //Nazgul Modell wird im Nazgul-Modus angezeigt
    ModelConditionState = USER_5
      Model = munazgul_skn //Nazgul Model eintragen
      ;Skeleton = munazgul_skl //Skeleton hier
    End

--- Ende Code ---

Rimli:
Da fehlt ein End nach dem Transition State.

Du hast ein End, das die Animation schließt, eins, das den Transitionstate schließst, aber keins das das vorherige Draw-Modul schließt.

So muss es sein:

--- Zitat ---        TransitionState               = TRANS_SwordToBow_Running
            Animation               = DrawBow
                AnimationName       = GUFaramir_SKL.GUFaramir_ STHC
                AnimationMode       = ONCE
            End
        End   
   End     

    Draw = W3DHordeModelDraw ModuleTag_Nazgul
--- Ende Zitat ---

Hexenkönig13:
Ok danke. Jetzt geht es. Ist es auch möglich, dass mit dem Kauf des Spells der Held ein neues CommandSet bekommt?

Navigation

[0] Themen-Index

[#] Nächste Seite

Zur normalen Ansicht wechseln