Imladris production
Vous souhaitez réagir à ce message ? Créez un compte en quelques clics ou connectez-vous pour continuer.

Imladris production

Le forum français de création de cartes et de mods pour Bataille pour la Terre du Milieu
 
AccueilRechercherDernières imagesS'enregistrerConnexion
Le Deal du moment :
Display One Piece Card Game Japon OP-08 – Two ...
Voir le deal

 

 Offrir à un héros une puisssance croissante.

Aller en bas 
AuteurMessage
leo11
Fondateur
leo11


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

Offrir à un héros une puisssance croissante. Empty
MessageSujet: Offrir à un héros une puisssance croissante.   Offrir à un héros une puisssance croissante. Icon_minitimeDim 16 Mar - 19:06

Bon voila je vais faire ce tuto en complément de celui de barahir et qui sera plus approfondit sur les modifications de héros créés personnalisés et leusr capacités à évoluer sur une map. En gros pour avoir un héros qui est habillé de aillons au début, qui se bat au poing, qui se fait tuer en un coup et ne fait pas beaucoup de dégâts au début puis a la fin avoir un héros suprême superbement habillé et équipé, qui peut vous tuer un dragon en deux coups et ne se fait tuer qu'avec une horde de balrogs au bout de dix minutes! ok!
Donc comme tous complément il faut déja avoir fait le tour du tuto de barahir: Modifier un personnage de A à Z et l'avoir a priori compris! sage
Il est bien sur préférable d'avoir extrait les ini du fichier ini.big pour avancer!

1) Création des lieux d'amélioration de vos héros
Premièrement il faut savoir qu'un héros ne se fait améliorer que par des upgrades qui sont presque partout sur le jeu (pour vous acheter des améliorations cotte de mailesl a vos nain vous achetez l'upgrade dans la forge, de même pour vos forteresses, etc....) et ces upgrades ne peuvent s'aquiérir que de deux façons: l'achat manuel de celu- ci dans un batiment ou l'acquisition grâce à un script. Dans notre cas je vais utiliser la première façon qui est l'achat manuel et qui offre la possibilité au joueur de choisir ce qu'il veut quand il veut. Mais pour cela il va falloir faire son batiment où il les achetera!

A) Astuces et design du batiment
Sur WorldBuilder il est impossible de créer un objet de toute piece, mais il est possible d'en modifier un! Donc pour être plus rapide il faut choisir le batiment qui correspond le plus a ce que vous voulez faire ; reprenez une archerie du Gondor pour créer un nouveau batiment a unités, reprenez une forge pour créer un nouveau lieu d'achat à upgrades, ect...
En ce qui nous concerne, c'est l'achat d'upgrades pour notre héros qui nous intéresse, donc pour nous simplifier la vie je vais prendre l'armurerie d'isengard( Object IsengardArmory)(dans les fichiers extraits ini.big > Object > Evilfaction(étant donné que l'isengard est une faction du mal) > Structure > Isengard > IsengardArmory.ini).
Et voici vous avez votre batiment, plus qu'a changer son commandset (comme expliqué sur le tuto de barahir) pour y mettre un nouveau avec les commandButton de recherche d'upgrade voulus, que je vais vous integrer dans votre map.ini le moment venu dans ce tuto.

Bon voila votre batiment est prêt mais comme vous allez me dire cette forme n'est pas très appropriée pour un lieu d'achat d'upgrades a pouvoirs ou autre!
Donc il vas falloir modifier le(s) model et le draw de ce batiment avec un autre.(trouvez le model qui vous interesse sur worldBuilder)
Donc on va partir a la recherche du module draw de l'objet armurerie d'isengard(le draw est souvent le module le plus long et le premier module dans l'ini d'un objet) et reprendre sa premiere ligne sur laquelle il y a le nom, ce qui devrait nous faire trouver ça:
Code:
Draw = W3DScriptedModelDraw ModuleTag_Draw

Mais vu que l'on ne veut que remplacer ce module par un autre, seul le nom nous interesse, qui est: ModuleTag_Draw


Vous devrez le remplacer par celui de l'objet qui vous interesse. Par exemple j'ai trouver cet objet sur worldBuilder et aimerais bien donner la forme de celui-ci a mon armurerie: GBGHGenGazC
Après avoir fait une recherche du nom de ce batiment dans le fichier de votre répertoire de jeu seigneur des anneaux, ini.big que j'ai ouvert avec notepad++(Ctrl + F pour faire une recherche), j'ai trouver ça:
Code:
Object GBGHGenGazC

   Draw = W3DScriptedModelDraw ModuleTag_Draw
      OkToChangeModelColor  = Yes
      UseStandardModelNames = Yes

      DefaultModelConditionState
         Model = GBGHGenGazC
      End
   End

   // ***DESIGN parameters ***
   DisplayName            = OBJECT:Prop
   Side               = Civilian
   EditorSorting         = STRUCTURE
   //Browser            = REGION Grey_Havens STRUCTURE
   ThreatLevel            = 1.0

   VisionRange           = 160.0          // Shroud clearing distance
   ShroudClearingRange    = 160

   // *** ENGINEERING Parameters ***
   RadarPriority         = NOT_ON_RADAR
   KindOf               = PRELOAD STRUCTURE IMMOBILE NOT_AUTOACQUIRABLE SELECTABLE IGNORED_IN_GUI

   Body               = InactiveBody ModuleTag_05      
   End

   Geometry            = CYLINDER
   GeometryMajorRadius      = 58.0   
   GeometryHeight         = 50.0
   GeometryOffset         = X:0 Y:0 Z:0
   
   GeometryIsSmall         = No
      
   Shadow               = SHADOW_VOLUME
End

Ici comme précédemment seul le module draw vas nous intéresser, car c'est le module qui donne la forme a l'objet, le voici:
Code:
Draw = W3DScriptedModelDraw ModuleTag_Draw
      OkToChangeModelColor  = Yes
      UseStandardModelNames = Yes

      DefaultModelConditionState
         Model = GBGHGenGazC
      End
   End

Et voila, maintenant nous avons tous les éléments pour monter le nouveau design de notre forge en point de vue graphique sur notre map.ini.
Donc comme habituellement pour monter un objet on prend:
- le nom(Object IsengardArmory) .
- Ensuite, étant donné que l'on remplace un module de l'objet il vas il y avoir la donnée "ReplaceModule" suivi d'un espace par le nom de l'ancien module sur l'objet initial (ModuleTag_Draw), puis le nouveau module qui vas remplacer l'ancien avec un nouveau nom.
- Le "End" de fin de module.
- Et enfin ne pas oublier le "End" de fermeture d'objet.

Se qui vas faire:
Code:
Object IsengardArmory                ;L'objet
ReplaceModule ModuleTag_Draw            ;Le ReplaceModule suivi du nom de ce module sur la forge au debut
  Draw = W3DScriptedModelDraw ModuleTag_Draw_new      ;renommer le module en rajoutant "_new"
   OkToChangeModelColor  = Yes
   UseStandardModelNames = Yes
   DefaultModelConditionState
   Model = GBGHGenGazC
   End
  End
End                ;fermeture du module modifier
End                ; fermeture de l'objet entier

C'est bon pour l'apparence graphique, après pour changer l'image de palantir du batiment reprenez celle de l'un d'eux sur lequel l'image ressemble le plus a votre batiment. L'image ce répertorie sous cette ligne:
Code:
SelectPortrait =

Pour titre d'exemple je vais reprendre celle de l'outpost pour notre forge
Se qui vas me faire aller chercher dans: Fichier extrait ini.big > Object > neutral(vus qu'il est neutre) > outpost.ini , la ligne "SelectPortrait = ***" et recopier celle ci dans mon objet. Je devrait trouver cette ligne:
Code:
SelectPortrait = BPCOutpost
Ensuite comme nom et description vous pouvez les changer par un nom et une description dejas existants et(donc) repertorier dans le jeu(ce qui vous eviterat un missing a coter du nom et de la description) ou encore créer le votre et mettre n'importe quel nom a coter de ces lignes mais vous bénéfiecierez d'un "MISSING" lors de la selection.
Voici les lignes où vous trouverez le nom des objets et leur description:
Code:
  DisplayName        =                  ;le nom
  Description          =                      ;la description

Donc pour continuer notre exemple je vais utiliser le nom et la description de l'outpost.(je rappelle que ces 3 lignes sont ce que j'appelle des lignes a part, elle ne se ferment par aucun "End"(éxepté celui de fin d'objet))

Ce qui vas nous faire avec la photo de l'outpost, du nom et de la description:
Code:
Object IsengardArmory
ReplaceModule ModuleTag_Draw
  Draw = W3DScriptedModelDraw ModuleTag_Draw_new      ;renommer le module en rajoutant "_new"
   OkToChangeModelColor  = Yes
   UseStandardModelNames = Yes
   DefaultModelConditionState
   Model = GBGHGenGazC
   End
  End
End                ;fermeture du module modifier

SelectPortrait = BPCOutpost
DisplayName        = OBJECT:Outpost
Description          = OBJECT:OutpostDescription

End          ;Fermeture de l'objet


C'est bon, votre batiment n'a plus la même tête qu'avant même s'il demeure toujours obsolette pour ce que vous voulez en faire.
(Bien entendu vous pouvez reprendre pour un autre batiment le même design graphique que celui-ci et ne pas lui donner les mêmes codes de fonction(pas le même commandset, ect...)! Le joueur n'y verra alors qu'un seul et même batiment mais qui ont deux utilités différentes)


Dernière édition par leo11 le Mar 18 Mar - 22:34, édité 2 fois
Revenir en haut Aller en bas
https://imladrisproduction.forumotion.com
leo11
Fondateur
leo11


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

Offrir à un héros une puisssance croissante. Empty
MessageSujet: Re: Offrir à un héros une puisssance croissante.   Offrir à un héros une puisssance croissante. Icon_minitimeDim 16 Mar - 21:33

B) De l'upgrade au commandset en passant par le commandButton et ses images
Maintenant il faut donner a votre objet son utilité et les upgrades qu'il pourra rechercher.
Alors premièrement je vais vous expliquer comment tout se rallie: L'objet forge se rallie aux commandButtons grâce a son commandset , et aux commandButtons se rallient les upgrades.
Ce qu'on va schématiser comme ceci : Upgrade > CommandButton > Commandset > Objet forge
(Sachant que la flèche veut dire "est dans")



a) L'upgrade
Les upgrades ne peuvent qu'être créés. Ils regroupent la durée, le prix et sur quoi s'applique la recherche ainsi que, parfois, ce qui doit être recherché avant.
En voici un avec une legende:
Citation :
Upgrade Upgrade_TechnologyHache
DisplayName = CONTROLBAR:ConstructGondorSentryTower
Type = PLAYER
BuildCost = 20
BuildTime = 5
End

