Modderecke > Coding

Marci_99's Fragenthread

<< < (20/47) > >>

Marci_99:
Hmmm sollte es aber


--- Code: ---CommandSet NoldorSoldatCommandSetMod
    1    = Command_ToggleStance
    2    = Command_ToggleElvenWarriorWeapon
    3    = Command_SpecialAbilityNoldorWeaponSong
    4    = Command_UpgradeNoldorPfeilUpgradeUnit
    12   = Command_CaptureBuilding   
    13   = Command_AttackMove
    14   = Command_Stop
    16   = Command_SetStanceBattle
    17   = Command_SetStanceAggressive
    18   = Command_SetStanceHoldGround
End


--- Ende Code ---

Radagast der Musikalische:
Du hast der Einheit bzw. der Horde auch das entsprechende CommandSet gegeben?

Marci_99:
Ja, habe ich
[code]
Object NoldorSoldaten
    ; ***ART Parameters ***

    SelectPortrait         = UPNoldorWarriorPortrait
    ButtonImage = BEElvenBarracks_LorienWa rrior

    Draw = W3DHordeModelDraw ModuleTag_01
    
        OkToChangeModelColor = Yes
        StaticModelLODMode = yes ; Will append M or L to the skin name depending on GameLOD

    LodOptions                        = LOW
        AllowMultipleModels            = ALLOW_MULTIPLE_MODELS_LO W
        MaxRandomTextures            = MAX_RANDOM_TEXTURES_LOW
        MaxRandomAnimations            = MAX_RANDOM_ANIMATIONS_LO W
        MaxAnimFrameDelta            = MAX_ANIM_FRAME_DELTA_LOW
    End
    
    LodOptions                    = MEDIUM
        AllowMultipleModels            = ALLOW_MULTIPLE_MODELS_ME D
        MaxRandomTextures            = MAX_RANDOM_TEXTURES_MED
        MaxRandomAnimations            = MAX_RANDOM_ANIMATIONS_ME D
        MaxAnimFrameDelta            = MAX_ANIM_FRAME_DELTA_MED
    End
    
    LodOptions                    = HIGH
        AllowMultipleModels            = ALLOW_MULTIPLE_MODELS_HI GH
        MaxRandomTextures            = MAX_RANDOM_TEXTURES_HIGH
        MaxRandomAnimations            = MAX_RANDOM_ANIMATIONS_HI GH
        MaxAnimFrameDelta            = MAX_ANIM_FRAME_DELTA_HIG H
    End
      

;;====================== MODELS ================================================================
        DefaultModelConditionSta te
            Model                = nulaelf_skn
            Skeleton             = RUElfWar_SKL
            WeaponLaunchBone     = PRIMARY ARROW
            WeaponLaunchBone     = SECONDARY ARROWNOCK    ; when upgraded to flaming arrow
        End

; --------- With Sword ------------
        ModelConditionState      = WEAPONSET_TOGGLE_1
            Model                = nulaelf_skn
            Skeleton             = RUElfWar_SKL
        End

; --------- With Fire arrows Upgrade  ------------
        ModelConditionState            = WEAPONSET_PLAYER_UPGRADE USER_4
            Model                = nulaelf_skn
            Skeleton            = RUElfWar_SKL
            WeaponLaunchBone        = PRIMARY ARROW
            WeaponLaunchBone        = SECONDARY ARROWNOCK    ; when upgraded to flaming arrow
        ;    ParticleSysBone            = FireArowTip arrowFire FollowBone:Yes
        ;    ParticleSysBone            = FireArowTip arrowFire FollowBone:Yes
        End

