Imladris production

Le forum français de création de cartes et de mods pour Bataille pour la Terre du Milieu
 
AccueilFAQRechercherS'enregistrerMembresConnexion

Partagez | 
 

 faire monté une unité sur une autre, voir tenir un objet ...

Voir le sujet précédent Voir le sujet suivant Aller en bas 
AuteurMessage
barahir
Fondateur
avatar

Nombre de messages : 1187
Age : 27
Location : Paris (bastille)
Add-On : Oui
Date d'inscription : 13/01/2008

MessageSujet: faire monté une unité sur une autre, voir tenir un objet ...   Dim 29 Juin - 15:54

bon je lance ca ici , parceque je pense que se serait vraiment une découverte super utile , comment "accrocher" une unitée sur une autre pour la porté ou la transporté


[EDIT allé voir le dernier message plutot que d'éssayé de tout lire , j'ai résumé ^^(mais je vous laisse tout les codes "propre comme réfgérences]



je pense que ca ne doit pas être trés dur a trouvé , Notorious la deja fait , donc on sait comment faire en sorte que ca fasse comme l'anneaux qu'on ramasse:
Code:

ObjectCreationList OCL_Statue
   CreateObject
      ObjectNames         = MinisStoneGuard1
      Count            = 1
      SpreadFormation      = No
      IgnoreAllObjects   = Yes
   End
End

Object MinisStoneGuard1
ReplaceModule ModuleTag_01
                   Draw = W3DScriptedModelDraw ModuleTag_010
                        DefaultModelConditionState
                        Model = GPStoneGuard1
         ParticleSysBone NONE OneRing
         ;ParticleSysBone NONE OneRingAura
         Shadow         = SHADOW_ADDITIVE_DECAL
         ShadowSizeX      = 200
         ShadowSizeY      = 200
         ShadowTexture   = MUCatapultFP02
         ShadowMaxHeight  = 200
         ShadowOverrideLODVisibility = yes
      End
      IdleAnimationState
         Animation
            AnimationName = THERING.THERING
            AnimationMode = LOOP
         End
      End
   End
End

EditorSorting      = MISC_MAN_MADE
   Side             = Civilian
   KindOf            = SELECTABLE IMMOBILE NOT_AUTOACQUIRABLE UNATTACKABLE REVEAL_TO_ALL   CRATE ONE_RING      ; Only Salvage crates are marked Selectable so the Mouse can interact with them and give Salvage voices.  Being dead makes them not actually selectable
   ThreatLevel         = 0.0
   ShroudClearingRange   = 100
AddModule
   Body = HighlanderBody ModuleTag_Body ;Can take damage, but won't die.  Can only die from ::kill() or other unresistable damage
      MaxHealth      = 1.0
   End
End



AddModule
   Behavior = AttachUpdate ModuleTag_Attach
      ObjectFilter         = ANY +INFANTRY +CAVALRY +HERO +MONSTER +MACHINE -WORKING_PASSENGER -NO_COLLIDE -INERT -IGNORED_IN_GUI -PROJECTILE -NEUTRALGOLLUM -NOT_AUTOACQUIRABLE -WildSpiderling_Slaved -IsengardExplosiveMine -Wyrm -WargSentry NOT_FLYING_UNITS
      ScanRange            = 10
      ParentStatus         = HOLDING_THE_RING
      AlwaysTeleport         = No
      AnchorToTopOfGeometry   = Yes
      
      // Eva events to play when the Ring is picked up by the local player / an ally / an enemy
      ParentOwnerAttachmentEvaEvent = RingPickedUpLocal
      ;ParentAllyAttachmentEvaEvent =  Nothing for now! (Are we sure???)
      ParentEnemyAttachmentEvaEvent = RingPickedUpEnemy
      
      ParentOwnerDiedEvaEvent = LocalPlayerLosesRing ; E.g. the unit carrying the ring died, so we lost it.
      ;ParentAllyDiedEvaEvent =  Nothing (for now)
      ;ParentEnemyDiedEvaEvent = Nothing (for now)
      
   End
End
AddModule
   Behavior = DestroyDie ModuleTag_Die
   End
End
   
AddModule
   Behavior = CreateObjectDie ModuleTag_DropTheRing
      CreationList = OCL_Statue
   End
End
   
  Geometry              = BOX
  GeometryMajorRadius  = 4.8
  GeometryMinorRadius  = 5.6
  GeometryHeight        = 16.8
  GeometryIsSmall      = No
  Shadow                = SHADOW_VOLUME
End


Dernière édition par barahir le Dim 29 Juin - 16:23, édité 1 fois
Revenir en haut Aller en bas
Voir le profil de l'utilisateur
barahir
Fondateur
avatar

Nombre de messages : 1187
Age : 27
Location : Paris (bastille)
Add-On : Oui
Date d'inscription : 13/01/2008

MessageSujet: Re: faire monté une unité sur une autre, voir tenir un objet ...   Dim 29 Juin - 15:55

a cela j'ajouterais un module permettant de faire monté l'unité a un certain point d'une autre unité , or c'est exactement ce qui se passe avec la lone tower , quand on met une unité a l'interieur , elle apparait au sommet

Code:

Object RuinedTower_Open
 
 SelectPortrait = BPGBattleTower
 
   ; *** ART Parameters ***
   ButtonImage = BRBattleTower
    
   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
      
      OkToChangeModelColor  = Yes
      UseStandardModelNames = Yes

      DefaultModelConditionState
         Model = RuinTwr_Open
         WeaponLaunchBone = PRIMARY ARROW_
      End

      ;IdleAnimationState
      ;   Animation = IDLE
      ;      AnimationName =   GBBtlTwrS.GBBtlTwrS
      ;      AnimationMode =   LOOP   
      ;   End      
      ;   ;BeginScript
      ;   ;   CurDrawableHideSubObject("B_FLAGBASE")
      ;   ;EndScript
      ;End   
   
 
      ;---------------damage states-- garrisoned---------------
      
        ;--damaged building
      ModelConditionState  = GARRISONED DESTROYED_FRONT
      Model        = RuinTwr_D 
         ParticleSysBone FireSmall01 FireBuildingSmall
         ParticleSysBone FireSmall02 FireBuildingSmall
         ParticleSysBone FireSmall03 FireBuildingSmall
         ParticleSysBone FireSmall04 FireBuildingSmall
         ParticleSysBone FireMedium01 FireBuildingMedium
         ParticleSysBone FireMedium02 FireBuildingMedium
          ParticleSysBone FireLarge01 FireBuildingLarge
          ParticleSysBone SmokeLarge01 SmokeBuildingLarge
      End
      AnimationState = GARRISONED DESTROYED_FRONT
         Animation   = RuinTwr_D.RuinTwr_D
            AnimationName      =   RuinTwr_D.RuinTwr_D
            AnimationMode      =   LOOP   
         End
      End
   
      ModelConditionState  = GARRISONED DESTROYED_RIGHT
      Model        = RuinTwr_D 
         ParticleSysBone FireSmall01 FireBuildingSmall
         ParticleSysBone FireSmall02 FireBuildingSmall
         ParticleSysBone FireSmall03 FireBuildingSmall
         ParticleSysBone FireSmall04 FireBuildingSmall
         ParticleSysBone FireMedium01 FireBuildingMedium
         ParticleSysBone FireMedium02 FireBuildingMedium
         ParticleSysBone FireLarge01 FireBuildingLarge
         ParticleSysBone SmokeLarge01 SmokeBuildingLarge
      End
      AnimationState = GARRISONED DESTROYED_RIGHT
         Animation   = RuinTwr_D.RuinTwr_D
            AnimationName      =   RuinTwr_D.RuinTwr_D
            AnimationMode      =   LOOP   
         End   
      End
      

      ModelConditionState  = GARRISONED DESTROYED_BACK
      Model        = RuinTwr_D 
         ParticleSysBone FireSmall01 FireBuildingSmall
         ParticleSysBone FireSmall02 FireBuildingSmall
         ParticleSysBone FireSmall03 FireBuildingSmall
         ParticleSysBone FireSmall04 FireBuildingSmall
         ParticleSysBone FireMedium01 FireBuildingMedium
         ParticleSysBone FireMedium02 FireBuildingMedium
         ParticleSysBone FireLarge01 FireBuildingLarge
         ParticleSysBone SmokeLarge01 SmokeBuildingLarge
      End
      AnimationState = GARRISONED DESTROYED_BACK
         Animation   = RuinTwr_D.RuinTwr_D
            AnimationName      =   RuinTwr_D.RuinTwr_D
            AnimationMode      =   LOOP   
         End
      End

      ModelConditionState  = GARRISONED DESTROYED_LEFT
      Model        = RuinTwr_D 
         ParticleSysBone FireSmall01 FireBuildingSmall
         ParticleSysBone FireSmall02 FireBuildingSmall
         ParticleSysBone FireSmall03 FireBuildingSmall
         ParticleSysBone FireSmall04 FireBuildingSmall
         ParticleSysBone FireMedium01 FireBuildingMedium
         ParticleSysBone FireMedium02 FireBuildingMedium
         ParticleSysBone FireLarge01 FireBuildingLarge
         ParticleSysBone SmokeLarge01 SmokeBuildingLarge
      End
      AnimationState = GARRISONED DESTROYED_LEFT
         Animation   = RuinTwr_D.RuinTwr_D
            AnimationName      =   RuinTwr_D.RuinTwr_D
            AnimationMode      =   LOOP   
         End   
      End

      AnimationState = GARRISONED DAMAGED
         Animation          = RuinTwr_D
            AnimationName    = RuinTwr_D.RuinTwr_D
            AnimationMode    = LOOP
         End
         EnteringStateFX   = FX_BuildingDamaged
      End

      AnimationState = GARRISONED REALLYDAMAGED
         Animation   = RuinTwr_D.RuinTwr_D
            AnimationName      =   RuinTwr_D.RuinTwr_D
            AnimationMode      =   LOOP   
         End
         EnteringStateFX   = FX_BuildingReallyDamaged
      End
   
      AnimationState = GARRISONED RUBBLE
         Animation   = RuinTwr_D.RuinTwr_D
            AnimationName      =   RuinTwr_D.RuinTwr_D
            AnimationMode      =   LOOP   
         End   
         BeginScript
            CurDrawableHideSubObject("D2A")
            CurDrawableHideSubObject("D2B")
            CurDrawableHideSubObject("D2C")
            CurDrawableHideSubObject("D2D")
         EndScript
      End

      AnimationState = GARRISONED CONSTRUCTION_COMPLETE
         Animation          = RuinTwr
            AnimationName    = RuinTwr.RuinTwr
            AnimationMode    = LOOP
         End
      End

      AnimationState = GARRISONED
         Animation          = RuinTwr
            AnimationName    = RuinTwr.RuinTwr
            AnimationMode    = LOOP
         End
      End

   
      ;---------------damage states- non-garrisoned----------------
      
        ;--damaged building
      ModelConditionState  = DESTROYED_FRONT
         Model        = RuinTwr_D 
         ParticleSysBone FireSmall01 FireBuildingSmall
         ParticleSysBone FireSmall02 FireBuildingSmall
         ParticleSysBone FireSmall03 FireBuildingSmall
         ParticleSysBone FireSmall04 FireBuildingSmall
         ParticleSysBone FireMedium01 FireBuildingMedium
         ParticleSysBone FireMedium02 FireBuildingMedium
          ParticleSysBone FireLarge01 FireBuildingLarge
          ParticleSysBone SmokeLarge01 SmokeBuildingLarge
      End
      AnimationState = DESTROYED_FRONT
         BeginScript
            CurDrawableHideSubObject("D2A")
         EndScript
      End
      
      ModelConditionState  = DESTROYED_RIGHT
         Model        = RuinTwr_D 
         ParticleSysBone FireSmall01 FireBuildingSmall
         ParticleSysBone FireSmall02 FireBuildingSmall
         ParticleSysBone FireSmall03 FireBuildingSmall
         ParticleSysBone FireSmall04 FireBuildingSmall
         ParticleSysBone FireMedium01 FireBuildingMedium
         ParticleSysBone FireMedium02 FireBuildingMedium
         ParticleSysBone FireLarge01 FireBuildingLarge
         ParticleSysBone SmokeLarge01 SmokeBuildingLarge
      End
   
      AnimationState = DESTROYED_RIGHT
         BeginScript
            CurDrawableHideSubObject("D2B")
         EndScript
      End
   

      ModelConditionState  = DESTROYED_BACK
         Model        = RuinTwr_D 
         ParticleSysBone FireSmall01 FireBuildingSmall
         ParticleSysBone FireSmall02 FireBuildingSmall
         ParticleSysBone FireSmall03 FireBuildingSmall
         ParticleSysBone FireSmall04 FireBuildingSmall
         ParticleSysBone FireMedium01 FireBuildingMedium
         ParticleSysBone FireMedium02 FireBuildingMedium
         ParticleSysBone FireLarge01 FireBuildingLarge
         ParticleSysBone SmokeLarge01 SmokeBuildingLarge
      End
      AnimationState = DESTROYED_BACK
         BeginScript
            CurDrawableHideSubObject("D2C")
         EndScript
      End

      ModelConditionState  = DESTROYED_LEFT
         Model        = RuinTwr_D 
         ParticleSysBone FireSmall01 FireBuildingSmall
         ParticleSysBone FireSmall02 FireBuildingSmall
         ParticleSysBone FireSmall03 FireBuildingSmall
         ParticleSysBone FireSmall04 FireBuildingSmall
         ParticleSysBone FireMedium01 FireBuildingMedium
         ParticleSysBone FireMedium02 FireBuildingMedium
         ParticleSysBone FireLarge01 FireBuildingLarge
         ParticleSysBone SmokeLarge01 SmokeBuildingLarge
      End
      AnimationState = DESTROYED_LEFT
         BeginScript
            CurDrawableHideSubObject("D2D")
         EndScript
      End
   
   
      ModelConditionState  = DAMAGED
         Model        = RuinTwr_D
      End
      AnimationState = DAMAGED
         EnteringStateFX   = FX_BuildingDamaged
      End

      AnimationState = REALLYDAMAGED
         EnteringStateFX   = FX_BuildingReallyDamaged
      End

 

      ModelConditionState  = REALLYDAMAGED
         Model        = RuinTwr_D
         ParticleSysBone None FireBuildingLarge
         ParticleSysBone None SmokeBuildingLarge
      End   
   

      ModelConditionState  = RUBBLE
         Model        = RuinTwr_D 
         ParticleSysBone SmokeLarge01 SmokeBuildingLarge
      End
   

      AnimationState = RUBBLE
         BeginScript
            CurDrawableHideSubObject("D2A")
            CurDrawableHideSubObject("D2B")
            CurDrawableHideSubObject("D2C")
            CurDrawableHideSubObject("D2D")
         EndScript
      End

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

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

   End ; draw

 


   ; ***DESIGN parameters ***
   DisplayName        = OBJECT:RuinedTower
   Side                = Men
   EditorSorting      = STRUCTURE
   ThreatLevel         = 1.0
   
   BuildCost          = 66 ;GONDOR_BATTLETOWER_BUILDCOST
   BuildTime          = 15.0          ; in seconds
   VisionRange        = VISION_BASE_DEFENSE
    ShroudClearingRange = SHROUD_CLEAR_BASE_DEFENSE   
    CommandSet         = NeutralBattleTowerCommandSet
 
     ArmorSet
      Conditions        = None
      Armor            = StructureArmor
      ;DamageFX          = StructureDamageFXNoShake
   End

   ; *** AUDIO Parameters ***

   VoiceSelect            = RuinedTowerVoiceSelect

   SoundOnDamaged         = BuildingLightDamageStone
   SoundOnReallyDamaged      = BuildingHeavyDamageStone

   ;UnitSpecificSounds
   ;End


   ; *** ENGINEERING Parameters ***

   RadarPriority      = STRUCTURE
   KindOf              = PRELOAD STRUCTURE SELECTABLE IMMOBILE SCORE NEED_BASE_FOUNDATION GARRISON CAN_ATTACK GARRISONABLE_UNTIL_DESTROYED MADE_OF_STONE CHUNK_VENDOR ALWAYS_SHOW_HOUSE_COLOR
   
   Behavior            = GettingBuiltBehavior ModuleTag_04
      WorkerName      = GondorWorkerNoSelect
      EvilWorkerName   = MordorWorkerNoSelect
      TestFaction      = Yes
   End


   Body                        = StructureBody ModuleTag_05
      MaxHealth                = 3000.0
      MaxHealthDamaged          = 2000.0
      MaxHealthReallyDamaged    = 1000.0
      DamageCreationList = OCL_BuildingDamageList01 CATAPULT_ROCK

      GrabObject = EntThrownBuildingRock
      GrabFX = FX_WallGrab
      GrabOffset = X:16 Y:0     
               
      DamageCreationList = OCL_GBBtlTwrSD2_Chunk1 CATAPULT_ROCK FRONT_DESTROYED
      DamageCreationList = OCL_GBBtlTwrSD2_Chunk2 CATAPULT_ROCK RIGHT_DESTROYED
      DamageCreationList = OCL_GBBtlTwrSD2_Chunk3 CATAPULT_ROCK BACK_DESTROYED
      DamageCreationList = OCL_GBBtlTwrSD2_Chunk4 CATAPULT_ROCK LEFT_DESTROYED
   End

   Behavior                  = BuildingBehavior BuildingModuleTag
      NightWindowName        = WINDOW_N01
      ;FireWindowName          = WINDOW_F01
      ;GlowWindowName       = WINDOW_G01
   End
 
   Behavior = SlowDeathBehavior ModuleTag_SlowDeathWithoutRubble
      DestructionDelay  = 5000
   End

   Behavior = AIUpdateInterface ModuleTag_SoWeCanUseWeapon
       AutoAcquireEnemiesWhenIdle   = No
;       MoodAttackCheckRate         = 250
      AILuaEventsList            = GarrisonableFunctions
    End
    
   Behavior                  = StructureCollapseUpdate ModuleTag_StructureCollapseUpdate
      MinCollapseDelay        = 000
      MaxCollapseDelay        = 000
      CollapseDamping        = .5
      MaxShudder              = 0.6
      MinBurstDelay          = 250
      MaxBurstDelay          = 800
      BigBurstFrequency      = 4
      FXList                  = INITIAL FX_StructureMediumCollapse
   End

   Behavior      = EvacuateDamage ModuleTag_evacuateDamage
      WeaponThatCausesEvacuation  = MordorCatapultHumanHeads
   End

   Behavior = RefundDie ModuleTag_refund
      UpgradeRequired = Upgrade_MarketplaceUpgradeDefiance
      BuildingRequired = ANY +GondorMarketPlace
      RefundPercent = 50%
   End

   Behavior = HordeGarrisonContain ModuleTag_hordeGarrison
      ObjectStatusOfContained   = UNSELECTABLE CAN_ATTACK
      ContainMax              = 1
      DamagePercentToUnits    = 0%
      PassengerFilter         = GENERIC_FACTION_GARRISONABLE
      AllowEnemiesInside      = No
      AllowNeutralInside      = Yes   ; Cause this structure is normally neutral.
      NumberOfExitPaths      = 1      ; Defaults to 1.  Set 0 to not use ExitStart/ExitEnd, set higher than 1 to use ExitStart01-nn/ExitEnd01-nn
      PassengerBonePrefix    = PassengerBone:ARROW_ KindOf:INFANTRY
      EntryPosition         = X:0.0 Y:0.0 Z:0.0
      EntryOffset            = X:0.0 Y:-45.0 Z:0.0
      ExitOffset            = X:0.0 Y:-45.0 Z:0.0
      EnterSound            = RuinedTowerEnterSound
   End
   
   GeometryContactPoint = X:20.0   Y:-20.0   Z:0         Repair

   Geometry              = CYLINDER
   GeometryMajorRadius  = 26.4
   GeometryMinorRadius  = 26.4
   GeometryHeight        = 112.0
   GeometryIsSmall      = No
   Shadow                = SHADOW_VOLUME
   BuildCompletion    = PLACED_BY_PLAYER
   
   
   GeometryContactPoint X:0 Y:0 Z:112 Swoop
   
   ;Grab point for rock-wielding ents
   GeometryContactPoint X:26 Y:0 Z:0 Grab
   GeometryContactPoint X:13 Y:-13 Z:80
   GeometryContactPoint X:0 Y:-26 Z:0 Grab
   GeometryContactPoint X:-13 Y:-13 Z:80
   GeometryContactPoint X:-26 Y:0 Z:0 Grab
   GeometryContactPoint X:-13 Y:13 Z:80
   GeometryContactPoint X:0 Y:26 Z:0 Grab
   
End
Revenir en haut Aller en bas
Voir le profil de l'utilisateur
barahir
Fondateur
avatar

Nombre de messages : 1187
Age : 27
Location : Paris (bastille)
Add-On : Oui
Date d'inscription : 13/01/2008

MessageSujet: Re: faire monté une unité sur une autre, voir tenir un objet ...   Dim 29 Juin - 16:04

a cela , on peut ajouter les codes du mumak :
Code:

Object MordorMumakil                        ;BALANCE Mumakil
  ; *** ART Parameters ***
 
  ; This is required for garrisoned objects - please put in all objects.
  ButtonImage      = WOR_Mumakil
  SelectPortrait   = UPMordor_Mumakil

  Draw = W3DQuadrupedDraw ModuleTag_01
 
       OkToChangeModelColor = Yes
      
    StaticModelLODMode = yes ; Will append M or L to the skin name depending on GameLOD
    ExtraPublicBone            = e_FrontLeft
    ExtraPublicBone            = e_FrontRight
    ExtraPublicBone            = e_BackLeft
    ExtraPublicBone            = e_BackRight
    ExtraPublicBone            = B_CARGO0
    ExtraPublicBone            = B_BANNER
    ExtraPublicBone            = B_LLLID

    DefaultModelConditionState
      Model              =  MUMumakil_SKN
    End
       
    ExtraPublicBone = DockWaiting01
    ExtraPublicBone = DockStart
;    ExtraPublicBone = DockExit         ; No longer used
    ExtraPublicBone = DockAction
   


BLA BLA BLA LES ANIMATIONS ...


   ; *** ENGINEERING Parameters ***

   RadarPriority = UNIT
   KindOf = PRELOAD SELECTABLE CAN_CAST_REFLECTIONS MONSTER SCORE CAN_ATTACK ATTACK_NEEDS_LINE_OF_SIGHT PATH_THROUGH_INFANTRY TRANSPORT SCARY CAN_ATTACK_WALLS BIG_MONSTER HEAVY_MELEE_HITTER MUMAKIL_BUFF_NUGGET ARMY_SUMMARY
   ThreatBreakdown RohanEntBase_DetailedThreat
      AIKindOf = SIEGEWEAPON
   End

   BuildCost = MORDOR_MUMAKIL_BUILDCOST
   BuildTime = MORDOR_MUMAKIL_BUILDTIME

   ; This is required so that the build phase lasts as long as the anim.
   BuildFadeInOnCreateTime = 5.5

   Body = DelayedDeathBody ModuleTag_02
      CheerRadius             = EMOTION_CHEER_RADIUS
      MaxHealth            = MORDOR_MUMAKIL_HEALTH         ; BALANCE Mumakil Health
      DoHealthCheck            = No         ; Don't want to get the delayed death behaviour when we die normally.
      DelayedDeathTime         = 5000
      CanRespawn            = No         ; Unit can't get revived.
      ImmortalUntilDeathTime      = No         ; Not immune to damage during rampage.  So you can keep him from running stuff over.
      BurningDeathBehavior      = Yes
      BurningDeathFX            = FX_CavalryBurningFlame
   End

   
   ;Mumakil Upgrade
;   Behavior = WeaponSetUpgrade ModuleTag_WeaponsetUpgrade
;      TriggeredBy = Upgrade_MumakilLevel2
;   End

   Behavior = ModelConditionUpgrade ModuleTag_Level2Upgrade
      TriggeredBy            = Upgrade_MumakilLevel2
      AddConditionFlags      = USER_4
      Permanent            = Yes
   End
   
   Behavior SubObjectsUpgrade = FadeInTheHodwah
      TriggeredBy            = Upgrade_MumakilLevel1
      ShowSubObjects         = Houda Houda01
      FadeTimeInSeconds      = 6.0
      WaitBeforeFadeInSeconds   = 0.1
   End
   
   Behavior = LevelUpUpgrade ModuleTag_BasicTraining
      TriggeredBy = Upgrade_MordorBasicTraining
      LevelsToGain = 1
      LevelCap = 2
   End

   Behavior = ProductionUpdate ProductionUpdateModuleTag
      GiveNoXP = Yes
   End

   Behavior = AIUpdateInterface ModuleTag_03
      AILuaEventsList   =   MumakilFunctions
      RampageTime      =   7960
      RampageRequiresAflame = Yes   ; Otherwise, we just skip straight to RunOffMap
      AutoAcquireEnemiesWhenIdle = Yes ATTACK_BUILDINGS
      AttackPriority            = AttackPriority_Cavalry
      BurningDeathTime         = BURNINGDEATH_DURATION_CAVALRY
   End

     Behavior = EmotionTrackerUpdate   Module_EmotionTracker
      AddEmotion   =   Terror_Base
      AddEmotion   =   Alert_Base
      AddEmotion   =  CheerForAboutToCrush_Base
   End

   Behavior = FireWeaponUpdate FireWeaponUpdateModuleTag
      FireWeaponNugget
         WeaponName = MordorMumakilHeroEffect
         FireDelay = 0
         OneShot = No
      End

      ChargingModeTrigger = Yes      ; this will happen when in enraged mode
      AliveOnly = Yes               ; this will only fire when the mumakil is alive
   End

  Behavior = FlammableUpdate ModuleTag_03a
    AflameDuration        = 999999 ;If I catch fire, I'll burn for this long...
    AflameDamageAmount    = 0      ; Being on fire rampages us, which kills us. So there is no need to take damage. Don't want this module getting the kill instead of the person who lit us up.
    AflameDamageDelay      = 10000
    FlameDamageLimit      = 3250  ;2700
    FlameDamageExpiration  = 30000
    BurnContained          = Yes
    FireFXList            = FX:FX_FireStartWoosh
  End

   Behavior LifetimeUpdate LifetimeTag
      WaitForWakeUp   =   Yes
   End
 
   ;Only triggered after a rampage takes place.   
   Behavior = RunOffMapBehavior ModuleTag_RunOff
      RequiresSpecificTrigger = Yes ;Triggers when DetachableRiderUpdate says so!
      RunOffMapWaypointName   = MumakilExit
      DieOnMap = Yes
   End


   ; Death weapons for fall flat
   Behavior = FireWeaponWhenDeadBehavior ModuleTag_07
     RequiredStatus = DEATH_1
     StartsActive = Yes
     DelayTime = 250
     DeathWeapon = MordorOliphantDeathStraightInitial
   End

   ;Behavior = FireWeaponWhenDeadBehavior ModuleTag_08
   ;   RequiredStatus = DEATH_1
   ;   StartsActive = Yes
   ;   DelayTime = 250
   ;   DeathWeapon = MordorOliphantDeathStraightFinal
   ;End

   ; Death weapons for fall to right
   Behavior = FireWeaponWhenDeadBehavior ModuleTag_09
      RequiredStatus   = DEATH_2
      StartsActive   = Yes
      DelayTime      = 3300
      DeathWeapon      = MordorOliphantToppleFinal
      WeaponOffset   = X:0 Y:-42 Z:0
   End

   ; Death weapons for fall to left
   Behavior = FireWeaponWhenDeadBehavior ModuleTag_11
      RequiredStatus   = DEATH_3
      StartsActive   = Yes
      DelayTime      =  3300
      DeathWeapon      = MordorOliphantToppleFinal
      WeaponOffset   = X:0 Y:42 Z:0
   End

   Behavior = StancesBehavior ModuleTag_StancesBehavior
           StanceTemplate = FighterHorde
       End


   Behavior = HordeTransportContain  ModuleTag_12
      ObjectStatusOfContained            = UNSELECTABLE UNATTACKABLE CAN_ATTACK
      ;PassengersTestCollisionHeight      = 80
      Slots                        = 1
      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                  = MordorHaradrimArcherHordeOnMumakil 1
   End
   
   Behavior = HordeTransportContainDamage ModeleTag_HordeTransportContainDamage
   End

   LocomotorSet
      Locomotor = MumakilLocomotor
      Condition = SET_NORMAL
      Speed    = 50
   End
 
   LocomotorSet
      Locomotor   =   MumakilPanicLocomotor
      Condition   =   SET_PANIC
      Speed      =   60
   End
 
 
   LocomotorSet
      Locomotor   =   MumakilEnragedLocomotor
      Condition   =   SET_ENRAGED
      Speed      =   80
   End
   
   LocomotorSet
      Locomotor = BurningDeathLocomotorCavalry
      Condition = SET_BURNINGDEATH
      Speed     = BURNINGDEATH_WANDERSPEED_ENT
   End

  Behavior = PhysicsBehavior ModuleTag_04
  End
 
  Behavior = SlowDeathBehavior ModuleTag_05
    DeathTypes         = ALL
    SinkDelay         = 25000
    SinkRate         = 2.4    ; in Dist/Sec
    DestructionDelay   = 60000
    DecayBeginTime      = 6000
    DeathFlags         = DEATH_1      ; Controls animation and weapon choice. Sets BOTH model condition and object status bits.
    FX               = INITIAL FX_OliphantDie
    ShadowWhenDead      = Yes      ; Volumetric shadows don't look so bad when sinking into ground
  End


  Behavior = SquishCollide ModuleTag_06
  End
 
   Behavior = NotifyTargetsOfImminentProbableCrushingUpdate ModuleTag_NotifyCrushScan
   End

  ; Extra secondary geometry to be used for crushing/squishing detection purposes
  GeometryOther = GeomType:BOX IsSmall:No Height:20 MajorRadius:25 MinorRadius:20 OffsetX:32  ; front 2 legs
  GeometryOther = GeomType:BOX IsSmall:No Height:20 MajorRadius:15 MinorRadius:20 OffsetX:-35  ; back 2 legs
 
   Behavior = HitReactionBehavior HitReactionBehaviorModuleTag
      HitReactionLifeTimer1 = 1000 ; level 1 (light  damage)  hit reaction animations in msec
      HitReactionThreshold1 = 200.0  ; level 1 (light  damage) threshold trigger
   End
   
   Behavior = ModelConditionUpgrade ModuleTag_All_FactionUpgrade
      TriggeredBy            = Upgrade_AllFactionUpgrade
      AddConditionFlags      = USER_3
      Permanent            = Yes
   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

   
  GeometryIsSmall      = No
 
  Geometry            = BOX
  GeometryMajorRadius   = 48.0
  GeometryMinorRadius   = 24.0
  GeometryHeight      = 50.0
  GeometryOffset      = X:20 Y:0 Z:0
 
  AdditionalGeometry   = CYLINDER
  GeometryMajorRadius   = 20.0
  GeometryHeight      = 60.0
  GeometryOffset      = X:5 Y:0 Z:50
 
  ;;swoop points
;   GeometryContactPoint      = X:48 Y:24 Z:88.8      Swoop
;   GeometryContactPoint      = X:48 Y:-24 Z:88.8      Swoop
;   GeometryContactPoint      = X:-48 Y:-24 Z:88.8   Swoop
;   GeometryContactPoint      = X:-48 Y:24 Z:88.8      Swoop
;   GeometryContactPoint      = X:48 Y:24 Z:88.8      Swoop
 
  DeadCollideSize = LARGE ; How big does the AOD consider this unit for damage fx & behavior.

  Shadow = SHADOW_VOLUME_NON_SELF_2; volumetric shadow that doesn't cast onto all objects using SHADOW_VOLUME_NON_SELF_1
  ShadowSizeX = 36; clamp the angle so shadow isn't as long.
;  ShadowSizeX = 60;
;  ShadowSizeY = 60;
;  ShadowTexture = ShadowI;


End


Revenir en haut Aller en bas
Voir le profil de l'utilisateur
barahir
Fondateur
avatar

Nombre de messages : 1187
Age : 27
Location : Paris (bastille)
Add-On : Oui
Date d'inscription : 13/01/2008

MessageSujet: Re: faire monté une unité sur une autre, voir tenir un objet ...   Dim 29 Juin - 16:07

le problème a ce posé , c'est comment considéré la chose , faut il se basé sur le porteur (comme pour l'oloiphant et la tour)
ou sur l'objet a porté (l'anneaux )ou bien les deux ensemble Question
et la j'avoue que je suis perdu
quelqu'un a t'il des sugestions ?
Revenir en haut Aller en bas
Voir le profil de l'utilisateur
barahir
Fondateur
avatar

