Modderecke > Coding

Radagasts Coding-Fragen-Thread

<< < (7/21) > >>

Radagast der Musikalische:

--- Zitat 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

--- Ende Zitat ---
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.)

--- Code: --- #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

--- Ende Code ---
Dazu gehörend folgende Einträge in anderen Files...
OCL

--- Code: ---!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
--- Ende Code ---
Specialpower

--- Code: ---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
--- Ende Code ---
CommandSet und CommandButtons

--- Code: ---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
2  = Command_SpecialAbilityFilorinHerrfuhrerDusterwalds
    3  = Command_SpecialAbilityFilorinElbenmantel
    4  = 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
--- Ende Code ---

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

thepinking:
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:


--- Code: ---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

--- Ende Code ---
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

Radagast der Musikalische:

--- 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

--- Ende Zitat ---
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.



--- Zitat 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:


--- Code: ---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

--- Ende Code ---
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.

--- Ende Zitat ---
Das ist ein Fehler, der  mir beim Posten unterlaufen ist, da ich das vorher noch anders gemacht hatte.

MfG Radagast
MfG Radagast

thepinking:
Nunja wenn du das gemacht hast, dan würde der unveränderte Button für Scharfschütze so aussehen:


--- Code: ---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

--- Ende Code ---

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


--- Code: ---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

--- Ende Code ---

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

Radagast der Musikalische:
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...


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

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


--- Code: ---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

--- Ende Code ---

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! ;)

Navigation

[0] Themen-Index

[#] Nächste Seite

[*] Vorherige Sete

Zur normalen Ansicht wechseln