Modding Union

Modderecke => Coding => Thema gestartet von: Radagast der Musikalische am 27. Jul 2011, 17:29

Titel: Radagasts Coding-Fragen-Thread
Beitrag von: Radagast der Musikalische am 27. Jul 2011, 17:29
Hallo MU

ich habe Fragen bezüglich der Möglichkeit ein Objekt in der Nähe der Festung zu spawnen, wie es in der Edain Mod mit Galadriels Spiegel gemacht wurde.
Ich habe zuerst die entsprechenden Zeilen herausgesucht:

;-------------------------------------------------------------
; Galadriels Spiegel
;-------------------------------------------------------------

    Behavior = ObjectCreationUpgrade CreateTheMoat
        TriggeredBy       = Upgrade_LothlorienFortre ssSpiegel      
        Delay                  = 0.0                
        ThingToSpawn   = ElvenMirrorOfGaladriel_F ortress
        Offset                 = X:76.0 Y:-120.0 Z:0.0    
        FadeInTime        = 600
    End

Was es mit TriggeredBy, ThingToSpawn und FadeInTime auf sich hat weiß ich ja, aber was Delay und Offset bedeutet weiß ich nicht. Wäre nett, wenn mir jemand sagen könnte, was das bedeutet.

Meine zweite Frage hat vermutlich etwas mit dem Offset zu tun. Und zwar möchte ich wissen, wie man einstellt, an welcher Stelle und mit welcher Drehung das Objekt gespawnt wird.

MfG Radagast
Titel: Re:ObjectCreationUpgrade - Festung
Beitrag von: Gnomi am 27. Jul 2011, 17:32
Delay ist im Allgemeinen die Verzögerung - also heißt das Delay hier, dass es sofort gespawnt wird. (man kann auch z.B: sagen, dass es nach X Sekunden gespawnt wird)
Offset heißt halt, wo das im Gegensatz zum Originalobjekt gespawnt werden soll.
Titel: Re:ObjectCreationUpgrade - Festung
Beitrag von: Radagast der Musikalische am 27. Jul 2011, 17:49
Vielen Dank schonmal für die Antwort Gnomi. Aber wie genau weiß ich, welche Koordinaten ich dann für welchen Standort angeben muss?

MfG Radagast

PS: Um das mit der Drehung hinzubekommen muss man vermutlich ein neues Objekt anlegen, weil ich in der ini von ElvenMirrorOfGaladriel_F ortress die Zeile PlacementViewAngle = -45 , auch wenn ich wieder nicht weiß, wie die Drehung genau funktioniert.

Titel: Re:ObjectCreationUpgrade - Festung
Beitrag von: Gnomi am 27. Jul 2011, 18:23
Naja, das ist halt ein normales Koordinatensystem mit x, y und z. (x nach rechts, y nach oben und z in die Höhe)
Du hast den Ursprungsort bei 0/0/0 und dann sagst du halt wie weit das nach rechts/links/wohin auch immer.
Titel: Re:ObjectCreationUpgrade - Festung
Beitrag von: Radagast der Musikalische am 27. Jul 2011, 19:34
Ja, dass das wie bei einem Koordinatensystem habe ich mir schon gedacht.
Aber wie íst der Ursprung dabei definiert? Ist das der Mittelpunkt des Objektes (in diesem Falle die Festung) oder was ist (0/0/0)?
Und wenn ja, woher weiß ich welche Werte ich benutzen muss? Ist das eine Sache die man nur durch ausprobieren hinbekommt?

MfG Radagast
Titel: Re:ObjectCreationUpgrade - Festung
Beitrag von: EvilDet am 27. Jul 2011, 19:37
Ja, (0|0|0) ist der Mittelpunkt des Objektes, hier die Festung.
Man muss nicht zwangsweise ausprobieren, du kannst auch bei RenX die beiden Modelle importieren, die Festung bei (0|0|0) und dein Objekt dann an die Stelle, wo es hin soll. Dann einfach die Koordinaten ablesen.

MfG
EvilDet
Titel: Re:ObjectCreationUpgrade - Festung
Beitrag von: Radagast der Musikalische am 28. Jul 2011, 11:30
Nochmal vielen Dank.
Ich habe das Festungsmodell und das zu spawnende Objekt nun in RenX importiert. Ich habe dann auch die Koordinaten der Objekte abgelesen. Sie werden zwar gespawnt, allerdings mit der falschen Drehung und an der völlig falschen Stelle. Ich habe dann nachgeschaut wieso und habe gesehen, dass die Festung auf Scale 0,7 gestellt war und vermutlich die Objekte deswegen nicht an der richtigen Stelle stehen.

Um mir helfen zu können werde ich jetzt präziser.
Bei der Festung handelt es sich um das Modell von Caras Galadhon. Allerdings kann ich dieses in RenX nicht skalieren, geschweige denn irgendetwas anderes damit machen, da RenX dann immer nach einer Fehlermeldung abstürzt. Die Objekte sind zwei Statuen. Aber das klappt ja an sich schon. Das einzige Problem dabei ist die Drehung. Ich habe die Drehung ebenfalls bei RenX abgelesen und bei PlacementViewAngle eingegeben, allerdings sind sie ingame nichr richtig gedreht.

Wäre nett, wenn mir jemand dabei helfen könnte.

MfG Radagast
Titel: Re:ObjectCreationUpgrade - Festung
Beitrag von: thepinking am 28. Jul 2011, 18:22
Bei der Drehung kann ich dir leider nicht weiterhelfen, bei den Koord's schon:

Mit dem Scale eintrag müste auch das Koordinaten System auf 70% skaliert werden. Das heißt du multiplizierst die Koordinaten mit 0,7 und schon hast du die, die du angeben musst

mfg
Pini
Titel: Re:ObjectCreationUpgrade - Festung
Beitrag von: Radagast der Musikalische am 28. Jul 2011, 18:56
Das heißt du multiplizierst die Koordinaten mit 0,7 und schon hast du die, die du angeben musst
Vielen Dank! Das hat mit den Koordinaten funktioniert natürlich einwandfrei. Hätte man eigentlich selbst drauf kommen können.

Wenn ich jetzt das Problem mit der Drehung noch lösen kann, dann bin ich zufrieden.

MfG Radagast
Titel: Re:ObjectCreationUpgrade - Festung
Beitrag von: thepinking am 28. Jul 2011, 19:02
Du sagst, es wird nicht richtig gedreht. Was genau meinst du? Stehen beide im selben Winkel? Sind beides gleiche Objecte?

mfg
Pini
Titel: Re:ObjectCreationUpgrade - Festung
Beitrag von: Radagast der Musikalische am 28. Jul 2011, 19:23
Es sind die gleichen Modelle, aber ich habe zwei Objekte dafür angelegt.
Ich habe wie bereits gesagt die Rotationswerte aus RenX genommen und bei dem Object unter DESIGN Parameters bei PlacementViewAngle eingegeben. Ich weiß leider nicht, ob das überhaupt das ist, wo man das einstellt.
Wenn, dann weiß ich nicht wie ich die Rotation einstellen kann. Entweder muss ich die Werte ebenfalls mit 0.7 multiplizieren, im Worldbuilder nachschauen oder es hat etwas damit zu tun, dass die Festung PlacementViewAngle = 45 unter ihren Parametern hat.
Die erste Variante halte ich allerdings für unwahrscheinlich, da beide Statuen trotz verschiedener Wete gleich stehen.

MfG Radagast
Titel: Re:ObjectCreationUpgrade - Festung
Beitrag von: EvilDet am 28. Jul 2011, 19:32
Also ich hatte auch schon so meine Probleme mit dem PlacementViewAngle... :D
Allerdings ist es eigentlich ganz simpel. Guck dir einfach INGAME an, wie du sie gerne gedreht haben möchtest und addiere/subtrahiere dann einfach die gewünschte Gradzahl. Wenn dein PlacementViewAngle also z.B. -66.5 ist, du das Objekt aber um 180° gedreht haben willst, rechne einfach -66.5+180 = 113,5

Ich habe meine Lösung auch nur durch ausprobieren herausgefunden^^
EvilDet
Titel: Re:ObjectCreationUpgrade - Festung
Beitrag von: Radagast der Musikalische am 28. Jul 2011, 19:43
Leider ist das nicht so einfach, da ich eine Drehung haben möchte, die nicht so leicht abzuschätzen ist.
Außerdem verstehe ich das ganze leider immer noch nicht ganz. Ich habe aus Spaß das
PlacementViewAngle auf 45 gesetzt und sie stehen genauso wie vorher.

MfG Radagast
Titel: Re:ObjectCreationUpgrade - Festung
Beitrag von: EvilDet am 28. Jul 2011, 20:03
Ahh, ich habs :D
Ich hab das System auch schon einmal verwendet. Dreh die Objekte in RenX so, wie sie ingame sein sollen und exportiere sie dann noch einmal. So gings zumindest bei mir.
EvilDet
Titel: Re:ObjectCreationUpgrade - Festung
Beitrag von: Radagast der Musikalische am 28. Jul 2011, 20:16
Da gibt es aber ein Problem, da sich die Objektrotation ja nach der Festung richtet. Und da ich das Modell von Caras Galadhon mit RenX nicht skalieren kann, stimmt folglich die Rotation der Statuen dann auch nicht. :D
Man was für Probleme man mit so kleinen Sachen haben kann.
Außerdem müsste ich das Modell doch dann extra in die W3D.big einfügen.
Und was wäre dann mit der Textur? Würde die trotzdem noch richtig angezeigt werden?

MfG Radagast
Titel: Re:ObjectCreationUpgrade - Festung
Beitrag von: EvilDet am 28. Jul 2011, 20:33
Nunja, du müsstest das Modell wie ein ganz neues Modell in die .big einfügen. Und die Objekte wären zwar immer gleich um die eigene Achse rotiert, allerdings auch um den Offset der Festung. Hab das bei mir in der Mod genauso.
Sprich: Wenn die Festung rotiert wird, rotieren die Objekte um die Achse der Festung mit.
Beweis (der weiße Säulengang ist das Objekt, das so wie deines ist):
(http://img839.imageshack.us/img839/7825/game2011072820322034.th.jpg) (http://imageshack.us/photo/my-images/839/game2011072820322034.jpg/)

EvilDet
Titel: Re:ObjectCreationUpgrade - Festung (+asset.dat-Problem)
Beitrag von: Radagast der Musikalische am 31. Jul 2011, 16:44
Vielen Dank EvilDet. Ich habe es dann genauso versucht, wie du das gesagt hast. Allerdings habe ich ein Problem mit der asset.dat.
Zuerst habe ich eine Kopie der asset.dat auf den Desktop gepackt. Dann habe ich den AssetBuilder geöffnet und die entsprechenden Dateien per Drag&Drop eingefügt. Dann bin ich auf Save gegangen und habe die asset.dat auf dem Desktop überschrieben(Angewählt war Append to existing asset.dat).
Allerdings werden die Modelle/Texturen im Spiel nicht angezeigt.
Das war mir auch von Anfang an klar, da die asset.dat nach dem Hinzufügen deutlich kleiner war als vorher.
Ich weiß allerdings nicht, was ich jetzt falsch gemacht habe.

MfG Radagast
Titel: Re:ObjectCreationUpgrade - Festung
Beitrag von: EvilDet am 31. Jul 2011, 17:01
Der Name deiner neuen Asset darf nicht "asset.dat" sein. Am besten nennst du sie "radagast.dat" oder so, denn sonst wird die alte asset.dat beim erstellen der neuen überschrieben, während das Programm versucht, die Einträge aus der alten asset zu übernehmen. Da die alte asset aber schon nicht mehr existiert, kann das Programm keine alten Einträge in die Neue übernehmen. Deswegen ist die neue kleiner als die alte asset.dat

MfG
EvilDet
Titel: Re:ObjectCreationUpgrade - Festung
Beitrag von: Radagast der Musikalische am 31. Jul 2011, 17:03
Also muss ich sie erst unter anderem Namen speichern und dann ins Hauptverzeichnis schieben und wieder umbenennen?

MfG Radagast
Titel: Re:ObjectCreationUpgrade - Festung
Beitrag von: EvilDet am 31. Jul 2011, 17:49
Speicher sie doch einfach direkt im Hauptverzeichnis unter anderem Namen, benenn die originale danach um und nenn deine dann "asset.dat" ;)
Titel: Re:ObjectCreationUpgrade - Festung
Beitrag von: Radagast der Musikalische am 31. Jul 2011, 18:11
Trotzdem ist die asset viel kleiner als die Original-Asset. Das Problem ist, dass die Original-Einträge der Sum1-Asset transferiert werden und nicht die der Sum2-Asset, die ich brauche. Wie kann ich das ändern?

MfG Radagast
Titel: Re:ObjectCreationUpgrade - Festung
Beitrag von: EvilDet am 31. Jul 2011, 18:25
Du musst die asset auch schon im Sum2!-Verzeichnis speichern, weil da die Sum2-Asset drin ist :D
Titel: Re:ObjectCreationUpgrade - Festung
Beitrag von: Radagast der Musikalische am 31. Jul 2011, 18:29
Du musst die asset auch schon im Sum2!-Verzeichnis speichern, weil da die Sum2-Asset drin ist :D
Ich bin ja nicht doof! Das habe ich doch getan. Aber trotzdem werden die Sum1-Einträge übertragen.

MfG Radagast
Titel: Re:ObjectCreationUpgrade - Festung
Beitrag von: EvilDet am 31. Jul 2011, 18:35
Woran siehst du das denn? Bzw, warum werden die bei dir übertragen?
EvilDet
Titel: Re:ObjectCreationUpgrade - Festung
Beitrag von: Radagast der Musikalische am 31. Jul 2011, 18:43
Ich gehe jetzt Schritt für Schritt durch...

1.Ich öffne AssetBuilder :D
2. Ich ziehe die .dds und .w3d - Dateien vom Desktop in den AssetBuilder
3. Ich wähle Append to existing asset
4. Ich klicke auf Save und speichere unter C:\Programme\Electronic Arts\Die Schlacht um Mittelerde II die asset als radagastasset.dat ab.

Woran siehst du das denn? Bzw, warum werden die bei dir übertragen?
EvilDet
Ich habe die radagastasset.dat mit der asset.dat aus dem Sum2 und Sum1-Verzeichnis verglichen und die neue ist identisch mit der Sum1-asset.dat und die neuen Texturen usw. sind nicht einmal aufgelistet.

MfG Radagast
Titel: Re:ObjectCreationUpgrade - Festung
Beitrag von: Ealendril der Dunkle am 31. Jul 2011, 19:30
Jou, wenn du eine SuMII-asset erstellst, darfst du nicht SuMI auf dem Rechner haben. Liegt daran, weil der assetBuilder auf SuMI ausgelegt ist. Ist zwar doof, lässt sich aber nicht ändern.
Titel: Re:ObjectCreationUpgrade - Festung
Beitrag von: Radagast der Musikalische am 31. Jul 2011, 19:38
Jou, wenn du eine SuMII-asset erstellst, darfst du nicht SuMI auf dem Rechner haben. Liegt daran, weil der assetBuilder auf SuMI ausgelegt ist. Ist zwar doof, lässt sich aber nicht ändern.

Okay! Vielen Dank dafür. Ich habe so etwas schon befürchtet. Aber was muss, dass muss.

MfG Radagast
Titel: Re:ObjectCreationUpgrade - Festung
Beitrag von: thepinking am 31. Jul 2011, 19:49
Es gibt auch noch eine Lösung für das Problem:
Mach eine Neue Asset, die nur die neuen Daten beinhaltet. Dann kombinierst du die Sum II Asset mit deiner, und zwar mit dem Assethelper Tool, zufinden ist dieses Tool, und viele andere Hilfreiche Tool's hier (http://modding-union.com/?path=tools#moddingtools). Eine Anleitung ist beim Download ebenfalls dabei.

mfg
Pini
Titel: Re:Held levelt nicht auf!
Beitrag von: Radagast der Musikalische am 1. Aug 2011, 17:09
Nochmal vielen Dank an Ea und thepinking! :)
Hat jetzt alles geklappt.
Ich habe es so auch geschafft einen eigenen Helden einzubinden. Ich habe für die Object.ini einfach die Original-Einträge vom EA-Thranduil kopiert. Und nur ein paar entsprechende Zeilen geändert, die die lotr.str betreffen. Hat auch an sich alles super geklappt. der Held hat alles, was er haben sollte, aber er kann nicht aufleveln.

Ich habe leider nicht den blassesten Schimmer wie ich das coden kann, dass der Held auflevelt.

MfG Radagast
Titel: Re:ObjectCreationUpgrade - Festung
Beitrag von: thepinking am 1. Aug 2011, 17:39
Meinst du damit das er auf lvl 0 ist?
Falls ja:
Dann fehlen die experiencelevels.ini einträge. Schau einfach mal in der experiencelevels.ini nach, wie die einträge dort aufgebaut sind, am besten du suchst gleich die Thanduil einträge, und fügt deinen Helden unter Targentnames hinzu.

mfg
Pini
Titel: Re:ObjectCreationUpgrade - Festung
Beitrag von: Radagast der Musikalische am 1. Aug 2011, 22:31
Meinst du damit das er auf lvl 0 ist?
Falls ja:
Dann fehlen die experiencelevels.ini einträge. Schau einfach mal in der experiencelevels.ini nach, wie die einträge dort aufgebaut sind, am besten du suchst gleich die Thanduil einträge, und fügt deinen Helden unter Targentnames hinzu.

