Modderecke > Coding

Melkors Modding Fragen

<< < (5/19) > >>

Melkor Bauglir:
Ich habe vor kurzen dem Hexenkönig eine neue Fähigkeit verpasst, die allerdings bei Benutzung das Spiel zum Absturz bringt (üblicher Runtime-Error).
Die Fähigkeit soll bei Benutzung alle Einheiten und Helden um den Hexenkönig betäuben und die Gebäude im Zielgebiet schwächen.


--- Code: ---;---------------------------------------------------------
; Zermalmende Worte
;---------------------------------------------------------

    Behavior = UnpauseSpecialPowerUpgrade ModuleTag_WitchkingWorteEnabler
        SpecialPowerTemplate        = SpecialAbilityWitchkingWorteMS
        TriggeredBy                 = Upgrade_Held1RespawnLevel ;Upgrade_Held6RespawnLevel
        ObeyRechageOnTrigger        = Yes
    End

    Behavior = SpecialPowerModule ModuleTag_WitchkingWorteStarter
        SpecialPowerTemplate        = SpecialAbilityWitchkingWorteMS
        StartsPaused                = No
        UpdateModuleStartsAttack    = Yes
    End
   
    Behavior = ActivateModuleSpecialPower ModuleTag_WitchkingWorteMover
        SpecialPowerTemplate        = SpecialAbilityWitchkingWorteMS
        StartAbilityRange           = ANGMAR_NECRO_WELL_OF_SOULS_START_RANGE
        EffectRange                 = 65
TriggerSpecialPower         = ModuleTag_WitchkingWorteSchwächen TARGETPOS
TriggerSpecialPower         = ModuleTag_WitchkingWorteVerharrenTrigger OBJECTPOS
    End

    Behavior = SpecialPowerModule ModuleTag_WitchkingWorteSchwächen
        SpecialPowerTemplate          = SpecialAbilityWitchkingWorteBlast
        UpdateModuleStartsAttack      = Yes
        StartsPaused                  = No
    End

    Behavior = WeaponFireSpecialAbilityUpdate ModuleTag_WitchkingWorteBlastWeaponFireUpdate   
        SpecialPowerTemplate        = SpecialAbilityWitchkingWorteBlast
        WhichSpecialWeapon          = 2
        SkipContinue                = Yes
        UnpackTime                = 700
        PreparationTime             = 1   
        PackTime                = 100
        FreezeAfterTriggerDuration  = 250 ; Hold AI for this long after we fire.
        StartAbilityRange           = ANGMAR_NECRO_WELL_OF_SOULS_START_RANGE
        EffectRange                 = 65
        SpecialWeapon               = WitchKingWorteDebuffWeapon
    End

    Behavior = SpecialPowerModule ModuleTag_WitchkingWorteVerharrenTrigger
        SpecialPowerTemplate          = SpecialAbilityWitchkingWorteVerharren
        UpdateModuleStartsAttack      = Yes
        StartsPaused                  = No
    End

    Behavior = WeaponFireSpecialAbilityUpdate ModuleTag_WitchkingWorteVerharrenWeaponFireUpdate   
        SpecialPowerTemplate       = SpecialAbilityWitchkingWorteVerharren
        SpecialWeapon              = WitchkingWorteVerharrenStartWeapon
    End
--- Ende Code ---


--- Code: ---SpecialPower SpecialAbilityWitchkingWorteMS
    Enum                = SPECIAL_ARROW_STORM
    ReloadTime            = 1 ; MOUTH_OF_SAURON_DOUBT_RECHARGE_MS
    RadiusCursorRadius        = 65
    InitiateAtLocationSound     = WitchKingScreechMS
    Flags                = NEEDS_OBJECT_FILTER
    ObjectFilter            = NONE +STRUCTURE NEUTRAL ENEMIES
End

SpecialPower SpecialAbilityWitchkingWorteBlast
    Enum                    = SPECIAL_WORD_OF_POWER
    ReloadTime                = 1
End

SpecialPower SpecialAbilityWitchkingWorteVerharren
    Enum                    = SPECIAL_WORD_OF_POWER
    ReloadTime                = 1
End

--- Ende Code ---

Ich habe eine solche Fähigkeit übrigens noch nie gecodet, in der man mehrere SpecialPower-Module aufruft, also kann mir da durchaus einfach ein recht simpler Fehler passiert sein.


Gruß
Melkor Bauglir

Prinz von Dol Amroth:
Also der Teil beim Hexenkönig sieht richtig aus. Beim ActivateModule hast du auch die richtigen TriggerSpecialPower angegeben.