;;================== ANIMATIONS =================================================================

        ; ------ Flying ------- ;

        AnimationState                    = STUNNED_STANDING_UP WEAPONSET_TOGGLE_1
            StateName            = STATE_GetUp
            Animation                   = Sword
                AnimationName           = RUElfWar_GTPSX1
                AnimationMode           = ONCE
            End
            Animation                   = WantSword
                AnimationName           = RUElfWar_GTPB
                AnimationMode           = ONCE
            End
            Flags                = MAINTAIN_FRAME_ACROSS_ST ATES4
            BeginScript
                PrevState = CurDrawablePrevAnimation State()
                PrevAnim = CurDrawablePrevAnimation()
                if PrevState == "STATE_GetUp" or PrevState == "STATE_Land"
                then
                    if PrevAnim == "Bow" or PrevAnim == "WantSword"
                    then    
                        CurDrawableShowSubObject("arrow")
                        CurDrawableShowSubObject("arrownock")
                        return "WantSword"
                    end
                end
                
                CurDrawableHideSubObject("ArrowNock")
                CurDrawableHideSubObject("arrow")
                return "Sword"
            EndScript
        End
        
        AnimationState                    = STUNNED_STANDING_UP
            StateName            = STATE_GetUp
            Animation                   = Bow
                AnimationName           = RUElfWar_GTPB
                AnimationMode           = ONCE
            End
            Animation                   = WantBow
                AnimationName           = RUElfWar_GTPSX1
                AnimationMode           = ONCE
            End
            Flags                = MAINTAIN_FRAME_ACROSS_ST ATES4
            BeginScript
                PrevState = CurDrawablePrevAnimation State()
                PrevAnim = CurDrawablePrevAnimation()
                if PrevState == "STATE_GetUp" or PrevState == "STATE_Land"
                then
                    if PrevAnim == "WantBow" or PrevAnim == "Sword"
                    then
                        CurDrawableHideSubObject("ArrowNock")
                        CurDrawableHideSubObject("arrow")
                        return "WantBow"
                    end
                else
                    CurDrawableShowSubObject("arrow")
                    CurDrawableShowSubObject("arrownock")
                    return "Bow"
                end
            EndScript
        End

        AnimationState                    = STUNNED WEAPONSET_TOGGLE_1
            StateName            = STATE_Land
            Animation                   = Sword
                AnimationName           = RUElfWar_LNDB
                AnimationMode           = ONCE
            End
            Animation                   = WantSword
                AnimationName           = RUElfWar_LNDA
                AnimationMode           = ONCE
            End
            BeginScript
                PrevState = CurDrawablePrevAnimation State()
                PrevAnim = CurDrawablePrevAnimation()
                if PrevState == "STATE_Fly"
                then
                    if PrevAnim == "WantSword" or PrevAnim == "Bow"
                    then
                        CurDrawableShowSubObject("arrow")
                        CurDrawableShowSubObject("arrownock")
                        return "WantSword"
                    end
                end
                Flags            = MAINTAIN_FRAME_ACROSS_ST ATES3
                CurDrawableHideSubObject("ArrowNock")
                CurDrawableHideSubObject("arrow")
                return "Sword"
            EndScript
        End
        
        AnimationState                    = STUNNED
            StateName            = STATE_Land
            Animation                   = Bow
                AnimationName           = RUElfWar_LNDA
                AnimationMode           = ONCE
            End
            Animation                   = WantBow
                AnimationName           = RUElfWar_LNDB
                AnimationMode           = ONCE
            End
            Flags                = MAINTAIN_FRAME_ACROSS_ST ATES3
            BeginScript
                PrevState = CurDrawablePrevAnimation State()
                PrevAnim = CurDrawablePrevAnimation()
                if PrevState == "STATE_Fly"
                then
                    if PrevAnim == "WantBow" or PrevAnim == "Sword"
                    then
                        CurDrawableHideSubObject("ArrowNock")
                        CurDrawableHideSubObject("arrow")
                        return "WantBow"
                    end
                end
                
                CurDrawableShowSubObject("arrow")
                CurDrawableShowSubObject("arrownock")
                return "Bow"
            EndScript
        End

        AnimationState                    = STUNNED_FLAILING WEAPONSET_TOGGLE_1
            StateName            = STATE_Fly
            Animation                   = Sword
                AnimationName           = RUElfWar_FLYB
                AnimationMode           = LOOP
            End
            Animation                   = WantSword
                AnimationName           = RUElfWar_FLYA
                AnimationMode           = LOOP
            End
            Flags                = MAINTAIN_FRAME_ACROSS_ST ATES2
            BeginScript
                PrevState = CurDrawablePrevAnimation State()
                PrevAnim = CurDrawablePrevAnimation()
                if PrevState == "Ready_Bow" or PrevState == "Moving_Bow" or PrevState == "Bored_Bow"                                ;;;;;;#TODO put in various bow states here
                then
                    CurDrawableShowSubObject("arrow")
                    CurDrawableShowSubObject("arrownock")
                    return "WantSword"
                elseif PrevState == "STATE_Fly"
                then
                    if PrevAnim == "Bow" or PrevAnim == "WantSword"
                    then
                        CurDrawableShowSubObject("arrow")
                        CurDrawableShowSubObject("arrownock")
                        return "WantSword"
                    end
                end
                    
                CurDrawableHideSubObject("ArrowNock")
                CurDrawableHideSubObject("arrow")
                return "Sword"
            EndScript
        End
        
        AnimationState                    = STUNNED_FLAILING
            StateName            = STATE_Fly
            Animation                   = Bow
                AnimationName           = RUElfWar_FLYA
                AnimationMode           = LOOP
            End
            Animation                   = WantBow
                AnimationName           = RUElfWar_FLYB
                AnimationMode           = LOOP
            End
            Flags                = MAINTAIN_FRAME_ACROSS_ST ATES2
            BeginScript
                PrevState = CurDrawablePrevAnimation State()
                PrevAnim = CurDrawablePrevAnimation()
                if PrevState == "Ready_Sword" or PrevState == "Moving_Sword" or PrevState == "Bored_Sword"                            ;;;;;;#TODO put in various sword states here
                then
                    CurDrawableHideSubObject("ArrowNock")
                    CurDrawableHideSubObject("arrow")
                    return "WantBow"
                elseif PrevState == "STATE_Fly"
                then
                    if PrevAnim == "Sword" or PrevAnim == "WantBow"
                    then
                        CurDrawableHideSubObject("ArrowNock")
                        CurDrawableHideSubObject("arrow")
                        return "WantBow"
                    end
                end

                CurDrawableShowSubObject("arrow")
                CurDrawableShowSubObject("arrownock")
                return "Bow"
            EndScript
        End
        
        
        ; ------ Dying ------- ;

        AnimationState                    = DYING WEAPONSET_TOGGLE_1
            Animation                   = Sword1
                AnimationName           = RUElfWar_DIESv5
                AnimationMode           = ONCE
            End
            Animation                   = Sword2
                AnimationName           = RUElfWar_DIESV4
                AnimationMode           = ONCE
            End
            Animation                   = WantSword
                AnimationName           = RUElfWar_LNDA
                AnimationMode           = ONCE
            End
            
            BeginScript
                PrevState = CurDrawablePrevAnimation State()
                PrevAnim = CurDrawablePrevAnimation()
                if PrevState == "STATE_Fly"
                then
                    CurDrawableShowSubObject("arrow")
                    CurDrawableShowSubObject("arrownock")
                    return "WantSword"
                end
            
                CurDrawableHideSubObject("ArrowNock")
                CurDrawableHideSubObject("arrow")
                if GetClientRandomNumberRea l(0,2) < 1
                then
                    return "Sword1"
                else
                    return "Sword2"
                end
            EndScript
        End
        
        AnimationState                    = DYING
            Animation                   = Bow1
                AnimationName           = RUElfWar_DIEB
                AnimationMode           = ONCE
            End
            Animation                   = Bow2
                AnimationName           = RUElfWar_DIEBV5
                AnimationMode           = ONCE
            End
            Animation                   = WantBow
                AnimationName           = RUElfWar_LNDB
                AnimationMode           = ONCE
            End
            BeginScript
                PrevState = CurDrawablePrevAnimation State()
                PrevAnim = CurDrawablePrevAnimation()
                
                if PrevState == "STATE_Fly"
                then
                    CurDrawableHideSubObject("ArrowNock")
                    CurDrawableHideSubObject("arrow")
                    return "WantBow"
                end
                
                if GetClientRandomNumberRea l(0,2) < 1
                then
                    CurDrawableShowSubObject("arrow")
                    CurDrawableShowSubObject("arrownock")
                    return "Bow1"
                else
                    CurDrawableShowSubObject("arrow")
                    CurDrawableShowSubObject("arrownock")
                    return "Bow2"
                end
            EndScript
        End
        
        