mfg
Pini
Jo, danke vielmals! Hat natürlich so funktioniert. Aber ich wäre nicht ich, wenn ich nicht das nächste Problem hätte.
Ich habe meinem Helden natürlich nicht die selben Fähigkeiten geben wollen, wie der EA-Thranduil, daher habe ich versucht ein bisschen etwas zu verändern.
Meine Object.Ini sieht wie folgt aus. (Die Animationen lass ich jetzt mal weg.)
#include "..\..\..\includes\StunDrawModuleSmall.inc"
   
    ; ***DESIGN parameters ***
    Side = Elves
    EditorSorting       = UNIT
    ThreatLevel         = THARANDUIL_THREAT_LEVEL
    ThingClass          = CHARACTER_UNIT
    BuildCost           = 1000               
    BuildTime           = THRANDUIL_BUILDTIME   
    ShockwaveResistance = SHOCKWAVE_RESISTANCE_STRONG           
    TransportSlotCount    = TRANSPORTSLOTCOUNT_HERO
   
   
    WeaponSet
        Conditions = WEAPONSET_HERO_MODE
        Weapon    = PRIMARY ElvenThranduilBowDeadeye
        AutoChooseSources = PRIMARY FROM_PLAYER FROM_SCRIPT FROM_AI
    End
    WeaponSet
        Conditions = None
        Weapon = PRIMARY    ElvenThranduilBow
        AutoChooseSources = PRIMARY FROM_PLAYER FROM_SCRIPT FROM_AI
    End
   
   
    ArmorSet
        Conditions      = None
        Armor           = HeroLightArmor
        DamageFX        = NormalDamageFX
    End
   
    VisionRange            = VISION_HERO_RANGED
    ShroudClearingRange    = SHROUD_CLEAR_RANGED_HERO
   
    MaxVisionBonusPercent = 300%
    VisionBonusTestRadius = 200
    VisionBonusPercentPerFoot = 1.0%
   
    BountyValue            = ELVEN_THRANDUIL_BOUNTY_VALUE
    DisplayName            = OBJECT:ElvenFilorin
    RecruitText            = CONTROLBAR:ElvenFilorinRecruit
    ReviveText            = CONTROLBAR:ElvenFilorinRevive
    Hotkey                = CONTROLBAR:ElvenFilorinHotkey
    CrushableLevel        = 2  ;What am I?:        0 = for infantry, 1 = for trees, 2 = general vehicles
   
    CommandSet        = ElvenFilorinCommandSet
    CommandPoints    = 10
   
    ;//DisplayMeleeDamage    = THRANDUIL_KNIFE_DAMAGE;
    ;//DisplayRangedDamage = THRANDUIL_BOW_DAMAGE;

    HeroSortOrder = 30


    ; *** AUTO RESOLVE DATA ***
    AutoResolveUnitType = AutoResolveUnit_Hero
    AutoResolveCombatChain = AutoResolve_HeroCombatChain

    AutoResolveBody = AutoResolve_ThranduilBody
   
    AutoResolveArmor
        Armor = AutoResolve_ThranduilArmor
    End

    AutoResolveWeapon
        Weapon = AutoResolve_ThranduilWeapon
    End
   
    ;AutoResolveLeadership = AutoResolve_ThranduilBonus


    ; *** AUDIO Parameters ***;

            VoiceAttack                             = HeroMenArcherVoiceAttack
            VoiceAttackAir                          = HeroMenArcherVoiceAttack
            VoiceAttackCharge                       = HeroMenArcherVoiceAttack
            VoiceAttackMachine                      = HeroMenArcherVoiceAttack
            VoiceAttackStructure                    = HeroMenArcherVoiceAttack
            VoiceCreated                            = HeroMenArcherVoiceSalute
            VoiceFear                               = HeroMenArcherVoiceHelpMe
            VoiceFullyCreated                       = HeroMenArcherVoiceSalute
            VoiceGuard                              = HeroMenArcherVoiceMove
            VoiceMove                               = HeroMenArcherVoiceMove
            VoiceMoveToCamp                         = HeroMenArcherVoiceMove
            VoiceMoveWhileAttacking                 = HeroMenArcherVoiceMove
            VoicePriority                           = 75
            VoiceRetreatToCastle                    = HeroMenArcherVoiceMove
            VoiceSelect                             = HeroMenArcherVoiceSelectMS
            VoiceSelectBattle                       = HeroMenArcherVoiceSelectBattle
       
            SoundImpact                             = ImpactHorse
       
            UnitSpecificSounds
                VoiceEnterUnitElvenTransportShip    = HeroMenArcherVoiceMove
                VoiceEnterUnitMordorMumakil         = HeroMenArcherVoiceMove
                VoiceEnterUnitSlaughterHouse        = HeroMenArcherVoiceMove
                VoiceEnterUnitTransportShip         = HeroMenArcherVoiceMove
                VoiceGarrison                       = HeroMenArcherVoiceMove
                VoiceInitiateCaptureBuilding        = HeroMenArcherVoiceCaptureBuilding
            End

    ClientBehavior = AnimationSoundClientBehavior ModuleTag_AnimAudioBehavior
        MaxUpdateRangeCap = 800
        AnimationSound = Sound:FootstepDirtA             Animation:EUThrndl_SKL.EUThrndl_RUNA    Frames:17 29
        AnimationSound = Sound:BodyFallSoldier            Animation:EUThrndl_SKL.RUThrndl_LNDA    Frames:3
        AnimationSound = Sound:BodyFallSoldier            Animation:EUThrndl_SKL.EUThrndl_DTHA    Frames:31
        AnimationSound = Sound:SwordIntoGroundQuiet        Animation:EUTHRNDL_SKL.EUTHRNDL_ATKB    Frames:32    ;hit bow on ground
    End

    CrowdResponseKey = ElfHero

    Behavior = LargeGroupAudioUpdate ModuleTag_LGAU        ; Tie into LargeGroupAudio system
        Key = Humanoid_Male Elf Elf_Male Unit Infantry Hero
    End

    #include "..\..\..\includes\StandardUnitEvaEvents.inc"
    EvaEventDieOwner            = ThranduilDie            ;Eva event to trigger on unit's death. NOTICE THAT this is only for permanent deaths

    Behavior = EmotionTrackerUpdate    Module_EmotionTracker
        TauntAndPointDistance                = 200
        TauntAndPointUpdateDelay            = 2000
        PointAt                                = ANY +HERO
        AddEmotion            =    Terror_Base
        AddEmotion            =    Doom_Base
        //    AddEmotion            =   BraceForBeingCrushed_Base
        AddEmotion            =    UncontrollableFear_Base
        //    AddEmotion            =    FearIdle_Base
        //    AddEmotion            =    FearBusy_Base
        AddEmotion            =    Point_Base
        AddEmotion            =    Taunt_Base
         AddEmotion            =    CheerIdle_Base
        AddEmotion            =    CheerBusy_Base
        //    AddEmotion            =    HeroCheerIdle_Base
        //    AddEmotion            =    HeroCheerBusy_Base
        AddEmotion            =    Alert_Base
        AddEmotion            =    CheerForAboutToCrush_Base
    End

    ; *** ENGINEERING Parameters ***

    RadarPriority = UNIT
    KindOf = HERO PRELOAD SELECTABLE CAN_CAST_REFLECTIONS INFANTRY PATH_THROUGH_EACH_OTHER SCORE THROWN_OBJECT ARMY_SUMMARY ATTACK_NEEDS_LINE_OF_SIGHT HEAVY_MELEE_HITTER
    PathfindDiameter = 40.0
    CamouflageDetectionMultiplier = CAMOUFLAGE_DETECTION_DISTANCE_MEDIUM
   
    Body = RespawnBody ModuleTag_RespawnBody
        CheerRadius                 = EMOTION_CHEER_RADIUS
        MaxHealth                     = THRANDUIL_HEALTH                        ; BALANCE Legola Health
        PermanentlyKilledByFilter    = NONE                                    ; Who kills me permanently?
           DodgePercent                  = HERO_DODGE_PERCENT
    End

    ;--------------------------------------------------------------------------
    ; Filorins Trupp
    ;--------------------------------------------------------------------------
   
    Behavior = UnpauseSpecialPowerUpgrade ModuleTag_SummonEnabler
        SpecialPowerTemplate     = SpecialAbilityDieWächterFilorins
        TriggeredBy              = Upgrade_Level_10
    End

    Behavior = OCLSpecialPower ModuleTag_OCLSpecialPower
        SpecialPowerTemplate     = SpecialAbilityDieWächterFilorins
        OCL                      = OCL_SpawnMirkwodPfade
        CreateLocation           = CREATE_AT_LOCATION
        TriggerFX                = FX_ElvenAlliesSummon
        StartsPaused             = Yes
        ;SetModelCondition        = ModelConditionState:USER_1
        ;SetModelConditionTime    = 8.1
    End
    ;--------------------------------------------------------------------------
    ; Großer Krieger
    ;--------------------------------------------------------------------------
    Behavior = UnpauseSpecialPowerUpgrade ModuleTag_ArcherTrainingEnabler
        SpecialPowerTemplate        = SpecialAbilityTrainArchers
        TriggeredBy                 = Upgrade_Level_8
    End

    Behavior = SpecialPowerModule ModuleTag_KingsFavorSpecialPowerModule
        SpecialPowerTemplate        = SpecialAbilityTrainArchers
        StartsPaused                = Yes
        UpdateModuleStartsAttack    = Yes
        InitiateSound               = LegolasTrainVoice        ;this plays when he targets, not when he fires
    End

     Behavior = LevelGrantSpecialPower ModuleTag_KingsFavor
        SpecialPowerTemplate        = SpecialAbilityTrainArchers
        StartAbilityRange           = 100.0

        Experience                  = 400
        RadiusEffect                = 100
        AcceptanceFilter            = NONE +ElvenMirkwoodArcherHorde +ElvenMirkwoodArcher +MirkwoodWächterPfade +MirkwoodWächterPfadeHorde

        UnpackTime                  = 1600
        PackTime                    = 1000
        UnpackingVariation          = 2
        FreezeAfterTriggerDuration  = 500 ; Hold AI for this long after we fire.       
       
        LevelFX                     = FX_LevelUp
    End
   
    ;--------------------------------------------------------------------------
    ; Elbenmantel
    ;--------------------------------------------------------------------------
    Behavior = UnpauseSpecialPowerUpgrade ModuleTag_ElfCloakEnabler
        SpecialPowerTemplate        = SpecialAbilityElfCloak
        TriggeredBy                 = Upgrade_Level_3
    End   
    Behavior = SpecialPowerModule ModuleTag_ElfCloakStarter
        SpecialPowerTemplate        = SpecialAbilityElfCloak
        UpdateModuleStartsAttack    = Yes
        StartsPaused                = Yes
    End
    Behavior = ToggleHiddenSpecialAbilityUpdate ModuleTag_ElfCloakUpdate   
        SpecialPowerTemplate        = SpecialAbilityElfCloak
    End
   
    ;--------------------------------------------------------------------------
    Behavior = SpecialPowerModule ModuleTag_WildWalkFakeButtonDown
        SpecialPowerTemplate        = SpecialAbilityFakeLeadership
        UpdateModuleStartsAttack    = No
        StartsPaused                = No
    End   
   
    ;--------------------------------------------------------------------------
    ; Naturverbundenheit
    ;--------------------------------------------------------------------------   
    Behavior = UnpauseSpecialPowerUpgrade ModuleTag_MoveUnseenEnabler
        SpecialPowerTemplate        = SpecialAbilityMoveUnseen
        TriggeredBy                    = Upgrade_Level_5
    End   
    Behavior = InvisibilitySpecialPower ModuleTag_MoveUnseen
        SpecialPowerTemplate        = SpecialAbilityMoveUnseen
        AvailableAtStart            = No
        StartsPaused                = Yes
        BroadcastRadius                = THRANDUIL_MOVEUNSEEN_EFFECT_RADIUS
        ObjectFilter                = ANY +HORDE +HERO +DOZER ALLIES
        Duration                    = 30000
        InvisibilityNugget
            ForbiddenConditions        = FIRING_ANY
            DetectionRange            = CAMOUFLAGE_RADIUS
            InvisibilityType        = CAMOUFLAGE
        End
    End

    ; ---------------------------------------------------------------------
    ; Herrführer Düsterwalds
    ; ---------------------------------------------------------------------
 
    Behavior = UnpauseSpecialPowerUpgrade ModuleTag_ElrondsErfahrungsLeadership2
        SpecialPowerTemplate = SpecialAbilityFakeLeadership
        TriggeredBy = Upgrade_Level_1
    End

    Behavior = SpecialPowerModule ModuleTag_ElrondsErfahrungsLeadershipUpdate2   
        SpecialPowerTemplate      = SpecialAbilityFakeLeadership
        UpdateModuleStartsAttack  = No
        StartsPaused = Yes
    End   
    Behavior = AttributeModifierAuraUpdate ModuleTag_Leadership3
        StartsActive             = No
        BonusName                = CelebornsLeadership
        TriggeredBy              = Upgrade_Level_1
        RefreshDelay             = 2000
        Range                    = 200
        ;AntiCategory            = BUFF
        ObjectFilter    = ANY +INFANTRY +CAVALRY -HERO -DOZER -STRUCTURE -MONSTER ALLIES
    End

    Behavior = RespawnUpdate ModuleTag_RespawnUpdate
        DeathAnim                    = DYING                        ;Model condition to play when killed-to-respawn
        DeathFX                        = FX_ThranduilDieToRespawn    ;FXList to play when killed-to-respawn
        DeathAnimationTime            = 3000                        ;How long DeathAnim will take.
        InitialSpawnFX                = FX_ThranduilInitialSpawn
        RespawnAnim                    = LEVELED                    ;Animation to play when respawning.
        RespawnFX                    = FX_ThranduilRespawn            ;FXList to play when respawning.
        RespawnAnimationTime        = 2000                        ;Time it takes for respawn to play.
        AutoRespawnAtObjectFilter    = NONE +CASTLE_KEEP            ;Respawn at this location -- and at it's exit production point if possible.
        ButtonImage                    = HIThranduil_res
       
        ;RespawnEntries determine the ruleset for how a character can be revived. Some units may automatically respawn, others
        ;may require a specific revive action performed on him. You can specify different values for each level... or use Level:Any
        RespawnRules =    AutoSpawn:No        Cost:1875        Time:60000        Health:100%        ;DEFAULT VALUES
    End

    Behavior = AutoHealBehavior ModuleTag_LegolasHealing
        StartsActive            = Yes
        HealingAmount            = HERO_HEAL_AMOUNT
        HealingDelay            = 1000
        StartHealingDelay        = HERO_HEAL_DELAY
        HealOnlyIfNotInCombat    = Yes
    End
   
    Behavior = StancesBehavior ModuleTag_StancesBehavior
        StanceTemplate = Hero
    End
Dazu gehörend folgende Einträge in anderen Files...
OCL
!OCL!
ObjectCreationList OCL_SpawnMirkwodPfade
CreateObject
ObjectNames = MirkwoodWächterPfadeHorde
Count = 6
FadeIn = Yes
FadeTime = 8000
IgnoreCommandPointLimit = Yes
Disposition = SPAWN_AROUND
DispositionAngle = 60 ;SpawnAround uses this as the arc between guys
DispositionIntensity = 300 ; and this for distance from center
End
End
Specialpower
SpecialPower SpecialAbilityDieWächterFilorins
Enum = SPECIAL_SPELL_BOOK_MEN_OF_DALE_ALLIES
ReloadTime = 200000   ; in milliseconds
RadiusCursorRadius = 50.0
InitiateAtLocationSound = SpellElvenSummon
Flags = NO_FORBIDDEN_OBJECTS LIMIT_DISTANCE
ForbiddenObjectFilter = NO_SUMMON_NEAR_OBJECT_FILTER
ForbiddenObjectRange = 50
MaxCastRange = 200
End
CommandSet und CommandButtons
CommandButton Command_ConstructElvenFilorin
    Command                = UNIT_BUILD
    Object                 = ElvenFilorin
    TextLabel              = CONTROLBAR:BuildFilorin
    ButtonImage            = HIThranduil
    ButtonBorderType       = BUILD
    DescriptLabel          = CONTROLBAR:ToolTipBuildFilorin
    Radial                 = Yes
    InPalantir             = Yes
    IsClickable            = Yes
    Options                = CANCELABLE
    ShowProductionCount    = Yes     
End

CommandButton Command_SpecialAbilityFilorinHerrfuhrerDusterwalds
  Command = SPECIAL_POWER
  Options               = NONPRESSABLE NEED_UPGRADE
  SpecialPower = SpecialAbilityFakeLeadership
  TextLabel = CONTROLBAR:FilorinHeerfuhrer
  ButtonImage = HSKönigDüsterwalds
  RadiusCursorType = TrainingRadiusCursor
  ButtonBorderType = ACTION
  DescriptLabel = CONTROLBAR:FilorinHeerfuhrerDes
  InPalantir = Yes
  AutoAbility = Yes
  NeededUpgrade         = Upgrade_level_1 
End

CommandButton Command_SpecialAbilityFilorinScharfschutze
  Command = SPECIAL_POWER
  Options               = NEED_UPGRADE
  SpecialPower = SpecialAbilityMoveUnseen
  TextLabel = CONTROLBAR:FilorinSchütze
  ButtonImage = HSThranduilMoveUnseen
  RadiusCursorType = TrainingRadiusCursor
  ButtonBorderType = ACTION
  DescriptLabel = CONTROLBAR:FilorinSchützeDes
  InPalantir = Yes
  AutoAbility = Yes
  NeededUpgrade         = Upgrade_level_5 
End

