Salut tiatias77, pour ajouter Grond, c'est très simple. Le principe: modifier le commandbutton de grond, l'ajouter dans un nouveau commandset et insérer ce dernier dans l'atelier de siège du mordor
Déjà tu récupères le CommandButton de Grond:
- Code:
-
CommandButton Command_ConstructMordorGrond
Command = UNIT_BUILD
Object = MordorGrond
Options = NEED_UPGRADE CANCELABLE ; <-- ce qui pose problème
TextLabel = CONTROLBAR:ConstructMordorGrond
ButtonImage = BMGreatSiegeWorks_Grond
ButtonBorderType = BUILD
DescriptLabel = CONTROLBAR:ToolTipBuildMordorGrond
Radial = Yes
InPalantir = Yes
ShowProductionCount = Yes
; UnitSpecificSound = GondorArcherVoiceBuy
End
Faisons-en un nouveau, en supprimant de la ligne options "NEED_UPGRADE"
- Code:
-
CommandButton Command_ConstructMordorGrond_New
Command = UNIT_BUILD
Object = MordorGrond
Options = CANCELABLE ; <-- on peut l'annuler
TextLabel = CONTROLBAR:ConstructMordorGrond
ButtonImage = BMGreatSiegeWorks_Grond
ButtonBorderType = BUILD
DescriptLabel = CONTROLBAR:ToolTipBuildMordorGrond
Radial = Yes
InPalantir = Yes
ShowProductionCount = Yes
; UnitSpecificSound = GondorArcherVoiceBuy
End
Ensuite tu l'ajoutes dans un nouveau commandset. Il faut d'abord celui de l'atelier de siège.
Voici celui au niveau 3
- Code:
-
CommandSet MordorSiegeWorksCommandSetLevel3
1 = Command_ConstructMordorGrond
2 = Command_ConstructMordorCatapult
;3 = Command_ConstructMordorSiegeTower
3 = Command_PurchaseTechnologyMordorForgedBlades ; BFME EXPANSION PACT Faction Enhancement
4 = Command_PurchaseTechnologyMordorHeavyArmor ; BFME EXPANSION PACT Faction Enhancement
5 = Command_ConstructMordorBlackRiderHorde
6 = Command_Sell
End
Tu notes qu'il y a déjà la commande de Grond et c'est en la voyant que j'ai changé la solution que j'allais te proposer
On en crée le nouveau commandset à partir de l'ancien
- Code:
-
CommandSet MordorSiegeWorksCommandSetLevel3_New
1 = Command_ConstructMordorGrond_New ; <-- notre nouvelle commande
2 = Command_ConstructMordorCatapult
;3 = Command_ConstructMordorSiegeTower
3 = Command_PurchaseTechnologyMordorForgedBlades ; BFME EXPANSION PACT Faction Enhancement
4 = Command_PurchaseTechnologyMordorHeavyArmor ; BFME EXPANSION PACT Faction Enhancement
5 = Command_ConstructMordorBlackRiderHorde
6 = Command_Sell
End
Et maintenant il ne reste plus qu'à l'ajouter dans l'objet "Atelier de siège" qui s'appelle "MordorSiegeWorks". On va l'ajouter au niveau 3 mais je vais rapidement t'expliquer comment ça marche. Dans l'objet tu définis d'abord un premier commandset, par exemple sur le MordorSiegeWorks:
- Code:
-
CommandSet = MordorSiegeWorksCommandSetLevel1
Mais ensuite pour passer les niveaux suivant, il existe un module qui modifie le commandset lorsque le niveau change, on va prendre celui du niveau 3:
- Code:
-
Behavior = CommandSetUpgrade ModuleTag_MordorSiegeWorksLevel3
TriggeredBy = Upgrade_MordorSiegeWorksLevel3 ;<-- s'active une fois l'upgrade "amélioration au niveau 3" aquise
CommandSet = MordorSiegeWorksCommandSetLevel3 ;<-- Le commandset de remplacement
End
Maintenant on le reprends et tu modifie juste la ligne du commandset:
- Code:
-
Behavior = CommandSetUpgrade ModuleTag_MordorSiegeWorksLevel3
TriggeredBy = Upgrade_MordorSiegeWorksLevel3
CommandSet = MordorSiegeWorksCommandSetLevel3_New ;<-- Le nouveau commandset
End
PS: note que si tu utilises un map.ini, la manip sera la suivante:
- Code:
-
Object MordorSiegeWorks
ReplaceModule ModuleTag_MordorSiegeWorksLevel3 ;<-- l'ancien module du commandset au niveau 3
Behavior = CommandSetUpgrade Nouveau_CommandSet_avec_Grond
TriggeredBy = Upgrade_MordorSiegeWorksLevel3
CommandSet = MordorSiegeWorksCommandSetLevel3_New
End
End ; <-- fin du remplacement du module "ModuleTag_MordorSiegeWorksLevel3"
End ; <-- fin des modifs sur "MordorSiegeWorks
Et maintenant Grond sera dispo au niveau 3 (en 1 exemplaire à la fois)
Petit conseil: Avec cette technique, l'image du bouton risque de ne pas s'afficher (ça me le fais tout le temps) et elle sera alors transparente avec le nom du bouton (soit "Command_ConstructMordorGrond_New"). Ce qui sera assez lourd et illisible dans le jeu. Pour corriger ça, tu peux nommer ton bouton juste "Grond" (tu fais tout le reste comme je t'ai dit) et dans le jeu tu verra un bouton avec écrit "Grond" dessus et ce sera plus sympa que "Command_ConstructMordorGrond_New"