--Nom de l'upgrade, celui qui reaparaitrat sur le commandButton
--Nom donner apres la recherche(qui s'affiche en haut de l'écran apres la recherche, fonctionne avec le map.str)
-- Le type sur lequel il s'applique, les deux types sont: PLAYER et OBJECT . Le type PLAYER est un upgrade qui s'aplique a tous le joueur(ex: recherche étendard dans la forge) et le type OBJECT ne s'applique qu'a l'objet donné(ex: recherche fleche sur archer).
--Coût de construction
--Temps de construction(en seconde je croit)

Voila, désormais qu'on maîtrise mieux le sujet, je vais par exemple créer celui-ci, qui nous servira tout au long du tuto, et qui va s'appliquer a tout le joueur:
Code:
Upgrade Upgrade_Nouvelle_epee
DisplayName = RECHERCHER-epee
Type = PLAYER
BuildCost = 300
BuildTime = 10
End

(Le fait d'avoir appelé la recherche de mon upgrade "RECHERCHER-epee" va me faire faire un map.str comme celui ci:)
Code:
RECHERCHER-epee
"Epee"
End




b) Les commandButton
Maintenant que nous possédons notre upgrade, attaquons-nous au commandButton.
Pour commencer il faut savoir qu'un commandButton ne peut pas être créé! Il vas donc falloir en rechercher un que vous n'allez pas utiliser sur votre carte (comme ceux de pouvoirs non utilisés [recherchez en priorité ceux qui ont la photo que vous voulez]) dans votre CommandButton.ini, préalablement extrait du ini.big.
Je vais choisir par exemple -vu que je n'utiliserai pas sur ma carte de batisseur d'isengard- le CommandButton de création d'armureries qui est (je l'ai trouvé en me baladant un peut n'importe où sur le commandButton.ini):
Code:
CommandButton Command_ConstructIsengardArmory
  Command          = FOUNDATION_CONSTRUCT
  Object          = IsengardArmory
  TextLabel        = CONTROLBAR:ConstructIsengardArmory
  ButtonImage      = BIArmory
  ButtonBorderType = BUILD
  DescriptLabel    = CONTROLBAR:ToolTipIsengardArmory
  Radial          = Yes
End

Je vais donc:
- lui retirer sa command et lui en donner une autre qui va être PLAYER_UPGRADE (vu que je désire créer un commandButton qui offre un upgrade à un joueur)
- Lui retirer la ligne "object =" pour y mettre à la place "Upgrade = "mon upgrade"" (mon upgrade = celui que je viens de créer, à savoir: Upgrade_Nouvelle_epee).
- Changer son TextLabel et son DescriptLabel par des nouveaux(pour changer la description et le nom du commandButton).
- Lui rajouter une "Options" qui sera: CANCELABLE (étant donné qu'une fois recherché il ne devra plus l'être [ca vas griser le button la recherche une fois la recherche finie]).
- Et enfin changer son "ButtonBorderType =" par la valeur "UPGRADE" (vu que c'est un upgrade).

Ce qui va faire:
Code:
CommandButton Command_ConstructIsengardArmory
   Command      = PLAYER_UPGRADE
   Options      = CANCELABLE
   Upgrade      = Upgrade_Nouvelle_epee
   ButtonBorderType   = UPGRADE
   TextLabel           = UPGRADE_RECHERCHER-epee
   ButtonImage         = BIArmory
   DescriptLabel       = UPGRADE_RECHERCHER-epee_DESCRIPTION
   Radial               = Yes
   InPalantir      = No 
End

Et voila, vous avez un commandButton qui s'occupe de rechercher votre upgrade!
Entre temps vous remarquerez qu'il y a la valeur: Radial = Yes et InPalantir = No , la valeur "Radial" sert à mettre le commandButton autour de votre objet et la "InPalantir" sert a mettre le commandButton dans la fiche de l'objet).

(Bien entendu le DescriptLabel doit être mis dans le map.str.)



c) L'image du commandButton
Maintenant vous remarquerez sans doute que le BoutonImage de votre commandButton n'a pas été modifié, ce qui va vous mettre le dessin d'une forge sur le commandButton que vous venez de créer, qui va peut-être vous servir a rechercher votre épée; donc vous conviendrez que cette image ne serait pas très appropriée.
Vous pourriez essayer de changer ce nom par un autre nom d'image directement mais cela ne vous servirait a rien vu qu'il est impossible de changer l'image d'un commandButton directement a partir de celui-ci!
Il va donc falloir modifier l'image-source de votre commandButton, celle qui est derrière la ligne "ButtonImage =", qui s'appelle donc: BIArmory!
Mais attention, si un autre commandButton ou autre chose utilise cette même image, celle-ci sera modifiée! Donc il va falloir que vous choisissiez vos commandButton très précisément pour ne pas avoir deux commandButton qui ont la même image!
Donc on va maintenant faire une petite recherche; vous allez rechercher dans votre ini.big(celui de votre répertoire d'installation) "BIArmory".
Vous trouverez cela:
Code:
MappedImage BIArmory
  Texture = BuildingRadialButtons_201.tga
  TextureWidth = 256
  TextureHeight = 256
  Coords = Left:192 Top:0 Right:256 Bottom:64
  Status = NONE
End

Ensuite recherchez l'image d'un commandButton qui vous intéresse, par exemple celle d'amélioration des épées elfes.
Il va vous falloir aller faire un tour sur le commandButton de la recherche d'amélioration d'épée elfe pour trouver l'image de celle-ci(commandButton.ini).
Après être aller faire un tour sur ce commandButton j'ai trouvé qu'elle s'appelait: BEEregionForge_ForgedBlades .
Je suis donc retourné sur mon ini.big pour faire une recherche de celle-ci et j'ai trouvé ça:
Code:
MappedImage BEEregionForge_ForgedBlades
  Texture = BuildingRadialButtons_152.tga
  TextureWidth = 256
  TextureHeight = 256
  Coords = Left:0 Top:192 Right:64 Bottom:256
  Status = NONE
End

Maintenant on va tout garder de celle-ci, mais on va changer sa première ligne avec le nom de votre image de départ que vous voulez modifier: BIArmory .
Ca vas vous faire ca:
Code:
MappedImage BIArmory
  Texture = BuildingRadialButtons_152.tga
  TextureWidth = 256
  TextureHeight = 256
  Coords = Left:0 Top:192 Right:64 Bottom:256
  Status = NONE
End

Voila, votre image a été modifiée et vous avez a présent une image d'épée elfique sur votre commandButton au lieu de la forge d'isengard.
Ensuite, si vous voulez ajouter des photos qui étaient dans les fichiers extraits des Textures*.big, vous le pouvez.
Voici, un mappedimage avec sa legende pour se faire:
Citation :
MappedImage BPMMumakilPen
Texture = BuildingRadialButtons_151.tga
TextureWidth = 256
TextureHeight = 256
Coords = Left:0 Top:0 Right:192 Bottom:192
Status = NONE
End

-- Le nom de l'image straite des textures**.big
-- La taille total de l'image choisie en largeur
-- La taille total de l'image choisie en longueur
-- Le cadre de l'image prélevée(vous permet de prendre un certaint morceau de l'image.

Donc il vous suffira de prendre le nom de la photo de votre commandButton, de compléter selon sa taille et le cadre que vous voulez et ce sera bon: vous aurez alors une image qui n'était à l'origine pas présente dans le jeu!
Et voila, vos commandButton sont beaux et leurs images sont appropriées!



d) Le commandset
Vous voici déjà à la dernière étape qui consiste a entrer le commandButton dans l'objet avec le commandset.
Comme barahir en parle déjas sur son tuto je ne vais pas m'y attarder. Vous allez en créer un nouveau que je vais appeler pour exemple: Set_Pouvoir_Epee et y mettre le commandButton que vous venez de modifier.
Se qui va vous faire:
Code:
CommandSet Set_Pouvoir_Epee
1 = Command_ConstructIsengardArmory
End

Et voila, plus qu'a ajouter le commandset sur notre objet, sous la valeur:
Code:
CommandSet = Set_Pouvoir_Epee
.
Voici ce que ça nous fera:
Code:
Object IsengardArmory
ReplaceModule ModuleTag_Draw
  Draw = W3DScriptedModelDraw ModuleTag_Draw_new 
   OkToChangeModelColor  = Yes
   UseStandardModelNames = Yes
   DefaultModelConditionState
   Model = GBGHGenGazC
   End
  End
End
SelectPortrait = BPCOutpost
DisplayName        = OBJECT:Outpost
Description          = OBJECT:OutpostDescription
CommandSet = Set_Pouvoir_Epee

End ;fermeture de l'objet

Et maintenant voici le map.ini que l'on s'efforce de créer depuis tout à l'heure(il est primordial de mettre les codes dans un sens précis pour qu'ils soient pris en compte, qui est ce sens: Objet > upgrade > image > commandButton > CommandSet).
Donc voici notre map.ini final avec un petit code couleur:
Citation :

Object IsengardArmory
ReplaceModule ModuleTag_Draw
Draw = W3DScriptedModelDraw ModuleTag_Draw_new
OkToChangeModelColor = Yes
UseStandardModelNames = Yes
DefaultModelConditionState
Model = GBGHGenGazC
End
End
End
SelectPortrait = BPCOutpost
DisplayName = OBJECT:Outpost
Description = OBJECT:OutpostDescription
CommandSet = Set_Pouvoir_Epee

End

Upgrade Upgrade_Nouvelle_epee
DisplayName = UPGRADE_RECHERCHER-epee
Type = PLAYER
BuildCost = 300
BuildTime = 10
End

MappedImage BIArmory
Texture = BuildingRadialButtons_152.tga
TextureWidth = 256
TextureHeight = 256
Coords = Left:0 Top:192 Right:64 Bottom:256
Status = NONE
End

CommandButton Command_ConstructIsengardArmory
Command = PLAYER_UPGRADE
Options = CANCELABLE
Upgrade = Upgrade_Nouvelle_epee
ButtonBorderType = UPGRADE
TextLabel = UPGRADE_RECHERCHER-epee
ButtonImage = BIArmory
DescriptLabel = UPGRADE_RECHERCHER-epee_DESCRIPTION
Radial = Yes
InPalantir = No
End

CommandSet Set_Pouvoir_Epee
1 = Command_ConstructIsengardArmory
End
Et votre map.str:
Code:
RECHERCHER-epee
"Epee"
End