;;======== TERROR

        AnimationState                = MOVING EMOTION_TERROR WEAPONSET_TOGGLE_1
            StateName            = Moving_Sword
            Animation            = Terror
                AnimationName        = RUElfWar_RUNN
                AnimationMode        = LOOP
                Distance        = 40
            End
            Animation            = finishrun_b
                AnimationName           = RUElfWar_RUNB
                AnimationMode           = ONCE
                AnimationBlendTime    = 0
                Distance        = 40
            End
            Animation            = runtrans_bs
                AnimationName           = RUElfWar_RUNC
                AnimationMode           = ONCE
                AnimationBlendTime    = 5
                Distance        = 70
            End
            Animation            = runtrans_sb_finish
                AnimationName           = RUElfWar_RUNT
                AnimationMode           = ONCE
                AnimationBlendTime    = 0
                Distance        = 70
            End
            Animation            = runnoblend_s
                AnimationName           = RUElfWar_RUNN
                AnimationMode           = LOOP
                AnimationBlendTime    = 0
                Distance        = 40
            End
            Flags                = RESTART_ANIM_WHEN_COMPLE TE MAINTAIN_FRAME_ACROSS_ST ATES
            BeginScript
                PrevAnim    = CurDrawablePrevAnimation()
                PrevState    = CurDrawablePrevAnimation State()
                CurDrawableHideSubObject("ARROW")
                CurDrawableHideSubObject("ARROWNOCK")
                
                if PrevState == "Moving_Bow"
                then
                    if PrevAnim == "runtrans_sb"
                    then
                        return "runtrans_sb_finish"
                    elseif PrevAnim == "finishrun_s"
                    then
                        return "runnoblend_s"
                    else
                        return "finishrun_b"
                    end
                elseif PrevAnim == "finishrun_b" or PrevAnim == "runtrans_sb_finish"
                then
                    return "runtrans_bs"
                elseif PrevAnim == "runtrans_bs" or PrevAnim == "run_s" or PrevAnim == "runnoblend_s"
                then
                    return "runnoblend_s"
                else
                    return "Terror"
                end                
            EndScript
        End
        AnimationState                = MOVING EMOTION_TERROR
            StateName            = Moving_Bow
            Animation            = RunAway_3
                AnimationName        = RUElfWar_RUNOT3
                AnimationMode        = ONCE
                Distance        = 40
            End
            Animation            = RunAway_2
                AnimationName        = RUElfWar_RUNOT4
                AnimationMode        = ONCE
                Distance        = 40
            End
            Animation            = RunAway
                AnimationName        = RUElfWar_RUNB
                AnimationMode        = ONCE
                Distance        = 40
            End
            Animation            = finishrun_s
                AnimationName           = RUElfWar_RUNN
                AnimationMode           = ONCE
                AnimationBlendTime    = 0
                Distance        = 40
            End
            Animation            = runtrans_sb
                AnimationName           = RUElfWar_RUNT
                AnimationMode           = ONCE
                AnimationBlendTime    = 5
                Distance        = 70
            End
            Animation            = runtrans_bs_finish
                AnimationName           = RUElfWar_RUNC
                AnimationMode           = ONCE
                AnimationBlendTime    = 0
                Distance        = 70
            End
            Animation            = RunAway_noblend
                AnimationName        = RUElfWar_RUNB
                AnimationMode        = ONCE
                AnimationBlendTime    = 0
                Distance        = 40
            End
            Flags                = RESTART_ANIM_WHEN_COMPLE TE MAINTAIN_FRAME_ACROSS_ST ATES
            BeginScript
                PrevAnim    = CurDrawablePrevAnimation()
                PrevState    = CurDrawablePrevAnimation State()
                CurDrawableShowSubObject("arrow")
                CurDrawableShowSubObject("arrownock")
                
                if PrevState == "Moving_Sword"
                then
                    if PrevAnim == "runtrans_bs"
                    then
                        return "runtrans_bs_finish"
                    elseif PrevAnim == "finishrun_b"
                    then
                        return "RunAway_noblend"
                    else
                        return "finishrun_s"
                    end
                elseif PrevAnim == "finishrun_s" or PrevAnim == "runtrans_bs_finish"
                then
                    return "runtrans_sb"
                elseif PrevAnim == "runtrans_sb" or PrevAnim == "run_b" or PrevAnim == "runnoblend_b"
                then
                    return "RunAway_noblend"
                else
                    Num = GetClientRandomNumberRea l(0,7)
                    if Num < 1
                    then
                        return "RunAway_2"
                    elseif Num > 6
                    then
                        return "RunAway_3"
                    else
                        return "RunAway"
                    end
                end            
            EndScript
        End


        ; ------ Attacking ------- ;
        
        AnimationState                    = FIRING_OR_PREATTACK_A WEAPONSET_TOGGLE_1
            StateName            = Ready_Sword
            
            Animation                   = AttackWithSwordA
                AnimationName           = RUElfWar_ATKSV2
                AnimationMode           = ONCE
                UseWeaponTiming        = Yes
            End
            Animation                   = AttackWithSwordB
                AnimationName           = RUElfWar_ATKS
                AnimationMode           = ONCE
                UseWeaponTiming        = Yes
            End
            Animation                   = AttackWithSwordD
                AnimationName           = RUElfWar_ATKSV4
                AnimationMode           = ONCE
                UseWeaponTiming        = Yes
            End
            BeginScript
                CurDrawableHideSubObject("ArrowNock")
                CurDrawableHideSubObject("arrow")
            EndScript
        End
;;---------------------------------------------------------------------------<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<
        AnimationState                    = PREATTACK_A
            Animation                = ReadyToDrawn
                AnimationName            = RUElfWar_ATKA1
                AnimationMode            = ONCE
                AnimationBlendTime        = 20                ; Must be 0 blend time otherwise the arrow will linger for the duration of the blend!
            End
            
            BeginScript
                CurDrawableShowSubObject("arrow")
                CurDrawableShowSubObject("ArrowNock")
            EndScript
        End

        AnimationState                    = FIRING_OR_RELOADING_A
            StateName                = STATE_Firing
            Animation                = OneFrameOfShooting
                AnimationName            = RUElfWar_ATKA2
                AnimationMode            = ONCE
                AnimationBlendTime        = 0
                AnimationSpeedFactorRang e    = 1.5 1.5
            End
            Flags                    = START_FRAME_FIRST            
            BeginScript
                CurDrawableShowSubObject("arrow")
                CurDrawableShowSubObject("ArrowNock")
            EndScript
        End