Nombre de messages : 1187
Age : 27
Location : Paris (bastille)
Add-On : Oui
Date d'inscription : 13/01/2008

MessageSujet: Re: faire monté une unité sur une autre, voir tenir un objet ...   Dim 29 Juin - 16:22

si on résue l'ssentiel des codes c'est ca
Code:

AddModule
  Behavior  =  AttachUpdate  ModuleTag_Attach
      ObjectFilter        =  ANY  +INFANTRY  +CAVALRY  +HERO  +MONSTER  +MACHINE  -WORKING_PASSENGER  -NO_COLLIDE  -INERT  -IGNORED_IN_GUI  -PROJECTILE  -NEUTRALGOLLUM  -NOT_AUTOACQUIRABLE  -WildSpiderling_Slaved  -IsengardExplosiveMine  -Wyrm  -WargSentry  NOT_FLYING_UNITS
      ScanRange            =  10
      ParentStatus        =  HOLDING_THE_RING
      AlwaysTeleport        =  No
      AnchorToTopOfGeometry  =  Yes
     
      //  Eva  events  to  play  when  the  Ring  is  picked  up  by  the  local  player  /  an  ally  /  an  enemy
      ParentOwnerAttachmentEvaEvent  =  RingPickedUpLocal
      ;ParentAllyAttachmentEvaEvent  =        Nothing  for  now!  (Are  we  sure???)
      ParentEnemyAttachmentEvaEvent  =  RingPickedUpEnemy
     
      ParentOwnerDiedEvaEvent  =  LocalPlayerLosesRing  ;  E.g.  the  unit  carrying  the  ring  died,  so  we  lost  it.
      ;ParentAllyDiedEvaEvent  =      Nothing  (for  now)
      ;ParentEnemyDiedEvaEvent  =  Nothing  (for  now)
     
  End
