Jump to content


Photo

Fort expansions to regular buildings

fortress expansions to building edain

  • Please log in to reply
6 replies to this topic

#1 Tukolp

Tukolp
  • Members
  • 79 posts

Posted 08 March 2017 - 02:24 AM

Hello guys,

 

I sat here, reading the forums, but I can't find information for my question, so I post it here, because I would like to ask some help.

 

So, as the title says, I would like to add a fortress expansion to a building.

In Edain 4.x we start with castles, and camps, these buildings have citadels in their center, as a commanding building of the camp/castle.

I would like to ask, is it possible to add some fort expansions to these citadells and allow them to shoot one arrow as defence like an arrow tower ( and mybe later upgrade it with fire arrows or stg. )?

I mean to the building, not to the whole bse file ( not to a camp or castleflag ), so I will be able to use it as a complete separate building of my base without the camp or castleflag.

I added MordorCastleKeep as starting building to my mordor faction with builders In my playertemplate.ini (without a castle or campflag ), It spawned but I had no vision with it, and no expansions with it.

I would like to use this building as a "mini fortress". Or that building what I can use as a center my a base. And to be able to build it as a separate building ( I can build the citadell separately, but I think It will be a complete new building )

I asking for this, because I had no luck with restoring the fortresses to their usable state, and maybe it would be a great idea to use these citadells as a bit different.

 

If someone could help me, I would be very grateful,

Have a nice day,



#2 Kwen

Kwen

    Vileartist

  • T3A Staff
  • 4,865 posts
  • Location:Korea I wish
  • Projects:It'sa secreeet
  •  T3A's First N00b
  • Division:BFME
  • Job:T3A Expert
  • Donated

Posted 09 March 2017 - 05:38 AM

The only way to do this I think would be to have the building use upgrades to add towers. Basically you'd have to include towers (complete with bones for the arrow firing locations) integrated into the building model itself but hidden by default, then with an upgrade un-hide it.

 

You won't be able to add expansion plots to a regular building if that's what you want since the plots are only place-able through bases or OCL (summon)  as far as I know.


                           https://www.twitch.tv/vileartist - Yes shameless self-promotion

          ----------------------------------------------------------------------------------------------------------------------

                            "Old modders never die, they just fade away" ~ Hostile


#3 Tukolp

Tukolp
  • Members
  • 79 posts

Posted 09 March 2017 - 01:44 PM

Thank you for repliying,

 

Could you point me to some guide about this, how to do the arrow shooting upgrade, because I copied some codes from the mordor arrow tower to my building.
This building : http://i.imgur.com/SL9AElg.jpg

But it was veird, the arrows just jumped out of its bottom. How can I raise the height of the arrow exit location ? And how to be able to upgrade it with fire arrows, when other towers get the buff I want this buff to my tower too.

 

Or what I think will be the solution, I just should build a bse for it, and realy use it as a fortress. But I don't know how to use it. I mean I can build a base with worldbuilder, and save as a bse file, but what after this ? How should I use it as a fortress?

How can I link my building to a base, or to be able to build it from a builder, or get it as a starterbuilding,Yes the coding left again. I like to build things, making bse ect. But how to code it, it's still a mistery to me.

Could you like some proper guide, how to build, code, use a fortress ? Because I'm read tonns of threads from weeks now ,and still no luck, because I couldn't find a proper step by step guide for a "beginner".



#4 Tukolp

Tukolp
  • Members
  • 79 posts

Posted 09 March 2017 - 03:16 PM

Oh and one thing, I left from my post and I can't edit it,

So that building what I linked above, When its destroyed it crashes into a rubble. How could I reach it to be completely destroyed, instead of gaining a "rubble".
I post its ini here :
 

Object           = MordorCitadelKeep

    SelectPortrait = BRMordorZitadelle

  ; *** ART Parameters ***

  Draw = W3DScriptedModelDraw ModuleTag_Draw
    OkToChangeModelColor  = Yes
    UseStandardModelNames = Yes

        ExtraPublicBone = ARROW_01
        ExtraPublicBone = ARROW_02
        ExtraPublicBone = ARROW_03
        ExtraPublicBone = ARROW_04

    DefaultModelConditionState  
       Model = mbfzitadella
       WeaponLaunchBone = PRIMARY ARROW_
    End

    
  ;------------Build Up States
    ModelConditionState   = ACTIVELY_BEING_CONSTRUCTED
      Model               = mbfzitadella_b