CommandButton Command_SpecialAbilityFilorinElbenmantel
  Command = SPECIAL_POWER
  Options               = NEED_UPGRADE
  SpecialPower = SpecialAbilityElfCloak
  TextLabel = CONTROLBAR:FilorinElbenmantel
  ButtonImage = HPFrodoElfCloak
  RadiusCursorType = TrainingRadiusCursor
  ButtonBorderType = ACTION
  DescriptLabel = CONTROLBAR:FilorinElbenmantelDes
  InPalantir = Yes
  AutoAbility = Yes
  NeededUpgrade         = Upgrade_level_3 
End

CommandButton Command_SpecialAbilityFilorinGrosserKrieger
  Command = SPECIAL_POWER
  Options               = NEED_UPGRADE
  SpecialPower = SpecialAbilityTrainArchers
  TextLabel = CONTROLBAR:FilorinKrieger
  ButtonImage = HIThranduil
  RadiusCursorType = TrainingRadiusCursor
  ButtonBorderType = ACTION
  DescriptLabel = CONTROLBAR:FilorinKriegerDes
  InPalantir = Yes
  AutoAbility = Yes
  NeededUpgrade         = Upgrade_level_8 
End

CommandButton Command_SpecialAbilityFilorinTrupp
  Command = SPECIAL_POWER
  Options               = NEED_UPGRADE
  SpecialPower = SpecialAbilityDieWächterFilorins
  TextLabel = CONTROLBAR:FilorinTrupp
  ButtonImage = HSWächterPfade
  RadiusCursorType = TrainingRadiusCursor
  ButtonBorderType = ACTION
  DescriptLabel = CONTROLBAR:FilorinTruppDes
  InPalantir = Yes
  AutoAbility = Yes
  NeededUpgrade         = Upgrade_level_10 
End

CommandSet ElvenFilorinCommandSet 
        1 = Command_ToggleStance
= Command_SpecialAbilityFilorinHerrfuhrerDusterwalds
    = Command_SpecialAbilityFilorinElbenmantel
    = Command_SpecialAbilityFilorinScharfschutze
        5       = Command_SpecialAbilityFilorinGrosserKrieger
        6       = Command_SpecialAbilityDieWächterFilorins
        7       = Command_ToggleFaramirWeapon
    12 = Command_CaptureBuilding
13 = Command_AttackMove
14 = Command_Stop
16  = Command_SetStanceBattle
17  = Command_SetStanceAggressive
18  = Command_SetStanceHoldGround
End

So nach dem ganzen Codegewusel nun mein Problem. Die letzten drei Fähigkeiten funktionieren nicht. Ich klicke auf den Button, aber nichts geschieht. Die anderen beiden(Heerführer/Elbenmantel) funktionieren einwandfrei.
Ich weiß es ist viel Arbeit das alles durchzulesen, aber vielleicht findet ja irgendjemand die Zeit. Vermutlich mache ich mir mal wieder alles zu schwer.

MfG Radagast
Titel: Re:ObjectCreationUpgrade - Festung
Beitrag von: thepinking am 2. Aug 2011, 12:23
Nunja, ich vermute mal die Fähigkeit mit dem OCL soll im Zielgebiet Einheiten rufen. Allerdings stellt sich da die Frage welches Zielgebiet? Das hast du vergessen im Button zu schreiben ;) Funktionieren müsste es so:

CommandButton Command_SpecialAbilityFilorinTrupp
   Command           = SPECIAL_POWER
   SpecialPower      = SpecialAbilityDieWächterFilorins
   TextLabel         = CONTROLBAR:FilorinTrupp
   ButtonImage       = HSWächterPfade
   Options           = NEED_TARGET_POS CONTEXTMODE_COMMAND
   RadiusCursorType  = TrainingRadiusCursor
   InvalidCursorName = GenericInvalid  
  ButtonBorderType  = ACTION
  DescriptLabel     = CONTROLBAR:FilorinTruppDes
  InPalantir    = Yes
Radial = No
End
Das Up das benötigt wird kannst du weglassen, da dies ja schon in deiner Helden.ini steht. Weiteres hab ich entdeckt das in der CommandSet Command_SpecialAbilityDi eWächterFilorins steht, der Button aber Command_SpecialAbilityFi lorinTrupp heißt. Solltest du auch ausbessern.

Bei Command_SpecialAbilityFi lorinGrosserKrieger, ist das selbe Problem hier fehlt unter Options auch das NEED_TARGET_POS. Das NEED_UPGRADE und das Needed Upgrade kannst du immer weglassen, wen in der Helden.ini bereits ein UnpauseSpecialPowerUpgra de ist, und bei StartsPaused ein Yes steht ;)

Bei Command_SpecialAbilityFi lorinScharfschutze wieder das selbe: Es steht ein RadiusCursorType da, allerdings nicht das es eine Zielposition braucht, also fügtst du hier ebenfalls das NEED_TARGET_POS hinzu.

Ich hoffe das waren alle, und such dir am besten immer wenn du eine neue Fähigkeit machst, eine Vorlage, die das selbe/etwas ähnliches bewirkt als die, die du haben willst, die du kopierst und abänderst, so können solche Fehler seltener passieren

mfg
Pini
Titel: Re:ObjectCreationUpgrade - Festung
Beitrag von: Radagast der Musikalische am 2. Aug 2011, 12:40
Zitat
Ich hoffe das waren alle, und such dir am besten immer wenn du eine neue Fähigkeit machst, eine Vorlage, die das selbe/etwas ähnliches bewirkt als die, die du haben willst, die du kopierst und abänderst, so können solche Fehler seltener passieren
Okay vielen Dank schonmal. Das witzige ist, dass ich das gemacht habe. Auf jedenfall bei Scharfschütze und Grosser Krieger habe ich das gemacht.
Naja ist ja auch egal.
Ich werde es so machen, wie du es gesagt hast und dann wird das schon funktionieren.


Nunja, ich vermute mal die Fähigkeit mit dem OCL soll im Zielgebiet Einheiten rufen. Allerdings stellt sich da die Frage welches Zielgebiet? Das hast du vergessen im Button zu schreiben ;) Funktionieren müsste es so:

CommandButton Command_SpecialAbilityFilorinTrupp
  Command           = SPECIAL_POWER
  SpecialPower      = SpecialAbilityDieWächterFilorins
  TextLabel         = CONTROLBAR:FilorinTrupp
  ButtonImage       = HSWächterPfade
  Options           = NEED_TARGET_POS CONTEXTMODE_COMMAND
  RadiusCursorType  = TrainingRadiusCursor
  InvalidCursorName = GenericInvalid 
  ButtonBorderType  = ACTION
  DescriptLabel     = CONTROLBAR:FilorinTruppDes
  InPalantir     = Yes
Radial = No
End
Weiteres hab ich entdeckt das in der CommandSet Command_SpecialAbilityDi eWächterFilorins steht, der Button aber Command_SpecialAbilityFi lorinTrupp heißt. Solltest du auch ausbessern.
Das ist ein Fehler, der  mir beim Posten unterlaufen ist, da ich das vorher noch anders gemacht hatte.

MfG Radagast
MfG Radagast
Titel: Re:ObjectCreationUpgrade - Festung
Beitrag von: thepinking am 2. Aug 2011, 12:54
Nunja wenn du das gemacht hast, dan würde der unveränderte Button für Scharfschütze so aussehen:

CommandButton Command_SpecialAbilityMoveUnseen
Command = SPECIAL_POWER
SpecialPower = SpecialAbilityMoveUnseen
Options = NEED_TARGET_POS
TextLabel = CONTROLBAR:MoveUnseen
ButtonImage = HSThranduilMoveUnseen
RadiusCursorType = MoveUnseenRadiusCursor
InvalidCursorName = GenericInvalid
ButtonBorderType = ACTION
DescriptLabel = CONTROLBAR:ToolTipMoveUnseen
InPalantir = Yes
End

Und Grosser Krieger müsste unverändert so aussehen:

CommandButton Command_SpecialAbilityTrainArchers
  Command                 = SPECIAL_POWER
  SpecialPower            = SpecialAbilityTrainArchers
  Options                 = NEED_TARGET_POS CONTEXTMODE_COMMAND
  TextLabel               = CONTROLBAR:TrainArchers
  ButtonImage             = HSLegolasTrainArchers
  CursorName              = Bombard
  RadiusCursorType        = ArcheryTrainingRadiusCursor
  InvalidCursorName       = GenericInvalid
  ButtonBorderType        = ACTION
  DescriptLabel           = CONTROLBAR:ToolTipTrainArchers
  InPalantir  = Yes
End

Hauptsache du weißt jetzt, wie man ein solches Problem löst.
Sollte das nicht funktionieren und weiter nichts geschehen wenn du den Button drückst, kann es allerdings noch eine Ursache haben: In der Helden.ini sind keine/falsche einträge für den Spell. Hab ich bei dir aber auf den ersten Blick keine entdeckt ;)

Zum Schluss noch ein kleiner Hinweiß:
Sollte das Game mal Crashen wen du einen Spell aktivierst, und es nur einen Runtime error als fehlermeldung gibt, so hat das meistens 2 Ursachen: Entweder fehlt eine Specialpower bzw es wurde eine Falsch geschrieben, oder es fehlt ein Upgrade, das beim Aktiveren der Fähigkeit aktiviert/removt werden soll.

mfg
Pini
Titel: SpawnBehavior-Problem
Beitrag von: Radagast der Musikalische am 4. Aug 2011, 21:57
Vielen Dank nochmal Pini!

Ich habe in den letzten drei Tagen ein wenig rumgebastelt und ein paar Fähigkeiten gemacht usw. Eine von den Fähigkeiten sollte sein, dass er einen Mallorn-Baum spawnen kann, an dem ich ein wenig an den Werten rumgepfuscht habe.
Dann dachte ich mir, wäre es doch ganz nett, wenn auf dem Baum kein Lorien-Bogenschütze, sondern ein Wächter der Pfade stünde.
Ich habe dann folgendes gemacht.
Ich habe mir die elvenmallorntree.ini angeschaut und dort folgendes gefunden...

   Behavior = SpawnBehavior ModuleTag_Spawn
        TriggeredBy        = Upgrade_StructureLevel3
        SpawnNumber        = 1
        InitialBurst        = 0
        SpawnTemplateName    = ElvenLorienArcher_Slaved
        SpawnReplaceDelay    = 999999
        CanReclaimOrphans    = No
        SpawnedRequireSpawner    = Yes        
        ShareUpgrades        = Yes
    End

Ich habe anschließend das Objekt gesucht und folgendes gefunden...

ChildObject ElvenLorienArcher_Slaved ElvenLorienArcher

    ; make sure we can see all round.
    VisionSide            = 100%
    VisionRear            = 100%
    ShroudClearingRange    = ELVEN_MALLORN_TREE_SHROUD_CLEAR
    ShockwaveResistance    = SHOCKWAVE_RESISTANCE_ALWAYS

    LocomotorSet
        Locomotor   = HumanLocomotor
        Condition   = SET_NORMAL
        Speed       = 0
    End

    WeaponSet
        Conditions    = None
        Weapon        = PRIMARY LorienMallornTreeBow
    End

    ;//These guys are stuck in the barricade can't move and can't be attacked
    KindOf =  UNATTACKABLE NOT_AUTOACQUIRABLE

    Behavior = SlavedUpdate ModuleTag_Slave
        GuardMaxRange        = 0
        GuardWanderRange    = 0
        UseSlaverAsControlForEvaObjectSightedEvents = No ; Not a creep
    End
    
    Behavior = SlowDeathBehavior ModuleTag_05                ; overriden to be faster, so we fall with the barricade rubble.
        DeathTypes            = ALL -KNOCKBACK
        SinkDelay            = 10
        SinkRate            = 1.50                            ; in Dist/Sec
        DestructionDelay    = 10000
        Sound                = INITIAL ElfGenericVoiceDie
        DeathFlags            = DEATH_1
    End

End

ich habe dann ein neues ChildObject in der MirkwoodWächterPfade.ini angelegt, dass im prinzip genauso aussieht, wie das der ElvenLorienArcher_Slaved, außer das die Namen verändert wurden.
Un um den auf den Baum zu bekommen dachte ich, dass es reichen würde auch beim SpawnBehavior einfach den Namen zu ändern, aber wenn der Baum auf Stufe 3 levelt, stürzt das Spiel ab und ich erhalte die berühmte game.dat hat ein Problem festgestellt-Meldung.

Was habe ich denn da mal wieder falsch gemacht/vergessen/nicht verstanden/übersehen?

MfG Radagast der Fragende! ;)
Titel: Re:ObjectCreationUpgrade - Festung
Beitrag von: thepinking am 4. Aug 2011, 22:12
Schau nochmal nach ob die Namen übereinstimmen, wenn es weiterhin zur Fehlermeldung führt, teste es nochmal mit der Originalen Unit um zu sehen ob die Mallornbaum.ini in ordnung ist. Sollte sie (die ini) funktionieren, dann lösch das Childobject (ev. Sicherheitskopie) , mach nochmal das Childobject und zwar so wie es im Tutorial von Ea beschrieben wird. Das Tutorial findest du hier (http://modding-union.com/files/ems/codingtuts/slaved_behaviour.pdf). Sollte das auch nicht funktionieren, melde dich bitte wieder

mfg
Pini
Titel: Re:ObjectCreationUpgrade - Festung
Beitrag von: Radagast der Musikalische am 9. Aug 2011, 23:13
Dieses mal habe ich nur ein sehr ... naja sagen wir einfaches Problem! ;)

Ich suche mich schon seit heute morgen dumm und dämlich nach dem weißen Baum, den Celeborn rufen kann. Ich habe in der OCL nachgeschaut und weiß nun, dass das Objekt CelebornWhiteTree heißt. Aber ich habe alles in der EdainData durchsucht und nichts gefunden.
Ist zwar ein doofes Problem, aber ich finde es echt nicht! :D

MfG Radagast
Titel: Re:ObjectCreationUpgrade - Festung
Beitrag von: thepinking am 10. Aug 2011, 12:52
Projectile.ini:


Object CelebornWhiteTree

    SelectPortrait = BPGCamp_Plot

  Draw = W3DScriptedModelDraw ModuleTag_01
    DefaultModelConditionState
        Model = GBSlvrTree
        Shadow                      = SHADOW_ALPHA_DECAL_DYNAMIC ;SHADOW_ADDITIVE_DECAL_DYNAMIC
        ShadowSizeX                 = 250
        ShadowSizeY                 = 250
        ShadowTexture               = SCCElvenSummon
        ShadowOpacityStart          = 0
        ShadowOpacityFadeInTime     = 1000
        ShadowOpacityPeak           = 255
        ShadowOpacityFadeOutTime    = 1000
        ShadowOpacityEnd            = 0
        ShadowOverrideLODVisibility = YES
        ParticleSysBone             = NONE FireFlies02 FollowBone:Yes
    End
  End

  ; ***DESIGN parameters ***
    DisplayName          = OBJECT:WhiteTreeCeleborn
    EditorSorting        = STRUCTURE
    Side                 = Elves
    VisionRange          = VISION_BASE_DEFENSE
    ShroudClearingRange  = SHROUD_CLEAR_BASE_DEFENSE
    KindOf               = PRELOAD STRUCTURE IMMOBILE SCORE CAN_ATTACK SCARY
    ;Shadow              = SHADOW_VOLUME
    RadarPriority        = UNIT
    ThreatLevel          = 11.0
    IsTrainable          = No

  ; *** AUDIO Parameters ***

  ; *** ENGINEERING Parameters *** 
 
    Body                      = StructureBody ModuleTag_05
        MaxHealth               = MORDOR_GATEWATCHEREXPANSION_HEALTH
        MaxHealthDamaged        = MORDOR_GATEWATCHEREXPANSION_HEALTH_DAMAGED
        MaxHealthReallyDamaged  = MORDOR_GATEWATCHEREXPANSION_HEALTH_REALLY_DAMAGED
    End

    CommandSet            = SellableCommandSet

    ArmorSet
        Conditions        = None
        Armor             = FortressExpansionArmor       
    End

    WeaponSet
        Conditions    = NONE
        Weapon        = PRIMARY WhiteTreeFearWeapon
    End

    Behavior = AttributeModifierAuraUpdate ModuleTag_GateDebuff
        StartsActive    = Yes               
        BonusName       = StandardDebuff
        RefreshDelay    = 2000
        Range           = 180       
        TargetEnemy     = Yes   
        ObjectFilter    = GENERIC_BUFF_RECIPIENT_OBJECT_FILTER
    End

    Behavior = AttributeModifierAuraUpdate ModuleTag_ElvenGroveOnelvenGrove
        StartsActive    = Yes                                            ; If no, requires upgrade to turn on.
        BonusName       = CelebornTelperion
        RefreshDelay    = 2000
        Range           = 180
        ObjectFilter    = GENERIC_BUFF_RECIPIENT_OBJECT_FILTER
        RunWhileDead    = Yes
    End


    Behavior = AIUpdateInterface ModuleTag_SoWeCanUseWeapon
        AutoAcquireEnemiesWhenIdle    = Yes
        MoodAttackCheckRate           = 250
        //AILuaEventsList              = GateWatchersFunctions
    End


    Behavior                  = StructureCollapseUpdate ModuleTag_StructureCollapseUpdate
        MinCollapseDelay        = 000
        MaxCollapseDelay        = 000
        CollapseDamping         = .5
        MaxShudder              = 0.6
        MinBurstDelay           = 250
        MaxBurstDelay           = 800
        BigBurstFrequency       = 4
        FXList                  = INITIAL   FX_StructureMediumCollapseNoSound
        FXList                  = ALMOST_FINAL  FX_StructureAlmostCollapse
        DestroyObjectWhenDone   = Yes
        CollapseHeight          = 60
    End

    Behavior = LifetimeUpdate ModuleTag_LifetimeUpdate
        MinLifetime      = 60000
        MaxLifetime      = 60000
        DeathType        = FADED
    End   
 
    Behavior = SlowDeathBehavior ModuleTag_HatchTrigger
        DeathTypes       = NONE +FADED
        DestructionDelay = 4000
    End

    Behavior = SlowDeathBehavior ModuleTag_HatchTrigger2
        DeathTypes       = ALL
        DestructionDelay = 4000
    End


    Shadow               = SHADOW_VOLUME
    Geometry             = CYLINDER
    GeometryMajorRadius  = 5.0
    GeometryHeight       = 20.0
    GeometryIsSmall      = No
    BuildCompletion      = PLACED_BY_PLAYER
    GeometryContactPoint = X:0.0    Y:0.0        Z:0
    GeometryContactPoint = X:0.0    Y:0.0        Z:20.0        Swoop