End


puis
Code:

 RadarPriority                    =  STRUCTURE
  KindOf                                          =  PRELOAD  STRUCTURE  SELECTABLE  IMMOBILE  SCORE  NEED_BASE_FOUNDATION  GARRISON  CAN_ATTACK  GARRISONABLE_UNTIL_DESTROYED  MADE_OF_STONE  CHUNK_VENDOR  ALWAYS_SHOW_HOUSE_COLOR

 Behavior  =  HordeGarrisonContain  ModuleTag_hordeGarrison
      ObjectStatusOfContained  =  UNSELECTABLE  CAN_ATTACK
      ContainMax                                          =  1
      DamagePercentToUnits            =  0%
      PassengerFilter        =  GENERIC_FACTION_GARRISONABLE
      AllowEnemiesInside                  =  No
      AllowNeutralInside                  =  Yes  ;  Cause  this  structure  is  normally  neutral.
      NumberOfExitPaths                    =  1      ;  Defaults  to  1.      Set  0  to  not  use  ExitStart/ExitEnd,  set  higher  than  1  to  use  ExitStart01-nn/ExitEnd01-nn
      PassengerBonePrefix              =  PassengerBone:ARROW_  KindOf:INFANTRY
      EntryPosition        =  X:0.0  Y:0.0  Z:0.0
      EntryOffset            =  X:0.0  Y:-45.0  Z:0.0
      ExitOffset            =  X:0.0  Y:-45.0  Z:0.0
      EnterSound            =  RuinedTowerEnterSound
  End
 
  GeometryContactPoint  =  X:20.0  Y:-20.0  Z:0        Repair

  Geometry                                          =  CYLINDER
  GeometryMajorRadius        =  26.4
  GeometryMinorRadius        =  26.4
  GeometryHeight                        =  112.0
  GeometryIsSmall                    =  No
  Shadow                                                =  SHADOW_VOLUME
  BuildCompletion              =  PLACED_BY_PLAYER
 
 
  GeometryContactPoint  X:0  Y:0  Z:112  Swoop 
 
  ;Grab  point  for  rock-wielding  ents
  GeometryContactPoint  X:26  Y:0  Z:0  Grab
  GeometryContactPoint  X:13  Y:-13  Z:80
  GeometryContactPoint  X:0  Y:-26  Z:0  Grab
  GeometryContactPoint  X:-13  Y:-13  Z:80
  GeometryContactPoint  X:-26  Y:0  Z:0  Grab
  GeometryContactPoint  X:-13  Y:13  Z:80
  GeometryContactPoint  X:0  Y:26  Z:0  Grab
 