;      ParticleSysBone      = NONE BuildingDoughnutCloud
      ParticleSysBone     = NONE BuildingContructDust
    End

    ModelConditionState   = ACTIVELY_BEING_CONSTRUCTED SNOW
      Model               = mbfzitadella_b
      Texture    = MBFortress.tga MBFortress_snow.tga
;      ParticleSysBone      = NONE BuildingDoughnutCloud
      ParticleSysBone     = NONE BuildingContructDust
    End

    AnimationState          = ACTIVELY_BEING_CONSTRUCTED
        Animation
            AnimationName    = mbfzitadella_b.mbfzitadella_b
            AnimationMode   = MANUAL
        End
        StateName        = BeingConstructed
        BeginScript
            CurDrawablePlaySound("GondorBarracksBeginConstruction")
            CurDrawablePlaySound("BuildingTopple")
        EndScript
    End

  ;------------Build Up States
    ModelConditionState   = BASE_BUILD
      Model               = mbfzitadella_b
      ParticleSysBone     = NONE BuildingContructDust
    End

    AnimationState          = BASE_BUILD
        Animation
            AnimationName = mbfzitadella_b.mbfzitadella_b
            AnimationMode = ONCE
            AnimationBlendTime = 0            
            AnimationSpeedFactorRange = 2.0 2.0 ; 300 frame anim, but need to shrink down to 5 seconds
        End
        BeginScript
            CurDrawablePlaySound("DebrisDust")
            CurDrawablePlaySound("GondorBarracksBeginConstruction")
            CurDrawablePlaySound("BuildingTopple")
        EndScript
    End

    ModelConditionState   = JUST_BUILT
      Model               = mbfzitadella_b
      ParticleSysBone     = NONE BuildingContructDust
    End

    AnimationState          = JUST_BUILT
        Animation
            AnimationName = mbfzitadella_b.mbfzitadella_b
            AnimationMode = MANUAL
            AnimationBlendTime = 0            
        End
        Flags = START_FRAME_FIRST
    End

    ModelConditionState  = DAMAGED
      Model         = mbfzitadella
      Texture = MBFortress.tga MBFortress_d.tga
      ParticleSysBone SmokeLarge01 SmokeBuildingLarge
    End

    AnimationState = DAMAGED
    EnteringStateFX    = FX_BuildingDamaged
    End

    ModelConditionState  = REALLYDAMAGED
      Model         = mbfzitadella
      Texture = MBFortress.tga MBFortress_d.tga
      ParticleSysBone NONE SmokeBuildingLarge
      ParticleSysBone NONE DebrisHitSmall
    End

    AnimationState = REALLYDAMAGED
    EnteringStateFX    = FX_BuildingReallyDamaged
    End
    
    ModelConditionState   = DESTROYED_WHILST_BEING_CONSTRUCTED
        Model = mbfzitadella_b
        Texture = MBFortress.tga MBFortress_d.tga
        ParticleSysBone NONE Explosion3
        ParticleSysBone NONE ExplosiveMineSmoke02
    End  
    AnimationState    = DESTROYED_WHILST_BEING_CONSTRUCTED
        StateName = STATE_DetroyedConstructing
        Animation
            AnimationName        = mbfzitadella_b.mbfzitadella_b
            AnimationMode        = ONCE_BACKWARDS
            AnimationBlendTime    = 90    ; 3 seconds * 30 frames
        End
        ; Specifically no start last frame flag here.
        Flags = START_FRAME_FIRST
    End


    ModelConditionState  = COLLAPSING
      Model         = mbfzitadella_d3
        Texture       = ibccenter01.tga ibccenter01_d.tga
        Texture       = IBFortress.tga IBFortress_D.tga
    End
        
    AnimationState = COLLAPSING
      Animation                =    RubbleAnimation
            AnimationName        =    mbfzitadella_d3.mbfzitadella_d3
            AnimationMode        =    ONCE
        End
        EnteringStateFX    = FX_BuildingSinkSound
    End
    
    ModelConditionState  = RUBBLE
      Model         = mbfzitadella_D3
        Texture       = ibccenter01.tga ibccenter01_d.tga
        Texture       = IBFortress.tga IBFortress_D.tga
    End
    
    AnimationState = RUBBLE
      Animation                =    RubbleAnimation
            AnimationName        =    mbfzitadella_D3.mbfzitadella_D3
            AnimationMode        =    ONCE
        End
        Flags = START_FRAME_LAST
    End

        ModelConditionState  = POST_RUBBLE
            Model         = NONE
        End
        AnimationState = POST_RUBBLE
        End

        ModelConditionState  = POST_COLLAPSE
        Model         = None
            ParticleSysBone NONE SmokeBuildingMediumRubble
        End
        AnimationState = POST_COLLAPSE
            ParticleSysBone NONE SmokeBuildingMediumRubble
        End 

    ModelConditionState = SNOW
       Model = mbfzitadella
       Texture = MBFortress.tga MBFortress_snow.tga
    End  
  End


    Draw = W3DScriptedModelDraw ModuleTag_DrawDunkleSeite
        
        DefaultModelConditionState
            Model                = None
        End
        
        ModelConditionState   = FORTRESS_IMPROVEMENT_8
            Model             = None
            ParticleSysBone   = NONE OneRingGaladrielStructureSchleier1
            ParticleSysBone   = NONE OneRingGaladrielStructureSchleier2
        End          
    End


    Draw = W3DScriptedModelDraw ModuleTag_Banner

        DefaultModelConditionState
            Model           = None
        End

        ModelConditionState = FORTRESS_IMPROVEMENT_4
            Model           = mbfzitadell_ban
        End

        AnimationState = FORTRESS_IMPROVEMENT_4
            StateName                = STATE_Idle
            Animation                = mbfzitadell_ban
               AnimationName         = mbfzitadell_ban.mbfzitadell_ban
               AnimationMode         = LOOP 
               AnimationBlendTime    = 0
            End
        End 
    End


     ; *** AUDIO Parameters ***
    #include "..\..\..\Includes\StandardBuildingEvaEvents.inc"

    VoiceSelect                  = MordorFortressSelect
   
    SoundOnDamaged               = BuildingLightDamageStone
    SoundOnReallyDamaged         = BuildingHeavyDamageStone

    VoiceSelectUnderConstruction = BuildingEvilVoiceSelectUnderConstruction

    UnitSpecificSounds
        UnderConstruction        = BuildingBigConstructionLoop        ; Built first time
        ; UnderRepairFromDamage    = NoSound                    ; Repaired No animation on the building, so don't bother playing sound
        UnderRepairFromRubble    = BuildingBigConstructionLoop        ; Repaired from completely destroyed (not used???)
    End

    EvaEventDieOwner = CitadelDie
    CampnessValue = CAMPNESS_FORTRESS

     ; ***DESIGN parameters ***

     DisplayName         = OBJECT:MordorCastleKeep
     Side                = Mordor
     EditorSorting       = STRUCTURE
     ThreatLevel         = 1.0
     BuildCost           = 1000
     BuildTime           = 30.0
     CommandSet          = MordorCastleKeepCommandSet
     BountyValue         = GONDOR_BARRACKS_BOUNTY_VALUE
   
     ArmorSet
       Conditions        = None
       Armor             = CitadelFortressArmor
       DamageFX          = None
     End

    ;WeaponSet
    ;    Conditions        = None
    ;    Weapon            = PRIMARY EvilFortressArrowTowerBow
    ;    AutoChooseSources = PRIMARY FROM_PLAYER FROM_SCRIPT FROM_AI
    ;End
   
    ; *** ENGINEERING Parameters ***  
    KindOf                    = STRUCTURE VITAL_FOR_BASE_SURVIVAL IMMOBILE CASTLE_KEEP CAN_ATTACK MP_COUNT_FOR_VICTORY SELECTABLE FS_FACTORY AUTO_RALLYPOINT MADE_OF_WOOD SCORE
    RadarPriority             = STRUCTURE
    KeepSelectableWhenDead    = Yes

     Body              = ActiveBody ModuleTag_02
       MaxHealth       = MORDOR_CENTRAL_CAMP_KEEP_HEALTH
     End
   
     Behavior = GettingBuiltBehavior ModuleTag_04
        SelfBuildingLoop = BuildingBigConstructionLoop            ; Only played if we DON'T spawn a worker
        SelfRepairFromDamageLoop  = NoSound                    ; This doesn't cause an animation, so don't bother playing a sound
        SelfRepairFromRubbleLoop  = BuildingBigConstructionLoop
     End
   
     Behavior = CastleMemberBehavior ModuleTag_CMB
        BeingBuiltSound = BuildingBigConstructionLoop
     End 

      ;-----------------------------------------------
    ;Used for hero revival and initial construction     
    Behavior = ProductionUpdate ProductionUpdateModuleTag
        ; nothing, but is required if we have any Object-level Upgrades!
    End

    Behavior = QueueProductionExitUpdate ModuleTag_QueuePEU
        UnitCreatePoint   = X:0.0 Y:0.0 Z:0.0
        NaturalRallyPoint = X:120.0 Y:0.0 Z:0.0;NaturalRallyPointX must always match GeometryMajorRadius! 
        ExitDelay = 300 ;Handles delays between units if multiple produced at a time. (like Generals Redguard coming out 2 at a time)
    End  



    ;-----------------------------------------------
     
    Behavior = AutoDepositUpdate AutoDepositModuleTag
        DepositTiming            = GENERIC_KEEP_MONEY_TIME        ; in milliseconds
        DepositAmount            = GENERIC_KEEP_MONEY_AMOUNT        ; cash amount to deposit every DepositTiming
        InitialCaptureBonus        = 0  ; no initial bonus
    End

   
     ; Note that structures with "RUBBLE" states should not use DestroyDie; such buildings are 
     ; never truly destroyed, even when reduced to zero health. Also note that garrisonable
     ; buildings automatically stick around because GarrisonContain has it's own DieModule
     Behavior = KeepObjectDie ModuleTag_IWantRubble
     End
     

    ;Behavior                  = RubbleRiseUpdate ModuleTag_07
    ;  MinRubbleRiseDelay      = 000
    ;  MaxRubbleRiseDelay      = 000
    ;  ;RubbleRiseDamping       = .5
    ;  RubbleHeight            = 4.0
    ;  MaxShudder              = 0.6
    ;  MinBurstDelay           = 250
    ;  MaxBurstDelay           = 800
    ;  BigBurstFrequency       = 4
    ;  FXList                  = INITIAL FX_StructureMediumPostCollapse        ;FX_StructureMediumCollapse
    ;End


    ;Behavior = PassiveAreaEffectBehavior ModuleTag_EnthüllungenPing
    ;    UpgradeRequired         = Upgrade_RaiseSchmiedekunst
    ;    EffectRadius            = 10000000
    ;    PingDelay               = 2000
    ;    ModifierName            = EnthüllungenderNazgulModifier
    ;    AllowFilter             = ANY +GasthausKhamul +GasthausKhamulonFellBeast +MordorNazgul_CGmod +MordorNazgul_CGmod2 +MordorWitchKing +MordorWitchKingPferd +MordorWitchKing_Mounted +MordorWitchKingOnFellBeast ALLIES  
    ;End

    Behavior = ModelConditionUpgrade ModuleTag_ShowSauronBanner
        TriggeredBy       = Upgrade_RaiseSchmiedekunst
        AddConditionFlags = FORTRESS_IMPROVEMENT_4
        Permanent         = Yes
    End


    Behavior = ObjectCreationUpgrade CreateTheEnthüllungPing
        TriggeredBy        = Upgrade_RaiseSchmiedekunst
        Delay              = 0.0                
        ThingToSpawn       = NazgulEnthüllungPingObject
        FadeInTime         = 0
    End

    ;Behavior = SlaveWatcherBehavior WatchThePing
    ;    RemoveUpgrade      = Upgrade_RaiseSchmiedekunst
    ;    LetSlaveLive       = Yes
    ;End




    ;Behavior = SpawnBehavior ModuleTag_SpawnFightersGorbag
    ;    TriggeredBy          = Upgrade_MiniHordeLvl6
    ;    SpawnNumber          = 3
    ;    InitialBurst         = 3
    ;    SpawnTemplateName    = MordorCirithOrk_Slaved
    ;    SpawnReplaceDelay    = 20000
    ;    CanReclaimOrphans    = Yes
    ;End

    Behavior = SpawnBehavior ModuleTag_SpawnFightersShagrat
        TriggeredBy          = Upgrade_MiniHordeLvl8
        SpawnNumber          = 3
        InitialBurst         = 3
        SpawnTemplateName    = MordorBlackUruk_Slaved
        SpawnReplaceDelay    = 20000
        CanReclaimOrphans    = Yes
    End


    Behavior = CreateObjectDie ModuleTag_DestroyAnbautenonDeath
        CreationList = OCL_MordorCastleKeepDeath
    End


    Behavior = SpecialPowerModule ModuleTag_TheodenLeadershipUpdate   
        SpecialPowerTemplate     = SpecialAbilityFakeLeadership
        UpdateModuleStartsAttack = No
        StartsPaused             = No
    End   



  Geometry              = BOX
  GeometryMajorRadius   = 25.0
  GeometryMinorRadius   = 25.0
  GeometryHeight        = 180.0
  GeometryIsSmall       = No
  Shadow                = SHADOW_VOLUME

  AdditionalGeometry    = BOX
  GeometryName          = Geom_V1
  GeometryMajorRadius   = 10.0
  GeometryMinorRadius   = 10.0
  GeometryHeight        = 110.0
  GeometryOffset        = X:0 Y:43 Z:0   

  AdditionalGeometry    = BOX
  GeometryName          = Geom_V2
  GeometryMajorRadius   = 10.0
  GeometryMinorRadius   = 10.0
  GeometryHeight        = 110.0
  GeometryOffset        = X:0 Y:-43 Z:0  

  AdditionalGeometry    = BOX
  GeometryName          = Geom_V3
  GeometryMajorRadius   = 25.0
  GeometryMinorRadius   = 25.0
  GeometryHeight        = 20.0
  GeometryOffset        = X:52 Y:0 Z:0  
  
  AttackContactPoint    = X:1.418    Y:-0.852       Z:183.697    Swoop
  AttackContactPoint    = X:0        Y:0            Z:0