UPGRADE_RECHERCHER-epee_DESCRIPTION
"Recherche un épée pour votre héro"
End

C'est bon tout est fait, maintenant vous avez bien le sens décrit au debut!
Offrir à un héros une puisssance croissante. Tuto_s10
Offrir à un héros une puisssance croissante. Schema10


e) Les menus
Ensuite vous pouvez faire des commandButtons assez particuliers, qui, eux, vous serviront à faire des menus et à mieux organiser vos autres commandButton!

Voici la nouvelle forme de votre commandset quand il y a un menu.
Sur chaque commadset qui possède un menu il faut rajouter cette ligne:
Code:
InitialVisible = "Nombre"
Comme vous l'aurez compris ce sont les commandButton qui sont visibles dès le debut! Par exemple: si vous avez un commandset avec 2 commandButton de menu ou bien un commandButton de menu et un autre, et bien vous mettrez alors comme nombre sur cette ligne 2.
Ex:
Code:
CommandSet Cool_Exemple
InitialVisible = 2  ;les deux premier de la liste
1 = COmmandBUtton_de_menu_1  ;serat visble 1
2 = COmmandBUtton_de_menu_2  ;serat visible 2
3 = COmmandBUtton_de_autre_chose-1  ;serat invisible 3
4 = COmmandBUtton_de_autre_chose-2  ;serat invisible 4
5 = COmmandBUtton_de_autre_chose-3  ;serat invisible 5

Et voila pour ce qui est du Commandset.

Ensuite c'est le commandButton qui va subir des modifications. Donc, comme pour le commandButton prédédent, prenez n'importe lequel tant que vous ne l'utiliserez pas autre part sur votre carte!
Je vais prendre pour mon exemple le commandButton de construction de mines(que j'ai trouvé en cherchant au hasard dans le commandButton.ini) qui est:
Code:
CommandButton Command_ConstructIsengardExplosiveMine
   Command         = UNIT_BUILD
   Object         = IsengardExplosiveMine
    Options         = NEED_UPGRADE CANCELABLE
    NeededUpgrade      = Upgrade_IsengardSiegeWorksLevel3      ; originally WorksLevel2
   TextLabel      = CONTROLBAR:ConstructIsengardExplosiveMine
   ButtonImage      = BISiegeWorks_DemoTeam
   ButtonBorderType   = BUILD
   DescriptLabel      = CONTROLBAR:ToolTipBuildIsengardExplosiveMine
   Radial         = Yes
   InPalantir        = Yes
   ShowProductionCount   = Yes   
End

De même que l'ancien, nous allons tout changer sur ce commandButton et juste garder son nom et son image.
Pour lui mettre à la suite de son nom et de son image:
Code:
   Command                = PUSH_VISIBLE_COMMAND_RANGE
   TextLabel              = **
   ButtonBorderType        = SYSTEM
   DescriptLabel          = **
   Radial                  = Yes
   CommandRangeStart   = 6
   CommandRangeCount   = 8
End

Ce qui va nous faire:
Code:
CommandButton Command_ConstructIsengardExplosiveMine
   ButtonImage            = BISiegeWorks_DemoTeam  ;l'image de depart
   Command                = PUSH_VISIBLE_COMMAND_RANGE
   TextLabel              = **
   ButtonBorderType        = SYSTEM
   DescriptLabel          = **
   Radial                  = Yes
   CommandRangeStart      = 6
   CommandRangeCount      = 8
End
Ensuite vous pouvez changer le nom et la description du commandButton (DescriptLabel et TextLabel) et délimiter les zones du menu!
A côté de "CommandRangeStart =" vous devez mettre le numéro du commandButton auquel le menu commence avec -1 a ce nombre!
Par exemple j'ai ce commandset:
Code:
CommandSet Exemple_cool
InitialVisible = 2    ;les deux premier seront visibles
1 = Command_ConstructIsengardExplosiveMine ;mon menu
2 = CommandButton_autre      ;une zone que je ne veut PAS dans mon menu
3 = CommandButton_autre2        ;une zone que je veut dans mon menu
4 = CommandButton_autre3      ;une zone que je veut dans mon menu
Alors le numero après CommandRangeStart sera 2 car je veux que ce soit le commandButton à la 3ème ligne qui soit le premier de mon menu et auquel il faut retirer 1! (3-1 =2)

Ensuite, à côté de "CommandRangeCount =" il va falloir entrer le nombre de commandButton visibles après le premier commandButton du menu, en gros sur l'exemple précédent j'aurai entré 2 si je voulais que mes commandButton "CommandButton_autre3 " et "CommandButton_autre3" soient visibles dans mon menu!

Après sur vos menus mettez ce commandButton: Command_RadialBack pour faire des retours au menu principal!
Et voila!


Dernière édition par leo11 le Mer 19 Mar - 14:33, édité 7 fois
Revenir en haut Aller en bas
https://imladrisproduction.forumotion.com
leo11
Fondateur
leo11


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

Offrir à un héros une puisssance croissante. Empty
MessageSujet: Re: Offrir à un héros une puisssance croissante.   Offrir à un héros une puisssance croissante. Icon_minitimeMar 18 Mar - 21:26

2) Votre héros
C'est parti attaquons-nous a notre héros! bounce
Alors comme je vous l'ai dit plusieurs fois il est impossible de créer un objet soi-même et le faire marcher! Nous allons donc devoir reprendre un ancien dont on va changer l'apparence!
Donc premièrement voici un fichier où j'ai regroupé les 4 models des héros du bien avec les bugs que j'avais pu rattraper sur eux: DRAW Héro du bien (4)
Bon désormais vous connaissez la procédure, je ne vous ai passé que le module draw donc il va falloir que vous placiez devant ces codes: ReplaceModule NOM_DU_MODULE_INITIAL
J'ai mis par contre tous les End qui devaient être mis, excepté bien sûr celui de fermeture de l'objet!
Je vous conseillerai aussi de reprendre un objet qui était un héros initialement pour ne pas faire survenir d'autre problèmes que ceux que l'on aura!



A) Design du héros

Donc pour commencer on va faire un héros qui nous fera douter le moins possible concernant son origine (sa classe). Il va donc falloir modifier:
- La voix des héros, leurs images, leur nom et leur model

Je vais les regrouper par classe:

a) L'elfe
Voici les codes pour l'elfe(avec le End de fin d'objet, et je n'ai pas mis le draw avec le ReplaceModule qu'il fallait vu la longueur):
Code:
Object "Votre_objet"
    ButtonImage      = HICAHMaleElfArcher
    SelectPortrait    = CPMaleElfArcher
    DisplayName = CreateAHero:ClassName_Archer

;LE DRAW DE L'ELFE

VoiceAttack                = HeroMenArcherVoiceAttack
VoiceAttackAir            = HeroMenArcherVoiceAttack
VoiceAttackCharge             = HeroMenArcherVoiceAttack
VoiceAttackMachine             = HeroMenArcherVoiceAttack
VoiceAttackStructure             = HeroMenArcherVoiceAttack
VoiceCreated            = HeroMenArcherVoiceSalute
VoiceFear               = HeroMenArcherVoiceHelpMe
VoiceFullyCreated            = HeroMenArcherVoiceSalute
VoiceGuard               = HeroMenArcherVoiceMove
VoiceMove                = HeroMenArcherVoiceMove
VoiceMoveToCamp             = HeroMenArcherVoiceMove
VoiceMoveWhileAttacking             = HeroMenArcherVoiceMove
VoicePriority               = 95
VoiceRetreatToCastle             = HeroMenArcherVoiceMove
VoiceSelect                = HeroMenArcherVoiceSelectMS
VoiceSelectBattle              = HeroMenArcherVoiceSelectBattle
      
SoundImpact               = ImpactHorse
      
UnitSpecificSounds
VoiceEnterUnitElvenTransportShip   = HeroMenArcherVoiceMove
VoiceEnterUnitMordorMumakil   = HeroMenArcherVoiceMove
VoiceEnterUnitSlaughterHouse   = HeroMenArcherVoiceMove
VoiceEnterUnitTransportShip   = HeroMenArcherVoiceMove
VoiceGarrison      = HeroMenArcherVoiceMove
VoiceInitiateCaptureBuilding   = HeroMenArcherVoiceCaptureBuilding
End
End ;fin d'objet