End



et enfin
Code:

Object  MordorMumakil                                                                          ;BALANCE  Mumakil 
      ;  ***  ART  Parameters  ***
     
      ;  This  is  required  for  garrisoned  objects  -  please  put  in  all  objects.
      ButtonImage      =  WOR_Mumakil
      SelectPortrait  =  UPMordor_Mumakil

      Draw  =  W3DQuadrupedDraw  ModuleTag_01
     
              OkToChangeModelColor  =  Yes
             
            StaticModelLODMode  =  yes  ;  Will  append  M  or  L  to  the  skin  name  depending  on  GameLOD
            ExtraPublicBone                                    =  e_FrontLeft
            ExtraPublicBone                                    =  e_FrontRight
            ExtraPublicBone                                    =  e_BackLeft
            ExtraPublicBone                                    =  e_BackRight
            ExtraPublicBone                                    =  B_CARGO0
            ExtraPublicBone                                    =  B_BANNER
            ExtraPublicBone                                    =  B_LLLID

            DefaultModelConditionState
                  Model                                            =      MUMumakil_SKN
            End
                       
            ExtraPublicBone  =  DockWaiting01
            ExtraPublicBone  =  DockStart
;            ExtraPublicBone  =  DockExit        ;  No  longer  used
            ExtraPublicBone  =  DockAction



  KindOf  =  PRELOAD  SELECTABLE  CAN_CAST_REFLECTIONS  MONSTER  SCORE  CAN_ATTACK  ATTACK_NEEDS_LINE_OF_SIGHT  PATH_THROUGH_INFANTRY  TRANSPORT  SCARY  CAN_ATTACK_WALLS  BIG_MONSTER  HEAVY_MELEE_HITTER  MUMAKIL_BUFF_NUGGET  ARMY_SUMMARY
  ThreatBreakdown  RohanEntBase_DetailedThreat
      AIKindOf  =  SIEGEWEAPON
  End


  Behavior  =  HordeTransportContain      ModuleTag_12
      ObjectStatusOfContained            =  UNSELECTABLE  UNATTACKABLE  CAN_ATTACK
      ;PassengersTestCollisionHeight      =  80
      Slots                        =  1
      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                  =  MordorHaradrimArcherHordeOnMumakil  1
  End
 
      GeometryIsSmall      =  No
     
      Geometry            =  BOX
      GeometryMajorRadius  =  48.0
      GeometryMinorRadius  =  24.0
      GeometryHeight      =  50.0
      GeometryOffset      =  X:20  Y:0  Z:0
     
      AdditionalGeometry  =  CYLINDER
      GeometryMajorRadius  =  20.0
      GeometryHeight      =  60.0
      GeometryOffset      =  X:5  Y:0  Z:50
     
      ;;swoop  points