End



#5 Tukolp

Tukolp
  • Members
  • 79 posts

Posted 09 March 2017 - 10:50 PM

I still cant connect my bse file to the game, running out of ideas, I'm at 0 % succes.

And yes I watch for big and small letters.



#6 Kwen

Kwen

    Vileartist

  • T3A Staff
  • 4,865 posts
  • Location:Korea I wish
  • Projects:It'sa secreeet
  •  T3A's First N00b
  • Division:BFME
  • Job:T3A Expert
  • Donated

Posted 10 March 2017 - 12:13 AM

The arrows coming out of the bottom is because of the lack of bones as I said in my above post. If you open up a tower model in Renx/Max you will see that there are a bunch of bones at the locations where arrows will fire from. Reference the code for the tower and you'll find the bones listed in there as weapon launch bones or something similar. You need to do this same thing to your tower.

 

As for the rubble, if you sift through that code you'll see a line like this:

 

Behavior = KeepObjectDie ModuleTag_IWantRubble
End

 

I believe if you remove (or comment it out using ; ) it should stop it from leaving behind rubble, as you want it not to.


                           https://www.twitch.tv/vileartist - Yes shameless self-promotion

          ----------------------------------------------------------------------------------------------------------------------

                            "Old modders never die, they just fade away" ~ Hostile