;;--------------------------------------------------------------------------------<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<
        AnimationState                    = PREATTACK_C WEAPONSET_TOGGLE_1
            Animation                = ReadyToDrawn
                AnimationName            = RUElfWar_ATKA1
                AnimationMode            = ONCE
                AnimationBlendTime        = 20                ; Must be 0 blend time otherwise the arrow will linger for the duration of the blend!
            End
            
            BeginScript
                CurDrawableShowSubObject("arrow")
                CurDrawableShowSubObject("ArrowNock")
            EndScript
        End

        AnimationState                    = FIRING_OR_RELOADING_C WEAPONSET_TOGGLE_1
            StateName                = STATE_Firing
            Animation                = OneFrameOfShooting
                AnimationName            = RUElfWar_ATKA2
                AnimationMode            = ONCE
                AnimationBlendTime        = 0
                AnimationSpeedFactorRang e    = 1.5 1.5
            End
            Flags                    = START_FRAME_FIRST            
            BeginScript
                CurDrawableShowSubObject("arrow")
                CurDrawableShowSubObject("ArrowNock")
            EndScript
        End

        
;;------------------------- BACKUP --------------------------------------------------------------------


        AnimationState                    = MOVING BACKING_UP WEAPONSET_TOGGLE_1
            StateName                = STATE_BackingUp
            Animation                = Sword
                AnimationName            = RUElfWar_BAKS
                AnimationMode            = LOOP
            End
            Animation                = WantSword
                AnimationName            = RUElfWar_BAKB
                AnimationMode            = LOOP
            End
            Flags                    = MAINTAIN_FRAME_ACROSS_ST ATES4
            BeginScript
                CurDrawableHideSubObject("ARROW")
                CurDrawableHideSubObject("ARROWNOCK")
                PrevAnim    = CurDrawablePrevAnimation()
                PrevState    = CurDrawablePrevAnimation State()
                if PrevState == "STATE_BackingUp"
                then
                    if PrevAnim == "Bow" or PrevAnim == "WantSword"
                    then
                        return "WantSword"
                    end
                end
                
                return "Sword"            
            EndScript
        End
        AnimationState                    = MOVING BACKING_UP
            StateName                = STATE_BackingUp
            Animation                = Bow
                AnimationName            = RUElfWar_BAKB
                AnimationMode            = LOOP
            End
            Animation                = WantBow
                AnimationName            = RUElfWar_BAKS
                AnimationMode            = LOOP
            End
            Flags                    = MAINTAIN_FRAME_ACROSS_ST ATES4
            BeginScript
                CurDrawableShowSubObject("arrow")
                CurDrawableShowSubObject("arrownock")
                PrevAnim    = CurDrawablePrevAnimation()
                PrevState    = CurDrawablePrevAnimation State()
                if PrevState == "STATE_BackingUp"
                then
                    if PrevAnim == "WantBow" or PrevAnim == "Sword"
                    then
                        return "WantBow"
                    end
                end
                
                return "Bow"
            EndScript
        End
    
        ; ------------ Moving ------------- ;
        
        AnimationState                    = MOVING WEAPONSET_TOGGLE_1
            StateName            = Moving_Sword
            SimilarRestart            = Yes
            Animation                   = run_s
                AnimationName           = RUElfWar_RUNS
                AnimationMode           = LOOP
                Distance        = 40
            End
            Animation            = finishrun_b
                AnimationName           = RUElfWar_RUNB
                AnimationMode           = ONCE
                AnimationBlendTime    = 0
                Distance        = 40
            End
            Animation            = runtrans_bs
                AnimationName           = RUElfWar_RUNC
                AnimationMode           = ONCE
                AnimationBlendTime    = 0
                Distance        = 70
            End
            Animation            = runtrans_sb_finish
                AnimationName           = RUElfWar_RUNT
                AnimationMode           = ONCE
                AnimationBlendTime    = 0
                Distance        = 70
            End
            Animation            = runnoblend_s
                AnimationName           = RUElfWar_RUNS
                AnimationMode           = LOOP
                AnimationBlendTime    = 0
                Distance        = 40
            End
            Flags = MAINTAIN_FRAME_ACROSS_ST ATES RESTART_ANIM_WHEN_COMPLE TE
            BeginScript
                PrevAnim    = CurDrawablePrevAnimation()
                PrevState    = CurDrawablePrevAnimation State()
                CurDrawableHideSubObject("ARROW")
                CurDrawableHideSubObject("ARROWNOCK")
                
                if PrevState == "Moving_Bow"
                then
                    if PrevAnim == "runtrans_sb"
                    then
                        return "runtrans_sb_finish"
                    elseif PrevAnim == "finishrun_s"
                    then
                        return "runnoblend_s"
                    else
                        return "finishrun_b"
                    end
                elseif PrevAnim == "finishrun_b" or PrevAnim == "runtrans_sb_finish" or PrevAnim == "WantSword"
                then
                    return "runtrans_bs"
                elseif PrevAnim == "runtrans_bs" or PrevAnim == "run_s" or PrevAnim == "runnoblend_s"
                then
                    return "runnoblend_s"
                else
                    return "run_s"
                end                
            EndScript
        End
        
        AnimationState                    = MOVING
            StateName            = Moving_Bow
            SimilarRestart            = Yes
            Animation                   = run_b
                AnimationName           = RUElfWar_RUNB
                AnimationMode           = LOOP
                Distance        = 40
          &am

Turin Turumbar:
Ich hab die Codeboxen mal eingefügt, trotzdem lief da was beim kopieren schief und es wird nicht die gesamte Ini gezeigt. Vom Horde Code sehe ich auch nichts.

Marci_99:
Nun habe ich das Problem
"Diese Einheit kann dieses Upgrade nicht benutzen"
Hier meine Upgrade.ini einträge:


