Bonjour à tous, je lisais ce tuto très intéressant, mais un truc me chagrine, c'est de devoir tout copier à chaque fois. Je ne sais pas si ça a été dit, mais au lieu de tout copier il est possible de faire des ChildObject, qui évite justement tout copier/coller Un ChildObject se situe dans le même fichier que l'Object qu'il modifie.
Dans le premier cas, il n'y a qu'a faire ceci par exemple :
- Code:
-
ChildObject ElvenDruide ElvenArwen
CommandSet = ElvenDruideCommandSet
Behavior = SpecialPowerModule ModuleTag_HorseToggleStarter
SpecialPowerTemplate = SpecialAbilityToggleMounted
UpdateModuleStartsAttack = Yes
StartsPaused =No
End
Behavior = ToggleMountedSpecialAbilityUpdate ModuleTag_HorseToggle
SpecialPowerTemplate = SpecialAbilityToggleMounted
StartAbilityRange = 50.0 ; pretty small so we are forced to the right place.
MountedTemplate = ElvenDruide2 ;nom de la 1ere transformation
End
End
Après avoir copier ce code vous faites un second ChildObject, appeler le donc ElvenDruide2 car c'est ce qu'il y a d’écrit dans le code un peu plus haut. Je vais prendre ici l'exemple de l'aigle, comme pour le tuto :
Il Faut aller dans Gwaihir.ini pour mettre ce code, tout à la fin.
Voila le code général du 2nd ChildObject:
- Code:
-
ChildObject ElvenDruide2 GondorGwaihir
CommandSet = ElvenDruide2CommandSet
Behavior = RespawnUpdate ModuleTag_RespawnUpdate
DeathAnim = DYING
;DeathFX = FX_SarumanDieToRespawn ;FXList to play when killed-to-respawn
;DeathAnimationTime = 5500 ;1133 ;How long DeathAnim will take.
InitialSpawnFX = FX_NazgulInitialSpawn
RespawnFX = FX_NazgulRespawn ;FXList to play when respawning.
;RespawnAnim = LEVELED ;Animation to play when respawning.
;RespawnAnimationTime = 2000 ;Time it takes for respawn to play.
AutoRespawnAtObjectFilter = NONE +CASTLE_KEEP ;Respawn at this location -- and at it's exit production point if possible.
ButtonImage = HIRCWhiteWolf
;RespawnEntries determine the ruleset for how a character can be revived. Some units may automatically respawn, others
;may require a specific revive action performed on him. You can specify different values for each level... or use Level:Any
RespawnRules = AutoSpawn:No Cost:1000 Time:55000 Health:100%
RespawnEntry = Level:2 Cost:1000 Time:55000 ; Change from 1.07 ; ;50% cost, 1x buildtime ;For other levels, only override what is different.
RespawnEntry = Level:3 Cost:1000 Time:55000 ; Change from 1.07
RespawnEntry = Level:4 Cost:1000 Time:55000 ; Change from 1.07
RespawnEntry = Level:5 Cost:1600 Time:110000 ; Change from 1.07 ; ;65% cost, 1.5x buildtime
RespawnEntry = Level:6 Cost:1600 Time:110000 ; Change from 1.07
RespawnEntry = Level:7 Cost:1600 Time:110000 ; Change from 1.07
RespawnEntry = Level:8 Cost:1200 Time:165000 ; Change from 1.07 ; ;80% cost, 2x buildtime
RespawnEntry = Level:9 Cost:1200 Time:165000 ; Change from 1.07
RespawnEntry = Level:10 Cost:1200 Time:165000 ; Change from 1.07
End
Behavior = SpecialPowerModule ModuleTag_DismountStarter
SpecialPowerTemplate = SpecialAbilityToggleMountedFromFellBeast
UpdateModuleStartsAttack = Yes
StartsPaused = No
InitiateSound = FellBeastVoiceMove
End
Behavior = ToggleMountedSpecialAbilityUpdate ModuleTag_Dismount
SpecialPowerTemplate = SpecialAbilityToggleMountedFromFellBeast
StartAbilityRange = 50.0
MountedTemplate = ElvenDruide ; nom de la prochaine étape
SynchronizeTimerOnSpecialPower = SpecialAbilityCurseEnemy SpecialAbilityScreech
UnpackTime = 0
PreparationTime = 1
; PersistentPrepTime = 250
PackTime = 0
OpacityTarget = 1 ; How see-thru to be at peak of change
AwardXPForTriggering = 0
IgnoreFacingCheck = Yes
End
End
( J'ai rajouter le rez qu'avait mis Mikedu71 en 3e Post)
Voila, pour le CommandButton/CommandSet c'est bon
Dernière Astuce : Pour experiencelevel.ini , les niveaux quoi. Vers le début mettez ceci :
- Code:
-
#define DRUIDE ElvenArwen ElvenDruide ElvenDruide2
En dessous des autres define. Et donc au lieu de tout copier/coller comme il est proposer dans le tuto, il vous suffit de remplacer ce qui est en vert par DRUIDE, pour chacun des niveaux.
- Citation :
- ExperienceLevel ArwenLevel1
TargetNames = ElvenArwen
RequiredExperience = 1
ExperienceAward = ARWEN_LVL1_EXP_AWARD
Rank = 1
SelectionDecal
Texture = decal_hero_good
Style = SHADOW_ALPHA_DECAL
OpacityMin = 50%
OpacityMax = 100%
MinRadius = 40
MaxRadius = 200
MaxSelectedUnits = 40
End
End
Qui devient donc :
- Citation :
- ExperienceLevel ArwenLevel1
TargetNames = DRUIDE
RequiredExperience = 1
ExperienceAward = ARWEN_LVL1_EXP_AWARD
Rank = 1
SelectionDecal
Texture = decal_hero_good
Style = SHADOW_ALPHA_DECAL
OpacityMin = 50%
OpacityMax = 100%
MinRadius = 40
MaxRadius = 200
MaxSelectedUnits = 40
End
End
Voila Voila. J'espère que cela vous sera utile !