End

mfg
Pini
Titel: Re:Slaved Behavior(Guard)
Beitrag von: Radagast der Musikalische am 10. Aug 2011, 19:39
Und ein weiterer Dank geht an dich Pini! ;)
War wohl zu doof dafür, aber mit der Suchfunktion habe ich ihn darin auch nicht gefunden.

Ich habe aber schon wieder die nächste Frage! :D

Und zwar wollte ich meinem selbstgemachten Helden eine Guard geben, wie bei Castamir.
Ich habe dazu das Tutorial von Ea benutzt und folgendes gemacht.
(Ich zeige jetzt nicht die ganze Objekt.ini sondern nur die entsprechenden Zeilen)

Filorin(Held)
   Behavior = QueueProductionExitUpdate ModuleTag_11
        UnitCreatePoint         = X:-32.0 Y:0.0 Z:0.0
        NaturalRallyPoint       = X:0 Y:0.0 Z:0.0
        ExitDelay               = 300
        NoExitPath              = Yes
    End

    Behavior = SpawnBehavior ModuleTag_SpawnFighters
        TriggeredBy          = Upgrade_Level_5
        SpawnNumber          = 1
        InitialBurst         = 1
        SpawnTemplateName    = ElvenMirkwoodArcher_FilorinsEliteSlaved
        SpawnReplaceDelay    = 15000
        FadeInTime           = 1000
        CanReclaimOrphans    = Yes
    End

    Behavior = SpawnBehavior ModuleTag_SpawnFighters2
        TriggeredBy          = Upgrade_Level_5
        SpawnNumber          = 1
        InitialBurst         = 1
        SpawnTemplateName    = FilorinsEliteSlaved2
        SpawnReplaceDelay    = 15000
        FadeInTime           = 1000
        CanReclaimOrphans    = Yes
    End

    Behavior = SpawnBehavior ModuleTag_SpawnFighters3
        TriggeredBy          = Upgrade_Level_5
        SpawnNumber          = 1
        InitialBurst         = 1
        SpawnTemplateName    = FilorinsEliteSlaved3
        SpawnReplaceDelay    = 15000
        FadeInTime           = 1000
        CanReclaimOrphans    = Yes
    End

    Behavior = SpawnBehavior ModuleTag_SpawnFighters4
        TriggeredBy          = Upgrade_Level_5
        SpawnNumber          = 1
        InitialBurst         = 1
        SpawnTemplateName    = FilorinsEliteSlaved4
        SpawnReplaceDelay    = 15000
        FadeInTime           = 1000
        CanReclaimOrphans    = Yes
    End

Object ElvenMirkwoodArcher_FilorinsEliteSlaved
"...."

    Behavior = SlavedUpdate ModuleTag_Slave
        LeashRange                                  = 250
        GuardMaxRange                               = 0
        GuardWanderRange                            = 0
        AttackRange                                 = 200
        UseSlaverAsControlForEvaObjectSightedEvents = No    // Not a creep        
        GuardPositionOffset                         = X:-30.0 Y:30 Z:0
        DieOnMastersDeath                           = No
    End
End

ChildObject FilorinsEliteSpawn2 ElvenMirkwoodArcher_FilorinsEliteSlaved

    Behavior = SlavedUpdate ModuleTag_Slave
        LeashRange                                  = 250
        GuardMaxRange                               = 0
        GuardWanderRange                            = 0
        AttackRange                                 = 200
        UseSlaverAsControlForEvaObjectSightedEvents = No    // Not a creep        
        GuardPositionOffset                         = X:-30.0 Y:-30 Z:0
        DieOnMastersDeath                           = No
    End

End

ChildObject FilorinsEliteSpawn3 ElvenMirkwoodArcher_FilorinsEliteSlaved

    Behavior = SlavedUpdate ModuleTag_Slave
        LeashRange                                  = 250
        GuardMaxRange                               = 0
        GuardWanderRange                            = 0
        AttackRange                                 = 200
        UseSlaverAsControlForEvaObjectSightedEvents = No    // Not a creep        
        GuardPositionOffset                         = X:30.0 Y:30 Z:0
        DieOnMastersDeath                           = No
    End

End

ChildObject FilorinsEliteSpawn4 ElvenMirkwoodArcher_FilorinsEliteSlaved

    Behavior = SlavedUpdate ModuleTag_Slave
        LeashRange                                  = 250
        GuardMaxRange                               = 0
        GuardWanderRange                            = 0
        AttackRange                                 = 200
        UseSlaverAsControlForEvaObjectSightedEvents = No    // Not a creep        
        GuardPositionOffset                         = X:30.0 Y:-30 Z:0
        DieOnMastersDeath                           = No
    End

End

Funktioniert an sich auch wunderbar. Die Einheiten erscheinen auf Stufe 5 an den richtigen Stellen und folgen Filorin.
Allerdings gibt es ein Problem:
Die Einheiten greifen nicht richtig an. Sie versuchen irgendwie jedesmal die Gegner umzulaufen, obwohl sie Bogenschützen sind.
(Außerdem entfernen sie sich ein wenig zu weit von Filorin)

Edit: Das die Einheiten ab und zu mal hinterherschweben bin ich ja gewöhnt, aber richtig angreifen sollten sie schon!

MfG Radagast
Titel: Re:ObjectCreationUpgrade - Festung
Beitrag von: thepinking am 10. Aug 2011, 19:59
Also ich habs sofort gefunden ;)

Das sie nicht richtig angreifen hört sich mM nach bei einem AIUpdateInterface Problem an. Prüfe nach ob die Einheit eines hat und welches sie hat
Eventuell haben sie ja (warum auch immer) eine Nahkampfwaffe bzw eine falsche Weapon im Weaponset drinnen

Das sie sich zu weit entfernen liegt vermutlich an der LeashRange, veringere die etwas und sie dürften näher bei deinem Helden sein.

mfg
Pini
Titel: Re:ObjectCreationUpgrade - Festung
Beitrag von: Radagast der Musikalische am 11. Aug 2011, 00:07
Also das ist die
AIUpdateInterface

    Behavior = AIUpdateInterface ModuleTag_03
        AutoAcquireEnemiesWhenIdle    = Yes ATTACK_BUILDINGS
        CanAttackWhileContained        = Yes
        AILuaEventsList                = RohanArcherFunctions
        AttackPriority                =     AttackPriority_Archer
        BurningDeathTime                = BURNINGDEATH_DURATION_INFANTRY
    End
Müsste eigentlich stimmen!

Edit: Ist es möglich einem Buildplot eine andere Textur zu geben?
Ich habe versucht es so zu machen, wie ich es auch bei anderen Gebäuden gemacht habe, also mit:
 RandomTexture = "neueTextur" 0 "alteTextur"
Aber das Spiel crasht immer und sagt es wäre ein unbekannter Befehl.

MfG Radagast
Titel: Re:ObjectCreationUpgrade - Festung
Beitrag von: Ealendril der Dunkle am 11. Aug 2011, 11:42
Fernkampfeinheiten haben Probleme mit dem System. Woran das genau liegt kann ich selbst noch nicht sagen.
Zum Buildplot: Model mit assetBuilder öffnen, neue Textur reinladen, w3d umbenennen, beides in asset, einbauen, fertig.
Titel: Re:ObjectCreationUpgrade - Festung
Beitrag von: Radagast der Musikalische am 11. Aug 2011, 15:00
Fernkampfeinheiten haben Probleme mit dem System. Woran das genau liegt kann ich selbst noch nicht sagen.
Mh! Okay vielen Dank! Ist ja echt schade. Dann werde ich das wohl irgendwie ersetzen müssen.
Edit: Auch mit Schwertkriegern funktioniert das nicht, weil mein Held mit einem Bogen kämpft.

Zum Buildplot: Model mit assetBuilder öffnen, neue Textur reinladen, w3d umbenennen, beides in asset, einbauen, fertig.
Vielen Dank. Ist immer alles viel einfacher als ich denke.
Edit: Alles so gemacht wie du sagst, aber ingame ist der Buildplot unsichtbar. Die W3D's und Texturen sind sowohl in der asset, als auch in den entsprechenden Bigs.

MfG Radagast
Titel: Re:ObjectCreationUpgrade - Festung
Beitrag von: thepinking am 11. Aug 2011, 15:22
Versuchs mal damit, das ist aus Eas Tutorial für Passive Spells:
    Behavior = SubObjectsUpgrade ModuleTag_Skinwelchsel
        TriggeredBy    = Upgrade_Level_6
        UpgradeTexture = guboromir.tga 0 guboromir_new.tga
    End

Damit sollte ein Skinnwechsel eigentlich funktionieren

mfg
Pini
Titel: Re:ObjectCreationUpgrade - Festung
Beitrag von: Radagast der Musikalische am 11. Aug 2011, 18:42
Nein, damit funktioniert es auch nicht.
Aber ich habe schon wieder ein neues Problem! :D

Ich bin ja mit dem SlavedBehavior ordentlich am ausprobieren.
Ich wollte jetzt, dass der Mallorn-Baum von Einheiten beschützt wird und habe die erste Variante aus Ea's Tutorial benutzt.
Folgendermaßen sieht es aus:

Mallorn-Baum
    Behavior = SpawnBehavior ModuleTag_SpawnFighters
        TriggeredBy          = Upgrade_VerteidigerThranduils
        SpawnNumber          = 4
        InitialBurst         = 4
        SpawnTemplateName    = ElvenFilorinsEliteBuilding_Slaved
        SpawnReplaceDelay    = 20000
        CanReclaimOrphans    = Yes
    End

ElvenFilorinsEliteBuilding_Slaved
ChildObject ElvenFilorinsEliteBuilding_Slaved ElvenFilorinsEliteBuilding

    CommandPoints = 0

      EvaEnemyObjectSightedEvent = GoblinCreepSighted
      EvaEnemyObjectSightedAfterRespawnEvent = GoblinCreepSighted


    KindOf = PRELOAD SELECTABLE CAN_CAST_REFLECTIONS INFANTRY PATH_THROUGH_EACH_OTHER CAN_USE_SIEGE_TOWER THROWN_OBJECT ORC GRAB_AND_DROP CREEP SCORE CAN_ATTACK

    VisionRange = CREEP_VISION
    DisplayName = OBJECT:HüterDesBaumes
   
    ThreatBreakdown MordorGoblinSwordsmanSlaved_ThreatBreakdown
        AIKindOf = CREEP
    End

    Behavior = SlavedUpdate ModuleTag_Slave
        GuardMaxRange        = 250
        GuardWanderRange    = 40
        UseSlaverAsControlForEvaObjectSightedEvents = Yes
    End

End

Aber es wird nur einer von denen an der Stelle gespawnt, wo sonst der Bogenschütze auf Stufe 3 steht. :D
Weiß leider nicht, wie ich das beheben kann!

MfG Radagast


Titel: Re:ObjectCreationUpgrade - Festung
Beitrag von: thepinking am 11. Aug 2011, 19:01
    Behavior = SpawnPointProductionExitUpdate ModuleTag_ProductionExit
        SpawnPointBoneName = ARCHER
    End

Das steht irgentwo in der Mallornbaum.ini
Das bedeutet das jede Einheit dort spawnt wo der Bogenschüztze auf Stufe 3 Steht: Beim Bone "ARCHER"

Versuch erstmal das hinzuzufügen:

Behavior = QueueProductionExitUpdate ModuleTag_11
       UnitCreatePoint = X:-25.0 Y:0.0 Z:0.0 ;(beispiel für Erschaffungsort)
       NaturalRallyPoint = X:-25 Y:0.0 Z:0.0
       ExitDelay = 300
       NoExitPath = Yes
End

Sollten die immernoch dort spawnen lösch das obere weg bzw komentier es weg

mfg
Pini
Titel: Re:ObjectCreationUpgrade - Festung
Beitrag von: Radagast der Musikalische am 11. Aug 2011, 19:18
Das hat nichts gebracht. Die Einheiten schweben immer noch da oben und löschen möchte ich das andere auch nicht, da dann der Bogenschütze auch unten steht, was ich nicht möchte. Da beides wohl nicht geht werde ich mir etwas anderes einfallen lassen müssen.

MfG Radagast
Titel: Re:ObjectCreationUpgrade - Festung
Beitrag von: thepinking am 11. Aug 2011, 19:29
Einen Lösungsweg gäbe es allerdings schon, dazu muss ich aber wissen ob es ok ist wenn bei dieser Methode der Bogenschütze schon auf Stufe 1 oben stehen darf
Titel: Re:ObjectCreationUpgrade - Festung
Beitrag von: Radagast der Musikalische am 11. Aug 2011, 19:34
Einen Lösungsweg gäbe es allerdings schon, dazu muss ich aber wissen ob es ok ist wenn bei dieser Methode der Bogenschütze schon auf Stufe 1 oben stehen darf
Das wäre egal, wann der Bogenschütze oben steht!

MfG Radagast
Titel: Re:ObjectCreationUpgrade - Festung
Beitrag von: thepinking am 11. Aug 2011, 19:43
Gut
Das funktioniert dann über eine Contain in dem schon eine Einheit drinnen ist die nicht angreifbar ist aber angreifen kann:   

Behavior = HordeTransportContain  ModuleTag_Contain2
ObjectStatusOfContained = UNSELECTABLE UNATTACKABLE CAN_ATTACK
Slots = 1
DamagePercentToUnits = 0%
PassengerFilter = ANY +INFANTRY
AllowOwnPlayerInsideOverride = Yes
AllowAlliesInside = No
AllowEnemiesInside = No
AllowNeutralInside = No
ForceOrientationContainer = No  
PassengerBonePrefix = PassengerBone:ARCHER KindOf:INFANTRY
ShowPips = No
                EjectPassengersOnDeath = No

InitialPayload = EinheitDieEingeladenWerdenSoll 1

End

Eventuell musst du noch ein paar anpassungen vornehmen, müsste aber funktionieren

mfg
Pini
Titel: Re:ObjectCreationUpgrade - Festung
Beitrag von: Radagast der Musikalische am 11. Aug 2011, 20:57
Das funktioniert leider auch nicht! Die Einheiten laufen jetzt zwar um den Baum herum, aber das neue Behavoir scheint nicht zu funktionieren, da der Bogenschütze nicht erscheint.

Ich habs gemacht wie du gesagt hast...
   
Behavior = HordeTransportContain  ModuleTag_Contain2
        ObjectStatusOfContained                = UNSELECTABLE UNATTACKABLE CAN_ATTACK
        Slots                                  = 1
        DamagePercentToUnits                   = 0%
        PassengerFilter                        = ANY +INFANTRY
        AllowOwnPlayerInsideOverride           = Yes
        AllowAlliesInside                      = No
        AllowEnemiesInside                     = No
        AllowNeutralInside                     = No
        ForceOrientationContainer              = No  
        PassengerBonePrefix                    = PassengerBone:ARCHER KindOf:INFANTRY
        ShowPips                               = No        
        EjectPassengersOnDeath                 = No
        InitialPayload                         = ElvenFilorinsElite_SlavedForTree 1
End
...aber es funktioniert nicht.
Ich habe das alte Behavior, das den Bogenschützen spawnt entfernt, inklusive
 
Behavior = SpawnPointProductionExitUpdate ModuleTag_ProductionExit
        SpawnPointBoneName = ARCHER
End

MfG Radagast
Titel: Re:ObjectCreationUpgrade - Festung
Beitrag von: thepinking am 11. Aug 2011, 21:14
Hat eine Einheit das KindOf "INFANTRY" ?

Sollte sie es haben:
Ich habe wohl aus versehen den HordeTransportContain gepostet.... versuchs mal mit dem:

    Behavior = TransportContain ModuleTag_HoldingInfantry
         ObjectStatusOfContained =   UNSELECTABLE UNATTACKABLE CAN_ATTACK
         PassengerFilter            = ANY +INFANTRY
         Slots                    = 1
ContainMax = 1
         ShowPips                = No
                AllowOwnPlayerInsideOverride           = Yes
         AllowEnemiesInside        = No
         AllowNeutralInside        = No
         AllowAlliesInside        = Yes
         DamagePercentToUnits    = 0%
         PassengerBonePrefix = PassengerBone:ARCHER KindOf:INFANTRY
         EjectPassengersOnDeath = No
         NumberOfExitPaths            = 1
                InitialPayload                         = ElvenFilorinsElite_SlavedForTree 1
     End

Hoffe es geht

mfg
Pini
Titel: Re:ObjectCreationUpgrade - Festung
Beitrag von: Radagast der Musikalische am 11. Aug 2011, 21:45
   