;  GeometryContactPoint      =  X:48  Y:24  Z:88.8      Swoop
;  GeometryContactPoint      =  X:48  Y:-24  Z:88.8      Swoop
;  GeometryContactPoint      =  X:-48  Y:-24  Z:88.8  Swoop
;  GeometryContactPoint      =  X:-48  Y:24  Z:88.8      Swoop
;  GeometryContactPoint      =  X:48  Y:24  Z:88.8      Swoop
     
      DeadCollideSize  =  LARGE  ;  How  big  does  the  AOD  consider  this  unit  for  damage  fx  &  behavior.

      Shadow  =  SHADOW_VOLUME_NON_SELF_2;  volumetric  shadow  that  doesn't  cast  onto  all  objects  using  SHADOW_VOLUME_NON_SELF_1
      ShadowSizeX  =  36;  clamp  the  angle  so  shadow  isn't  as  long.
;      ShadowSizeX  =  60;
;      ShadowSizeY  =  60;
;      ShadowTexture  =  ShadowI;


End


voila je dirais que la solution est juste ici ! devant notre nez !
reste atrouvé comment ca marche ?

j'ai 3 theories
1) ca s'attache a un os du squelette
2) l'objet qui monte , est positionné grace au coordonné dans l'espace (x , y, z )
3)sa s'attache au squelette et les cordonné sont la pour dire par ou l'unité rentre

(ce qui a mon avis est le plus probable)
dans ce cas voyons plutot pour la tour et surtout le mumak
Revenir en haut Aller en bas
Voir le profil de l'utilisateur
barahir
Fondateur
avatar

Nombre de messages : 1187
Age : 27
Location : Paris (bastille)
Add-On : Oui
Date d'inscription : 13/01/2008

MessageSujet: Re: faire monté une unité sur une autre, voir tenir un objet ...   Dim 29 Juin - 16:37

donc je pense qu'il faut spécifié la partie du squelette ou s'acroche l'objet


Draw = W3DQuadrupedDraw ModuleTag_01
ExtraPublicBone = e_FrontLeft
ExtraPublicBone = e_FrontRight
ExtraPublicBone = e_BackLeft
ExtraPublicBone = e_BackRight
ExtraPublicBone = B_CARGO0
ExtraPublicBone = B_BANNER
ExtraPublicBone = B_LLLID sans doute ceci



DefaultModelConditionState
Model = MUMumakil_SKN
End

ExtraPublicBone = DockWaiting01
ExtraPublicBone = DockStart
; ExtraPublicBone = DockExit
ExtraPublicBone = DockAction (et ca ca doit être les endroit du skelette ou ils montent ???)




Behavior = HordeTransportContain ModuleTag_12
ObjectStatusOfContained = UNSELECTABLE UNATTACKABLE CAN_ATTACK
;PassengersTestCollisionHeight = 80
Slots = 1
EnterSound = GarrisonEnter
ExitSound = GarrisonExit
DamagePercentToUnits = 0%
PassengerFilter = NONE +MordorHaradrimArcherHordeOnMumakil
AllowOwnPlayerInsideOverride = Yes ;
AllowAlliesInside = No
AllowEnemiesInside = No
AllowNeutralInside = No
ExitDelay = 0
NumberOfExitPaths = 2
ForceOrientationContainer = No ; si l'objet peut se tourner a l'interieur