b) L'homme de l'ouest
Voici les codes pour l'homme de l'ouest (avec le End de fin d'objet, et je n'ai pas mis le draw avec le ReplaceModule qu'il fallait vu la longueur):
Code:
Object "Votre_objet"
ButtonImage    = HICAHCaptainGondor
SelectPortrait = CPCaptainofGondor  ;HiCahDamrod  ;
DisplayName    = CreateAHero:ClassName_HeroesOfTheWest

;LE DRAW DE L'HOMME DE L'OUEST

VoiceAttack                      = HeroWestMaleVoiceAttack
VoiceAttackAir                     = HeroWestMaleVoiceAttack
VoiceAttackCharge                   = HeroWestMaleVoiceAttackCharge
VoiceAttackMachine                   = HeroWestMaleVoiceAttack
VoiceAttackStructure                = HeroWestMaleVoiceAttackBuilding
VoiceCreated                     = HeroWestMaleVoiceSalute
VoiceFear                        = HeroWestMaleVoiceHelpMe
VoiceFullyCreated                  = HeroWestMaleVoiceSalute
VoiceGuard                        = HeroWestMaleVoiceMove
VoiceMove                         = HeroWestMaleVoiceMove
VoiceMoveToCamp                   = HeroWestMaleVoiceMoveCamp
VoiceMoveWhileAttacking             = HeroWestMaleVoiceDisengage
VoicePriority                     = 95
VoiceRetreatToCastle                = HeroWestMaleVoiceRetreat
VoiceSelect                      = HeroWestMaleVoiceSelectMS
VoiceSelectBattle                    = HeroWestMaleVoiceSelectBattle
      
SoundImpact                        = ImpactHorse
      
UnitSpecificSounds
VoiceEnterUnitElvenTransportShip   = HeroWestMaleVoiceMoveShip
VoiceEnterUnitMordorMumakil         = HeroWestMaleVoiceMove
VoiceEnterUnitSlaughterHouse      = HeroWestMaleVoiceMove
VoiceEnterUnitTransportShip         = HeroWestMaleVoiceMove
VoiceGarrison                  = HeroWestMaleVoiceMoveGarrison
VoiceInitiateCaptureBuilding      = HeroWestMaleVoiceCaptureBuilding
End
End ;fin d'objet


c) Le nain
Voici les codes pour le nain (avec le End de fin d'objet, et je n'ai pas mis le draw avec le ReplaceModule qu'il fallait vu la longueur):
Code:
Object "Votre_objet"
 ButtonImage            = HICAHDwarfSage
SelectPortrait        = CPDwarfSage
DisplayName = CreateAHero:ClassName_Dwarf

;LE DRAW DU NAIN

VoiceAttack                   = HeroDwarfVoiceAttack
VoiceAttackAir               = HeroDwarfVoiceAttack
VoiceAttackCharge                = HeroDwarfVoiceAttack
VoiceAttackMachine                = HeroDwarfVoiceAttack
VoiceAttackStructure                = HeroDwarfVoiceAttack
VoiceCreated               = HeroDwarfVoiceSalute
VoiceFear                  = HeroDwarfVoiceHelpMe
VoiceFullyCreated               = HeroDwarfVoiceSalute
VoiceGuard                  = HeroDwarfVoiceMove
VoiceMove                   = HeroDwarfVoiceMove
VoiceMoveToCamp                = HeroDwarfVoiceMove
VoiceMoveWhileAttacking             = HeroDwarfVoiceMove
VoicePriority                  = 95
VoiceRetreatToCastle                = HeroDwarfVoiceMove
VoiceSelect                   = HeroDwarfVoiceSelectMS
VoiceSelectBattle                 = HeroDwarfVoiceSelectBattle
      
SoundImpact                  = ImpactHorse
      
UnitSpecificSounds
VoiceEnterUnitElvenTransportShip   = HeroDwarfVoiceMove
VoiceEnterUnitMordorMumakil         = HeroDwarfVoiceMove
VoiceEnterUnitSlaughterHouse      = HeroDwarfVoiceMove
VoiceEnterUnitTransportShip         = HeroDwarfVoiceMove
VoiceGarrison            = HeroDwarfVoiceMove
VoiceInitiateCaptureBuilding      = HeroDwarfVoiceCaptureBuilding
End
End  ;End de fin d'objet


d) Le mage
Voici les codes pour le mage (avec le End de fin d'objet, et je n'ai pas mis le draw avec le ReplaceModule qu'il fallait vu la longueur):
Code:
Object "Votre_objet"
DisplayName = CreateAHero:ClassName_IstariWizard
ButtonImage = HICAHHermit
SelectPortrait        = CPHermit

;LE DRAW DU MAGE

VoiceAttack                = HeroWizardVoiceAttack
VoiceAttackAir            = HeroWizardVoiceAttack
VoiceAttackCharge             = HeroWizardVoiceAttack
VoiceAttackMachine             = HeroWizardVoiceAttack
VoiceAttackStructure          = HeroWizardVoiceAttack
VoiceCreated            = HeroWizardVoiceAvatarSalute
VoiceFear               = HeroWizardVoiceHelpMe
VoiceFullyCreated            = HeroWizardVoiceAvatarSalute
VoiceGuard               = HeroWizardVoiceMove
VoiceMove                = HeroWizardVoiceMove
VoiceMoveToCamp             = HeroWizardVoiceMove
VoiceMoveWhileAttacking             = HeroWizardVoiceMove
VoicePriority               = 95
VoiceRetreatToCastle          = HeroWizardVoiceMove
VoiceSelect             = HeroWizardVoiceSelectMS
VoiceSelectBattle           = HeroWizardVoiceSelectBattle
      
SoundImpact            = ImpactHorse
      
UnitSpecificSounds
VoiceAttackFireball         = HeroWizardVoiceAttack
VoiceEnterUnitElvenTransportShip   = HeroWizardVoiceMove
VoiceEnterUnitMordorMumakil      = HeroWizardVoiceMove
VoiceEnterUnitSlaughterHouse      = HeroWizardVoiceMove
VoiceEnterUnitTransportShip      = HeroWizardVoiceMove
VoiceGarrison         = HeroWizardVoiceMove
VoiceInitiateCaptureBuilding      = HeroWizardVoiceCaptureBuilding
End
End  ;End de fin d'objet



Bon je vais me faire un héros de l'ouest qui reprendra l'objet de Théoden (object > Goodfaction > units > men > theoden.ini)
Comme dans toutes les reprises d'objet il va falloir:
-mettre le nom de l'objet initial. (Object RohanTheoden)
- lui remplacer son draw avec le nouveau.
- lui placer sa nouvelle voix, nouvelle description et nouvelle texture.
- Et lui mettre son End de fin.

Donc déja il faut chercher le nom de son ancien draw, qui est, après une petite recherche sur son .ini:
Code:
ModuleTag_DRAW
Ce qui va nous faire mettre juste avant son nouveau draw: ReplaceModule ModuleTag_DRAW


Ce qui nous fait ça:
Code:
Object RohanTheoden
ButtonImage    = HICAHCaptainGondor
SelectPortrait = CPCaptainofGondor  ;HiCahDamrod  ;
DisplayName    = CreateAHero:ClassName_HeroesOfTheWest

ReplaceModule ModuleTag_DRAW
;LE DRAW DE L'HOMME DE L'OUEST comme dans l'ini donner

VoiceAttack                      = HeroWestMaleVoiceAttack
VoiceAttackAir                     = HeroWestMaleVoiceAttack
VoiceAttackCharge                   = HeroWestMaleVoiceAttackCharge
VoiceAttackMachine                   = HeroWestMaleVoiceAttack
VoiceAttackStructure                = HeroWestMaleVoiceAttackBuilding
VoiceCreated                     = HeroWestMaleVoiceSalute
VoiceFear                        = HeroWestMaleVoiceHelpMe
VoiceFullyCreated                  = HeroWestMaleVoiceSalute
VoiceGuard                        = HeroWestMaleVoiceMove
VoiceMove                         = HeroWestMaleVoiceMove
VoiceMoveToCamp                   = HeroWestMaleVoiceMoveCamp
VoiceMoveWhileAttacking             = HeroWestMaleVoiceDisengage
VoicePriority                     = 95
VoiceRetreatToCastle                = HeroWestMaleVoiceRetreat
VoiceSelect                      = HeroWestMaleVoiceSelectMS
VoiceSelectBattle                    = HeroWestMaleVoiceSelectBattle
      
SoundImpact                        = ImpactHorse
      
UnitSpecificSounds
VoiceEnterUnitElvenTransportShip   = HeroWestMaleVoiceMoveShip
VoiceEnterUnitMordorMumakil         = HeroWestMaleVoiceMove
VoiceEnterUnitSlaughterHouse      = HeroWestMaleVoiceMove
VoiceEnterUnitTransportShip         = HeroWestMaleVoiceMove
VoiceGarrison                  = HeroWestMaleVoiceMoveGarrison
VoiceInitiateCaptureBuilding      = HeroWestMaleVoiceCaptureBuilding
End
End ;fin d'objet

Et voila, si vous placez un théoden sur votre carte il aura la voix, l'image, le nom, la description et la forme d'un homme de l'ouest.



B) Les pouvoirs, son commandset et ses commandButton
a) Il est maintenant l'heure de donner les effets spéciaux de vos héros, qui sont en particulier les pouvoirs!
Je ne vais pas m'y attarder vu que barahir a très bien fait son tuto sur les pouvoirs(Tutorial modifier un personnage) mais juste vous expliquer comment faire en sorte que votre héros puisse utiliser l'un de ses pouvoirs après l'achat de votre upgrade créé à la forge qui a comme nom si l'on s'en souvient: Upgrade_Nouvelle_epee


Je vais reprendre le pouvoir du tutorial de barahir qui est blade master:
Code:
AddModule
      Behavior = UnpauseSpecialPowerUpgrade ModuleTag_CreateAHeroBladeMasterEnabler
    SpecialPowerTemplate = SpecialAbilityCreateAHeroBladeMaster
    TriggeredBy            = Upgrade_CreateAHeroBladeMaster
        End
 End

  AddModule
        Behavior = SpecialPowerModule ModuleTag_CreateAHeroBladeMasterStarter
    SpecialPowerTemplate = SpecialAbilityCreateAHeroBladeMaster
    StartsPaused        = Yes
        End
  End

AddModule
    Behavior = HeroModeSpecialAbilityUpdate ModuleTag_CreateAHeroBladeMasterUpdate
    SpecialPowerTemplate  =    SpecialAbilityCreateAHeroBladeMaster
    HeroAttributeModifier =    CreateAHeroBladeMaster
    HeroEffectDuration      =    30000
    UnpackTime              =    1
    TriggerSound          =    AragornBladeMaster
        End
  End

AddModule   
Behavior = AISpecialPowerUpdate BladeMasterAI
    CommandButtonName = Command_CreateAHero_SpecialAbilityBladeMaster
    SpecialPowerAIType = AI_SPECIAL_POWER_BASIC_SELF_BUFF
    End
 End


Dessus il n'y a qu'une ligne qui nous interesse, celle ci:
Code:
TriggeredBy            = Upgrade_CreateAHeroBladeMaster

Si l'on modifie "Upgrade_CreateAHeroBladeMaster" par notre upgrade qui sera recherché à la forge (Upgrade_Nouvelle_epee) alors dès que celui-ci aura fini d'être recherché, le héros pourra utiliser son pouvoir blade master!


b) Ensuite, après avoir pris le commandButton correspondant à votre pouvoir(Command_CreateAHero_SpecialAbilityBladeMaster), vous pouvez rajouter dessus cette ligne:
Code:
Radial = Yes
Pour que votre pouvoir soit au tour du hero! En gros le commandButton du pouvoir BladeMaster sera comme ça:
Code:
CommandButton Command_CreateAHero_SpecialAbilityBladeMaster
Radial = Yes            ;valeur ajouter
   Command           = SPECIAL_POWER
   SpecialPower     = SpecialAbilityCreateAHeroBladeMaster
   TextLabel        = CONTROLBAR:CAHBladeMaster
   ButtonImage        = HSAragornBladeMaster
   ButtonBorderType  = ACTION   
   DescriptLabel     = CONTROLBAR:ToolTipCAH_BladeMaster
   InPalantir        = Yes
   AutoAbility        = Yes
   AutoDelay        = 30.0 // this should sync with the Aragorn's hero mode effect time
   PresetRange        = 50.0
   UnitSpecificSound  = AragornVoiceBladeMaster

   CreateAHeroUIAllowableUpgrades           =   Upgrade_CreateAHero_ClassHeroOfTheWest
   CreateAHeroUIMinimumLevel              = 1
   CreateAHeroUIPrerequisiteButtonName = None
   CreateAHeroUICostIfSelected              = CAH_BLADEMASTER_COST
End