Behavior = TransportContain ModuleTag_HoldingInfantry
        ObjectStatusOfContained       = UNSELECTABLE UNATTACKABLE CAN_ATTACK
        PassengerFilter               = ANY +INFANTRY
        Slots                         = 1
        ContainMax                    = 1
        ShowPips                      = No
        AllowOwnPlayerInsideOverride  = Yes
        AllowEnemiesInside            = No
        AllowNeutralInside            = No
        AllowAlliesInside             = Yes
        DamagePercentToUnits          = 0%
        PassengerBonePrefix           = PassengerBone:ARCHER KindOf:INFANTRY
        EjectPassengersOnDeath        = No
        NumberOfExitPaths             = 1
        InitialPayload                = ElvenFilorinsElite_SlavedForTree 1
End

So hab ich es jetzt gemacht. Bringt aber ebenfalls nichts!

MfG Radagast
Titel: Re:ObjectCreationUpgrade - Festung
Beitrag von: thepinking am 12. Aug 2011, 12:13
Dann schau mal ob der Mallornbaum den KindOf "GARRISON" hat, wenn nicht füg ihn hinzu

mfg
Pini
Titel: Re:ObjectCreationUpgrade - Festung
Beitrag von: Ealendril der Dunkle am 12. Aug 2011, 12:23
Könnt ihr zwei das nicht alles über PN klären? Ich bin zu selten Online, als das ich alle Fragen schnell beantworten könnte und es ist ohnehin nur pinking der dir antwortet.
Titel: Re:ObjectCreationUpgrade - Festung
Beitrag von: Radagast der Musikalische am 12. Aug 2011, 15:20
Könnt ihr zwei das nicht alles über PN klären? Ich bin zu selten Online, als das ich alle Fragen schnell beantworten könnte und es ist ohnehin nur pinking der dir antwortet.
Okay wenn Pini nichts dagegen hat! ;)

Dann schau mal ob der Mallornbaum den KindOf "GARRISON" hat, wenn nicht füg ihn hinzu

mfg
Pini
Das funktioniert übrigens auch nicht! Ich kann dann Einheiten in den Baum schicken, aber der Bogenschütze ist immer noch nicht da! :D

MfG Radagast
Titel: Re:ObjectCreationUpgrade - Festung
Beitrag von: Radagast der Musikalische am 20. Nov 2011, 18:19
Ich hätte mal eine allgemeine Frage!

Kann man W3D-Modelle auch überschreiben, wie die DDS-Texturen?

MfG Radagast
Titel: Re:ObjectCreationUpgrade - Festung
Beitrag von: EvilDet am 20. Nov 2011, 20:14
Nein, meines Wissens nach musst du ne neue Asset machen. Texturen und SKL kann man überschreiben, aber Modelle nicht. Zumindest gehts bei mir nicht.
MfG
EvilDet
Titel: Re:ObjectCreationUpgrade - Festung
Beitrag von: Ealendril der Dunkle am 21. Nov 2011, 12:58
SKL kann man meines Wissens auch nicht überschreiben. Das hat zumindest bei mir noch nie funktioniert.
Titel: KI-Problem
Beitrag von: Radagast der Musikalische am 24. Nov 2011, 19:54
Hallöchen!

Ich habe mal wieder ein kleines Problem. Und zwar habe ich eine neue Einheit eingefügt. Damit die KI diese auch benutzt, habe ich in der skirmishaidata.ini neue Einträge gemacht.
z.b. sowas
ArmyMemberDefinition ElvenGaladhrimMod_Member
Unit = ElvenGaladhrimHordeMod ;cavalry
PercentageOfArmyPhase1 = 0.0
PercentageOfArmyPhase2 = 10.0
PercentageOfArmyPhase3 = 25.0
End

Die KI benutzt die neue Einheit auch, aber sie ist nicht zu besiegen. Ich habe die KI sogar auf -95% gestellt, damit die schnell sterben. Aber die Lebensanzeige bleibt gleich und sie sterben dann erst nach 2 Minuten, in denen Celeborn, Thranduil und Glorfindel ordentlich auf denen rumgehauen hat. Die Lebensanzeige bleibt trotzdem bis zum Ende gleich. Gesundheit haben sie 1000! Bei mir sterben sie auch richtig! :D

Was kann ich machen?

MfG Radagast
Titel: Re:ObjectCreationUpgrade - Festung
Beitrag von: MCM aka k10071995 am 24. Nov 2011, 20:54
Zeig mal die Ini der Einheit, ich glaube, dass der Fehler darin liegt.
Du könntest mal gucken, ob der Fehler auch Auftritt, wenn du eine bereits vorhandene MemberDefinition vom Namen gleich lässt, aber mit deiner Einheit überschreibst.
Das mache ich immer, um sicherzugehen, dass es sich nicht um einen mehr oder weniger willkürlichen Fehler der Engine handelt. Meines Wissens war das bei mir jedoch nie der Fall, dh., es ist auch in diesem Fall unwahrscheinlich.
Allerdings gibt es keine fehlerfreie Engine-möglich ist es. :P
Titel: Re:ObjectCreationUpgrade - Festung
Beitrag von: Radagast der Musikalische am 24. Nov 2011, 21:02
Wie ist denn das mit den Memberdefinitionen? Kann ich denen irgendeinen Namen geben oder sind die irgendwo festgelegt? Und gibt es noch weitere Stellen in der skirmishaidata an denen ich etwas ändern oder ergänzen muss?

MfG Radagast
Titel: Re:ObjectCreationUpgrade - Festung
Beitrag von: Ealendril der Dunkle am 25. Nov 2011, 09:34
Wie ist es denn, wenn du sie selbst benutzt?

Eventuell hast du ihnen einen DealyDeathBodyBehaviour gegeben oder aber die Armor etwas unfein bearbeitet. Hierbei können verschiedene Dinge eine Rolle spielen.
Titel: Re:ObjectCreationUpgrade - Festung
Beitrag von: Radagast der Musikalische am 25. Nov 2011, 23:02
Wie ist es denn, wenn du sie selbst benutzt?

Eventuell hast du ihnen einen DealyDeathBodyBehaviour gegeben oder aber die Armor etwas unfein bearbeitet. Hierbei können verschiedene Dinge eine Rolle spielen.
Ja, Ich habe einen DelayedDeathBehavior definiert!
   Body = DelayedDeathBody ModuleTag_DelayedDeathBody
        CheerRadius                      = EMOTION_CHEER_RADIUS
        MaxHealth                        = 1000
        MaxHealthDamaged                 = 400
        MaxHealthReallyDamaged           = 100
        DelayedDeathTime                 = 10000                
        PermanentlyKilledByFilter        = NONE          
    End
Muss ich das Behavior rausnehmen?

MfG Radagast
Titel: Re:ObjectCreationUpgrade - Festung
Beitrag von: Ealendril der Dunkle am 26. Nov 2011, 10:03
Zitat
DelayedDeathTime                 = 10000
Da steht, das man mindestens 10 weitere Skunden auf die Einheiten einschlagen muss, bis sie wirklich stirbt. Das dürfte deine gestellte Frage erklären.
Du musst hierbei auch auf die AIUpdateBehaviour-Einträge achten. Wenn dort ein Fehler ist, dann sterben die Einheiten überhaupt nicht.
Titel: Re:ObjectCreationUpgrade - Festung
Beitrag von: Radagast der Musikalische am 4. Dez 2011, 16:01
Ich habe mal wieder eine Frage.
In den Inis der Edain Mod bin ich auf den Skelettriesen gestoßen. Ich dachte mir: "Komm den baust du mal aus Spaß irgendwie ein. Ich habe mich dann entschieden Gorkil eine Fähigkeit zu geben, die Riesen in Skelettriesen verwandelt.

;;;Weapon;;;
Weapon SpawnGiftderNebelspinneWeapon
  RadiusDamageAffects   = ALLIES
  AttackRange           = 4.0
        AttributeModifierNugget
       AttributeModifier   = SkelettRieseGorkilUpgrade
       Radius            = 11
       SpecialObjectFilter = NONE +WildMountainGiantMod +WildMountainGiant +WildMountainGiant_Summoned ALLIES
        End
End

;;;OCL;;;


ObjectCreationList OCL_SpawnGiftderNebelspinne
    CreateObject
        ObjectNames = SpawnGiftderNebelspinnePing
        Disposition = LIKE_EXISTING
        Count       = 1
    End
End


;;;Object;;;

Object SpawnGiftderNebelspinnePing
    Draw = W3DScriptedModelDraw ModuleTag_Draw
        DefaultModelConditionState
            Model = None
        End
    End
    KindOf = INERT IMMOBILE UNATTACKABLE
   
    Body = ActiveBody ModuleTag_MakesKillWork
        MaxHealth = 1
    End
    Behavior = LifetimeUpdate ModuleTag_HatchTrigger
        MinLifetime = 0.0
        MaxLifetime = 0.0
    End
    Behavior = SlowDeathBehavior ModuleTag_HatchProcess
        DestructionDelay      = 1
        Weapon                = FINAL SpawnGiftderNebelspinneWeapon
    End
End

;;;CommandButton;;;
CommandButton Command_GiftderNebelspinne
  Command               = SPECIAL_POWER
  SpecialPower          = SpecialAbilityThorinKönigderZwerge
  TextLabel             = CONTROLBAR:SpecialAbilityThorinKönigderZwerge
  Options               = TOGGLE_IMAGE_ON_WEAPONSET
  FlagsUsedForToggle    = MOUNTED
  ButtonImage           = HSKönigderZwergeSwitchButton
  ButtonBorderType      = ACTION
  DescriptLabel         = CONTROLBAR:ToolTipSpecialAbilityThorinKönigderZwerge
  InPalantir            = Yes
End

CommandButton Command_GiftderNebelspinnePower
  Command           = SPECIAL_POWER
  SpecialPower      = SpecialAbilitySkelettRieseGorkil
  TextLabel         = CONTROLBAR:GiftderNebelspinnePower
  ButtonImage       = HIUngoliath
  Options           = NEED_TARGET_POS
  RadiusCursorType  = MoveUnseenRadiusCursor
  CursorName        = Bombard
  InvalidCursorName = GenericInvalid 
  ButtonBorderType  = ACTION
  DescriptLabel     = CONTROLBAR:ToolTipGiftderNebelspinnePower
  InPalantir        = Yes
  Radial            = No
  EnableOnModelCondition  = USER_7
End

;;;Behavior Gorkil;;;

    Behavior                 = OCLSpecialPower ModuleTag_PalantirVision2
        SpecialPowerTemplate = SpecialAbilitySkelettRieseGorkil
        OCL                  = OCL_SpawnGiftderNebelspinne
        CreateLocation       = CREATE_AT_LOCATION
        StartsPaused         = No
    End

;;;Behavior Riese;;;

    Behavior = UnpauseSpecialPowerUpgrade ModuleTag_KönigEnabler
        SpecialPowerTemplate            = SpecialAbilityThorinKönigderZwerge
        TriggeredBy                     = Upgrade_MiniHordeLvl1
    End

    Behavior = SpecialPowerModule ModuleTag_KönigStarter                     
         SpecialPowerTemplate           = SpecialAbilityThorinKönigderZwerge
         UpdateModuleStartsAttack       = Yes
         StartsPaused                   = No
    End

    Behavior = ToggleMountedSpecialAbilityUpdate ModuleTag_König
         SpecialPowerTemplate           = SpecialAbilityThorinKönigderZwerge
         MountedTemplate                = MountainGiantSkelett
         UnpackTime                     = 2000
         PreparationTime                = 0            ; none, cause we hop onto our mount in no time at all :)
         PackTime                       = 0         ; none, cause we hop onto our mount in no time at all :)
         OpacityTarget                  = .0        ; How see-thru to be at peak of change
         AwardXPForTriggering           = 0
         IgnoreFacingCheck              = Yes
    End

    Behavior = DoCommandUpgrade Module_DoCommandUpgrade   
        TriggeredBy                  = Upgrade_SkelettRieseGorkil
        GetUpgradeCommandButtonName  = Command_GiftderNebelspinne
    End


;;;Attributemodifier;;;

ModifierList SkelettRieseGorkilUpgrade
    Category = SPELL
    Duration = 0
    Upgrade  = Upgrade_SkelettRieseGorkil Delay:105
End

;;;Upgrade;;;

Upgrade Upgrade_SkelettRieseGorkil
    Type            = OBJECT
    BuildCost        = 0 
End

;;;Specialpower;;;

SpecialPower SpecialAbilitySkelettRieseGorkil
    Enum             = SPECIAL_SPELL_BOOK_MEN_OF_DALE_ALLIES
    ReloadTime             = 380000
    RadiusCursorRadius              = 25
    Flags                           = NEEDS_OBJECT_FILTER LIMIT_DISTANCE
    ForbiddenObjectFilter           = ANY +MordorBalrogEggPlaceHolder +WatcherEggPlaceHolder +WatcherCaldera +SummonedDragonEggPlaceHolder
    ;ForbiddenObjectRange           = 70
    ObjectFilter                    = NONE +WildMountainGiantMod +WildMountainGiant +WildMountainGiant_Summoned ALLIES
    MaxCastRange                    = 320
End

Die Fähigkeit funktioniert auch. Der Riese wird zum Skelettriesen. Allerdings hat er nach der "Verwandlung" schon die Hälfte der Leben weg. Das soll eigentlich nicht so sein. Den selben Fehler hatte ich auch schon beim Coden für unsere Mod, aber da es da immer Helden waren, die sich selbst heilen war mir das egal. Da aber Nebelberge keine Heilfähigkeit hat und der Riese es selbst nicht macht ist das was anderes. Wie kann ich das vermeiden?

MfG Radagast
Titel: Re:ObjectCreationUpgrade - Festung
Beitrag von: EvilDet am 4. Dez 2011, 16:04
Der normale Riese muss genauso viel Leben wie der Skelettriese haben. Also beim MaxHealth-Eintrag muss der gleiche Wert definiert sein.

MfG
EvilDet
Titel: Re:ObjectCreationUpgrade - Festung
Beitrag von: Radagast der Musikalische am 4. Dez 2011, 16:07
Der normale Riese muss genauso viel Leben wie der Skelettriese haben. Also beim MaxHealth-Eintrag muss der gleiche Wert definiert sein.

MfG
EvilDet
Okay! Das ist natürlich doof! Er sollte ein wenig mehr haben! Kann man das dann irgendwie umgehen?

MfG Radagast
Titel: Re:ObjectCreationUpgrade - Festung
Beitrag von: EvilDet am 4. Dez 2011, 16:13
Ich würde versuchen, es über einen AttributeModifier zu regeln, der einfach die HEALTH erhöht.
Titel: Random Textures - Problem
Beitrag von: Radagast der Musikalische am 15. Jan 2012, 14:17
Hallöchen MU,

habe eine Frage zu RandomTextures. Gibt es da irgendeine Beschränkung, wie viele Randomtextures man angibt?

Ich habe nämlich für die Spinnen bei Nebelberge mehrere RandomTextures gemacht und in den Codes sieht das so aus:


        RandomTexture = mugntspdr.tga      0 mugntspdr.tga
        RandomTexture = mushelobh.tga     0 mugntspdr.tga
        RandomTexture = mugntspdr_b.tga  0 mugntspdr.tga
        RandomTexture = mugntspdr_r.tga   0 mugntspdr.tga
        RandomTexture = mugntspdr_g.tga   0 mugntspdr.tga
        RandomTexture = muspider_c.tga     0 mugntspdr.tga


Ingame habe ich aber immer nur die ersten beiden als Randomtextures!

MfG Radagast
Titel: Re:ObjectCreationUpgrade - Festung
Beitrag von: EvilDet am 15. Jan 2012, 15:55
Am Anfang der ini müsste folgendes stehen:
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

Da gibst du dann jeweils bei MAX_RANDOM_TEXTURES die Anzahl deiner Randomtexturen ein.

MfG
EvilDet
Titel: Automatischer Waffenwechsel
Beitrag von: Radagast der Musikalische am 7. Apr 2012, 13:13
Hallo MU,

kann mir vielleicht helfen. Ich bin mir sicher, dass es ein Behavior gibt, dass dafür sorgt, dass eine Einheit oder ein Held direkt mit der Zweitwaffe startet, weiß aber nicht wie das entsprechende Behavior aussieht.

MfG Radagast
Titel: Re:ObjectCreationUpgrade - Festung
Beitrag von: Ealendril der Dunkle am 7. Apr 2012, 13:15
Kommt darauf an, was du mit Zweitwaffe meinst. Diesen Eintrag nutze ich bei meinen Avari, damit diese direkt mit der geswitchten Weapon starten. Das spart eine Menge Codingarbeit bei den Animationen, da hierbei das Set von Legolas verwendet wird.

    Behavior = ModelConditionUpgrade ModuleTag_ModellSchwert
        TriggeredBy          = Upgrade_ElfFaction Upgrade_AllFactionUpgrade ;(Upgrade der Faction angeben)
        AddConditionFlags = WEAPONSET_TOGGLE_1
        Permanent            = Yes
    End
Titel: Ingame Videos
Beitrag von: Radagast der Musikalische am 7. Apr 2012, 14:25
Das war genau das, was ich meinte! Danke Ea! Ist ja mal wieder viel einfacher, als gedacht.

Ich nutze einfach mal die Gelegenheit um gleich noch eine Frage zu stellen:

Kann mir jemand sagen, womit man gute Ingame-Videos erstellen kann. Ich kenne zwar ein paar Programme, mit denen das möglich ist, weiß aber nicht, welches auch gute Ergebnisse verspricht!