Bei den SpecialPowers würde ich für das Enum generell SPECIAL_GENERAL_TARGETLE SS verwenden, wie es auch sonst bei den activatedummi specialpowers ist. Für den Spielabsturtz ist das aber nicht verantwortlich.

Zeig mal deine Weapon.

PS: Wenn die Fähigkeit auf Einheiten, Helden und Gebäude wirken soll, wieso hast du dann in der SpecialPower nur Gebäude als Voraussetzung?

Melkor Bauglir:
Er soll sie auf Gebäude wirken, aber als Begleiterscheinung der Fähigkeit sollen alle nahen Einheiten und Helden kurz innehalten.


--- Code: ---Weapon WitchKingWorteDebuffWeapon
    IdleAfterFiringDelay  = 0
    AttackRange           = ANGMAR_NECRO_WELL_OF_SOULS_START_RANGE
    WeaponSpeed           = 801      ; dist/sec
    HitPercentage         = 100        ; When this weapon is used it will hit exactly 100% of the time.
    DelayBetweenShots     = 500    ; time between shots, msec
    PreAttackDelay        = 200   
    PreAttackType         = PER_ATTACK    ; Do the delay each time we attack a new target
    FiringDuration        = 1000
    AntiAirborneVehicle   = Yes
    AntiAirborneMonster   = Yes
    RadiusDamageAffects   = ENEMIES NOT_SIMILAR

    AttributeModifierNugget
         AttributeModifier    = WitchKingWorteDebuff
         Radius               = 65
         SpecialObjectFilter  = ANY +STRUCTURE ENEMIES
    End 
End

Weapon WitchkingWorteVerharrenStartWeapon
    RadiusDamageAffects        = ENEMIES ALLIES
    DelayBetweenShots      = 4000            ; time between shots, msec
    PreAttackDelay        = 0 ;PreAttackDelay+FiringDuration = UseWeaponTiming = Yes duration
    PreAttackType          = PER_SHOT
    FiringDuration        = 0

       WeaponOCLNugget
             WeaponOCLName = OCL_WitchkingVerharrenMS
       End
End

Weapon WitchkingVerharrenFinalWeapon
    RadiusDamageAffects       = ENEMIES ALLIES
    LeechRangeWeapon          = Yes
    CanFireWhileMoving        = No
    AttackRange               = 30.0
    MeleeWeapon               = Yes
    WeaponSpeed               = 799999.2        ; dist/sec (huge value == effectively instant)
    DelayBetweenShots         = ANGMAR_SHADE_LAMENT_DELAYBETWEENSHOTS     ; time between shots, msec
    PreAttackDelay            = ANGMAR_SHADE_LAMENT_PREATTACKDELAY     ; 433 is natural time of the stabbing animation.
    PreAttackType             = PER_SHOT ; Do the delay each time we attack a new target
    FiringDuration            = ANGMAR_SHADE_LAMENT_FIRINGDURATION         ; min 600 for anim
    DamageDealtAtSelfPosition = Yes                ; A melee based AoE.  Arc radiates from me, not them
 
    ParalyzeNugget   
          Radius         = 350
          Duration      = 4000
          SpecialObjectFilter    = NONE +HERO
    End
    LuaEventNugget                        ; Sends a lua script event out
        LuaEvent        = BeUncontrollablyAfraid
        Radius            = 350
        SendToEnemies    = Yes
        SendToAllies    = Yes
        SendToNeutral    = Yes
    End
End

--- Ende Code ---

--- Code: ---ObjectCreationList OCL_WitchkingVerharrenMS
    CreateObject
        ObjectNames          = WitchkingVerharrenPing
        Count                = 1
    End
    CreateObject
        ObjectNames          = WitchkingVerharrenWeaponPing
        Count                = 1
    End
End

--- Ende Code ---

