Modding Union
Modderecke => Coding => Thema gestartet von: Hexenkönig13 am 20. Jul 2009, 21:30
-
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
-
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:
Behavior = ModelConditionUpgrade ModuleTag_ChangeModel
TriggeredBy = Upgrade_deinUpgrade
AddConditionFlags = USER_5
Permanent = Yes
End
Mit dem ModelConditionState machste das so:
Du machst zwei DrawModule. Das eine für den Ostling, das andere für den Nazgul.
//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
Wichtig bei den Nazgul-Anis:
Hinter jeden AnimationState MUSS USER_5 dahinter also z.B.:
AnimationState = FREEFALL USER_5
Animation = Falling
AnimationName = GUTowerGrd_FLYA
AnimationMode = LOOP
AnimationBlendTime = 10
End
End
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. :)
-
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)
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
-
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:
TransitionState = TRANS_SwordToBow_Running
Animation = DrawBow
AnimationName = GUFaramir_SKL.GUFaramir_ STHC
AnimationMode = ONCE
End
End
End
Draw = W3DHordeModelDraw ModuleTag_Nazgul
-
Ok danke. Jetzt geht es. Ist es auch möglich, dass mit dem Kauf des Spells der Held ein neues CommandSet bekommt?
-
Jo sicher, aber mit Commandset Upgrade hab ich mich noch nicht befasst ...
Such mal bisschen rum, ich empfehle dazu in der INI der Festungen nachzuschauen, die haben ja ständig ein CommandsetUpgrade (mit jedem Untermenü).
-
wie wärs, wenn du einfach der einheit, die dann das commandset haben soll, diese auch zuweist? es gibt doch für jede einheit so eine zeile "commandset = commandsetxy" da dein ostling und der nazgul ja zwei verschiedene einheiten sein werden, die nur durch ein upgrade zusammenhängen, würde ich einfach der zieleinheit so ein neues commandset zuweisen.
-
Nunja. Zurzeit ist es so, dass er nur das Modell und die Anis wechselt, vom Object ist es noch derselbe. Ich hab mir gedacht, dass ich ein neues Object für den Nazgul erstelle, dem Ostling einen Mount-Befehl gebe, der mit dem Spell verknüpft ist und somit zum Nazgul wird. Dann könnte ich ein neues Commandset definieren.
Edit: Tja, ich hab vergessen, dass das Object-Wechseln in SuM1 ja nicht vorhanden ist. Also geht das oben genannte sowieso nicht. Schade.
-
Immer wieder lustig wie die ganzen SuM II Modder die leider starken Grenzen von SuM I nicht kennen ^^
Mann ich sollte öfter mal in den Modding-Corner Bereich schauen. ^^
Du kannst das Commandset ebenfalls über das Upgrade wechseln lassen. Gibt sogar extra ein Module dafür, welches sich (wer hätte es gedacht) CommandSetUpgrade nennt ;)
Mach also einfach das draus>>
Behavior = CommandSetUpgrade ModuleTag_NeuesCommandSe t
TriggeredBy = Upgrade_DeinUpgrade
CommandSet = CommandSet_DeinNeuesComm andSet
End
und schon wechselt er beim Kauf des Upgrades auch auf das neue CommandSet.
-
Danke Manu. Werd ich mal ausprobieren. :)