MfG Radagast
Titel: Re:ObjectCreationUpgrade - Festung
Beitrag von: Ealendril der Dunkle am 7. Apr 2012, 14:49
http://www.chip.de/downloads/FRAPS_13010723.html
Titel: Unsichtbares Model
Beitrag von: Radagast der Musikalische am 7. Apr 2012, 17:29
Heute ist wohl der Tag der Fragen:

Ich habe ein Problem mit der Einbindung eines neuen Models. Ich habe das neue Model gemeinsam mit vielen anderen Models und Texturen in eine neue asset.dat gepackt und diese mit dem AssetHelper mit der SumII-Asset verbunden. Jedoch ist ein Teil des Models immer unsichtbar. Man sieht ingame den Körper nicht, aber das Schwert, den Helm und die Schulterpanzer. Woran kann das liegen? Ich glaube nicht, dass es an der asset.dat liegt, denn dann wäre doch das ganze Model unsichtbar und nicht nur ein Teil. Außerdem sind alle anderen Texturen und Models einwandfrei eingebunden.

Weiß jemand eine Lösung?

MfG Radagast
Titel: Re:ObjectCreationUpgrade - Festung
Beitrag von: Ealendril der Dunkle am 7. Apr 2012, 19:37
Verschiedene Faktoren kommen hier in Frage (Das habe ich aber schon ganz oft im Forum erklärt):

1. Keine Leerzeichen in der Bezeichnung der einzelnen Meshes (Subobjecte) des Models. Dadurch wird dieses Subobject ingame unsichtbar.
2. Wenn ein Model unsichtbar ist, dann unter neuem Namen exportieren. Mit manchen Bezeichnungen kann das Spiel und der w3d-Viewer nichts anfangen.
3. Niemals ein Model mit gleichem Namen überschreiben. Die Folge daraus ist in der Regel immer ein unsichtbares Model.
Titel: Re:ObjectCreationUpgrade - Festung
Beitrag von: Radagast der Musikalische am 7. Apr 2012, 19:48
Der Körper hatte tatsächlich eine Beschreibung mit einem Leerzeichen. Das ist schon seltsam, da ich diesen gar nicht umbenannt habe! Ich hoffe, dass es jetzt funktioniert.

Und... ich habe noch eine Frage:
Die Rekrutierungsbuttons für die Helden haben bei mir immer einen schwarzen Hintergrund und nicht den normalen "Himmel". Muss man da etwas bestimmtes machen, damit das klappt?

MfG Radagast
Titel: Re:ObjectCreationUpgrade - Festung
Beitrag von: Ealendril der Dunkle am 7. Apr 2012, 19:53
Wenn du einen Alphakanal in der ausgewählten Textur hast, dann wird im Palantir der Alpha-Kanal akzeptiert und die dort enthaltenen Flächen ausgeblendet. Im Radial-Menü hingegen wird der Alpha-Kanal nicht angewendet, wodurch dort alle Flächen, selbst diejenigen, die im Alpha-Kanal liegen, angezeigt.
Titel: Re:ObjectCreationUpgrade - Festung
Beitrag von: Radagast der Musikalische am 7. Apr 2012, 20:51
Wenn du einen Alphakanal in der ausgewählten Textur hast, dann wird im Palantir der Alpha-Kanal akzeptiert und die dort enthaltenen Flächen ausgeblendet. Im Radial-Menü hingegen wird der Alpha-Kanal nicht angewendet, wodurch dort alle Flächen, selbst diejenigen, die im Alpha-Kanal liegen, angezeigt.
Und wie kann ich dieses Problem umgehen? Ich hab jetzt nicht ganz verstanden, was ich dagegen machen kann!
Titel: Re:ObjectCreationUpgrade - Festung
Beitrag von: Ealendril der Dunkle am 8. Apr 2012, 00:17
Indem du keinen Alphakanal, der die Wolken verdeckt, bei der definierten Textur hast. ;)
Titel: Re:ObjectCreationUpgrade - Festung
Beitrag von: Radagast der Musikalische am 14. Apr 2012, 01:14
Also es tut mir Leid, aber ich bekomme es irgendwie nicht hin. Wenn ich keinen Alphakanal benutze, habe ich überhaupt keine Transparenz. Entweder bin ich zu blöd oder GIMP kann das nicht. Ich tippe auf ersteres! :D
Titel: Re:ObjectCreationUpgrade - Festung
Beitrag von: thepinking am 14. Apr 2012, 15:30
Du willst einen schwarzen Hintergrund wenn der Button im Palantir ist, und einen mit Wolken wenn er Radial ist?
Dann mach vollgendes: Bearbeite deine Kontur so das man nurnoch das sieht was man Später auf dem Hintergrund haben will (kein Alphakanal, sondern Ebenenmaske), mach den Wolkenhintergrund auf den Button, setzt die Bearbeitete Kontur hin, und gib der Kontur nochmal einen Alphakanal (so wie der der jetzt schon bei dir drauf ist)
Titel: Re:ObjectCreationUpgrade - Festung
Beitrag von: Radagast der Musikalische am 14. Apr 2012, 15:43
Schon wieder etwas mit Ebenenmaske! Oh ja das liebe ich ja total! Ehrlich gesagt habe ich auch immer noch nicht ganz verstanden, was ich machen muss. Mit Alphakanälen und Ebenenmasken kenne ich mich überhaupt nicht aus.  :D
Titel: Re:ObjectCreationUpgrade - Festung
Beitrag von: Ealendril der Dunkle am 14. Apr 2012, 16:39
http://modding-union.com/?path=grafiktuts#kopf

Wir haben diverse Tutorials, auch für Gimp.
Titel: [Re:]Windows 7 - Seltsame Fehlermeldungen
Beitrag von: Radagast der Musikalische am 17. Apr 2012, 01:22
Ich habe wieder mal ein Problem. Ich habe nun alle meine Modding-Daten auf meinen Laptop gezogen um sie dort auszuprobieren. Beim Start des Spiels bekomme ich jetzt aber die wahnwitzigsten Fehlermeldungen. Meistens werden sogar Fehler gefunden in ini's, die ich nicht einmal bearbeitet habe.
Betriebssystem ist Windows 7 und ich bin Administrator. Komischerweise fragt mich Windoof aber trotzdem immer, ob ich Dateien trotz fehlender Administrationsrechte verschieben möchte. So auch bei den Mod-Bigs. Kann es etwas damit zu tun haben.

Edit: Das Problem mit den Adminrechten habe ich nicht mehr, aber dir Fehlermeldungen kommen immer noch. Jetzt bekomme ich ständig dir Fehlermeldung, dass "EditorSorting" im Objectblock unbekannt ist. Aber nur bei dem Object, dass ich verändert habe. Ich führe das Spiel auch immer als Administrator aus! ;)

MfG Radagast
Titel: Re:ObjectCreationUpgrade - Festung
Beitrag von: Mîlûr der Helle am 17. Apr 2012, 10:17
verwendest du auf dem leptop den mod command?
Titel: [Re:]Windows 7 - Seltsame Fehlermeldungen
Beitrag von: Radagast der Musikalische am 17. Apr 2012, 11:28
Ich kann leider jetzt nich ganz nachvollziehen, worauf du hinauswillst!
Titel: Re:ObjectCreationUpgrade - Festung
Beitrag von: Mîlûr der Helle am 17. Apr 2012, 13:06
das passiert mir häufiger aber nur wenn ich den mod command verwende sobald ich das einfüge wie z.b. in edain m tritt der fehler bei mir nichtmehr auf
Titel: Re:ObjectCreationUpgrade - Festung
Beitrag von: Radagast der Musikalische am 17. Apr 2012, 13:12
Also meinst du, ob ich eine extra Verknüpfung mit dem -Mod-Anhang habe? Wenn du das meinst, dann nein, das benutze ich nicht! Ich habe die Mod-Bigs alle im Hauptverzeichnis und benutze das Include-System.

Edit: Problem gelöst!
Titel: Re:Radagasts Coding-Fragen-Thread
Beitrag von: Radagast der Musikalische am 25. Apr 2012, 23:27
Jetzt habe ich schon wieder das gleiche Problem wie vorher bei den anderen Einheiten. Ständig wird mir gesagt, dass VisionRange unbekannt ist. Wie kommt es dazu, dass Dinge als falsch angezeigt werden, die in allen anderen inis korrekt sind? Ich stehe so langsam echt auf dem Schlauch!

Edit: Ich habe die ini nochmal komplett überholt und jetzt sagt er mir, dass schon "Draw" unbekannt ist. Ich habe mal irgendwo gelesen, dass solche Fehler entstehen können, wenn man aus beschädigten inis oder Textdokumenten Codes kopiert. Aber ich habe die Codes alle aus Originalinis kopiert und der Rest ist selbstgeschrieben.
Titel: Re:Radagasts Coding-Fragen-Thread
Beitrag von: Sanalf 2 am 26. Apr 2012, 13:40
Also meine Idee dazu wäre, dass du vielleicht irgendwo einen Block nicht mit einem "End" abgeschlossen hast oder vielleicht eins zu viel da steht. Das is mir öfters passiert, wenn ich Zeilen selbst geschrieben habe. Durch diese dauernden Unterblöcke in den Unterblöcken der Unterblöcke, die aber trotzdem alle mit einem "End" versehen sein müssen, kommt man da schnell durcheinander und das Spiel liest dann die ini nicht mehr richtig.

mfg
sanalf 2
Titel: Re:Radagasts Coding-Fragen-Thread
Beitrag von: Radagast der Musikalische am 26. Apr 2012, 14:48
Naja, das habe ich am Anfang auch gedacht, aber da die Draw Einträge die ersten sind, die man in den inis findet gibt es vorher nichts, dass man mit End abschließen müsste. Und die Animationen sind alle korrekt mit Ends abgeschlossen. Das habe ich extra mehrmals überprüft! Außerdem sind die ja alle aus Faramirs Original-ini kopiert.

Ich habe sogar nochmal die komplette ini neu gemacht und wieder nur Sachen aus bereit integrierten inis kopiert und den Rest wieder neu geschrieben. Kann es auch sein, dass die ini selbst nicht richtig gelesen wird, also die ini beschädigt ist. Wenn ich neue inis erstelle, muss ich dann immer mit einer leeren Datei anfangen oder kann ich dann auch eine alte kopieren, umbenennen und dann bearbeiten? Ich glaube nicht, dass das daran liegt, aber man weiß ja nie, was alles so zu Problemen führen kann.

Edit: Problem gelöst! Ich habe die ini nochmal unter einem anderen Namen gespeichert und auf einmal geht es. Fragt mich nicht warum!

MfG Radagast
Titel: Re:Radagasts Coding-Fragen-Thread
Beitrag von: Souls of Black am 26. Apr 2012, 17:10
Manchmal sind Codes echt witzig. Ja, du kannst auch einfach Inis kopieren, umbennenen und dann ändern. So mach ich das eigentlich immer^^
Titel: Re:Radagasts Coding-Fragen-Thread
Beitrag von: Radagast der Musikalische am 26. Apr 2012, 17:16
Ja ich fühle mich manchmal schon echt veräppelt. Wenn das mit dem kopieren dazu geführt hätte, wäre ich erstaunt, weil ich das bisher immer so gemacht habe.

Naja ich bin froh, dass es jetzt klappt.
Titel: Re:Radagasts Coding-Fragen-Thread
Beitrag von: Ealendril der Dunkle am 27. Apr 2012, 10:49
Ich habe das hier schonmal im Forum erklärt:
Wenn ihr Zeilen/Wörter/Buchstaben aus undefinierten oder fehlerhaften Dateien rüberzieht (z.b. aus dem Forum ohne diese Funktion: blub, oder aus fehlerhaften Textdokumenten), dann erkennt das System diese Wörter nicht an und liest sie als falsche Definition. Es kann auch passieren, dass man in einer ini ist, dort etwas schreibt, auf den Desktop klickt und etwas anderes macht, und danach direkt finalbig speichert, das ganze Zeilen verrutschen oder Einträge als nichtig und fehlerhaft angesehen werden.
Gleiches gilt für diesen Fall:
Zitat
Ich habe wieder mal ein Problem. Ich habe nun alle meine Modding-Daten auf meinen Laptop gezogen um sie dort auszuprobieren.
Niemals Konfiguartionsdateien auf eine andere Plattform ziehen. Diese werden in jedem Betriebssystem anders gelesen und können beim kopieren sehr häufig für Fehler sorgen. Immer nur direkte big.-Dateien kopieren. Hierbei auch darauf achten, welches big.Format es ist, es gibt verschiedene Big-Formate.
Titel: Re:Radagasts Coding-Fragen-Thread
Beitrag von: Radagast der Musikalische am 27. Apr 2012, 13:45
Ich weiß, dass du das bereits erklärt hast, aber wie gesagt habe ich weder etwas aus einem Forum, einem Textdokument, noch aus fehlerhaften ini's kopiert. Ich habe auch während dem Coding keine anderen Programme laufen. Deshalb wusste ich ja nicht, warum es nicht funktioniert hat. Aber ist ja auch egal, weil es ja jetzt alles funktioniert.

Ich habe übrigens auch die Big auf den Laptop gezogen und nicht die ini's!

LG
Titel: Re:Radagasts Coding-Fragen-Thread
Beitrag von: Radagast der Musikalische am 6. Aug 2012, 16:41
Nach längerer Zeit habe ich wieder ein kleines Problem. Und zwar möchte ich einen Helden machen, der sowohl zu Fuß, als auch Beritten mit einem Speer kämpft. Dafür möchte ich die Animationen der Turmwachen und der Rohirrim benutzen, allerdings ohne dafür extra zwei Objects zu machen. Die Codes für die Animationen sehen bei mir so aus:

    Draw = W3DScriptedModelDraw ModuleTag_DRAW

        DefaultModelConditionState
            Model               = ruhero_foot
        End

        ModelConditionState            = MOUNTED
            Model    =    ruhero_horse
        End

;-----------------------------------------------------------------
; Beritten
;-----------------------------------------------------------------

        AnimationState = MOUNTED
            StateName                =    Idle
            Animation                =    IdleB
                AnimationName        =    RURohrm_SKL.RURohrm_IDLB
                AnimationMode        =    ONCE
                AnimationBlendTime    =    15
            End
            BeginScript
                Prev = CurDrawablePrevAnimationState()
                if Prev == "State_Selected" then CurDrawableSetTransitionAnimState("TRANS_Selected_To_Idle") end
            EndScript
        End
               
        AnimationState                =    PASSENGER MOUNTED
            Animation                =    grabbed
                AnimationName        =    RURohrm_SKL.RURohrm_GBDA
                AnimationMode        =    LOOP
            End
        End
       
        ; --- stunned anims
        AnimationState                =    FREEFALL MOUNTED
            Animation                =    free fall
                AnimationName        =    RURohrm_SKL.RURohrm_FLYB
                AnimationMode        =    LOOP
                AnimationBlendTime    =    10
            End
        End
       
        AnimationState                =    STUNNED_FLAILING MOUNTED
            Animation                =    JustDie
                AnimationName        =    RURohrm_SKL.RURohrm_FLYC
                AnimationMode        =    LOOP
            End
            Flags                    =    RANDOMSTART
        End

        AnimationState                =    DYING DEATH_1 SPLATTED MOUNTED
            Animation                =    splatted
                AnimationName        =    RURohrm_SKL.RURohrm_LNDA
                AnimationMode        =    ONCE
                AnimationBlendTime  =   2
            End
            FXEvent    = Frame:2 Name:FX_SplatDust
        End
       
        AnimationState                =    DYING DEATH_1 MOUNTED
            Animation                =    JustDie
                AnimationName        =    RURohrm_SKL.RURohrm_DIEA
                AnimationMode        =    ONCE
            End
        End
       
        AnimationState                =    DYING DEATH_2 MOUNTED
            Animation                =    FadeOut
                AnimationName        =    RURohrm_SKL.RURohrm_IDLB
                AnimationMode        =    ONCE
            End
        End
       
        AnimationState                =    STUNNED_STANDING_UP MOUNTED
            Animation                =    StandUp
                AnimationName        =    RURohrm_SKL.RURohrm_GTPA
                AnimationMode        =    ONCE
                AnimationSpeedFactorRange = 1.5 1.5
            End
        End
       
        AnimationState                =    STUNNED MOUNTED
            Animation                =    Land
                AnimationName        =    RURohrm_SKL.RURohrm_LNDA
                AnimationMode        =    ONCE
            End
        End
           
        AnimationState        = MOVING FIRING_OR_PREATTACK_A MOUNTED
            ShareAnimation        = Yes
            Animation           = TrotAndFire
                AnimationName       = RURohrm_SKL.RURohrm_ATRB
                AnimationMode       = LOOP
                Distance            = 70; 35
            End
            Flags               = RANDOMSTART
        End