--- Code: ---Object WitchkingVerharrenPing
    Draw = W3DScriptedModelDraw ModuleTag_Draw
        DefaultModelConditionState
            Model = None
        End
    End
    KindOf = INERT IMMOBILE UNATTACKABLE INERT_SHROUD_REVEALER

    Behavior = AttributeModifierAuraUpdate ModuleTag_DreadVisageAddition
        StartsActive             = Yes
        BonusName                = SauronsAugeLeadership
        RefreshDelay             = 2000
        Range                    = 350
        TargetEnemy              = Yes
        AntiCategory             = LEADERSHIP BUFF
        ObjectFilter             = ANY +INFANTRY +CAVALRY -STRUCTURE -BASE_FOUNDATION +HERO +HORDE +MONSTER +MACHINE
    End
    Behavior = AttributeModifierAuraUpdate ModuleTag_DreadVisageAddition2
        StartsActive             = Yes
        BonusName                = SauronsAugeLeadership
        RefreshDelay             = 2000
        Range                    = 350
        TargetEnemy              = No
        AntiCategory             = LEADERSHIP BUFF
        ObjectFilter             = ANY +INFANTRY +CAVALRY -STRUCTURE -BASE_FOUNDATION +HERO +HORDE +MONSTER +MACHINE ALLIES
    End
   
    Body = ActiveBody ModuleTag_MakesKillWork
        MaxHealth = 1
    End
    Behavior = LifetimeUpdate ModuleTag_HatchTrigger
        MinLifetime = 5000
        MaxLifetime = 5000
    End
    Behavior = SlowDeathBehavior ModuleTag_HatchProcess
        DestructionDelay    = 100
    End
End

Object WitchkingVerharrenWeaponPing
    Draw = W3DScriptedModelDraw ModuleTag_Draw
        DefaultModelConditionState
            Model = None
        End
    End
    KindOf = INERT IMMOBILE UNATTACKABLE INERT_SHROUD_REVEALER

    Body = ActiveBody ModuleTag_MakesKillWork
        MaxHealth = 1
    End
    Behavior = LifetimeUpdate ModuleTag_HatchTrigger
        MinLifetime = 100
        MaxLifetime = 100
    End
    Behavior = SlowDeathBehavior ModuleTag_HatchProcess
        DestructionDelay    = 100
        Weapon              = FINAL WitchkingVerharrenFinalWeapon
    End
End

--- Ende Code ---

Ist ein bisschen umfangreich, weil ich nicht wusste, wie ich sonst Furchtresistenzen von meinen eigenen Truppen entfernen kann.


Gruß
Melkor Bauglir

Prinz von Dol Amroth:
In dem Code habe ich auch keine Fehler gesehen. Dann zeig mal deinen CommandButton und die AttributeModifier.


Nach etwas nachdenken, habe ich auch dein Eggsystem verstanden.
Bist du dir sicher, dass das mit deinen AttributeModifierAuraUpd ates so richtig ist. Denn ich dachte, wenn man kein ALLIES/ENEMIES hinzufügt, dann würde ALLIES genommen. Inwieweit davon AntiCategory betroffen ist, weiß ich nicht genau, denn das wird ja im Originalspiel öftersverwendet gegen Feinde auch wenn die eigentliche Führerschaft auf Verbündete geht.

Wofür brauchst du eigentlich das KindOf INERT_SHROUD_REVEALER, bzw. was macht dies genau. Denn bei meinen Eggs verwende ich bis auf INERT_SHROUD_REVEALER die gleichen KindOfs.

Melkor Bauglir:
Also bei Saurons Auge (das ja auch schon seit Ewigkeiten Führerschaften aufhebt) stehen Führerschaft und AntiCategory in 2 unterschiedlichen Modulen, das sollte also klappen. INERT_SHROUD_REVEALER ist steht dort noch drin, weil ich faul wie ich bin andere Objekte kopiert und bearbeitet habe und das KindOf bei soetwas häufiger nicht so wichtig ist. Ich habe es jetzt mal entfernt. ;)

--- Code: ---CommandButton Command_SpecialAbilityWitchKingWorteMS
      Command                   = SPECIAL_POWER
      SpecialPower              = SpecialAbilityWitchkingWorteMS
      Options            = NEED_TARGET_POS CONTEXTMODE_COMMAND
      TextLabel                 = CONTROLBAR:WitchkingWorteMS
      ButtonImage               = UCGrond_Cloud
      CursorName        = Bombard
      RadiusCursorType    = EarthquakeRadiusCursor
      InvalidCursorName    = GenericInvalid
      ButtonBorderType          = ACTION
      DescriptLabel             = CONTROLBAR:ToolTipWitchkingWorteMS
      InPalantir                = Yes
      AutoAbility        = No
End

--- Ende Code ---

--- Code: ---ModifierList WitchKingWorteDebuff
    Category = WEAPON
    Modifier = ARMOR -50%
    Duration = 20000
End

--- Ende Code ---

Gruß
Melkor Bauglir

Navigation

[0] Themen-Index

[#] Nächste Seite

[*] Vorherige Sete

Zur normalen Ansicht wechseln