Posté le: 23/07/10 10:05 Sujet du message: Ordre d'un groupe d'unités
Bonjour,
C'est la première fois que je sollicite l'aide du forum dans l'espérance de pouvoir terminer une map.
Voilà, je voudrais en fait donner un ordre à plusieurs unités que j'ai crées en fonction du nombre de joueurs. J'ai donc créer une varaiable pour stocker le nombre de joueurs présents, puis je crée 10 monstres par joueurs. Mais là n'est pas le problème.
Lorsque j'ordonne au groupe d'unité précédemment crée, seulement 12 d'entre eux reçoivent l'ordre, les autres restes bêtement dans leur coin
Il y-a-il un moyen de donner un ordre à l'ensemble de ces monstres (au delà de la limite des 12) ?
J'espère avoir été assez clair dans l'exposition de mon problème _________________
Inscrit le: 16 Juil 2010 Messages: 298 Sujets: 17 Spécialité en worldedit: Faire compliqué quand il peut faire facile.
Posté le: 23/07/10 10:52 Sujet du message:
Bonjour, je ne sais pas quoi dire... je sais que tu "stocke tes joueurs" dans des variables mais après?
Tu ne pourrais pas montrer ton trigger s'il te plait? (clique droit dessus ==> copier comme texte) et colle le ici dans les balise [gui] [ /gui] _________________
Le naab? C'est moi!
Jass:
call KillUnit(Mainguet)
// même le KillUnit me semble faux
-------- Attribution variables/joueurs -------- Set Players[1] = Joueur 1 (Rouge) Set Players[2] = Joueur 2 (Bleu) Set Players[3] = Joueur 3 (Cyan) Set Players[4] = Joueur 4 (Pourpre) Set Players[5] = Joueur 5 (Jaune) Set Players[6] = Joueur 6 (Orange) Set Players[7] = Joueur 7 (Vert) Set Players[8] = Joueur 8 (Rose) -------- Alliance --------
For each (Integer A) from 1 to 4, do (Actions)
Boucle - Actions
If (All Conditions are True) then do (Then Actions) else do (Else Actions)
Si - Conditions
((Player((Integer A))) slot status) Egal à Joue
Alors - Actions
Groupe joueur - Add (Player((Integer A))) to Alliance_Player Set nbPlayers_Alliance = (nbPlayers_Alliance + 1)
Sinon - Actions
Do nothing
-------- Horde --------
For each (Integer B) from 5 to 8, do (Actions)
Boucle - Actions
If (All Conditions are True) then do (Then Actions) else do (Else Actions)
Si - Conditions
((Player((Integer B))) slot status) Egal à Joue
Alors - Actions
Groupe joueur - Add (Player((Integer B))) to Horde_Player Set nbPlayers_Horde = (nbPlayers_Horde + 1)
Sinon - Actions
Do nothing
Là vous voyez dans ce trigger qu'il y a 2 équipes (l'Alliance et la Horde), je stocke le nombre de joueurs qu'il y a dans chacun de ces camps dans les variables nbPlayers_Alliance et nbPlayers_Horde. Je pense que le trigger parle de lui-même : utilisation d'une boucle pour le test de chaque joueur. Bref...
Ensuite, cet autre trigger créer des monstres en fonction du nombre de joueurs pour chacun de ces camps.
Secret:
Gui:
Trigger:
FirstWave
Evénements
Temps - Timer1_ATK expires
Conditions
ALevel Egal à 0
Actions
Set ALevel = (ALevel + 1) Set BLevel = (ALevel + 1) Compte à rebours - Destroy VarWindow Destructible - Fermer Porte de fer (Horizontal) 0001 <gen> Destructible - Fermer Porte de fer (Horizontal) 0000 <gen> Destructible - Ouvrir Porte de fer (Horizontal) 0004 <gen> Destructible - Ouvrir Porte de fer (Horizontal) 0005 <gen> Déclencheur - Run MoveHerosAlliance <gen> (ignoring conditions) Déclencheur - Run MoveHerosHorde <gen> (ignoring conditions) Set tmp_point[1] = (Center of WavesAlliance <gen>) Unité - Create (nbPlayers_Alliance x 10) Eclaireur Razormane for Joueur 12 (Marron) at tmp_point[1] facing Orientation bâtiment par défaut degrees Set tmp_point[2] = (Center of WavesHorde <gen>) Unité - Create (nbPlayers_Horde x 10) Eclaireur Razormane for Joueur 11 (Vert foncé) at tmp_point[2] facing Orientation bâtiment par défaut degrees Custom script: call RemoveLocation( udg_tmp_point[1] ) Custom script: call RemoveLocation( udg_tmp_point[2] ) Déclencheur - Turn on Poursuite <gen> Déclencheur - Turn off (This trigger)
Enfin, le point le plus important, la raison de ce topic. Voyez par vous-même
Secret:
Gui:
Trigger:
Poursuite
Evénements
Temps - Every 5.00 seconds of game time
Conditions
Actions
Groupe unité - Order (Units owned by Joueur 12 (Marron)) to Attaquer-Avancer vers (Position of Heros[(Player number of (Random player from Alliance_Player))])
Groupe unité - Order (Units owned by Joueur 11 (Vert foncé)) to Attaquer-Avancer vers (Position of Heros[(Player number of (Random player from Horde_Player))])
J'ordonne aux monstres précédemment crées d'aller attaquer les joueurs, mais seuls 12 reçoivent cet ordre. Supposons qu'ily ait 20 monstres, 12 d'entre eux vont aller attaquer vers les joueurs tandis que les 8 autres restent dans leur région de création.
J'ai essayé de passer par une variable de type groupe unité puis de donner un ordre à ce groupe mais là aussi, seuls 12 des monstres vont réagir. _________________
Dernière édition par sylux le 23/07/10 14:28; édité 1 fois
Inscrit le: 16 Juil 2010 Messages: 298 Sujets: 17 Spécialité en worldedit: Faire compliqué quand il peut faire facile.
Posté le: 23/07/10 14:19 Sujet du message:
Je ne vois pas le soucis que tu peux avoir Mais sinon, je vois que tu crée des unités pour les joueurs 11 et 12 dans des régions... essaye des faire un pick every unit in region owned by player 12/11 (1 pour chacun) and do multiple action? Je ne sais pas quoi faire sinon... Désolé... _________________
Le naab? C'est moi!
Jass:
call KillUnit(Mainguet)
// même le KillUnit me semble faux
Inscrit le: 21 Fév 2010 Messages: 1785 Sujets: 22 Spécialité en worldedit: La modestie Médailles: 1 (En savoir plus...)
Posté le: 23/07/10 14:22 Sujet du message:
Utilises l'action suivante, plutôt. Donner un ordre à un groupe d'unité comme tu le fais est limité (d'ailleurs, c'est marqué dans le texte d'infos.) :
Gui:
Trigger:
Groupe unité - Pick every unit in (Units owned by Joueur 12) and do
Unité - Order (Picked unit) to Attaquer-Avancer vers (Position of Heros[machintruc])
Voilà juste pour dire que ça fonctionne très bien. Merci à toi Tirlititi _________________
Mes maps :
Heroes Survivor, petit survival en équipe avec les héros des différentes factions
Legacy of Heros, prenez le contrôle d'un chariot chargé de trésors sans vous le faire piquer
Vous ne pouvez pas poster de nouveaux sujets dans ce forum Vous ne pouvez pas répondre aux sujets dans ce forum Vous ne pouvez pas éditer vos messages dans ce forum Vous ne pouvez pas supprimer vos messages dans ce forum Vous ne pouvez pas voter dans les sondages de ce forum