#7 Tukolp

Tukolp
  • Members
  • 79 posts

Posted 10 March 2017 - 02:12 AM

Thanks for helping,

 

Renx/Max is a program what I can use for something ? Where can I dowload it ?

Or is it enough to just insert this to my buildings code ?
 

Draw = W3DScriptedModelDraw ModuleTag_Draw
  
        ExtraPublicBone    = Arrow_01
        ExtraPublicBone    = Arrow_02
        ExtraPublicBone    = Arrow_03
        ExtraPublicBone    = Arrow_04
        ExtraPublicBone    = Arrow_05
        ExtraPublicBone    = Arrow_06
        ExtraPublicBone    = Arrow_07
        ExtraPublicBone    = Arrow_08
        ExtraPublicBone    = Arrow_09
        ExtraPublicBone    = Arrow_10
        ExtraPublicBone    = Arrow_11
        ExtraPublicBone    = Arrow_12
        ExtraPublicBone    = Arrow_13
        ExtraPublicBone    = Arrow_14
        ExtraPublicBone    = Arrow_16
        ExtraPublicBone    = Arrow_16
              
        OkToChangeModelColor  = Yes
        UseStandardModelNames = Yes

        DefaultModelConditionState
            Model = MBSentry
            WeaponLaunchBone = PRIMARY Arrow_
            Texture          = DolGolGate.tga MBSentry.tga
        End

As for the rubble thing I just added a   ;    mark before the line you mentioned, and yea the building is destroyed. I still could select it after I got defeated, and some buttons showed up. ,when I clicked it. But I got defeated so its enough for now :D

 

"The only way to do this I think would be to have the building use upgrades to add towers. Basically you'd have to include towers (complete with bones for the arrow firing locations) integrated into the building model itself but hidden by default, then with an upgrade un-hide it."
I don't get this upgrade unhide thing so I will just try to connect my bse to the game, I made it but I still cant build it with a builder. my bse name is citadel_keep_mordor.


Edited by Tukolp, 10 March 2017 - 02:14 AM.





0 user(s) are reading this topic

0 members, 0 guests, 0 anonymous users