--- Code: ---Upgrade Upgrade_TechnologyNoldorArrow
    DisplayName           = UPGRADE:NoldorArrowUpgrade
    Type                  = PLAYER
    BuildCost        = ANGMAR_TECH_ICE_ARROWS_BUILDCOST
    BuildTime        = ANGMAR_TECH_ICE_ARROWS_BUILDTIME
    SkirmishAIHeuristic     = AI_UPGRADEHEURISTIC_IMPORTANT
    ResearchCompleteEvaEvent    = UpgradeFlameArrowsReady
End

Upgrade Upgrade_NoldorArrowUnit
    DisplayName           = UPGRADE:NoldorArrowUpgrade
    Tooltip            = TOOLTIP:NoldorArrowUpgradeUnit
    Type                  = OBJECT
     BuildCost         = 400 ;GONDOR_PERSONAL_FIRE_ARROWS_BUILDCOST
     BuildTime         = GONDOR_PERSONAL_FIRE_ARROWS_BUILDTIME
     ResearchSound     = UpgradeSilverThornArrows
     RequiredObjectFilter = NONE +EregionForge
     StrategicIcon     = AptStrategicUnitUpgradeArrow
End


--- Ende Code ---

Command Button:


--- Code: ---CommandButton Command_UpgradeNoldorPfeilUpgradeSchmiede
    Command                = PLAYER_UPGRADE
    Options                = OK_FOR_MULTI_SELECT CANCELABLE
    Upgrade                = Upgrade_TechnologyNoldorArrow
    TextLabel            = UPGRADE:NoldorArrowUpgrade
    ButtonImage            = KUTIceArrowUpgradeIcon
    ButtonBorderType    = UPGRADE
    DescriptLabel        = CONTROLBAR:ToolTipPurchaseUpgradeRingVilya
    Radial                = Yes
    ;InPalantir            = Yes
End

CommandButton Command_UpgradeNoldorPfeilUpgradeUnit
    Command                = OBJECT_UPGRADE
    Options                = NEED_UPGRADE OK_FOR_MULTI_SELECT CANCELABLE
    Upgrade                = Upgrade_NoldorArrowUnit
    NeededUpgrade            = Upgrade_TechnologyNoldorArrow
    TextLabel            = UPGRADE:NoldorArrowUpgrade
    ButtonImage            = KUTIceArrowUpgradeIcon
    ButtonBorderType        = UPGRADE
    DescriptLabel            = TOOLTIP:NoldorArrowUpgradeUnit
    InPalantir            = Yes
    LacksPrerequisiteLabel        = TOOLTIP:NoldorArrowUpgradeUnit
End

--- Ende Code ---

Weapon.ini


--- Code: ---Weapon NoldorStandartBow     ; BALANCE Lorien Archer weapon
    AttackRange         = 380
   
    RangeBonusMinHeight      = EDAIN_ARCHER_RANGEBONUS_MINHEIGHT
    RangeBonus        = EDAIN_ARCHER_RANGEBONUS
    RangeBonusPerFoot    = EDAIN_ARCHER_RANGEBONUS_PERFOOT ;#MULTIPLY( 380 .003 )
   
    WeaponSpeed         = 450         ; dist/sec
    MinWeaponSpeed      = 321
    MaxWeaponSpeed      = 481      ; dist/sec Upper limit on scaling, when attacking past nominal "max" range
    FireFX              = FX_RohanArcherBowWeapon
    ScaleWeaponSpeed    = Yes ; Used for lob weapons, scales speed proportional to range
    HitPercentage       = 100     ;When this weapon is used it will hit exactly 50% of the time.
    ScatterRadius       = 16.0     ;When this weapon misses it can randomly miss by as much as this distance.
     
    AcceptableAimDelta    = 20    ; prevent twitchy reaiming in horde on horde
    DelayBetweenShots   = 0
    PreAttackDelay      = ROHAN_ELVENWARRIOR_BOW_PREATTACKDELAY
    ;PreAttackRandomAmount     = 200   
    PreAttackType       = PER_POSITION
    FiringDuration      = 0

    OverrideVoiceAttackSound            = ElvenWarriorVoiceAttackBow
    OverrideVoiceEnterStateAttackSound    = ElvenWarriorVoiceEnterStateAttackBow
    ;OverrideVoiceAttackAirSound        = ElvenWarriorVoiceAttackBow
    ;OverrideVoiceAttackStructureSound    = ElvenWarriorVoiceAttackBow
    ;OverrideVoiceAttackMachineSound    = ElvenWarriorVoiceAttackBow
     
    ClipSize            = 1
    AutoReloadsClip        = Yes
    AutoReloadWhenIdle    = 1   
    ClipReloadTime        = Min:LEGOLAS_RELOADTIME_MIN Max:LEGOLAS_RELOADTIME_MAX
    ContinuousFireOne    = 0
    ContinuousFireCoast    = LEGOLAS_RELOADTIME_MAX
     
    AntiAirborneVehicle    = Yes
    AntiAirborneMonster    = Yes
    HitPassengerPercentage    = 20%
    CanBeDodged                = Yes ; Will check for a DodgePercent on the target to have a second chance at failing HitPercent

    ProjectileNugget                    ; Default arrow
        ProjectileTemplateName    = GoodFactionArrow
        WarheadTemplateName       = GaladhrimLorienBowWarhead
        ForbiddenUpgradeNames     = Upgrade_NoldorArrowUnit
    End
    ProjectileNugget                    ; Fire arrow available from fire arrow upgrade
        ProjectileTemplateName    = NoldorWhitedornProjectile
        WarheadTemplateName       = NoldorBowWhitedornWarhead
        RequiredUpgradeNames      = Upgrade_NoldorArrowUnit
      End
End


--- Ende Code ---

Desweiteren wenn mein Gwaihir den Ring aufnimmt und etwas angreifen soll
etc. fliegt er immer höher aber kommt nicht zum angriff
Der Code:


--- Code: ---;-----------------------------------------------------------------------------
;
;    Gwaihir.ini
;
;-----------------------------------------------------------------------------

