Emporor Débutant(e)
Nombre de messages : 20 Add-On : Oui Date d'inscription : 22/04/2011
| Sujet: Donner un volume aux unités Dim 24 Avr - 20:26 | |
| Bonjour à tous, tout d'abord je tiens à remercier tout les protagonistes de ce forum pour leur travail, leur aide et surtout leur patience. Voilà ma question, vous avez surement remarquer que quand on déplace une grande armée, les unités ont une fâcheuses tendance à s'accumuler les une sur les autres se qui outre un effet visuel horrible ceci augmente le nombre d'unités visible à l'écran ce qui créer un ralentissement du jeu. Et de même un tir de catapulte bien placer et au revoir la belle toute neuve armée. Je me demande donc quel module gère cet effet et pourrai rendre les unités infranchissables par d'autre. J'aimerais surtout ajouter cette fonction sur les mumakils, car voir 3 ou 4 mumakils en un qui se font tous empaler par un bataillon de garde de la citadelle fou vraiment les boules. J'ajoute que je travaille uniquement sur du map.ini Voici mon code pour les mumaks - Spoiler:
- Citation :
- Upgrade Upgrade_MumakNoir
Type = OBJECT End
Object MordorMumakil
MaxSimultaneousOfType = 4
ReplaceModule ModuleTag_02 Body = DelayedDeathBody ModuleTag_0000 CheerRadius = EMOTION_CHEER_RADIUS MaxHealth = 20000 ; 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 End
Scale = 1.3
KindOf = PRELOAD SELECTABLE CAN_CAST_REFLECTIONS SCORE CAN_ATTACK ATTACK_NEEDS_LINE_OF_SIGHT PATH_THROUGH_INFANTRY TRANSPORT SCARY CAN_ATTACK_WALLS HEAVY_MELEE_HITTER MUMAKIL_BUFF_NUGGET ARMY_SUMMARY LocomotorSet Locomotor = MumakilLocomotor Condition = SET_NORMAL Speed = 100 End
AddModule Behavior = GrantUpgradeCreate ModuleTag_DonnerUpgradeMumakNoir UpgradeToGrant = Upgrade_MumakNoir End End AddModule Behavior = ModelConditionUpgrade ModuleTag_DevenirNoir TriggeredBy = Upgrade_MumakNoir AddConditionFlags = USER_3 Permanent = Yes End End End
Et celui du jeu: - Spoiler:
- Citation :
- ;------------------------------------------------------------------------------
; aka Oliphant, MordorOliphant, OliphantMordor, Mumakil, MordorMumakil, MumakilMordor Object MordorMumakil ; ***DESIGN parameters *** Side = Mordor EditorSorting = UNIT ThreatLevel = MUMAKIL_THREAT_LEVEL ThingClass = LARGE_MONSTER
ShowHealthInSelectionDecal = Yes
ShroudClearingRange = 280 TransportSlotCount = TRANSPORTSLOTCOUNT_MONSTER ShockwaveResistance = SHOCKWAVE_RESISTANCE_ALWAYS WeaponSet Conditions = None Weapon = PRIMARY MordorMumakilCharge Weapon = SECONDARY MordorMumakilKnockback Weapon = TERTIARY MordorArcherMissileHordeRangefinder AutoChooseSources = PRIMARY NONE End WeaponSet Conditions = RAMPAGE Weapon = PRIMARY MumakilRampage End ; WeaponSet ; Conditions = SPECIAL_UPGRADE ; Weapon = PRIMARY MordorMumakilChargeSpecial ; Weapon = SECONDARY MordorMumakilKnockback ; AutoChooseSources = PRIMARY NONE ; End ArmorSet Conditions = None Armor = MumakilArmor DamageFX = MumakilDamageFX End VisionRange = MORDOR_MUMAKIL_VISION_RANGE ShroudClearingRange = MORDOR_MUMAKIL_SHROUD_RANGE MaxVisionBonusPercent = 300% VisionBonusTestRadius = 200 VisionBonusPercentPerFoot = 2.0%
BountyValue = MORDOR_MUMAKIL_BOUNTY_VALUE DisplayName = OBJECT:MordorMumakil CrusherLevel = 4 ; What can I crush?: 1 = infantry, 2 = trees, 3 = vehicles CrushWeapon = MumakilCrush CommandSet = MordorMumakilCommandSet CanPathThroughGates = No CommandPoints = 60 ; originally 100
; *** AUTO RESOLVE DATA *** AutoResolveUnitType = AutoResolveUnit_Cavalry AutoResolveCombatChain = AutoResolve_HeroCombatChain AutoResolveBody = AutoResolve_MordorMumakilBody AutoResolveWeapon Weapon = AutoResolve_MordorMumakilWeapon End AutoResolveArmor Armor = AutoResolve_MordorMumakilArmor End
;AutoResolveLeadership = AutoResolve_NazgulBonus
; *** 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
J'ai supprimé tout les modules de son et d'apparence pour faire moins de code. Seriez vous quel module gère le franchissement d'un objet ? | |
|
cdd59554 Admin
Nombre de messages : 7235 Age : 31 Location : J'aime les abricots Add-On : Oui Date d'inscription : 16/01/2008
| Sujet: Re: Donner un volume aux unités Lun 25 Avr - 0:30 | |
| Je ne sais pas si c'est possible d'empecher les unités de se superposer...
je ne sais pas si ca va marcher, mais tu peux toujours essayer : - de copier la géométrie d'un batiment dans l'object du mumakil pour voir si ca change un truc - d'ajouter des trucs du kindof d'un batiment qu'on ne peut pas traverser, par exemple WALL_HUB pour les murs.
Mais perso je ne sais pas si c'est possible de faire cela. | |
|