Ensuite si vous avez marre de voir vos héros cachés par les commandButton autour d'eux, vous pouvez rajouter une valeure dans le Kindof de votre objet héro pour que 12 commandButtons ayants la valeur Radial se mettent sur le bord de l'écran(de la meme facon que les batisseurs!)!
il vous suffit donc de rajouter au Kindof de votre Héro(Object theoden) cette valeur:
Code:
DOZER

Et voila, 12 des commandButtons ayant la valeur "Radial =Yes" seront afficher sur le bord de l'ecran et non plus en train de voler autour de votre héro! Donc pour pouvoir en afficher 18 sans qu'auncun d'entre eux soient autour du héro vous pouvez mettre les 6 premier commandButton de votre commandset sans la veleur "Radial" et 12 autre avec cette valeur.
Pour ajouter DOZER au Kindof de votre héro il ne vous suffit que d'aller dans l'ini de votre héro, faire une rechercher de Kindof, recopier toute la ligne de celui ci (avec les valeurs après le égale) et d'y rajouter: DOZER ok!


c) Et maintenant pour finir avec les pouvoirs, il va falloir mettre le commandButton de BladeMasteur dans un nouveau commandSet qui sera dédié a votre héros:
Code:
CommandSet Homme_De_Ouest_BM
1 = Command_CreateAHero_SpecialAbilityBladeMaster
End

Et enfin donnez ce commandset à votre héros en rajoutant la ligne:
Code:
CommandSet = Homme_De_Ouest_BM


Dernière édition par leo11 le Mer 2 Avr - 22:56, édité 1 fois
Revenir en haut Aller en bas
https://imladrisproduction.forumotion.com
leo11
Fondateur
leo11


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

Offrir à un héros une puisssance croissante. Empty
MessageSujet: Re: Offrir à un héros une puisssance croissante.   Offrir à un héros une puisssance croissante. Icon_minitimeMer 19 Mar - 15:31

Ce qui va nous faire pour notre exemple de théoden:
Code:
CommandSet Homme_De_Ouest_BM
1 = Command_CreateAHero_SpecialAbilityBladeMaster
End

CommandButton Command_CreateAHero_SpecialAbilityBladeMaster
Radial = Yes            ;valeur ajouter
   Command           = SPECIAL_POWER
   SpecialPower     = SpecialAbilityCreateAHeroBladeMaster
   TextLabel        = CONTROLBAR:CAHBladeMaster
   ButtonImage        = HSAragornBladeMaster
   ButtonBorderType  = ACTION   
   DescriptLabel     = CONTROLBAR:ToolTipCAH_BladeMaster
   InPalantir        = Yes
   AutoAbility        = Yes
   AutoDelay        = 30.0 // this should sync with the Aragorn's hero mode effect time
   PresetRange        = 50.0
   UnitSpecificSound  = AragornVoiceBladeMaster

   CreateAHeroUIAllowableUpgrades           =   Upgrade_CreateAHero_ClassHeroOfTheWest
   CreateAHeroUIMinimumLevel              = 1
   CreateAHeroUIPrerequisiteButtonName = None
   CreateAHeroUICostIfSelected              = CAH_BLADEMASTER_COST
End

Object RohanTheoden
ButtonImage    = HICAHCaptainGondor
SelectPortrait = CPCaptainofGondor  ;HiCahDamrod  ;
DisplayName    = CreateAHero:ClassName_HeroesOfTheWest
CommandSet = Homme_De_Ouest_BM        ;COMMANDSET NEW

ReplaceModule ModuleTag_DRAW
;LE DRAW DE L'HOMME DE L'OUEST comme dans l'ini donner

VoiceAttack                      = HeroWestMaleVoiceAttack
VoiceAttackAir                     = HeroWestMaleVoiceAttack
VoiceAttackCharge                   = HeroWestMaleVoiceAttackCharge
VoiceAttackMachine                   = HeroWestMaleVoiceAttack
VoiceAttackStructure                = HeroWestMaleVoiceAttackBuilding
VoiceCreated                     = HeroWestMaleVoiceSalute
VoiceFear                        = HeroWestMaleVoiceHelpMe
VoiceFullyCreated                  = HeroWestMaleVoiceSalute
VoiceGuard                        = HeroWestMaleVoiceMove
VoiceMove                         = HeroWestMaleVoiceMove
VoiceMoveToCamp                   = HeroWestMaleVoiceMoveCamp
VoiceMoveWhileAttacking             = HeroWestMaleVoiceDisengage
VoicePriority                     = 95
VoiceRetreatToCastle                = HeroWestMaleVoiceRetreat
VoiceSelect                      = HeroWestMaleVoiceSelectMS
VoiceSelectBattle                    = HeroWestMaleVoiceSelectBattle
      
SoundImpact                        = ImpactHorse
      
UnitSpecificSounds
VoiceEnterUnitElvenTransportShip   = HeroWestMaleVoiceMoveShip
VoiceEnterUnitMordorMumakil         = HeroWestMaleVoiceMove
VoiceEnterUnitSlaughterHouse      = HeroWestMaleVoiceMove
VoiceEnterUnitTransportShip         = HeroWestMaleVoiceMove
VoiceGarrison                  = HeroWestMaleVoiceMoveGarrison
VoiceInitiateCaptureBuilding      = HeroWestMaleVoiceCaptureBuilding
End

AddModule
      Behavior = UnpauseSpecialPowerUpgrade ModuleTag_CreateAHeroBladeMasterEnabler
    SpecialPowerTemplate = SpecialAbilityCreateAHeroBladeMaster
    TriggeredBy            =Upgrade_Nouvelle_epee  ;l'UPGRADE DE LA FORGE
        End
 End

  AddModule
        Behavior = SpecialPowerModule ModuleTag_CreateAHeroBladeMasterStarter
    SpecialPowerTemplate = SpecialAbilityCreateAHeroBladeMaster
    StartsPaused        = Yes
        End
  End

AddModule
    Behavior = HeroModeSpecialAbilityUpdate ModuleTag_CreateAHeroBladeMasterUpdate
    SpecialPowerTemplate  =    SpecialAbilityCreateAHeroBladeMaster
    HeroAttributeModifier =    CreateAHeroBladeMaster
    HeroEffectDuration      =    30000
    UnpackTime              =    1
    TriggerSound          =    AragornBladeMaster
        End
  End

AddModule   
Behavior = AISpecialPowerUpdate BladeMasterAI
    CommandButtonName = Command_CreateAHero_SpecialAbilityBladeMaster
    SpecialPowerAIType = AI_SPECIAL_POWER_BASIC_SELF_BUFF
    End
 End

End ;fin d'objet

Et de façon schématisée:
Offrir à un héros une puisssance croissante. Pouvoi10

Et voila pour les pouvoirs!





C) L'équipement apparaissant.

1) C'est bon, vous êtes arrivés a la partie la plus subtile! Vous allez maintenant vous charger des objets de votre héros pour qu'ils apparaissent ou disparaissent selon votre envie! Cela va rattraper votre héros qui est construit en ce moment car si vous avez fait un petit test de ce que vous obtenez, vous auriez dû voir qu'il possédait tous les équipements possibles sur son model qui se rentraient dedans et qui rendaient votre superbe héros en boite a sardine! reve

Donc on va encore continuer par style de héros car les héros n'ont pas les mêmes objets: ces objets ont des formes différentes(helas... triste ).
Mais déja il faut comprendre que l'apparition et la disparition des équipements se fait grâce a nos chers upgrades.
Donc on va en créer un que l'on va nommer hero_debut_jolie , où l'on va retirer le prix, le temps et le nom de recherche pour qu'il se débloque directement, gratuitement et sans nom lorsqu'il se devra et dont on va donner comme type OBJECT pour que celui-ci ne se débloque que sur un objet précis qui sera notre héros.
Ca devrait nous faire ça:
Code:
Upgrade hero_debut_jolie
Type = OBJECT
End

Ensuite on va incorporer ce nouvel upgrade a notre héros pour qu'il se débloque sur celui-ci dès le début du jeu et s'occupe de faire disparaitre les objets voulus.
Donc il faut rajouter ce module a votre héros:
Code:
;L'objet héro
AddModule
    Behavior = GrantUpgradeCreate Upgrade_GandalfWhiteUpgradeActive
        UpgradeToGrant = hero_debut_jolie
    End
End
End ; end de fin

Voici le module que vous allez devoir ajouter a votre objet pour que votre upgrade (hero_debut_jolie) se débloque sur votre objet dès le début.(il y a le end de fin d'objet intégré.)

Voila, maintenant qu'il le possède il va falloir relier cet upgrade à un module qui va se charger de faire disparaitre les équipements que vous ne voulez pas voir sur votre héros et garder ceux que vous voulez voir!
Comme vous avez dû le comprendre au début , on va procéder par classe de héros: je vais donc répertorier tous les équipements sur le module qui va les faire disparaitre ou apparaitre selon votre envie en début de jeu!

a) L'elfe
Voici le module qui se charge des equipements de l'elfe(avec le end de fin d'objet):
Citation :
;Object Héro de ton choix
AddModule
Behavior = SubObjectsUpgrade Elfe_visible_begin_equipement
TriggeredBy = hero_debut_jolie


UpgradeTexture = CHHW_SMN.tga 0 CHHW_SMN.tga
UpgradeTexture = CHHW_SMN_01.tga 0 CHHW_SMN.tga
UpgradeTexture = CHHW_SMN_02.tga 0 CHHW_SMN.tga
UpgradeTexture = CHHW_CG_05.tga 0 CHHW_SMN.tga
RecolorHouse = Yes
HideSubObjectsOnRemove = Yes
FadeTimeInSeconds = 0.0

HideSubObjects = HLMT_01;// casque or avec pique crete
HideSubObjects = HLMT_02;// casque elf avec crete elever(comme celle legion romaine) or
HideSubObjects = HLMT_03;// (casque) rouge truc de nomade


HideSubObjects = SLDR_01;// epauliere plaques or
HideSubObjects = SLDR_02;// épaulières or blanchis(forme feuille/bouclier)
HideSubObjects = SLDR_03;// epauliere bronze plaques
HideSubObjects = SLDR_04;// épaulières or forme de bouclier(plaque)


HideSubObjects = GNLT_01;// gantelet or
HideSubObjects = GNLT_02;// gantelet or
HideSubObjects = GNLT_03;// gantelet bronze violacer
HideSubObjects = GNLT_04;// gantelet bel or plaque


HideSubObjects = BOOT_01;// jambières or plaque(rouge/jauni)
HideSubObjects = BOOT_02;// jambières plaque or blanchi
HideSubObjects = BOOT_04;// jambières or(mal fait)

HideSubObjects = MithlondBow ; arc boi jaune
HideSubObjects = BOW_03 ;arc marron largeur retrousser au bout specialement
HideSubObjects = BOW_04 ;arc jaune dore effet plaque
HideSubObjects = BOW_05 ;arc long belle forme marron/gris
HideSubObjects = Belthronding ;arc elfes marron torsader de doré

;ShowSubObjects = ****

FadeTimeInSeconds = 0.0
RecolorHouse = No
End
End
End ; End de fin d'objet




b) L'homme de l'ouest
Voici le module qui se charge des equipements de l'homme de l'ouest(avec le end de fin d'objet):
Citation :
;Object Héro de ton choix
AddModule
Behavior = SubObjectsUpgrade Homme_Ouest_visible_begin_equipement
TriggeredBy = hero_debut_jolie


;ShowSubObjects = *****

HideSubObjects =HAIR_00;// cheveux
HideSubObjects = HLMT_01;// casque théoden
HideSubObjects = HLMT_02;// casque gondor ailes de cygne incrustées
HideSubObjects = HLMT_05;// casque acier et plume d'or
HideSubObjects = HLMT_06;// casque gondor ailes de cygne ouvertes

HideSubObjects = SLDR_01;// épaulières de bronze
HideSubObjects = SLDR_02;// épaulières d'acier bordées de bronze
HideSubObjects = SLDR_04;// épaulières d'acier avec crète
HideSubObjects = SLDR_05;// épaulières d'or

HideSubObjects = GNLT_01;// gantelets bronze
HideSubObjects = GNLT_02;// gantelets acier ecailles
HideSubObjects = GNLT_04;// gantelet argent gondor
HideSubObjects = GNLT_05;// gantelet rouge et or
HideSubObjects = GNLT_00;// gantelet acier simple

HideSubObjects = WestronSword ;// épée longue classique
HideSubObjects = AXE_01;// hache
HideSubObjects = SWRD_05;// épée longue
HideSubObjects = Belthronding;// épée longue
HideSubObjects = Gurthang;// épée longue lame de bronze
HideSubObjects = TrollBane;// épée large
HideSubObjects = FireBrand;// épée de feu
HideSubObjects = FireBrand_FX01;// avec son effet

HideSubObjects = Shld_01;// bouclier rohan bronze
HideSubObjects = Shld_02;// grand bouclier gondor arbre blanc acier
HideSubObjects = Shld_03;// bouclier rond
HideSubObjects = Shld_04;// grand bouclier gondor arbre blanc bois

HideSubObjects = BOOT_01;// jambières bronze
HideSubObjects = BOOT_02;// jambières acier ecailles
HideSubObjects = BOOT_04;// jambières acier ecailles ( les memes qu'au dessus )
HideSubObjects = BOOT_05;// jambieres acier simple
HideSubObjects = BOOT_00;// jambieres acier avec genouillères



UpgradeTexture = CHHW_SMN.tga 0 CHHW_SMN_01.tga
UpgradeTexture = CHHW_SMN_01.tga 0 CHHW_SMN_01.tga
UpgradeTexture = CHHW_SMN_02.tga 0 CHHW_SMN_01.tga
UpgradeTexture = CHHW_CG_05.tga 0 CHHW_SMN_01.tga

FadeTimeInSeconds = 0.0
RecolorHouse = No

End
End
End ;End de fin d'objet




c) Le mage
Voici le module qui se charge des equipements du mage(avec le end de fin d'objet):
Citation :
;Object Héro de ton choix
AddModule
Behavior = SubObjectsUpgrade Mage_visible_begin_equipement
TriggeredBy = hero_debut_jolie
UpgradeTexture = CHWZ_WD.tga 0 CHWZ_WD_02.tga
UpgradeTexture = CHWZ_WD_02.tga 0 CHWZ_WD_02.tga

;ShowSubObjects = ****

HideSubObjects = HLMT_08 ; barbe blanche
HideSubObjects = HLMT_01 ; le chapeau de sorcière
HideSubObjects = HLMT_03 ; chapeaux+ cheveux
HideSubObjects = HLMT_04 ; chauve + petit truc argenté
HideSubObjects = HLMT_05 ; chauve + couronne
HideSubObjects = HLMT_06 ; chauve + masque doré
HideSubObjects = HLMT_07 ; les cheveux simple
HideSubObjects = HLMT_02 ; les cheveux

HideSubObjects = SLDR_01 ; épaulettes du rohan
HideSubObjects = SLDR_02 ; grosses épaulettes argenté

HideSubObjects = WizardStaff01 ; baton noire bout triangulaire
HideSubObjects = WizardStaff02 ; baton bois
HideSubObjects = WizardStaff03 ; baton assez cour strié avec manche marron
HideSubObjects = WizardStaff04 ; batton noir avec des pics au bouts
HideSubObjects = STFF_05 ;batton comme Sarouman mais avec une boule blanche
HideSubObjects = STFF_06 ;baton blanc avec un bout exagone comme une passoire(XD)

;--------------------------particules Se mettent en meme temps qu'un baton
HideSubObjects = WizStaff01_FX01 ; particule violet pale au bout du baton (l'entour)
HideSubObjects = WizStaff01_FX2 ; particule violet moin pale que precedente au bout du baton(l'entour)
HideSubObjects = WizStaff01_FX3 ; particule violet boule au bout du baton
HideSubObjects = WizStaff02_FX1 ; particule vertes
HideSubObjects = WizStaff03_FX01 ; particule rouge(stile huile qui dessend)
HideSubObjects = WizStaff03_FX02 ; particule effet boule rouge tres pales au bout du baton
HideSubObjects = WizStaff04_FX02 ;Particule blanche au bout du baton(du genre un serpents)
HideSubObjects = WizStaff04_FX03 ;Presce que pareil que la 1ere mais fesant un arc de cercle
HideSubObjects = WizStaff04_FX04 ;Particule blanche au bout comme une etoile (sur le bout vu au ciel)
HideSubObjects = WizStaff04_FX05 ;Particule blanche au bout comme une etoile(sur le coter(vue de face)
HideSubObjects = WizStaff04_FX06 ;Particule blanche au bout comme une etoile(sur le coter(vue de face en diagonal exterieur)
HideSubObjects = WizStaff04_FX07 ;Particule blanche au bout comme une etoile(sur le coter(vue deriere en diagonal interieur)
HideSubObjects = WizStaff04_FX01 ;comme WizStaff04_FX03 mais dans l'aure sens




FadeTimeInSeconds = 0.0 ;pour le 01 c'est la robe plus riche clair avec des broderie;sans rien c'est la marron; pour 02 c'est la robe foncé(style mauvais mage)
RecolorHouse = No

End
End
End ;End de fin d'objet


Dernière édition par leo11 le Ven 28 Mar - 9:18, édité 2 fois
Revenir en haut Aller en bas
https://imladrisproduction.forumotion.com
leo11
Fondateur
leo11


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

Offrir à un héros une puisssance croissante. Empty
MessageSujet: Re: Offrir à un héros une puisssance croissante.   Offrir à un héros une puisssance croissante. Icon_minitimeLun 24 Mar - 13:33

d) Le nain
Voici le module qui se charge des équipements du nain(avec le end de fin d'objet):
Citation :
;Object Héro de ton choix
AddModule
Behavior = SubObjectsUpgrade Nain_visible_begin_equipement
TriggeredBy = hero_debut_jolie


;ShowSubObjects = ****

HideSubObjects = SLDR_01;// épaulières avec la petite a gauche et la grosse a droite
HideSubObjects = SLDR_02;// épaulières marron or
HideSubObjects = SLDR_03;// épaulières bleu argenté
HideSubObjects = SLDR_04;// épaulières grosse noir
HideSubObjects = SLDR_05;// épaulières noires trés hautes qui depasse au niveau de la tête
HideSubObjects = SLDR_06;// épaulières plaque cote de mail (gimli)

HideSubObjects = BOOT_01;// jambières petit caré gris avec motif dessus )X(
HideSubObjects = BOOT_02;// jambières marron or
HideSubObjects = BOOT_03;// jambières bleu argenté
HideSubObjects = BOOT_04;// jambières marron(cuir)

HideSubObjects = GNLT_01;// gantelets petit caré gris avec motif dessus )X(
HideSubObjects = GNLT_02;// gantelets marron or
HideSubObjects = GNLT_03;// gantelet bleu argenté
HideSubObjects = GNLT_04;// gantelet marron(cuir)

HideSubObjects = HMR_01;// gros marteaux de pierre
HideSubObjects = AXE_01;// hache de gimli (2 lames)
HideSubObjects = AXE_02;// petite hache grise
HideSubObjects = AXE_03;// hache de gimli (fine une seul lame)

HideSubObjects = HLMT_01;// heaume gris
HideSubObjects = HLMT_02;// heaume marron or
HideSubObjects = HLMT_03;// casque bleu argenté
HideSubObjects = HLMT_04;// casque gros et noir (un peu d'argent) style dark vador derrrière (lol)
HideSubObjects = HLMT_05;// casque noir avec crète blanche dessus
HideSubObjects = HLMT_06;// casque de viking avec 2 pointes


HideSubObjects = WestronSword;// épée longue classique
HideSubObjects = SWRD_05;// épée longue
HideSubObjects = Belthronding;// épée longue
HideSubObjects = Gurthang;// épée longue lame de bronze
HideSubObjects = TrollBane;// épée large



HideSubObjects = CHEST_02
HideSubObjects = CHEST_03

FadeTimeInSeconds = 0.0
RecolorHouse = No

End
End
End ;end de fin d'objet



Voila, copiez ce module sur n'importe lequel de vos héros selon sa classe!
Ensuite vous remarquerez que dans chacun des modules il y avait ca: ;ShowSubObjects = ****
retirez le point virgule (Wink et entrez a la place des asterix(*) le nom d'un équipement se trouvant dans ce module (que vous retirez des hideSubObjects) pour que cet équipement soit visible! Ce qui vous laisse le choix de faire des héros différents a chaque fois dans chaque debut de partie!



Donc maintenant nous allons reprendre notre exemple, à savoir théoden en homme de l'ouest!
Etant donné que c'est un homme de l'ouest, on va prendre le module des subObjetcs qui convient et le module qui offre l'upgrade que l'on a créé précedement :
Code:
Object RohanTheoden
AddModule
    Behavior = GrantUpgradeCreate Upgrade_GandalfWhiteUpgradeActive
        UpgradeToGrant = hero_debut_jolie
    End
End

AddModule
    Behavior = SubObjectsUpgrade Homme_Ouest_visible_begin_equipement
    TriggeredBy              = hero_debut_jolie
   

  ShowSubObjects =  HAIR_00;// cheveux
  ShowSubObjects =  WestronSword ;// épée longue classique
      
    ;HideSubObjects          =HAIR_00;// cheveux  ;visible
    HideSubObjects          = HLMT_01;// casque théoden
    HideSubObjects          = HLMT_02;// casque gondor ailes de cygne incrustées
    HideSubObjects          = HLMT_05;// casque acier et plume d'or
    HideSubObjects          = HLMT_06;// casque gondor ailes de cygne ouvertes

    HideSubObjects          = SLDR_01;// épaulières de bronze
    HideSubObjects          = SLDR_02;// épaulières d'acier bordées de bronze
    HideSubObjects          = SLDR_04;// épaulières d'acier avec crète
    HideSubObjects          = SLDR_05;// épaulières d'or

    HideSubObjects          = GNLT_01;// gantelets bronze
    HideSubObjects          = GNLT_02;// gantelets acier ecailles
    HideSubObjects          = GNLT_04;// gantelet argent gondor
    HideSubObjects          = GNLT_05;// gantelet rouge et or
    HideSubObjects          = GNLT_00;// gantelet acier simple

  ; HideSubObjects          = WestronSword ;// épée longue classique  ;visible
    HideSubObjects          = AXE_01;// hache
    HideSubObjects          = SWRD_05;// épée longue
    HideSubObjects          = Belthronding;// épée longue
    HideSubObjects          = Gurthang;// épée longue lame de bronze
    HideSubObjects          = TrollBane;// épée large
    HideSubObjects          = FireBrand;//        épée de feu
    HideSubObjects          = FireBrand_FX01;// avec son effet

    HideSubObjects          = Shld_01;// bouclier rohan bronze
    HideSubObjects          = Shld_02;// grand bouclier gondor arbre blanc acier
    HideSubObjects          = Shld_03;// bouclier rond
    HideSubObjects          = Shld_04;// grand bouclier gondor arbre blanc bois

    HideSubObjects          = BOOT_01;// jambières bronze
    HideSubObjects          = BOOT_02;// jambières acier ecailles
    HideSubObjects          = BOOT_04;// jambières acier ecailles ( les memes qu'au dessus )
    HideSubObjects          = BOOT_05;// jambieres acier simple
    HideSubObjects          = BOOT_00;// jambieres acier avec genouillères

   
   
     UpgradeTexture        = CHHW_SMN.tga   0   CHHW_SMN_01.tga
   UpgradeTexture        = CHHW_SMN_01.tga   0   CHHW_SMN_01.tga
   UpgradeTexture        = CHHW_SMN_02.tga   0   CHHW_SMN_01.tga
   UpgradeTexture        = CHHW_CG_05.tga   0   CHHW_SMN_01.tga

    FadeTimeInSeconds      = 0.0
    RecolorHouse          = No

    End
    End
End    ;End de fin d'objet

J'ai ajouté dans ses équipements visibles une épée classique et des cheveux.


Et voila, ce qui fait pour notre map.ini de théoden en entier:
Code:
CommandSet Homme_De_Ouest_BM
1 = Command_CreateAHero_SpecialAbilityBladeMaster
End

CommandButton Command_CreateAHero_SpecialAbilityBladeMaster
Radial = Yes            ;valeur ajouter
   Command           = SPECIAL_POWER
   SpecialPower     = SpecialAbilityCreateAHeroBladeMaster
   TextLabel        = CONTROLBAR:CAHBladeMaster
   ButtonImage        = HSAragornBladeMaster
   ButtonBorderType  = ACTION   
   DescriptLabel     = CONTROLBAR:ToolTipCAH_BladeMaster
   InPalantir        = Yes
   AutoAbility        = Yes
   AutoDelay        = 30.0 // this should sync with the Aragorn's hero mode effect time
   PresetRange        = 50.0
   UnitSpecificSound  = AragornVoiceBladeMaster

   CreateAHeroUIAllowableUpgrades           =   Upgrade_CreateAHero_ClassHeroOfTheWest
   CreateAHeroUIMinimumLevel              = 1
   CreateAHeroUIPrerequisiteButtonName = None
   CreateAHeroUICostIfSelected              = CAH_BLADEMASTER_COST
End

Upgrade hero_debut_jolie
Type = OBJECT
End

Object RohanTheoden

AddModule
    Behavior = GrantUpgradeCreate Upgrade_GandalfWhiteUpgradeActive
        UpgradeToGrant = hero_debut_jolie
    End
End

AddModule
    Behavior = SubObjectsUpgrade Homme_Ouest_visible_begin_equipement
    TriggeredBy              = hero_debut_jolie
   

  ShowSubObjects =  HAIR_00;// cheveux
  ShowSubObjects =  WestronSword ;// épée longue classique
      
    ;HideSubObjects          =HAIR_00;// cheveux  ;visible
    HideSubObjects          = HLMT_01;// casque théoden
    HideSubObjects          = HLMT_02;// casque gondor ailes de cygne incrustées
    HideSubObjects          = HLMT_05;// casque acier et plume d'or
    HideSubObjects          = HLMT_06;// casque gondor ailes de cygne ouvertes

    HideSubObjects          = SLDR_01;// épaulières de bronze
    HideSubObjects          = SLDR_02;// épaulières d'acier bordées de bronze
    HideSubObjects          = SLDR_04;// épaulières d'acier avec crète
    HideSubObjects          = SLDR_05;// épaulières d'or

    HideSubObjects          = GNLT_01;// gantelets bronze
    HideSubObjects          = GNLT_02;// gantelets acier ecailles
    HideSubObjects          = GNLT_04;// gantelet argent gondor
    HideSubObjects          = GNLT_05;// gantelet rouge et or
    HideSubObjects          = GNLT_00;// gantelet acier simple

  ; HideSubObjects          = WestronSword ;// épée longue classique  ;visible
    HideSubObjects          = AXE_01;// hache
    HideSubObjects          = SWRD_05;// épée longue
    HideSubObjects          = Belthronding;// épée longue
    HideSubObjects          = Gurthang;// épée longue lame de bronze
    HideSubObjects          = TrollBane;// épée large
    HideSubObjects          = FireBrand;//        épée
    HideSubObjects          = FireBrand_FX01;// l'effet qui doit etre combiner a l'épé pour faire un stile d'épée emflamée.

    HideSubObjects          = Shld_01;// bouclier rohan bronze
    HideSubObjects          = Shld_02;// grand bouclier gondor arbre blanc acier
    HideSubObjects          = Shld_03;// bouclier rond
    HideSubObjects          = Shld_04;// grand bouclier gondor arbre blanc bois

    HideSubObjects          = BOOT_01;// jambières bronze
    HideSubObjects          = BOOT_02;// jambières acier ecailles
    HideSubObjects          = BOOT_04;// jambières acier ecailles ( les memes qu'au dessus )
    HideSubObjects          = BOOT_05;// jambieres acier simple
    HideSubObjects          = BOOT_00;// jambieres acier avec genouillères

   
   
     UpgradeTexture        = CHHW_SMN.tga   0   CHHW_SMN_01.tga
   UpgradeTexture        = CHHW_SMN_01.tga   0   CHHW_SMN_01.tga
   UpgradeTexture        = CHHW_SMN_02.tga   0   CHHW_SMN_01.tga
   UpgradeTexture        = CHHW_CG_05.tga   0   CHHW_SMN_01.tga

    FadeTimeInSeconds      = 0.0
    RecolorHouse          = No

    End
    End



ButtonImage    = HICAHCaptainGondor
SelectPortrait = CPCaptainofGondor  ;HiCahDamrod  ;
DisplayName    = CreateAHero:ClassName_HeroesOfTheWest
CommandSet = Homme_De_Ouest_BM        ;COMMANDSET NEW

ReplaceModule ModuleTag_DRAW
;LE DRAW DE L'HOMME DE L'OUEST comme dans l'ini donner

VoiceAttack                      = HeroWestMaleVoiceAttack
VoiceAttackAir                     = HeroWestMaleVoiceAttack
VoiceAttackCharge                   = HeroWestMaleVoiceAttackCharge
VoiceAttackMachine                   = HeroWestMaleVoiceAttack
VoiceAttackStructure                = HeroWestMaleVoiceAttackBuilding
VoiceCreated                     = HeroWestMaleVoiceSalute
VoiceFear                        = HeroWestMaleVoiceHelpMe
VoiceFullyCreated                  = HeroWestMaleVoiceSalute
VoiceGuard                        = HeroWestMaleVoiceMove
VoiceMove                         = HeroWestMaleVoiceMove
VoiceMoveToCamp                   = HeroWestMaleVoiceMoveCamp
VoiceMoveWhileAttacking             = HeroWestMaleVoiceDisengage
VoicePriority                     = 95
VoiceRetreatToCastle                = HeroWestMaleVoiceRetreat
VoiceSelect                      = HeroWestMaleVoiceSelectMS
VoiceSelectBattle                    = HeroWestMaleVoiceSelectBattle
      
SoundImpact                        = ImpactHorse
      
UnitSpecificSounds
VoiceEnterUnitElvenTransportShip   = HeroWestMaleVoiceMoveShip
VoiceEnterUnitMordorMumakil         = HeroWestMaleVoiceMove
VoiceEnterUnitSlaughterHouse      = HeroWestMaleVoiceMove
VoiceEnterUnitTransportShip         = HeroWestMaleVoiceMove
VoiceGarrison                  = HeroWestMaleVoiceMoveGarrison
VoiceInitiateCaptureBuilding      = HeroWestMaleVoiceCaptureBuilding
End

AddModule
      Behavior = UnpauseSpecialPowerUpgrade ModuleTag_CreateAHeroBladeMasterEnabler
    SpecialPowerTemplate = SpecialAbilityCreateAHeroBladeMaster
    TriggeredBy            = Upgrade_Nouvelle_epee  ;l'UPGRADE DE LA FORGE
        End
 End

  AddModule
        Behavior = SpecialPowerModule ModuleTag_CreateAHeroBladeMasterStarter
    SpecialPowerTemplate = SpecialAbilityCreateAHeroBladeMaster
    StartsPaused        = Yes
        End
  End

AddModule
    Behavior = HeroModeSpecialAbilityUpdate ModuleTag_CreateAHeroBladeMasterUpdate
    SpecialPowerTemplate  =    SpecialAbilityCreateAHeroBladeMaster
    HeroAttributeModifier =    CreateAHeroBladeMaster
    HeroEffectDuration      =    30000
    UnpackTime              =    1
    TriggerSound          =    AragornBladeMaster
        End
  End

AddModule   
Behavior = AISpecialPowerUpdate BladeMasterAI
    CommandButtonName = Command_CreateAHero_SpecialAbilityBladeMaster
    SpecialPowerAIType = AI_SPECIAL_POWER_BASIC_SELF_BUFF
    End
 End

End ;fin d'objet

Et de manière schématisée pour juste les codes ajoutés:
Offrir à un héros une puisssance croissante. Hero_v10



2) Maintenant que vous savez faire apparaître certains équipements en debut de partie il est plus facile d'apprendre a les faire apparaître et disparaître en milieu de partie!
Il n'est pas plus dur de faire apparaitre un obbjet en milieu qu'en debut de partie car c'est entièrement le meme module qui est réutilisé mais avec un nom différent et quelques choses en moins.
Voici a quoi ressemble un module qui permet de changer d'équipement en cours de jeu(sans le end de fin d'objet mais avec le addModule):
Citation :
AddModule
Behavior = SubObjectsUpgrade Nimporte_quel_nom
TriggeredBy = *

ShowSubObjects = **
HideSubObjects = **

RecolorHouse = Yes
End
End

Le voici, il y a juste à completer son nom (le morceau de code en vert) qui comme souvent répété devra toujours etre différent des autres noms de modules, choisir les équipements qui seront rendus visibles et invisibles quand le module servira (le morceau de code en violet)(les équipements n'ont qu'à être recopiés du module précédent(celui de debut de partie) et installés selon ce que vous voulez faire avec ce nouveau module!)(un équipement précédement invisible le restera meme si vous ne le mentionnez pas dans votre nouveau module).
Et integrer l'upgrade qui fera fonctionner le module quand celui-ci aura fini d'être recherché!(Le morceau de code en rouge)

Et voila, on n'a maintenant plus qu'a continuer avec notre homme de l'ouest et avec(par exemple) l'upgrade que l'on a créé à la forge et qui nous a deja servi pour rendre possible le pouvoir blade master(qui s'appelle: Upgrade_Nouvelle_epee).
Bon, je vais sur ce module ajouter à notre homme une épée en feu! Ce qui vas m'obliger à rendre invisible l'ancienne.
Il faut donc rajouter ça entre l'objet Théoden et son end de fin d'objet:
Code:
AddModule
Behavior = SubObjectsUpgrade apparition_epee_de_feu_cooool
TriggeredBy = Upgrade_Nouvelle_epee  ;l'UPGRADE DE LA FORGE

ShowSubObjects        = FireBrand;//        épée                  ;visible
ShowSubObjects        = FireBrand_FX01;// l'effet qui doit etre combiner a l'épé pour faire un stile d'épée emflamée.    ;visible
HideSubObjects          = WestronSword ;// épée longue classique  ;invisible

RecolorHouse = Yes
End
End

Et de façon schematisée avec seulement l'objet théoden:
Offrir à un héros une puisssance croissante. Invisi10
Revenir en haut Aller en bas
https://imladrisproduction.forumotion.com
leo11
Fondateur
leo11


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

Offrir à un héros une puisssance croissante. Empty
MessageSujet: Re: Offrir à un héros une puisssance croissante.   Offrir à un héros une puisssance croissante. Icon_minitimeVen 28 Mar - 9:52

D) L'augmentation des stats

C'est bon votre héros a tout ce qu'il faut pour être vu comme un héros qui progresse petit à petit avec l'achat d' upgrades par le joueur.
Mais comme vous vous en rendrez compte rapidement, ce n'est parce-qu'il possède des "équipements graphiques" supplémentaires qu'il est plus résistant ou plus fort! C'est à nous d'ajouter ces améliorations en même temps que l'apparition ou la disparition d'un "équipement graphique".
Ce sera donc un module sur notre héros qui servira à effectuer ces modifications et qui va fonctionner encore une fois avec des upgrades, ce qui va aussi nous faciliter la vie pour les débloquer.

Donc pour modifier nos stats on vas utiliser des AttributeModifier.
Un attribute modifier est toujours en dehors d'un objet et est composé de cette manière:
Citation :
ModifierList Le_nom
Category = ** ;La categorie
Modifier = **
Duration = ** ;Temps de modif (si il y a)
End

Le_nom: Le nom de votre AttributeModifier (n'importe lequel tant qu'il n'y a pas d'espaces)(le nom réutilisé sur l'objet)
** : la catégorie selon l'effet(Pouvoir, structure, weapon, ....)(pour des améliorations après upgrades il faut utiliser la catégorie: SPELL)
**: la durée de l'effet( peut ne pas etre mit)
**: ce qui est modifié, ce qui se résulte déjà à entrer le mot qui revient à l'effet modifié(armure, dégas, force des pouvoirs,...) puis un nombre qui varie selon ce que vous voulez faire.
Voici un regroupement de tous les modifiers différents qui existent:

Citation :
ARMOR /= Ajoute le nombre d'armure specifié après.
DAMAGE_ADD /= Ajoute les dommage specifies apres
DAMAGE_MULT /= Multiplie le nombre de dommage causer que vous avez par le le nombre specifier
RESIST_FEAR /= Ajoute la resistance a la peur (Pas clair!)
RESIST_TERROR /= Ajoute la resistance a la terreur(Pas clair non plus!)
EXPERIENCE /= Multiplie l'experience que vous avez par le nombre specifié apres
RANGE /= Augmente la surface de tire d'un archer(calculer en %)
SPEED /= Multipli votre vitesse par le nombre specifié apres( Mettre 999999999 pour faire un jeu d'echec! Very Happy )
CRUSH_DECELERATE /= Multiplie je ne sais quoi!
RESIST_KNOCKBACK /= Ajoute je ne sais quoi non plus
SPELL_DAMAGE /= Multiplie les dommage magique par le nombre specifié (seulement magique)
RECHARGE_TIME /= Multiplie le temps de recharge des pouvoir par le nombre specifié
PRODUCTION /= Multiplie la vitesse de production d'unités et de l'argent par le nombre specifié
HEALTH /= Ajoute la vie specifiée
HEALTH_MULT, /= Multiplie votre vie par le nombre specifié
VISION /= Augmente la taille de la zone de vision
BOUNTY_PERCENTAGE /=
MIN_CRUSH_VELOCITY_PERCENTAGE /=
AUTO_HEAL /= ajoute des points de vie en plus lors des soins automatiques
SHROUD_CLEARING /=augmente la zone de vision et de tire
RATE_OF_FIRE /=augment la vitesse de tire
DAMAGE_STRUCTURE_BOUNTY_ADD /= augmente les dégats causés aux batiments
COMMAND_POINT_BONUS /=
CRUSHABLE_LEVEL /=
CRUSHED_DECELERATE /=
INVULNERABLE /=Rend invulnerable si le nombre specifié apres est 1


Nous allons donc créer un attributeModifier spécial pour offrir à notre héros de l'attaque en plus après l'acquisition d'un upgrade.
Nous allons nommer cet attribute: attaque_de_dingue
- Il sera de categorie: SPELL
- Il possèdera comme Modifier "DAMAGE_ADD 120" pour lui ajouter 120 d'attaque
- Sa durée sera de 0 pour qu'elle soit infinie.


Ce qui nous fera:

Citation :
ModifierList attaque_de_dingue
Category = SPELL
Modifier = DAMAGE_ADD 120
Duration = 0
End



Et voila, l'attributeModifier est prêt, il ne reste plus qu'a l'accorder avec le héros par un module ajouté a celui ci.
Il va donc falloir insérer un dernier module sur notre Héros, le voici:
Citation :
AddModule
Behavior = AttributeModifierUpgrade Son_nom
TriggeredBy = Lupgrade_daquisition
AttributeModifier = Le_modifier_déclenché
End
End

*** : Un nom au hasard sans espaces, ni "/!?ù%µ£$¤¨^,*(#~&.
*** : L'upgrade avec lequel on obtient le attribute, donc s'il s'obtient en même temps qu'apparait un équipement du héros il faut mettre le même upgrade( pour notre Théoden, l'upgrade est: Upgrade_Nouvelle_epee).
*** : L'attributeList qui est mis en oeuvre après l'upgrade, dans le cas présent c'est le précédent: attaque_de_dingue .



Donc une fois complété ça vas nous faire:

Code:
AddModule
  Behavior = AttributeModifierUpgrade Attque_de_dingue_module
    TriggeredBy = Upgrade_Nouvelle_epee
    AttributeModifier = attaque_de_dingue
  End
End


Et voila, il ne reste plus qu'à l'insérer dans notre objet Théoden (entre son nom(Object Theoden) et le end de fin) et le tour en joué!









Et voila vous avez fini votre map.ini!
Il n'y a plus qu'une chose a suivre pour assurer que tout fonctionnera bien et que l'on a tout mis, c'est l'ordre dans lequel on met les codes.
Normalement vous devriez avoir ça (si ce n'est pas dans le bon ordre je vous conseille de le remettre):

- Images qui ont été modifiées
- L'objet forge
- Les nouveaux upgrades recherchés dans la forge
- Les commandButtons modifiés, dont la fonction a été changée
- Le commandset de la Forge, avec les commandButtons modifiés
- Les modifierLists pour le héro
- Le commandSet du héros (si il y a de nouveaux pouvoirs)
- L'objet Héro






Et voila, ce coup-ci vous savez tout se qu'il faut savoir pour faire un héros qui s'améliore petit à petit avec un minimum de bugs!
Je vous souhaite bonne chance pour vos futures créations de vos propres améliorations et de vos propres héros! N'hésitez surtout pas a poser des questions (si vous m'avez compris sans difficultés jusqu'au bout c'est déjà un exploit). Je demande juste a ce que vous lisiez un peut les tutoriaux sur l'ini avant de dire que vous n'avez rien compris a celui ci, car il vous faut minimum les bases pour suivre ce tuto! Wink




Bonne chance.


******************************************************************************************************************

Si vous avez des questions supplémentaires à poser à propos de ce tutoriel, veuillez les poser dans la section "Discussion" qui se trouve >ICI<

******************************************************************************************************************


Revenir en haut Aller en bas
https://imladrisproduction.forumotion.com
Contenu sponsorisé





Offrir à un héros une puisssance croissante. Empty
MessageSujet: Re: Offrir à un héros une puisssance croissante.   Offrir à un héros une puisssance croissante. Icon_minitime

Revenir en haut Aller en bas
 
Offrir à un héros une puisssance croissante.
Revenir en haut 
Page 1 sur 1
 Sujets similaires
-
» Tuto Rajouter un Pouvoir de Heros créer a un Heros de base (Type Aragorn) :
» Codes à copier : apparence intégrale de votre héros perso et autres héros du jeu
» Tuto : Rajouter un Pouvoir d'un heros de base a un Heros crée et inversement
» Problème apparence Héros créé depuis Héros CAH
» new heros map

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