;;======= BACKING UP
       
        AnimationState                    = MOVING BACKING_UP MOUNTED
            Animation                    = BACKING UP
                AnimationName            = RURohrm_SKL.RURohrm_BAKA
                AnimationMode            = LOOP
            End
        End
       
        AnimationState                    =    TURN_LEFT_HIGH_SPEED MOUNTED
            Animation                    =    TurnLeft
                AnimationName            =    RURohrm_SKL.RURohrm_TNL1
                AnimationMode            =    LOOP
                AnimationBlendTime        =    20
            End
        End
       
        AnimationState                    =    TURN_RIGHT_HIGH_SPEED MOUNTED
            Animation                    =    TurnRight
                AnimationName            =    RURohrm_SKL.RURohrm_TNR1
                AnimationMode            =    LOOP
                AnimationBlendTime        =    20
            End
        End
       
        AnimationState                    = MOVING WANDER MOUNTED
            Animation                    = WLKA
                AnimationName            = RURohrm_SKL.RURohrm_WLKA
                AnimationMode            = LOOP
            End
        End

        AnimationState                    =    MOVING TURN_LEFT MOUNTED
            Animation                    =    TurnLeft
                AnimationName            =    RURohrm_SKL.RURohrm_TRNL
                AnimationMode            =    LOOP
            End
        End

        AnimationState                    =    MOVING TURN_RIGHT MOUNTED
            Animation                    =    TurnRight
                AnimationName            =    RURohrm_SKL.RURohrm_TRNR
                AnimationMode            =    LOOP
            End
        End

        AnimationState                    = MOVING ENGAGED MOUNTED
            Animation                    = Moving_Engaged
                AnimationName            = RURohrm_SKL.RURohrm_RUNC
                AnimationMode            = LOOP
            End
            Flags                        = RANDOMSTART
        End

        AnimationState                    = MOVING USING_COMBO_LOCOMOTOR MOUNTED
            Animation                    = Walk1
                AnimationName            = RURohrm_SKL.RURohrm_WLKB
                AnimationMode            = LOOP
                Distance                = 25
            End
        End

        AnimationState                    = MOVING ACCELERATE MOUNTED
            Animation                    = Accelerate
                AnimationName            = RURohrm_SKL.RURohrm_ACCL
                AnimationMode            = ONCE ; was LOOP
            End
        End

        AnimationState                    = MOVING DECELERATE MOUNTED
            Animation                    = Decelerate
                AnimationName            = RURohrm_SKL.RURohrm_DECL
                AnimationMode            = ONCE
            End
        End
           
        AnimationState                    =    MOVING MOUNTED
            Animation                    =    RunA
                AnimationName            =    RURohrm_SKL.RURohrm_RUNA
                AnimationMode            =    LOOP
                Distance                =   40
            End
            Flags                        =    RANDOMSTART
        End

        AnimationState                    =    FIRING_OR_PREATTACK_A MOUNTED
            Animation                    =    AttackA1
                AnimationName            =    RURohrm_SKL.RURohrm_ATKA
                AnimationMode            =    ONCE
            End
        End

;;--------------------- EMOTIONS ----------------------------------------------------------------------------------
;;===== TERROR       
        AnimationState                    = MOVING EMOTION_TERROR EMOTION_LOOK_TO_SKY MOUNTED
            Animation                    = TerrorFromTheSky
                AnimationName            = RURohrm_SKL.RURohrm_RUNB
                AnimationMode            = LOOP
            End
        End
       
        AnimationState                    = MOVING EMOTION_TERROR MOUNTED
            Animation                    = TerrorFromTheSky
                AnimationName            = RURohrm_SKL.RURohrm_RUNB
                AnimationMode            = LOOP
            End
        End
       
;;======= APPREHENSIVE

        AnimationState                    =    EMOTION_ALERT EMOTION_AFRAID MOUNTED
            Animation                    =    Apprehensive
                AnimationName            =    RURohrm_SKL.RURohrm_APPA
                AnimationMode            =    LOOP    ;Change this to ONCE if adding additional anims
            End
        End

;;======= AFRAID

        AnimationState                    = EMOTION_AFRAID MOUNTED
            Animation                    = FERA
                AnimationName            = RURohrm_SKL.RURohrm_FERA
                AnimationMode            = LOOP
            End
        End

;;======= CELEBRATING
       
        AnimationState                    =    EMOTION_CELEBRATING MOUNTED
            Animation                    =    CheerA
                AnimationName            =    RURohrm_SKL.RURohrm_CHRA
                AnimationMode            =    ONCE
            End
            Animation                    =    CheerB
                AnimationName            =    RURohrm_SKL.RURohrm_CHRB
                AnimationMode            =    ONCE
            End
            Animation                    =    CheerC
                AnimationName            =    RURohrm_SKL.RURohrm_CHRC
                AnimationMode            =    ONCE
            End
            Animation                    =    CheerD
                AnimationName            =    RURohrm_SKL.RURohrm_CHRD
                AnimationMode            =    ONCE
            End
            Animation                    =    Salute
                AnimationName            =    RURohrm_SKL.RURohrm_SLTA
                AnimationMode            =    ONCE
            End
            Flags                        = RANDOMSTART RESTART_ANIM_WHEN_COMPLETE
        End

;;======= TAUNTING
           
        AnimationState                    = EMOTION_TAUNTING MOUNTED
            Animation                    = Taunting
                AnimationName            = RURohrm_SKL.RURohrm_TNTA
                AnimationMode            = ONCE
            End
            Animation                    = Taunting2
                AnimationName            = RURohrm_SKL.RURohrm_TNTB
                AnimationMode            = ONCE
            End
            Flags                        = RANDOMSTART RESTART_ANIM_WHEN_COMPLETE
        End

;;======= POINTING
           
        AnimationState                    = EMOTION_POINTING MOUNTED
            Animation                    = Pointing1
                AnimationName            = RURohrm_SKL.RURohrm_PNTA
                AnimationMode            = LOOP
            End
        End
       
;;======== ALERT

        AnimationState                    = EMOTION_ALERT MOUNTED
            Animation                    = IDLA
                AnimationName            = RURohrm_SKL.RURohrm_IDLA
                AnimationMode            = LOOP
            End
        End
       
;;-------------------- SELECTED ---------------------------------------------------------------
               
        AnimationState                    = SELECTED MOUNTED
            StateName                    = State_Selected
            SimilarRestart                = Yes
            Animation                    = AtAttention
                AnimationName            = RURohrm_SKL.RURohrm_IDLA   
                AnimationMode            = LOOP
            End
            BeginScript
                Prev = CurDrawablePrevAnimationState()
                if Prev == "Idle" then CurDrawableSetTransitionAnimState("TRANS_Idle_To_Selected") end
            EndScript
        End
       
        TransitionState                    =    TRANS_Idle_to_Selected
            Animation                    =    ATNA
                AnimationName            =    RURohrm_SKL.RURohrm_ATNA
                AnimationMode            =    ONCE
                AnimationSpeedFactorRange = 0.6 1.0
            End
        End
       
        TransitionState                    =    TRANS_Selected_to_Idle
            Animation                    =    ATNC
                AnimationName            =    RURohrm_SKL.RURohrm_ATNA
                AnimationMode            =    ONCE_BACKWARDS
                AnimationSpeedFactorRange = 0.6 1.0
            End
            Flags                        = START_FRAME_LAST
        End

;-----------------------------------------------------------------
; Zu Fuß
;-----------------------------------------------------------------   
        AnimationState        = THROWN_PROJECTILE
            Animation           = FLYA
                AnimationName     = GUTowerGrd_SKL.GUTowerGrd_FLYA
                AnimationMode     = LOOP
            End
        End

        AnimationState                            = PASSENGER FREEFALL
            Animation                            = Grabbed
                AnimationName                    = GUTowerGrd_SKL.GUTowerGrd_FLLA
                AnimationMode                    = LOOP
            End
        End
       
        AnimationState                            = FREEFALL
            Animation                            = Falling
                AnimationName                    = GUTowerGrd_SKL.GUTowerGrd_FLYA
                AnimationMode                    = LOOP
                AnimationBlendTime                = 10
            End
        End
       
        AnimationState        = MOVING FIRING_OR_PREATTACK_A
            ShareAnimation        = Yes
            Animation           = RunAndFire
                AnimationName       = GUTowerGrd_SKL.GUTowerGrd_ATRA
                AnimationMode       = LOOP
            End
            Flags               = RANDOMSTART 
        End

;;=======TERROR
        AnimationState                    = MOVING EMOTION_TERROR EMOTION_LOOK_TO_SKY
            ShareAnimation                = Yes
            Animation                    = TerrorFromTheSky
                AnimationName            = GUTowerGrd_SKL.GUTowerGrd_RUNB
                AnimationMode            = LOOP
            End
        End
        AnimationState                    = MOVING EMOTION_TERROR
            ShareAnimation                = Yes
            Animation                    = Terror
                AnimationName            = GUTowerGrd_SKL.GUTowerGrd_RUNB
                AnimationMode            = LOOP
            End
        End
;;----------------
;;=======BACK UP
        AnimationState                =    MOVING BACKING_UP
            ShareAnimation = Yes
            Animation                =    BackingUp
                AnimationName        =    GUTowerGrd_SKL.GUTowerGrd_BAKA
                AnimationMode        =    LOOP
            End
            Flags                    =    RANDOMSTART
        End
;;--------------------
       
        AnimationState        = MOVING USING_COMBO_LOCOMOTOR
            ShareAnimation        = Yes
            Animation           = RUNA
                AnimationName     = GUTowerGrd_SKL.GUTowerGrd_WLKA
                AnimationMode     = LOOP
                Distance          = 40
            End
            Flags               = RANDOMSTART
            ;ParticleSysBone     = None InfantryDustTrails
        End

        AnimationState        = MOVING
            ShareAnimation = Yes
            Animation           = RUNA
                AnimationName     = GUTowerGrd_SKL.GUTowerGrd_RUNA
                AnimationMode     = LOOP
            End
            Flags               = RANDOMSTART
        End

        AnimationState        =  FIRING_OR_PREATTACK_A
            Animation           = ATKA
                AnimationName     = GUTowerGrd_SKL.GUTowerGrd_ATKA
                AnimationMode     = ONCE
                UseWeaponTiming        = Yes
            End
        End

        AnimationState        = STUNNED_FLAILING
            Animation           = FLYA
                AnimationName     = GUTowerGrd_SKL.GUTowerGrd_FLYA
                AnimationMode     = LOOP
            End
            Flags               = RANDOMSTART
        End

        AnimationState        = DYING SPLATTED
            Animation           = LNDA
                AnimationName     = GUTowerGrd_SKL.GUTowerGrd_LNDB
                AnimationMode     = ONCE
            End
        End
       
        AnimationState        = DYING
            Animation           = DIEA
                AnimationName     = GUTowerGrd_SKL.GUTowerGrd_DIEA
                AnimationMode     = ONCE
                AnimationSpeedFactorRange = 0.8 1.2
            End
        End
       
        AnimationState        = STUNNED_STANDING_UP
            Animation           = GTPA
                AnimationName     = GUTowerGrd_SKL.GUTowerGrd_GTPA
                AnimationMode     = ONCE
                AnimationSpeedFactorRange = 1.5 1.5
            End
        End

        AnimationState        = STUNNED
            Animation           = LNDA
                AnimationName     = GUTowerGrd_SKL.GUTowerGrd_LNDB
                AnimationMode     = ONCE
            End
        End

        TransitionState       = TRANS_Plant
            Animation           = PLTA
                AnimationName     = GUTowerGrd_SKL.GUTowerGrd_PLTA
                AnimationMode     = ONCE
                AnimationSpeedFactorRange = 0.8 1.2
            End
        End

        TransitionState       = TRANS_Unplant
            Animation           = PLTB
                AnimationName     = GUTowerGrd_SKL.GUTowerGrd_PLTB
                AnimationMode     = ONCE
                AnimationSpeedFactorRange = 0.5 1.2
            End
        End
;;------------------ Hit Reaction ---------------------------------------
        AnimationState                        = HIT_REACTION
            Animation                        = HIT REACTION
                AnimationName                = GUTowerGrd_SKL.GUTowerGrd_HITA
                AnimationMode                = ONCE
            End
        End
;;------------------ EMOTIONS -------------------------------------------
;;======= APPREHENSIVE
        AnimationState                    = EMOTION_ALERT EMOTION_AFRAID
            ShareAnimation                = Yes
            Animation                    = Apprehensive
                AnimationName            = GUTowerGrd_SKL.GUTowerGrd_APPA
                AnimationMode            = LOOP    ;Change this to ONCE if adding additional anims
            End
        End

;;======= AFRAID

        AnimationState                    = EMOTION_AFRAID
            ShareAnimation                = Yes
            Animation                    = FERA
                AnimationName            = GUTowerGrd_SKL.GUTowerGrd_FERA
                AnimationMode            = LOOP
            End
            Animation                    = FERB
                AnimationName            = GUTowerGrd_SKL.GUTowerGrd_FERB
                AnimationMode            = LOOP
            End
        End

;;======= TAUNTING

        AnimationState                    = EMOTION_TAUNTING
            Animation                    = Taunting
                AnimationName            = GUTowerGrd_SKL.GUTowerGrd_TNTA
                AnimationMode            = ONCE
            End
            Animation                    = Taunting2
                AnimationName            = GUTowerGrd_SKL.GUTowerGrd_TNTB
                AnimationMode            = ONCE
            End
            Flags                        = RESTART_ANIM_WHEN_COMPLETE
        End

;;======= POINTING

        AnimationState                    = EMOTION_POINTING
            Animation                    = Pointing1
                AnimationName            = GUTowerGrd_SKL.GUTowerGrd_PNTA
                AnimationMode            = LOOP
            End
            Flags                        = RANDOMSTART
        End

;;======= CELEBRATING

        AnimationState                    = EMOTION_CELEBRATING
            Animation                    = CHRA
                AnimationName            = GUTowerGrd_SKL.GUTowerGrd_CHRA
                AnimationMode            = LOOP
            End
        End
;;-------------- ALERT STATE ------------------------------------------------------------

        AnimationState                    = EMOTION_ALERT
            Animation                    = CHRA
                AnimationName            = GUTowerGrd_SKL.GUTowerGrd_IDLA
                AnimationMode            = LOOP
            End
        End
       
;;-------------- SELECTED & IDLE --------------------------------------------------------
;;======== SELECTED

        AnimationState                    = SELECTED
            StateName                    = STATE_Selected
           
            ShareAnimation                = Yes
            Animation                    = ATNB
                AnimationName            = GUTowerGrd_SKL.GUTowerGrd_ATNB
                AnimationMode            = LOOP
            End
            BeginScript
                Prev = CurDrawablePrevAnimationState()
                if Prev == "STATE_Planted" then CurDrawableSetTransitionAnimState("TRANS_Unplant") end
            EndScript
        End

;;======== IDLE

        IdleAnimationState
            StateName                    = STATE_Idle
            Animation                    = IDLA
                AnimationName            = GUTowerGrd_SKL.GUTowerGrd_IDLA
                AnimationMode            = ONCE
                AnimationBlendTime        = 15
                AnimationSpeedFactorRange = 0.8 1.2
            End
            Animation                    = IDLA
                AnimationName            = GUTowerGrd_SKL.GUTowerGrd_IDLA
                AnimationMode            = ONCE_BACKWARDS
                AnimationBlendTime        = 9
                AnimationSpeedFactorRange = 0.8 1.2
            End
            BeginScript
                Prev = CurDrawablePrevAnimationState()
                if Prev == "STATE_Planted" then CurDrawableSetTransitionAnimState("TRANS_Unplant") end
            EndScript
        End
    End
Das Problem ist nun, dass die Animationen für den Berittenen Zustand nicht funktionieren. Das Model schwebt immer nur. Vielleicht hat ja hier jemand eine Ahnung, wo der Fehler liegt.