Object NoldorGwaihir 

    ShockwaveResistance = SHOCKWAVE_RESISTANCE_ALWAYS

    Scale = 1.3
                       
    ; *** ART Parameters ***

    SelectPortrait         = HPGwahir
    ButtonImage        = HIGwahir

    Draw = W3DScriptedModelDraw ModuleTag_01
         
          OkToChangeModelColor = Yes
         
          StaticModelLODMode = yes ; Will append M or L to the skin name depending on GameLOD

        ExtraPublicBone = B_Passenger
   
        DefaultModelConditionState
            Model               = GUGwaihir_SKN
            Skeleton            = GUGwaihir_SKL
        End
       
        IdleAnimationState
            StateName = Idle
            Animation           = FlyB
                AnimationName     = GUGwaihir_HVRA
                AnimationMode     = LOOP
                AnimationBlendTime = 10
               
            End
        End



        AnimationState  STUNNED SPECIAL_DAMAGED
            StateName =  STUNNED
            Animation = HitB
                AnimationName = GUGwaihir_HITB
                AnimationMode = ONCE
                AnimationBlendTime = 6
            End
        End
        AnimationState  STUNNED
            Animation = HitB
                AnimationName = GUGwaihir_HITA
                AnimationMode = ONCE
                AnimationBlendTime = 6
            End
        End


         AnimationState    = BACKING_UP
               StateName = backup
               Animation = FlyB
                   AnimationName = GUGwaihir_FLYB
                   AnimationMode = LOOP
                   AnimationBlendTime = 9
               End
           End

           AnimationState = DIVING
               StateName = Diving
               Animation = DiveA
                   AnimationName = GUGwaihir_DIVA
                   AnimationMode = LOOP
                   AnimationBlendTime = 9
               End
           End

        AnimationState = ABOUT_TO_HIT                                ; clawing
            StateName = Claw
            Animation = Claw
                AnimationName = GUGwaihir_ATKB
                AnimationMode = LOOP
                AnimationBlendTime = 9
            End
        End

        ;--- HARD FLAPPING ------------------------
        AnimationState = CLIMBING
            StateName = Climbing
            Animation = FlyB(climb)
                AnimationName = GUGwaihir_FLYB
                AnimationMode = LOOP
                AnimationBlendTime = 9
                AnimationSpeedFactorRange = 1.5 1.55
            End
        End
        AnimationState = FREEFALL
            StateName = Freefall
            Animation = Freefall(ilde)
                AnimationName = GUGwaihir_IDLA
                AnimationMode = LOOP
                AnimationBlendTime = 9
                AnimationSpeedFactorRange = 0.7 0.75
            End
        End
   

        AnimationState = MOVING
            StateName = Moving
            Animation           = FLYA
                AnimationName     = GUGwaihir_FLYA
                AnimationMode     = LOOP
                AnimationBlendTime  = 12
            End

            BeginScript
                 Prev = CurDrawablePrevAnimationState()
                 if Prev == "Idle"    then CurDrawableSetTransitionAnimState("Trans_Begin_Moving") return end
             EndScript
        End
           TransitionState = Trans_Begin_Moving
               Animation = Transition
                   AnimationName = GUGwaihir_HVRC
                   AnimationMode = ONCE
                   AnimationBlendTime = 4
               End 
           End           

        TransitionState = Trans_Dying
            Animation = Transition
                AnimationName = GUGwaihir_DIED
                AnimationMode = ONCE
                AnimationBlendTime = 9
            End 
        End           


        AnimationState = DYING DEATH_1
            StateName = DYING
            Animation = DyingA
                AnimationName = GUGwaihir_DIEE
                AnimationMode = LOOP
                AnimationBlendTime = 9
            End
            BeginScript
                Prev = CurDrawablePrevAnimationState()
                if Prev == "Idle"    then CurDrawableSetTransitionAnimState("Trans_Dying") return end
                if Prev == "Moving"    then CurDrawableSetTransitionAnimState("Trans_Dying") return end
            EndScript
        End

        AnimationState = DYING DEATH_2
            StateName = DYING
            Animation = DyingA
                AnimationName = GUGwaihir_HVRA
                AnimationMode = LOOP
                AnimationBlendTime = 9
            End
        End




    End
   
    ; ***DESIGN parameters ***
    Side                = Noldor
    EditorSorting        = UNIT
    ThreatLevel            = GWAIHIR_THREAT_LEVEL
    ThingClass            = LARGE_MONSTER
    TransportSlotCount = TRANSPORTSLOTCOUNT_MONSTER
 
    WeaponSet
        Conditions        = None
        Weapon              = PRIMARY        EagleGrabAttack
        PreferredAgainst    = PRIMARY        INFANTRY THROWN_OBJECT CAVALRY

        Weapon                = SECONDARY        EagleClawAttack
        OnlyAgainst            = SECONDARY        MONSTER

        Weapon              = TERTIARY        EaglePlowAttack
        PreferredAgainst    = TERTIARY        STRUCTURE MACHINE HORDE   
       
        Weapon                = QUATERNARY    EagleClawWyrmAttack
        PreferredAgainst    = QUATERNARY    CLEANUP_HAZARD                ; Used as a user defined kindof, only the wyrm uses it.
    End

    ArmorSet
        Conditions      = None
        Armor           = EagleArmor
        DamageFX        = GwaihirDamageFX
    End   
   
    VisionRange = VISION_FLIER
    ShroudClearingRange = SHROUD_CLEAR_FLIER

    BountyValue = GONDOR_GWAIHIR_BOUNTY_VALUE
    DisplayName = OBJECT:NoldorGwaihir
    ;//DisplayMeleeDamage = EAGLE_PLOW_DAMAGE_INNER

    CrusherLevel           = 3  ;What can I crush?: 1 = infantry, 2 = trees, 3 = vehicles
    RamPower = 30;
    RamZMult = 0.5;
    BuildCost = 1800
    BuildTime = 30
    CommandSet = GwaihirCommandSet_Submod
    CommandPoints = 40
   

    ; *** AUDIO Parameters ***;

    VoiceAttack            = EagleVoiceAttack
    VoiceMove            = EagleVoiceMove
    VoicePriority            = 60
    VoiceSelect            = EagleVoiceSelect
    VoiceGuard            = EagleVoiceMove

    SoundAmbient            = EagleAmbienceVoice
    SoundImpact            = ImpactHorse

   
    ;UnitSpecificSounds
    ;End

    #include "..\..\..\includes\StandardUnitEvaEvents.inc"

    ClientBehavior = AnimationSoundClientBehavior ModuleTag_AnimAudioBehavior
        MaxUpdateRangeCap = 800
        AnimationSound = Sound: EagleWingFlaps        Animation:GUGwaihir_SKL.GUGWAIHIR_FLYA Frames: 2
        AnimationSound = Sound: EagleWingFlaps        Animation:GUGwaihir_SKL.GUGWAIHIR_FLYB Frames: 2
        AnimationSound = Sound: EagleWingFlaps        Animation:GUGwaihir_SKL.GUGWAIHIR_FLYC Frames: 2 63
        ;AnimationSound = Sound: EagleWingFlaps        Animation:GUGwaihir_SKL.GUGWAIHIR_FLYC Frames: 4 34

        AnimationSound = Sound: EagleWingFlaps        Animation:GUGwaihir_SKL.GUGWAIHIR_HVRA Frames: 4
        AnimationSound = Sound: EagleWingFlaps        Animation:GUGwaihir_SKL.GUGWAIHIR_HVRC Frames: 4

        AnimationSound = Sound: EagleWingFlaps        Animation:GUGwaihir_SKL.GUGWAIHIR_HITA Frames: 0
        AnimationSound = Sound: EagleWingFlaps        Animation:GUGwaihir_SKL.GUGWAIHIR_HITB Frames: 0

        AnimationSound = Sound: EagleHurt        Animation:GUGwaihir_SKL.GUGWAIHIR_HITA Frames: 1
        AnimationSound = Sound: EagleHurt        Animation:GUGwaihir_SKL.GUGWAIHIR_HITB Frames: 1
        AnimationSound = Sound: EagleHurt        Animation:GUGwaihir_SKL.GUGWAIHIR_DIED Frames: 1

        AnimationSound = Sound: EagleWingFlaps        Animation:GUGwaihir_SKL.GUGWAIHIR_ATKB Frames: 0
        AnimationSound = Sound: EagleWingFlaps        Animation:GUGwaihir_SKL.GUGWAIHIR_GRBB Frames: 0

        AnimationSound = Sound: EagleAttack        Animation:GUGwaihir_SKL.GUGWAIHIR_ATKB Frames: 1
        AnimationSound = Sound: EagleAttack        Animation:GUGwaihir_SKL.GUGWAIHIR_GRBB Frames: 1

        AnimationSound = Sound: EagleWingFlaps        Animation:GUGwaihir_SKL.GUGWAIHIR_DIED Frames: 0
        AnimationSound = Sound: TrollBodyfall        Animation:GUGwaihir_SKL.GUGWAIHIR_DIEF Frames: 2
        AnimationSound = Sound: EagleWingFlaps        Animation:GUGwaihir_SKL.GUGWAIHIR_DIEF Frames: 0
    End

    ; Tie into LargeGroupAudio system
    ; No, we never do anything with this unit
    ;Behavior = LargeGroupAudioUpdate ModuleTag_LGAU
    ;    Key = Eagle Unit Flyer
    ;End


    ; *** ENGINEERING Parameters ***
    RadarPriority        = UNIT
    KindOf                = PRELOAD HERO SELECTABLE CAN_CAST_REFLECTIONS TRANSPORT SCORE NO_FREEWILL_ENTER MONSTER SCARY CANNOT_RETALIATE
   

   
    Body = ActiveBody ModuleTag_02
        CheerRadius       = EMOTION_CHEER_RADIUS
        MaxHealth         = 5000    ;BALANCE Gwaihir Health