PassengerBonePrefix = PassengerBone:DockAction
KindOf:HERO
PassengerBonePrefix = PassengerBone:B_BANNER KindOf:BANNER
PassengerBonePrefix = PassengerBone:B_CARGO0 KindOf:INFANTRY (tient iens ici on retrouve les os de plus haut !)

ShowPips = No
EjectPassengersOnDeath = Yes

FadeFilter = ALL
FadePassengerOnEnter = Yes
EnterFadeTime = 6000
FadePassengerOnExit = Yes
ExitFadeTime = 1000

InitialPayload = MordorHaradrimArcherHordeOnMumakil 1 (; pay= rendre visite à ...)
End

GeometryIsSmall = No
Geometry = BOX
GeometryMajorRadius = 48.0
GeometryMinorRadius = 24.0
GeometryHeight = 50.0
GeometryOffset = X:20 Y:0 Z:0

AdditionalGeometry = CYLINDER
GeometryMajorRadius = 20.0
GeometryHeight = 60.0
GeometryOffset = X:5 Y:0 Z:50

End
Revenir en haut Aller en bas
Voir le profil de l'utilisateur
barahir
Fondateur
avatar

Nombre de messages : 1187
Age : 27
Location : Paris (bastille)
Add-On : Oui
Date d'inscription : 13/01/2008

MessageSujet: Re: faire monté une unité sur une autre, voir tenir un objet ...   Dim 29 Juin - 16:49

donc la solution a mon avis serais de choisir une unité comme porteur (un aigle par exemple ^^)
et de choisir une unitée a porter (gandalf le gris par exemple ^^)
d'aller voir le model 3d de l'aigle et trouvé un os sur le quel gandalf puisse s'acrocher (sur le dos ou a l'interieur des serres)
puis ajouter les modules en changeant les haradrims archer par gandalf the grey

bon qui c'est qui est une bète en ini et qui veu nous tester ca ? HAAahaaa!!
moi je vais aller jeter un coup d'oeil au skelette du mumak pour voir si ca se confirme