Titel: Re:Radagasts Coding-Fragen-Thread
Beitrag von: Ealendril der Dunkle am 6. Aug 2012, 17:19
Bei Mount-Modulen musst du die Animationen per Skeleton im ModelCondition definieren, und die SKL-Abschnitte aus den einzelne Animationen entfernen.
Zusätzlich darauf achten, dass auch (mit Ausnahme von Decel... und Accel..) jede Animation (MOVING, SELECTED etc.), sowohl im Mounted, als auch im Dismounted-State definiert ist.
Titel: Re:Radagasts Coding-Fragen-Thread
Beitrag von: Radagast der Musikalische am 6. Aug 2012, 18:03
Bei Mount-Modulen musst du die Animationen per Skeleton im ModelCondition definieren, und die SKL-Abschnitte aus den einzelne Animationen entfernen.
Zusätzlich darauf achten, dass auch (mit Ausnahme von Decel... und Accel..) jede Animation (MOVING, SELECTED etc.), sowohl im Mounted, als auch im Dismounted-State definiert ist.
Oh okay! Dazu habe ich noch drei Fragen:
1) Müssen die Animationen in beiden States in der gleichen Reihenfolge definiert sein
2) Müssen auch TransistionStates übernommen werden?
3) So Sachen wie TurnRight müssen nicht in die Dismounted-States oder?
Denn ich habe es nun so gemacht, wie du gesagt hast, aber es funktioniert trotzdem nicht!
Titel: Re:Radagasts Coding-Fragen-Thread
Beitrag von: Ealendril der Dunkle am 6. Aug 2012, 18:44
        DefaultModelConditionState
            Model               = DBBeorninger
        End

        ModelConditionState     = MOUNTED
            Model               = DBBear_SKN           
            Skeleton            = IUWarg_SKL
            WeaponLaunchBone    = PRIMARY B_JAWW
        End       


        ; -------------- STUNNED ANIMS ----------------
        AnimationState                        = PASSENGER MOUNTED
            Animation                        = Grabbed
                AnimationName                = IUWarg_GBDA
                AnimationMode                = LOOP
            End
        End
       
        AnimationState                        = FREEFALL MOUNTED
            Animation                        = freefall
                AnimationName                = IUWarg_FLYA
                AnimationMode                = LOOP
                AnimationBlendTime            = 10
            End
        End
       
        AnimationState                =    DYING BURNINGDEATH MOUNTED
            Animation
                AnimationName        =    IUWarg_DIEA
                AnimationMode        =    ONCE
                AnimationBlendTime    =    10
            End
        End

        AnimationState                =    DYING SPLATTED MOUNTED
            Animation                =    splatted
                AnimationName        =    IUWarg_LNDA
                AnimationMode        =    ONCE
            End
        End
       
        AnimationState                =    STUNNED_FLAILING MOUNTED
            Animation                =    JustDie
                AnimationName       =    IUWarg_FLYA
                AnimationMode       =    LOOP
            End
        End

        AnimationState                =    DYING MOUNTED
            Animation                =    JustDie
                AnimationName        =    IUWarg_DIEA
                AnimationMode        =    ONCE
            End
        End       

        AnimationState                =    BURNINGDEATH MOUNTED
            Animation
                AnimationName       =    IUWarg_MFDA
                AnimationMode       =    LOOP
                Distance            =    50
            End
        End

        AnimationState                =    STUNNED MOUNTED
            Animation                =    Land
                AnimationName       =    IUWarg_LNDA
                AnimationMode       =    ONCE
            End
        End

        AnimationState                =    STUNNED_STANDING_UP MOUNTED
            Animation                =    StandUp
                AnimationName       =    IUWarg_GTPA
                AnimationMode       =    ONCE
            End
        End
       
        ; -------------- MOVING ANIMS ---------------
        AnimationState                =    TURN_LEFT_HIGH_SPEED MOUNTED
            Animation                =    MTurnLeft
                AnimationName        =    IUWarg_TNL1
                AnimationMode        =    LOOP
            End
        End

        AnimationState                =    TURN_RIGHT_HIGH_SPEED MOUNTED
            Animation                =    MTurnRight
                AnimationName        =    IUWarg_TNR1
                AnimationMode        =    LOOP
            End
        End
       
        AnimationState                =    TURN_LEFT MOUNTED
            Animation                =    TurnRight
                AnimationName        =    IUWarg_TRNL
                AnimationMode        =    LOOP
                AnimationSpeedFactorRange = 2.0 2.0
            End
        End

        AnimationState                =    TURN_RIGHT MOUNTED
            Animation                =    TurnRight
                AnimationName        =    IUWarg_TRNR
                AnimationMode        =    LOOP
                AnimationSpeedFactorRange = 2.0 2.0
            End
        End

        AnimationState                =    MOVING ACCELERATE MOUNTED
            Animation                =    Accelerate
                AnimationName        =    IUWarg_ACCL
                AnimationMode        =    ONCE
            End
            ParticleSysBone                = None GenericSiegeTrailDust
        End
   
        AnimationState                =    MOVING DECELERATE MOUNTED
            Animation                =    Decelerate
                AnimationName        =    IUWarg_DECL
                AnimationMode        =    ONCE
            End
            ParticleSysBone                = None GenericSiegeTrailDust
        End
       
        AnimationState                =    MOVING BACKING_UP MOUNTED
            Animation                =    BackingUp
                AnimationName        =    IUWarg_BAKA
                AnimationMode        =    LOOP
            End
        End
       
        AnimationState                =    MOVING MOUNTED
            ShareAnimation            =    Yes
            Animation                =    RunA
                AnimationName        =    IUWarg_RUNA
                AnimationMode        =    LOOP
            End
            ;ParticleSysBone            =    None CalvaryDustTrails 
        End
       
        ; ----------- ATTACKING ANIMS --------------       
        AnimationState                =    BETWEEN_FIRING_SHOTS_A MOUNTED
            Animation                =    BetweenFiringShots
                AnimationName        =    IUWarg_IDLA
                AnimationMode        =    LOOP
                AnimationBlendTime    =   10
            End
        End

        AnimationState                =    FIRING_OR_PREATTACK_A MOUNTED
            Animation                =    AttackA3
                AnimationName        =    IUWarg_ATKA
                AnimationMode        =    ONCE
                UseWeaponTiming        =    Yes
                AnimationBlendTime  =    10
            End
        End
       
        AnimationState                =    ATTACKING MOUNTED
            Animation                =    AttackA3
                AnimationName        =    IUWarg_ATKA
                AnimationMode        =    LOOP
                AnimationBlendTime    =   10
            End
        End

        ; ----------- WAR CHANT ANIMS -------------
        AnimationState = WAR_CHANT MOUNTED
            Animation = Chant
                AnimationName = IUWarg_TNTA
                AnimationMode = LOOP
            End
        End

        ; ----------- EMOTION ANIMS ---------------
        AnimationState                    = EMOTION_TAUNTING MOUNTED
            Animation                    = TNTA
                AnimationName            = IUWarg_TNTA
                AnimationMode            = LOOP
            End
        End
       
        AnimationState                    = EMOTION_CELEBRATING MOUNTED
            Animation                   = CHRA
                AnimationName            = IUWarg_CHRA
                AnimationMode            = ONCE
            End
        End

       
        ; ----------- IDLE ANIMS ---------------
        AnimationState                            = EMOTION_ALERT MOUNTED
            StateName                            = STATE_Ready
            Animation                            = ALERT
                AnimationName                    = IUWarg_IDLA
                AnimationMode                    = LOOP
            End
            BeginScript
                Prev = CurDrawablePrevAnimationState()
                if Prev == "Selected" then CurDrawableSetTransitionAnimState("Selected_to_Ready") end
            EndScript   
        End
       
        ; ----------- SELECTED ANIMS --------------
        AnimationState                =    SELECTED MOUNTED
            SimilarRestart            =   Yes
            Animation                =    AtAttention
                AnimationName        =    IUWarg_ATNB
                AnimationMode        =    LOOP
            End
            StateName                = Selected
            BeginScript
                Prev = CurDrawablePrevAnimationState()
                if Prev == "Idle" then CurDrawableSetTransitionAnimState("Idle_to_Selected") end
                if Prev == "STATE_Ready" then CurDrawableSetTransitionAnimState("Ready_to_Selected") end
            EndScript
        End

    AnimationState                = MOUNTED
            Animation = IDLB
                AnimationName        =    IUWarg_IDLB
                AnimationMode        =    ONCE
                AnimationBlendTime    =    10
                AnimationPriority   =    20
            End
            Animation = IDLD
                AnimationName        =    IUWarg_IDLD
                AnimationMode        =    ONCE
                AnimationBlendTime    =    10
                AnimationPriority   =    10
            End
            Animation = IDLC
                AnimationName        =    IUWarg_IDLC
                AnimationMode        =    ONCE
                AnimationBlendTime    =    10
                AnimationPriority   =    2
            End
            StateName                = Idle
            Flags                    = RESTART_ANIM_WHEN_COMPLETE
            BeginScript
                Prev = CurDrawablePrevAnimationState()
                if Prev == "Selected" then CurDrawableSetTransitionAnimState("Selected_to_Idle") end
            EndScript
        End

        ;------------ TRANSITION ANIMS ----------------
        TransitionState       = Selected_to_Idle
            Animation           = ATNE
                AnimationName        =    IUWarg_ATNC
                AnimationMode        =    ONCE
                AnimationSpeedFactorRange = 0.7 1.3
            End
        End
       
        TransitionState       = Idle_to_Selected
            Animation           = ATND
                AnimationName     = IUWarg_ATNA
                AnimationMode   =    ONCE
                AnimationSpeedFactorRange = 0.7 1.3
            End
        End
       
            AnimationState = SPECIAL_WEAPON_ONE MOUNTED
            StateName = Attacking
            Animation
                AnimationName        = IUWarg_ATKA
                AnimationMode        = ONCE
            End
        End
       
            AnimationState = SPECIAL_POWER_1 MOUNTED
            StateName = Attacking
            Animation
                AnimationName        = IUWarg_ATKA
                AnimationMode        = ONCE
            End
        End

        AnimationState = SPECIAL_WEAPON_TWO MOUNTED
        StateName = Attacking
            Animation
                AnimationName        = IUWarg_ATKA
                AnimationMode        = ONCE
            End
            ;FXEvent                = Frame:10 Name:FX_FearBlast
        End

 


        AnimationState                = USER_2
            StateName                = ATHELAS
            Animation                = SPCC
                AnimationName        = Kuhwaldar_SKL.Kuhwaldar_SPCC
                AnimationMode        = ONCE
            End
        End

        ; --- Idle Anims
        IdleAnimationState
            StateName = Idle           
            Animation           = IDLB
                AnimationName     = Kuhwaldar_SKL.Kuhwaldar_IDLB 0 15
                AnimationMode     = ONCE
                AnimationPriority   = 20
            End           
            Animation           = IDLC
                AnimationName     = Kuhwaldar_SKL.Kuhwaldar_IDLC
                AnimationMode     = ONCE
                AnimationPriority   = 5
            End           
            Animation           = IDLD
                AnimationName     = Kuhwaldar_SKL.Kuhwaldar_IDLD
                AnimationMode     = ONCE
                AnimationPriority   = 5
            End           
            BeginScript
                Prev = CurDrawablePrevAnimationState()
                if Prev == "Selected" then CurDrawableSetTransitionAnimState("TRANS_Selected_To_Idle") end
            EndScript           
        End

       
        AnimationState        = STUNNED_FLAILING
            Flags               = RANDOMSTART
            Animation           = GUBoromir_FLYA
                AnimationName     = Kuhwaldar_SKL.Kuhwaldar_FLYA
                AnimationMode     = LOOP
            End
        End


        ; --- Dying anims
       
        AnimationState        = DYING SPLATTED
            Animation           = GUBoromir_LNDA
                AnimationName     = Kuhwaldar_SKL.Kuhwaldar_LNDA
                AnimationMode     = ONCE
            End
        End
        AnimationState        = DYING AFLAME
            Animation = DieAflame
                AnimationName       = Kuhwaldar_SKL.Kuhwaldar_MFDA
                AnimationMode       = LOOP
            End
        End
        AnimationState        = DYING
            Animation           = GUBoromir_DTHA
                AnimationName     = Kuhwaldar_SKL.Kuhwaldar_DTHA
                AnimationMode     = ONCE
            End
        End
       
        ; --- Stunned anims
        AnimationState        = STUNNED_STANDING_UP
            Animation           = GUBoromir_GTPA
                AnimationName     = Kuhwaldar_SKL.Kuhwaldar_GTPA
                AnimationMode     = ONCE
                AnimationSpeedFactorRange = 1.3 1.3
            End
        End
        AnimationState        = STUNNED
            Animation           = GUBoromir_LNDA
                AnimationName     = Kuhwaldar_SKL.Kuhwaldar_LNDA
                AnimationMode     = ONCE
            End
        End
       
        AnimationState        = PACKING_TYPE_2
            StateName          =    CaptainPower
            Animation           = GUBoromir_CHRA
                AnimationName     = Kuhwaldar_SKL.Kuhwaldar_CHRA
                AnimationMode     = LOOP
                AnimationSpeedFactorRange = 1.2 1.2
            End
        End

        AnimationState        = SPECIAL_POWER_1
            Animation           
                AnimationName     = Kuhwaldar_SKL.Kuhwaldar_SPCC
                AnimationMode     = LOOP
            End
        End

        AnimationState        = SPECIAL_POWER_2
            Animation           
                AnimationName     = Kuhwaldar_SKL.Kuhwaldar_SPCC
                AnimationMode     = LOOP
            End
        End

        AnimationState        = SPECIAL_WEAPON_TWO
            Animation           
                AnimationName     = Kuhwaldar_SKL.Kuhwaldar_SPCC
                AnimationMode     = LOOP
            End
        End
       
       
        ; --- Moving Anims
        AnimationState        = MOVING WANDER WEAPONSTATE_CLOSE_RANGE
            StateName           = WithSword
            ;ParticleSysBone     = None InfantryDustTrails
            Animation           = GUBoromir_WLKA
                AnimationName     = Kuhwaldar_SKL.Kuhwaldar_WLKA
                AnimationMode     = LOOP
            End
        End
        ; non mo cap
        AnimationState        = MOVING WANDER
            ;ParticleSysBone     = None InfantryDustTrails
            Animation           = GUBoromir_WLKA
                AnimationName     = Kuhwaldar_SKL.Kuhwaldar_WLKA
                AnimationMode     = LOOP
            End
        End
       
       
        AnimationState        = MOVING FIRING_OR_PREATTACK_A
            ShareAnimation        = Yes
            Animation           = RunAndFire
                AnimationName       = Kuhwaldar_SKL.Kuhwaldar_RUNB
                AnimationMode       = LOOP
            End
            Flags               = RANDOMSTART 
        End
       
       
        AnimationState        = MOVING
            ;ParticleSysBone     = None InfantryDustTrails
            Flags               = RANDOMSTART
            Animation           = MOVE
                AnimationName     = Kuhwaldar_SKL.Kuhwaldar_RUNA
                AnimationMode     = LOOP
            End
        End
         

        ; Attacking Anims [Weapon_A]
        AnimationState        = FIRING_OR_PREATTACK_A
            StateName           = Attack
            Animation           = ATKA
                AnimationName     = Kuhwaldar_SKL.Kuhwaldar_ATKA
                AnimationMode     = ONCE
                UseWeaponTiming        = Yes
                AnimationPriority   = 20
            End
            Animation           = ATKB
                AnimationName    = Kuhwaldar_SKL.Kuhwaldar_ATKB
                AnimationMode     = ONCE
                UseWeaponTiming        = Yes
                AnimationPriority   = 2
            End
        End

       
        ; --------- Selected Anims and Transitions
        TransitionState                    =    TRANS_Idle_to_Selected
            Animation                    =    ATNA
                AnimationName            =    Kuhwaldar_SKL.Kuhwaldar_ATNA
                AnimationMode            =    ONCE
            End
        End
       
        TransitionState                    =    TRANS_Selected_To_Idle
            Animation                    =    ATNC
                AnimationName            =    Kuhwaldar_SKL.Kuhwaldar_ATNC
                AnimationMode            =    ONCE
            End
        End
       
        AnimationState                = LEVELED                         ; This state clears itself in 3 seconds
            Animation                = LevelUp
                AnimationName        = Kuhwaldar_SKL.Kuhwaldar_LVLA
                AnimationMode        = ONCE
            End
        End

        AnimationState                = RAISING_FLAG
            StateName                = STATE_ready
            Animation                = CHRA
                AnimationName        = Kuhwaldar_SKL.Kuhwaldar_CHRA
                AnimationMode        = LOOP
            End
        End

        AnimationState                =    SELECTED
            StateName                =    Selected
            SimilarRestart            =   Yes           
            Animation                =    ATNB
                AnimationName        =    Kuhwaldar_SKL.Kuhwaldar_ATNB
                AnimationMode        =    LOOP
            End
            BeginScript
                Prev = CurDrawablePrevAnimationState()
                if Prev == "Idle" then CurDrawableSetTransitionAnimState("TRANS_Idle_to_Selected") end
            EndScript
        End
       
        ;------------emotions---------------
        AnimationState            = EMOTION_CELEBRATING
            Animation           = CHRA
                AnimationName   = Kuhwaldar_SKL.Kuhwaldar_CHRA
                AnimationMode   = LOOP
            End
        End
       
        AnimationState                    = EMOTION_ALERT EMOTION_MORALE_HIGH
            Animation                    = Taunting
                AnimationName            =  Kuhwaldar_SKL.Kuhwaldar_TNTA
                AnimationMode            = ONCE
            End
            Animation                    = Taunting
                AnimationName            =  Kuhwaldar_SKL.Kuhwaldar_TNTB
                AnimationMode            = ONCE
            End
            Flags                        = RANDOMSTART RESTART_ANIM_WHEN_COMPLETE
        End
       
        ; READY IDLE
        AnimationState        = EMOTION_ALERT
            Animation           = ALERT_1
                AnimationName     = Kuhwaldar_SKL.Kuhwaldar_IDLA
                AnimationMode     = LOOP ;ONCE
            End
;            Flags               = RESTART_ANIM_WHEN_COMPLETE ; acts like an idle animation & keeps running the animations.
        End
       
       
        ; --------- Click and Hit Reactions ------------
        AnimationState = HIT_REACTION HIT_LEVEL_1
            Animation = Hit_Level_1_a
                AnimationName = Kuhwaldar_SKL.Kuhwaldar_HITA
                AnimationMode = ONCE
            End
        End       

        AnimationState                = USER_1
            StateName                = ATHELAS
            Animation                = ATKP
                AnimationName        = Kuhwaldar_SPCC
                AnimationMode        = ONCE
            End
        End     
 End



Ich habe ein eigenes MountedModule für die Beorninger mit zwei verschiedenen Sets erstellt, es ist also möglich sowas zu coden. Ich will jetzt nicht jeden deiner einzelnen Codes durchsehen (man verzeihe es mir^^), vielleicht hilft dir mein Code oben ja aber weiter.
Titel: Re:Radagasts Coding-Fragen-Thread
Beitrag von: Radagast der Musikalische am 7. Aug 2012, 00:19
Ich habe ein eigenes MountedModule für die Beorninger mit zwei verschiedenen Sets erstellt, es ist also möglich sowas zu coden. Ich will jetzt nicht jeden deiner einzelnen Codes durchsehen (man verzeihe es mir^^), vielleicht hilft dir mein Code oben ja aber weiter.
Ja ich verzeihe dir das! :D Leider hat mich das auch nicht wirklich weitergebracht. Sowohl im Mounted, als auch im Dismounted-State findet man alle AnimationStates in gleicher Reihenfolge mit Ausnahme der Deccelerate, Accelerate und Turn-AnimationStates. Auch das Skeleton ist unter ModelCondition angegeben und unter den Animationen nicht. Aber es geht trotzdem nicht.