;        MaxHealthDamaged  = 500
;        RecoveryTime      = 5000

        HealingBuffFx = None
    End

    Behavior = AutoHealBehavior ModuleTag_GwaihirHealing
        StartsActive = Yes
        HealingAmount = HERO_HEAL_AMOUNT
        HealingDelay = 1000
        StartHealingDelay = 15000
        HealOnlyIfNotInCombat = Yes
    End
   
    Behavior = GiantBirdAIUpdate ModuleTag_GiantBirdAI
        AutoAcquireEnemiesWhenIdle    =    Yes ATTACK_BUILDINGS
        MoodAttackCheckRate            =    500
        AILuaEventsList                =    GwaihirFunctions   
       
        FollowThroughDistance        =    160
        FollowThroughCheckStep        =    50
        FollowThroughGradient        =    1.0
       
        GrabTossTimeTrigger            =    3.0
        GrabTossHeightTrigger        =   80.0
        TossFX                = FX_DiebyFalling
        SpecialContactPoints        = Swoop
       
        AttackPriority = AttackPriority_Eagle
    End

    Behavior = ModelConditionUpgrade ModuleTag_All_FactionUpgrade
        TriggeredBy                = Upgrade_AllFactionUpgrade
        AddConditionFlags        = USER_3
        Permanent                = Yes
    End
   
    LocomotorSet
        Locomotor = FellBeastLocomotor ;BALANCE Gwaihir
        Condition = SET_NORMAL
        Speed     = 108
    End
    LocomotorSet
        Locomotor = FellBeastLocomotor ;BALANCE Gwaihir
        Condition = SET_SUPERSONIC
        Speed     = 124
    End
    LocomotorSet
        Locomotor = FellBeastLocomotor ; BALANCE Gwaihir
        Condition = SET_WANDER
        Speed     = 88
    End

   
    Behavior = PhysicsBehavior ModuleTag_04
    End
   
    Behavior = NotifyTargetsOfImminentProbableCrushingUpdate ModuleTag_NotifyCrushScan
    End

   
    Behavior = TransportContain TransportContainModuleTag
        ObjectStatusOfContained = UNSELECTABLE UNATTACKABLE
        PassengerFilter = ANY +INFANTRY +HULK +CAVALRY +GRAB_AND_DROP -HERO -PORTER
        Slots = 1
        ShowPips = No
        CanGrabStructure = Yes
        AllowEnemiesInside = Yes
        AllowNeutralInside = Yes
        AllowAlliesInside  = No
        DamagePercentToUnits = 100%
        KillPassengersOnDeath = Yes
        PassengerBonePrefix = PassengerBone:B_Passenger       KindOf:GRAB_AND_DROP
        GrabWeapon = FellbeastGrabWeapon        ; fire this weapon when eagle grabs a victim
        FireGrabWeaponOnVictim = No
       
        ReleaseSnappyness = 0.05 ; 1.0 is very snappy, 0.0 is very loose

    End
   
    Behavior = SquishCollide ModuleTag_06
        ;nothing
    End
   


    Behavior = SlowDeathBehavior ModuleTag_SlowDeath
        DeathTypes = ALL -FADED
        DestructionDelay = 1000
        ShadowWhenDead = No
        FX = INITIAL FX_GwaihirDeath
        Sound = INITIAL EagleVoiceDie
            DeathFlags = DEATH_1
    End
   
      Behavior = SlowDeathBehavior ModuleTag_FadeDeath
        DeathTypes = NONE +FADED
        FadeDelay = 0
        FadeTime = 2500
        DestructionDelay = 2500
        ;Sound = INITIAL EagleVoiceDie   
            DeathFlags = DEATH_2
    End
 
    Behavior = DualWeaponBehavior ModuleTag_10
        SwitchWeaponOnCloseRangeDistance = 24
    End

    Behavior = StancesBehavior ModuleTag_StancesBehavior
        StanceTemplate = Hero
    End

   ; -----------------------------------------------------------
   ; Fähigkeit der Ring Vilya
   ; -----------------------------------------------------------
    Behavior = UnpauseSpecialPowerUpgrade ModuleTag_VilyaEnabler
        SpecialPowerTemplate = SpecialAbilityVilya
        TriggeredBy = Upgrade_Level_3
    End

    Behavior = SpecialPowerModule ModuleTag_ArrowWindStarter
        SpecialPowerTemplate        = SpecialAbilityVilya
        UpdateModuleStartsAttack    = No
        StartsPaused                = Yes
    End

    Behavior = ArrowStormUpdate ModuleTag_VilyaUpdate
        SpecialPowerTemplate    = SpecialAbilityVilya
        StartAbilityRange       = 320.0
       
        UnpackTime              = 1000        ;1000
        PreparationTime         = 800
        PersistentPrepTime      = 600
        PackTime                = 1200        ;1200
        UnpackingVariation        = 1
        ParalyzeDurationWhenCompleted = 600
        ParalyzeDurationWhenAborted = 800

        ApproachRequiresLOS     = Yes

        AwardXPForTriggering    = 0

        ;Specific to ArrowStorm
        WeaponTemplate  = GilGaladVilya
        TargetRadius    = 550
        ShotsPerTarget  = 4
        ShotsPerBurst   = 4
        MaxShots        = 4
        CanShootEmptyGround = Yes
    End

    Behavior = HordeTransportContain  ModuleTag_12
        ObjectStatusOfContained                = UNSELECTABLE UNATTACKABLE CAN_ATTACK
        ;PassengersTestCollisionHeight        = 80
        Slots                                = 4
        EnterSound                            = GarrisonEnter
        ExitSound                            = GarrisonExit
        DamagePercentToUnits                = 0%
        PassengerFilter                        = NONE +MordorHaradrimArcherHordeOnMumakil
        AllowOwnPlayerInsideOverride        = Yes ; Normally, the Allies check encompasses OwnPlayer.  but we reeeeally only want our own guys.
        AllowAlliesInside                    = No
        AllowEnemiesInside                    = No
        AllowNeutralInside                    = No
        ExitDelay                            = 0
        NumberOfExitPaths                    = 2 ; Defaults to 1.  Set 0 to not use ExitStart/ExitEnd, set higher than 1 to use ExitStart01-nn/ExitEnd01-nn
        ForceOrientationContainer            = No  ; otherwise contained units can't orient themselves towards their targets...
        PassengerBonePrefix                    =    PassengerBone:DockAction      KindOf:HERO
        PassengerBonePrefix                    = PassengerBone:B_BANNER KindOf:BANNER
        PassengerBonePrefix                    = PassengerBone:B_CARGO0 KindOf:INFANTRY
        ShowPips = No
        EjectPassengersOnDeath                = Yes
       
        FadeFilter    = ALL
        FadePassengerOnEnter = Yes
        EnterFadeTime = 6000
        FadePassengerOnExit = Yes
        ExitFadeTime = 1000
       
        InitialPayload                        = NoldorGilGaladsSoldaten 1
    End

    Behavior = HordeTransportContainDamage ModeleTag_HordeTransportContainDamage
    End

    ;///////////////////
    ; AISpecialPowers
    ;///////////////////
   
    Behavior = AISpecialPowerUpdate GondorFighterHordeStanceBattle
        CommandButtonName = Command_SetStanceBattle
        SpecialPowerAIType = AI_SPECIAL_POWER_STANCEBATTLE
    End

    Behavior = AISpecialPowerUpdate GondorFighterHordeStanceAggressive
        CommandButtonName = Command_SetStanceAggressive
        SpecialPowerAIType = AI_SPECIAL_POWER_STANCEAGGRESSIVE
    End

    Behavior = AISpecialPowerUpdate GondorFighterHordeHoldGround
        CommandButtonName = Command_SetStanceHoldGround
        SpecialPowerAIType = AI_SPECIAL_POWER_STANCEHOLDGROUND
    End

   
    FormationPreviewDecal
            Texture = FPflyingUnitDecal
            Width = 128
            Height = 128
        End

    Geometry                = CYLINDER
    GeometryMajorRadius     = 30.0
    GeometryMinorRadius     = 30.0
    GeometryHeight            = 16.0
    GeometryIsSmall            = No
   
    HealthBoxScale            = 3.0
    HealthBoxHeightOffset    = 25.0   
   
    Shadow = SHADOW_VOLUME_NON_SELF_3    // volumetric shadow that doesn't cast onto all objects using SHADOW_VOLUME_NON_SELF_3
    ShadowSunAngle = 89                    // clamp the angle so shadow casts straight down.
End

--- Ende Code ---

Navigation

[0] Themen-Index

[#] Nächste Seite

[*] Vorherige Sete

Zur normalen Ansicht wechseln