(n'emèche si on trouve c'est génial , on pourra tout faire , ajouter un casque d'uruk a l'homme ajouter un arc , une cape ...
Revenir en haut Aller en bas
Voir le profil de l'utilisateur
cdd59554
Admin
avatar

Nombre de messages : 7235
Age : 25
Location : J'aime les abricots
Add-On : Oui
Date d'inscription : 16/01/2008

MessageSujet: Re: faire monté une unité sur une autre, voir tenir un objet ...   Dim 29 Juin - 17:20

j'etait justement en train de regarder ca

pour le mumakil les unités apparaissent sur B_CARGO0 et le porte etendard sur l'os B_BANNER


le truc du module "InitialPayload = MordorHaradrimArcherHordeOnMumakil 1" ca veut dire que quand le mumakil sera fabriqué il aura deja 1 objet MordorHaradrimArcherHordeOnMumakil en garnison

Pour les os du model de l'aigle les voila :
ROOTTRANSFORM
B_PELVIS
BAT_TAIL01
B_TAIL03
B_TAIL05
B_TAIL02
B_TAIL04
BAT_ARROW05
BAT_RTHIGH
BAT_RCALF
BAT_RFOOT
B_RCLAW01
B_RCLAW03
B_PASSENGER <--- celui la c'est celui quand les mec se font choper dans ses griffes
BAT_LTHIGH
BAT_LCALF
BAT_LFOOT
B_LCLAW01
B_LCLAW03
B_SPINE01
B_SPINE02
BAT_HEAD
B_BEAK
BAT_ARROW03
BAT_ARROW04
BAT_ARROW02
BAT_WING01
BAT_WING02
BAT_WING03
BAT_WING04
BAT_WING12
BAT_WING11
BAT_WING07
BAT_WING10
BAT_WING06
BAT_WING09
BAT_WING05
BAT_WING08
BAT_WING13
BAT_WING14
BAT_WING15
BAT_WING16
BAT_WING24
BAT_WING23
BAT_WING19
BAT_WING22
BAT_WING18
BAT_WING21
BAT_WING17
BAT_WING20
BAT_ARROW01

Voila normalement c'est tout Smile
Revenir en haut Aller en bas
Voir le profil de l'utilisateur
leo11
Fondateur
avatar

Nombre de messages : 1685
Age : 27
Location : Champagne (france)
Add-On : Oui, vive l'addon.
Date d'inscription : 13/01/2008

MessageSujet: Re: faire monté une unité sur une autre, voir tenir un objet ...   Dim 25 Jan - 17:39

Bon je reviens sur ce problème! smile

Es ce que quelqu'un connait un objet qui change totalemnt de forme quand il a quelqu'un en garnison? Du genre quand un objet entre dasn une tour, alors cette tour a un drapeau qui apparait (meme s'il ne sert a rien).
Voila.

_________________

http://www.paybox.me/r/leo2001 <= éventuellement un bon site si il débouche à quelque chose. Rolling Eyes
Revenir en haut Aller en bas
Voir le profil de l'utilisateur http://imladrisproduction.forumotion.com
cdd59554
Admin
avatar

Nombre de messages : 7235
Age : 25
Location : J'aime les abricots
Add-On : Oui
Date d'inscription : 16/01/2008

MessageSujet: Re: faire monté une unité sur une autre, voir tenir un objet ...   Dim 25 Jan - 19:25

leo11 a écrit:

Es ce que quelqu'un connait un objet qui change totalemnt de forme quand il a quelqu'un en garnison? Du genre quand un objet entre dasn une tour, alors cette tour a un drapeau qui apparait (meme s'il ne sert a rien).
Voila.
dans le draw tu met ModelConditionState = GARRISONED et le tour est joué
Revenir en haut Aller en bas
Voir le profil de l'utilisateur
leo11
Fondateur
avatar

Nombre de messages : 1685
Age : 27
Location : Champagne (france)
Add-On : Oui, vive l'addon.
Date d'inscription : 13/01/2008

MessageSujet: Re: faire monté une unité sur une autre, voir tenir un objet ...   Dim 25 Jan - 21:33

Vraiment, je test ça de suite!

_________________

http://www.paybox.me/r/leo2001 <= éventuellement un bon site si il débouche à quelque chose. Rolling Eyes
Revenir en haut Aller en bas
Voir le profil de l'utilisateur http://imladrisproduction.forumotion.com
leo11
Fondateur
avatar

Nombre de messages : 1685
Age : 27
Location : Champagne (france)
Add-On : Oui, vive l'addon.
Date d'inscription : 13/01/2008

MessageSujet: Re: faire monté une unité sur une autre, voir tenir un objet ...   Dim 25 Jan - 21:58

Ca marche super bien! Maintenant il ne me reste plus qu'a trouver comment faire en sorte que le model soi différent selon sa garnison et si possible modifier le locomotorset de celui si quand il est "Garnisonné".
Si vous avez une idée sur ce coups... What a Face ok!

_________________

http://www.paybox.me/r/leo2001 <= éventuellement un bon site si il débouche à quelque chose. Rolling Eyes
Revenir en haut Aller en bas
Voir le profil de l'utilisateur http://imladrisproduction.forumotion.com
cdd59554
Admin
avatar

Nombre de messages : 7235
Age : 25
Location : J'aime les abricots
Add-On : Oui
Date d'inscription : 16/01/2008

MessageSujet: Re: faire monté une unité sur une autre, voir tenir un objet ...   Dim 25 Jan - 22:53

Oui c'est tout a fait possible normalement si c'est pas fesable avec l'ini ca le sera avec les scripts, par exemple si une unité est en garnison je suppose qu'elle se trouve exactement à la meme position que l'object dans lequel elle est, donc si on met à une certaine unité un module qui fait que toutes les object aux alentours soit dans un certain modelConditionState par exemple USER_10 grace à une sorte de charisme et que dans le batiment de garnison on mette une condition d'affichage pour USER_10 et bien on pourrait mettre une grosse quantité de models différents car EA nous a gentiment laissé plein de states inutilisé les USER_XX qui vont de USER_1, USER_2 USER_3 .... etc... USER_74 et enfin USER_75 (oui y'en a 75 !!!)en général les premiers peuvent etres utilisés apres on va dire qu'a partir de USER_10 c'est tout pour nous !!!
Donc en résumé le draw le ton object garnisonneur ( vive l'inventage de mots Razz ) ressemblera a ça :
Code:
Draw = W3DScriptedModelDraw ModuleTag_Draw

   // plein de trucs

   ModelConditionState  = USER_10 GARRISONED  // quand l'objet numéro 1 est en garnison
      Model              = XXXXX
   End

   ModelConditionState  =  USER_11 GARRISONED // quand l'objet numéro 2 est en garnison
      Model              = XXX
   End

   AnimationState        =  USER_12 GARRISONED // quand l'objet numéro 3 est en garnison
      // les animations fonctionneront aussi normalement, si tu veut !!!!
   End

// plein d'autres trucs

End

Quand à tes object en garnison ils doivent faire en sorte que les objects autour d'eux soient dans les état correspondant donc tu leur met ce module la qui est une sorte de charisme:
par exemple pour l'object numéro 1 :
Code:
   Behavior = AttributeModifierAuraUpdate ModuledeLobjet1
      StartsActive   = Yes // actif des le départ
      BonusName   = EmitionDe_USER_10
      RefreshDelay = 1000
      Range   = 10
      AntiCategory = LEADERSHIP BUFF DEBUFF
      ObjectFilter   = XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
   End
j'ai mis ca comme ca mais :
BonusName = EmitionDe_USER_10 c'est le nom du bonus qui sera celui la :

Code:
ModifierList EmitionDe_USER_10
Duration = 1500 // doit etre suppérieur au refreshDelay
ModelCondition = USER_10 // la c'est le modelConditonState
IgnoreIfAnticategoryActive = No // faut pas qu'on perde le ModelCondition a cause d'un anti charisme
End

RefreshDelay = 1000 doit etre inférieur au Duration du attribute sinon ton model risque de s'alterner en permanence faut pas trop plus que ca soit trop elevé (d'ailleur 1000 c'est trop ^^) pour évité que ca soit trop désynchronisé lors de la dégarnison

Range = 10 doit quand meme etre petit car si il y a un autre objet en garnison et que notre objet s'approche de trop de l'objet garnisonneur il risque d'afficher le model qui correspond a notre objet et pas a celui qui est deja contenu car l'état GARRISONED serai activé par l'autre objet deja en garnison et le USER_XX de notre objet pourrait prendre le dessus si il est en premier dans le draw donc ca pourrai causer un bug (tout ca pour dire qu'il faut un petit nombre mais pas trop petit nom plus pour que le garnisonneur recoive le "charisme" de l'objet en garnison

AntiCategory = LEADERSHIP BUFF DEBUFF SPELL il faut que notre charisme l'emporte sur tout les autres pour que ca s'affiche bien

ObjectFilter = XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX // tu met les objects qui doivent contenir avec un truc du kindof si possible car il me semble que mettre directement le nom de l'objet ici ne fonctionne pas avec les map.ini

Bon voila en gros mon idée mais ya 3 problemes :
1- Ca empeche d'utiliser les charismes
2- (le plus embettant) J'ai rien testé et tout ca est basé sur des suppositions (je suis pas sur de si un objet en garnison emet encore son charisme ) donc ca ne fonctionnera peut etre pas mais j'espere que ca fonctionnera Smile
3- J'espere au moins que tu as comprit Smile

Bonne chance
Revenir en haut Aller en bas
Voir le profil de l'utilisateur
leo11
Fondateur
avatar

Nombre de messages : 1685
Age : 27
Location : Champagne (france)
Add-On : Oui, vive l'addon.
Date d'inscription : 13/01/2008

MessageSujet: Re: faire monté une unité sur une autre, voir tenir un objet ...   Lun 26 Jan - 0:08

Tout compris!
J'ai test ça avec Aragorn, et ça n'a pas l'air de marcher, voici une partie de ce que j'ai fait:


Citation :
Object GondorAragorn
AddModule
Behavior = AttributeModifierAuraUpdate ModuledeLobjet1
StartsActive = Yes // actif des le départ
BonusName = EmitionDe_USER_10
RefreshDelay = 1000
Range = 1000
AntiCategory = LEADERSHIP BUFF DEBUFF
ObjectFilter = ALL ;NONE +CAVALRY
End
End
End


ModifierList EmitionDe_USER_10
Duration = 1500 // doit etre suppérieur au refreshDelay
ModelCondition = USER_10 // la c'est le modelConditonState
IgnoreIfAnticategoryActive = Yes ;No // faut pas qu'on perde le ModelCondition a cause d'un anti charisme
End


Object RuinedTower_Open ;l'objet cheval desormais
ReplaceModule ModuleTag_Draw
Draw = W3DScriptedModelDraw ModuleTag_01

RandomTexture = NUHorse01.tga 0 cuhorse_bnwta.tga
RandomTexture = NUHorse02.tga 0 cuhorse_bnwta.tga
RandomTexture = NUHorse03.tga 0 cuhorse_bnwta.tga
RandomTexture = NUHorse04.tga 0 cuhorse_bnwta.tga
RandomTexture = NUHorse05.tga 0 cuhorse_bnwta.tga
RandomTexture = NUHorse06.tga 0 cuhorse_bnwta.tga

DefaultModelConditionState
Model = NuHorse1_SKN
End

ModelConditionState = GARRISONED
Model = CHHW_MW_M_SKN
Skeleton = CHHW_MW_M_SKL
ModelAnimationPrefix = CHHW_MW
PortraitImageName = CPCaptainofGondor
ButtonImageName = HICAHCaptainGondor
;WeaponLaunchBone = PRIMARY ARROW
End
ModelConditionState = USER_10
Model = CHHW_SM_M_SKN
Skeleton = CHHW_SM_M_SKL
ModelAnimationPrefix = CHHW_SM
PortraitImageName = CPShieldMaiden
ButtonImageName = HICAHShieldMaiden
WeaponLaunchBone = PRIMARY SPEAR
End
; le reste des anims avec GARRISONED pour s'effectuer lors se que le model GARRISONED est utilisé.


Comme tu pourras le voir j'ai juste mi USER_10 au model Condition State et ça n'a pas marché! Question Serait ce l'aura qui serait défaillante?



J'ai aussi remarqué un autre problème au niveau des animations de mouvement:
J'ai mi le model du Hero de l'ouest monté quand il y a un objet en garnison, j'ai donc mi les animations correspondants, en particulier celle ci:

Citation :
AnimationState = MOVING GARRISONED
StateName = STATE_moving
Animation = Moving
AnimationName = #(MODEL)_M_RUNA
AnimationMode = LOOP
End
Flags = RANDOMSTART
End

Donc normalement quand l'objet aura une garnison et sera en model condition state GARRISONED, cette animation MOVING GARRISONED devrais prendre le dessus sur l'autre MOVING... hélas non! Le cheval ne bouge pas les pattes quand il est monté.
Par contre si je change le MOVING en mettant les anims du héro qui monte le cheval:
le cheval sans héro bug quand il marche, mais le cheval avec le héro fonctionne très bien! Question


Je ne sais pas si tu vois d'où vient le problème mais moi je sèche. Neutral

_________________

http://www.paybox.me/r/leo2001 <= éventuellement un bon site si il débouche à quelque chose. Rolling Eyes
Revenir en haut Aller en bas
Voir le profil de l'utilisateur http://imladrisproduction.forumotion.com
cdd59554
Admin
avatar

Nombre de messages : 7235
Age : 25
Location : J'aime les abricots
Add-On : Oui
Date d'inscription : 16/01/2008

MessageSujet: Re: faire monté une unité sur une autre, voir tenir un objet ...   Mar 27 Jan - 20:40

faut proceder par elimination pour trouver ce qui bug
Je te conseille de commencer par le charisme, essaye de mettre un FX voyant dans le modifier list avec FX = FX_trucBiduleMachin met un truc visible comme maitre d'arme par exemple et augmente de rayon pour faire les tests (enfin je voit que tu l'as deja fait ?)
Si quand tu t'approche de ton Object garnissonneur sans entrer dedans et qu'il n'a pas le fx c'est qu'il n'est pas non plus affecté par le USER_10 donc c'est pour ca que le model ne sera pas le bon, c'est donc dans ce cas un probleme au niveau du charisme qui se difuse mal
Sinon si le model a bien le fx c'est qu'il est donc en USER_10 et il te suffit de rentrer dans l'object est la si le fx disparait c'est plus embettant car ca veut dire que ma supposition comme quoi les unité en garnisons émettent des charisme etait fausse et la.... il faudra une autre solution.
Revenir en haut Aller en bas
Voir le profil de l'utilisateur
leo11
Fondateur
avatar

Nombre de messages : 1685
Age : 27
Location : Champagne (france)
Add-On : Oui, vive l'addon.
Date d'inscription : 13/01/2008

MessageSujet: Re: faire monté une unité sur une autre, voir tenir un objet ...   Mar 27 Jan - 20:50

J'ai reussi a le faire marcher sans l'aura (qu'une seule personne peut monter a cheval).
J'ai pri le cheval de la femme de l'ouest sur laquelle j'ai retiré le model de femme pour avoir un cheval qui coordone avec les animations (ça m'évite le problème de jambes qui ne bougent pas).


Le seul problème maintenant est que mon cheval une fois monté a une peur bleu quand il veut passer un pont ou monter sur un objet tel un pant de mur.
Pourquoi?! Sans doute par ce que j'ai prit l'objet d'une tour comme points de départs qui ne peut que être placé sur le sol... scratch
Je me demande comment résoudre ce problème.

_________________

http://www.paybox.me/r/leo2001 <= éventuellement un bon site si il débouche à quelque chose. Rolling Eyes
Revenir en haut Aller en bas
Voir le profil de l'utilisateur http://imladrisproduction.forumotion.com
cdd59554
Admin
avatar

Nombre de messages : 7235
Age : 25
Location : J'aime les abricots
Add-On : Oui
Date d'inscription : 16/01/2008

MessageSujet: Re: faire monté une unité sur une autre, voir tenir un objet ...   Mar 27 Jan - 21:00

je ne sais pas si c'est ca
et tout ca essaye deja de voir si ca le fait pas pour toute les unités cela
sinon une astuce consiste a placer sous le sol un pont qu'on trouve dans les routes, il est plat et il suffit de placer un tout petit bout de pont dans le sol pour forcer le passage apres encore faut t'il qu'il ne bug pas au bout du pont mais en tout cas j'ai pas mal utilisé cette technique dans plusieurs de mes maps ou les unités ne voulait pas monter sur un mur : un petit bout de pont cacher dans le sol et hop plus de pribleme
(le seul truc c'est qu'au bout de 9 pont je crois les premiers disparaissent ... fait le test sur une carte vide si tu veut)
Revenir en haut Aller en bas
Voir le profil de l'utilisateur
leo11
Fondateur
avatar

Nombre de messages : 1685
Age : 27
Location : Champagne (france)
Add-On : Oui, vive l'addon.
Date d'inscription : 13/01/2008

MessageSujet: Re: faire monté une unité sur une autre, voir tenir un objet ...   Mer 28 Jan - 0:20

Bah, justement quand je parle de pont je parle aussi de ceux des routes! destroy

_________________

http://www.paybox.me/r/leo2001 <= éventuellement un bon site si il débouche à quelque chose. Rolling Eyes
Revenir en haut Aller en bas
Voir le profil de l'utilisateur http://imladrisproduction.forumotion.com
cdd59554
Admin
avatar

Nombre de messages : 7235
Age : 25
Location : J'aime les abricots
Add-On : Oui
Date d'inscription : 16/01/2008

MessageSujet: Re: faire monté une unité sur une autre, voir tenir un objet ...   Mer 28 Jan - 13:57

Ok donc là , c'est bizarre Smile
Et si tu essayais de créer ton propre object de A à Z ???
tu utilise la méthode de masterini pour le placer dans ta carte de worldbuilder et tu le code entierement dans le map.ini ca fonctionera peut etre ?
ou alors change d'objet et pas un tour Wink
Revenir en haut Aller en bas
Voir le profil de l'utilisateur
leo11
Fondateur
avatar

Nombre de messages : 1685
Age : 27
Location : Champagne (france)
Add-On : Oui, vive l'addon.
Date d'inscription : 13/01/2008

MessageSujet: Re: faire monté une unité sur une autre, voir tenir un objet ...   Mer 28 Jan - 14:40

Oui, je pense que je vais changer d'objet afin d'en avoir un mieu conçu pour se déplacer. (pourquoi pas un garde monté de la cité blanche?! reve )

Autrement, je ne sais plus comment Masterini procèdait pour mettre un nouvel objet dans WorldBuilder juste pour une carte? (il passait pas l'ini.big?) scratch

_________________

http://www.paybox.me/r/leo2001 <= éventuellement un bon site si il débouche à quelque chose. Rolling Eyes
Revenir en haut Aller en bas
Voir le profil de l'utilisateur http://imladrisproduction.forumotion.com
cdd59554
Admin
avatar

Nombre de messages : 7235
Age : 25
Location : J'aime les abricots
Add-On : Oui
Date d'inscription : 16/01/2008

MessageSujet: Re: faire monté une unité sur une autre, voir tenir un objet ...   Mer 28 Jan - 20:06

il allait dans le dossier data\ini\ (attention c'est les vrai dossier pas ceux dans l'ini.big , si ils n'existent pas faut les créer) et il ajoute un fichier .ini dedans avec tout ses objets
Par exemple moi pour ma map moria j'avait créé le fichier C:\Program Files\Electronic Arts\L'Avènement du Roi-sorcier\data\ini\moria.ini et dans j'avait mis le strict minimum pour pouvoir utiliser mes nouveaux objets dans les script et pouvoir les placer sur la map:
Spoiler:
 
Apres leurs models n'apparaissent pas dans worldbuilder car c'est inutile mais je les code dans le map.ini et on voit normalement leurs models dans le jeu ok!
Revenir en haut Aller en bas
Voir le profil de l'utilisateur
leo11
Fondateur
avatar

Nombre de messages : 1685
Age : 27
Location : Champagne (france)
Add-On : Oui, vive l'addon.
Date d'inscription : 13/01/2008

MessageSujet: Re: faire monté une unité sur une autre, voir tenir un objet ...   Ven 30 Jan - 0:25

Coool, i lfaudra que j'utilise ce procédé! reve Ca alègerais l'application WorldBuilder en plus! reve

Enfin bref, j'ai essayé d'utiliser les codes sur un rohirim, mais rien a faire, ce doit être le module que permet de mettre en garnison qui bloque tout! Bon pas grave, je vais dire que les chevaux ont la phobie de l'eau. smile

_________________

http://www.paybox.me/r/leo2001 <= éventuellement un bon site si il débouche à quelque chose. Rolling Eyes
Revenir en haut Aller en bas
Voir le profil de l'utilisateur http://imladrisproduction.forumotion.com
cdd59554
Admin
avatar

Nombre de messages : 7235
Age : 25
Location : J'aime les abricots
Add-On : Oui
Date d'inscription : 16/01/2008

MessageSujet: Re: faire monté une unité sur une autre, voir tenir un objet ...   Ven 30 Jan - 10:06

lol! Dans ce cas il vaut mieux faire des rivieres ou l'eau n'est pas profonde pour pouvoir passer (et ca se trouve il passeront la Neutral )
Revenir en haut Aller en bas
Voir le profil de l'utilisateur
leo11
Fondateur
avatar

Nombre de messages : 1685
Age : 27
Location : Champagne (france)
Add-On : Oui, vive l'addon.
Date d'inscription : 13/01/2008

MessageSujet: Re: faire monté une unité sur une autre, voir tenir un objet ...   Ven 30 Jan - 14:59

Oui! ^^
Ou sinon surélevé le terrain et le rendre invisible pour y mettre l'image du pont au dessus... reve Et voila un pont totalement traversable.

Mais je soupconne aussi le module qui fait que l'animal se déplace tout seul quand il est inutilisé... scratch Faut que j'y porte plus d'attention. ok!

_________________

http://www.paybox.me/r/leo2001 <= éventuellement un bon site si il débouche à quelque chose. Rolling Eyes
Revenir en haut Aller en bas
Voir le profil de l'utilisateur http://imladrisproduction.forumotion.com
cdd59554
Admin
avatar

Nombre de messages : 7235
Age : 25
Location : J'aime les abricots
Add-On : Oui
Date d'inscription : 16/01/2008

MessageSujet: Re: faire monté une unité sur une autre, voir tenir un objet ...   Ven 30 Jan - 16:24

Bin retire le et test Smile
en effet j'ai jamais vu d'animaux sur un pont
Revenir en haut Aller en bas
Voir le profil de l'utilisateur
Contenu sponsorisé




MessageSujet: Re: faire monté une unité sur une autre, voir tenir un objet ...   

Revenir en haut Aller en bas
 
faire monté une unité sur une autre, voir tenir un objet ...
Voir le sujet précédent Voir le sujet suivant Revenir en haut 
Page 1 sur 1
 Sujets similaires
-
» "L'amour, c'est faire passer les besoins de l'autre avant les siens."
» [Magie] Magie de Transformation
» Viens voir sa mère {Agnès
» Facon de faire pour selectionner un UFA (rappel)
» La democratie ne saurait faire la guerre a la democratie.

Permission de ce forum:Vous ne pouvez pas répondre aux sujets dans ce forum
Imladris production :: Ini codes et .str :: Discussion-
Sauter vers: