Changer les unités des antres : leur nombres, leur types et leur temps de réaparition - Citation :
Object MoriarGoblinLair
ReplaceModule ModuleTag_SpawnFighters
Behavior = SpawnBehavior ModuleTag_SpawnFighters2
SpawnNumber = 20
InitialBurst = 20
SpawnTemplateName = MordorGoblinSwordsman_Slaved MordorGoblinArcher_Slaved
SpawnReplaceDelay = 1000
CanReclaimOrphans = Yes
End
End
End
J'ai fait exprès de modifier les valeurs :
en vert, vous mettez le nombre de gobelins qui tournent autour de l'antre (moi j'en ai mis 20 mais 50 ca marche aussi mais après ça devient vite le bazar autour de l'antre
)
en bleu, c'est les unités qui sortiront à tour de rôle de l'antre (donc ici des guerriers gobelins et des archers gobelins, rien ne change
)
en rouge, c'est le temps à attendre en ms (1000 ms = 1s) avant la sortie des nouvelles unités (moi j'ai mis 1000 ms donc 1 secondes en gros dès que je tue un gobelin autour, un autre ressort aussitôt
)
Bien sûr vous pouvez faire ça sur l'antre (
en orange) que vous voulez, moi j'ai mis l'antre à gobelins dans l'exemple
Faire apparaître des unités autour d'un héro A la manière des antres, on va faire réapparaître un certain nombre d'unités autour du héro qui vous suivront peut importe ou vous allez et qui attaqueront les ennemis tels de vrais gardes du corps !
Voila ce qu'il faut dans le map.ini pour avoir vos "gardes du corps" :
- Citation :
Object objetdevotrehéro
AddModule
Behavior = QueueProductionExitUpdate ModuleTag_11
UnitCreatePoint = X:0.0 Y:0.0 Z:0.0
NaturalRallyPoint = X:0.0 Y:0.0 Z:0.0
ExitDelay = 50
End
end
AddModule
Behavior = SpawnBehavior ModuleTag_SpawnFighters2
SpawnNumber = 10
InitialBurst = 10
SpawnTemplateName = GondorArcher GondorFighter
SpawnReplaceDelay = 1000
CanReclaimOrphans = Yes
End
End
End ; end de votre héro
Object GondorFighter
AddModule
Behavior = SlavedUpdate ModuleTag_Slave
GuardMaxRange = 350
GuardWanderRange = 80
UseSlaverAsControlForEvaObjectSightedEvents = Yes
end
end
End
Object GondorArcher
AddModule
Behavior = SlavedUpdate ModuleTag_Slave
GuardMaxRange = 350
GuardWanderRange = 80
UseSlaverAsControlForEvaObjectSightedEvents = Yes
end
end
End
En résumé les chose que vous pouvez adapter a votre code :
en orange : le nom de l'object de votre héro ou de votre unité autour de laquelle des unités apparaissent
en rouge : c'est le temps en ms qui sépare la sortie de 2 unités (plus c'est petit, plus on aura l'impression qu'elles sortent en même temps)
en vert : c'est le nombre total d'unités qu'il peut y avoir autour du héro
en bleu : c'est le nom des unités qui réapparaissent autour du héro.
en cyan : c'est le temps en ms qui sépare la sortie de nouvelle unités (donc si le temps est petit comme ici (1seconde) des qu'une unité meurt , une autre la remplace aussitot !
Remarque : il faut ensuite ajouter un module au object des
unités qui apparaissent pour qu'elles suivent le joueur (c'est toujours le meme, prenez exemple sur le code ci-dessus avec les soldats ou les archers du gondor )
Mettre des boutons de pouvoirs sur la droite Pour mettre des boutons sur la droite comme pour les bâtisseurs, il suffit d'ajouter DOZER dans le KindOf de votre objet comme ceci :
- Code:
-
KindOf = DOZER
Ainsi, tous les pouvoirs dont le commandbutton est en radial se mettront sur la droite (sachant qu'on ne peut pas en mettre plus de 12) et disparaitront autour de votre objet
Augmenter le nombre de flammes autorisées sur la carte Vous avez sûrement déjà remarqué que au bout d'un moment quand il y a trop de feu sur la carte, les flammes qui sont sencées être la ne sont pas la, c'est normal car il y a un nombre limité de flammes. Heureusement j'ai trouvé comment augmenter ce nombre maximum voici le code a ajouter dans votre map.ini :
- Code:
-
FireLogicSystem
MaxCellsBurning = 200000
End
La valeur d'origine du jeu est 1000, donc vous aurez 200 fois plus de flammes (en gros quasi-illimité).
Au contraire, si vous mettez 0, il n'y aura aucunes flammes ( utile dans les carte dans la neige par exemple )
Utiliser les pouvoirs du palantir sans forteresseDonc il suffit d'ajouter COMMANDCENTER dans le KindOf d'un autre object comme ça il sera considéré comme la forteresse pour l'utilisation des pouvoirs du palantir
- Code:
-
KindOf = COMMANDCENTER
Par contre si cette unité meurt et que vous n'avez pas d'autre unité avec COMMANDCENTER dans leur kindof , les pouvoirs du palantir seront inutilisables
Donner la capacité de capturer un batiment (le drapeau) à une unitéSi une unité ne peut pas capturer un drapeau il suffit de lui rajouter ces 2 modules dans l'object :
- Code:
-
AddModule
Behavior = SpecialPowerModule ModuleTag_CaptureBuilding
SpecialPowerTemplate = SpecialAbilityCaptureBuilding
UpdateModuleStartsAttack = Yes
StartsPaused = No
End
End
AddModule
Behavior = SpecialAbilityUpdate ModuleTag_CaptureBuildingUpdate
SpecialPowerTemplate = SpecialAbilityCaptureBuilding
StartAbilityRange = 15.0
UnpackTime = 1
PreparationTime = 15000
PackTime = 1
DoCaptureFX = Yes
End
End
Il faut aussi ajouter cette ligne dans le CommandSet de l'object en question en le mettant bien apres les autres pouvoirs (si jamais 12 est deja utilisé mettez un autre nombre):
- Code:
-
12 = Command_CaptureBuilding
Empecher que les arbres soient remplacés en graphisme basVous avez remarqué que en mettant vos graphismes bas ou tres bas tout les arbre de la carte on le meme model d'un arbre assez moche pour empecher que cela se produissent il suffit de copier ça dans le map.ini et vous aurez les bon arbres :
- Code:
-
AIData
UseLowLODTrees = No
End
Supprimer l'image de l'anneau sur la minimapCela supprime la petite image du radar qui indique ou se trouve l'anneau :
- Code:
-
Object TheDroppedRing
RemoveModule ModuleTag_RadarMarker
End
Soigner Elrond quand il attrape un cochonC'est juste un code de base assez commenté pour vous en inspirer et l'adapter a n'importe quoi
En fait elrond peut attraper un cochon et ca le soigne en meme temps (comme si il le mangeait)
- Spoiler:
- le code a écrit:
- Object Pig // notre fidèle cobaye : un cochon
KindOf = BALLISTIC_MISSILE PRELOAD SELECTABLE CAN_CAST_REFLECTIONS INFANTRY
End
// le nouveau command set avec le bouton (non visible) pour prendre un arbre, mais en fait on peut utiliser le bouton pour prendre autre choses...
CommandSet ElrondCommandSet2
1 = Command_ToggleStance
2 = Command_SpecialAbilityElrondElvenGrace
3 = Command_ElrondFakeLeadership
4 = Command_SpecialAbilityElrondFarsight
5 = Command_SpecialPowerSpawnWhirlwind
6 = Command_SpecialAbilityElrondRestoration
7 = Command_SpecialAbilityTrollGrabTree // invisible car hors du palantir
12 = Command_CaptureBuilding
13 = Command_AttackMove
14 = Command_Stop
16 = Command_SetStanceBattle
17 = Command_SetStanceAggressive
18 = Command_SetStanceHoldGround
End
Object ElvenElrond
CommandSet = ElrondCommandSet2 // nouveau command set
// le module pour déclencher en meme temps le module pour qu'il prenne l'animal et celui pour qu'il gagne de la vie car sans ca, seul 1 des 2 module est pris en compte car c'est tout les 2 des modules de specialPower
AddModule
Behavior = ActivateModuleSpecialPower Module1
SpecialPowerTemplate = SpecialAbilityGrabPassenger
StartAbilityRange = 30 // la portée max ou il va absorber l'animal
TriggerSpecialPower = Module2 TARGETPOS // la cible
TriggerSpecialPower = Module3 OBJECTPOS // notre héro
End
End
// le module pour prendre une unité
AddModule
Behavior = GrabPassengerSpecialPower Module2
SpecialPowerTemplate = SpecialAbilityGrabPassenger
UpdateModuleStartsAttack = Yes
AllowTree = no // on ne prend pas d'arbre
// InitiateFX = si tu voulait du fx quand il prend l'animal (genre marré de sang ) c'est la qu'il faut le mettre
End
End
// le module de soin
AddModule
Behavior = PlayerHealSpecialPower Module3
SpecialPowerTemplate = SpecialAbilityGrabPassenger
StartsPaused = Yes
HealAffects = HERO // le soin affecte tout les kindOf HERO
HealAmount = 0.5 // montant de vie
HealAsPercent = Yes // la valeur gagné de vie est en pourcentage donc ici on regagne la moitié de notre vie, si tu voulait un montant fixe comme 200 pv regagné tu aurait mis 200 dans HealAmount et ici tu aurait mis No , je te laisse faire comme tu veut... ;-)
HealRadius = 0 // rayon de 0 donc ca ne soigne que notre héro, un truc comme 100 aurait soigné aussi les héros aux alentours :-)
HealFX = FX_AragornAthelas // le fx de soin (athélas mais tu peut changer ^^ )
End
End
// le module pour savoir quel type d'object on va prendre on peut aussi faire en sorte de voir l'object sur un os du model (comme l'épée) grace a la ligne PassengerBonePrefix mais je n'ai pas cherché a le faire
AddModule
Behavior = TransportContain Module4
ObjectStatusOfContained = UNSELECTABLE
PassengerFilter = ANY +BALLISTIC_MISSILE
ManualPickUpFilter = ANY +BALLISTIC_MISSILE // j'ai utilisé BALLISTIC_MISSILE pour le truc du kindOf, on aurait pu prendre autre chose
Slots = 999999999 // lol
ShowPips = No
AllowEnemiesInside = Yes
AllowNeutralInside = Yes
AllowAlliesInside = Yes
DamagePercentToUnits = 0
TypeOneForWeaponSet = CLUB
TypeOneForWeaponState = CLUB
ForceOrientationContainer = No
TypeOneForWeaponSet = CLUB
PassengerBonePrefix = PassengerBone:TRUNK01 KindOf:CLUB
EjectPassengersOnDeath = No
End // end du module
End // end du AddModule
End // end du Elrond