Posté le: 29/11/07 07:39 Sujet du message: Sort contournement
Voila, J'aimerais faire un sort de zone qui endommage les unitées dans la zone..
Si vous connaissez AgeOfMyth, c'est le sort du ninja, il tourne autour de la zone en lancant des projectiles puis frappe tous les ennemis dans la zone.
Donc j'aimerais savoir comment faire pour qu'il tourne autour de la zone mais qu'il reste selectionnable et sans le "pauser".[pour le reste je serais faire]
Et si possible en jass.. pour pouvoir utiliser ce type de rotation dans plusieurs autres sorts. _________________
Le problème c'est que je ne my connait pas en jass du tout et que je serais incapable de modifier a ma guise ton code et/ou de l'incorporer a mon pouvoir.
De plus , j'ai un problème pour le lancer de projectiles :
Imaginons que la rotation est commencé.. toutes les 0.2 sec je crée des unités dummy avec regeneration de -10 à la position de mon héro(elles ont 2pv) qui attaque une unité au hasard dans ma zone. Cela provoque un gros lag Oo pourquoi.
Gui:
Trigger:
shurikens
Evénements
Unité - A unit Commence le lancement d'une compétence
Conditions
(Ability being cast) Egal à Shurikens of the 4 cardinal points.
Actions
Région - Center Région 025 <gen> on (Target point of ability being cast) Groupe unité - Pick every unit in (Units in Région 025 <gen>) and do (Set Zone_Shurikens = (Last created unit group)) Unité - Create 1 Sorcière for (Owner of Casting_Shurikens) at (Position of Casting_Shurikens) facing Orientation bâtiment par défaut degrees Unité - Order (Last created unit) to Attaquer (Random unit from Zone_Shurikens) Unité - Create 1 Sorcière for (Owner of Casting_Shurikens) at (Position of Casting_Shurikens) facing Orientation bâtiment par défaut degrees Unité - Order (Last created unit) to Attaquer (Random unit from Zone_Shurikens) Wait 0.20 seconds Unité - Create 1 Sorcière for (Owner of Casting_Shurikens) at (Position of Casting_Shurikens) facing Orientation bâtiment par défaut degrees Unité - Order (Last created unit) to Attaquer (Random unit from Zone_Shurikens) Unité - Create 1 Sorcière for (Owner of Casting_Shurikens) at (Position of Casting_Shurikens) facing Orientation bâtiment par défaut degrees Unité - Order (Last created unit) to Attaquer (Random unit from Zone_Shurikens) Wait 0.20 seconds Unité - Create 1 Sorcière for (Owner of Casting_Shurikens) at (Position of Casting_Shurikens) facing Orientation bâtiment par défaut degrees Unité - Order (Last created unit) to Attaquer (Random unit from Zone_Shurikens) Unité - Create 1 Sorcière for (Owner of Casting_Shurikens) at (Position of Casting_Shurikens) facing Orientation bâtiment par défaut degrees Unité - Order (Last created unit) to Attaquer (Random unit from Zone_Shurikens) Wait 0.20 seconds Unité - Create 1 Sorcière for (Owner of Casting_Shurikens) at (Position of Casting_Shurikens) facing Orientation bâtiment par défaut degrees Unité - Order (Last created unit) to Attaquer (Random unit from Zone_Shurikens) Unité - Create 1 Sorcière for (Owner of Casting_Shurikens) at (Position of Casting_Shurikens) facing Orientation bâtiment par défaut degrees Unité - Order (Last created unit) to Attaquer (Random unit from Zone_Shurikens) Wait 0.20 seconds Unité - Create 1 Sorcière for (Owner of Casting_Shurikens) at (Position of Casting_Shurikens) facing Orientation bâtiment par défaut degrees Unité - Order (Last created unit) to Attaquer (Random unit from Zone_Shurikens) Unité - Create 1 Sorcière for (Owner of Casting_Shurikens) at (Position of Casting_Shurikens) facing Orientation bâtiment par défaut degrees Unité - Order (Last created unit) to Attaquer (Random unit from Zone_Shurikens)
Je sais, c'est pas très propre comme déclo ~~. _________________
Pour améliorer tout ça, déjà je te conseille de créer une boucle (For each Integer X from Y to Z), d'utiliser une variable globale pour Ower of Casting_Shurikens et pour Position of Casting_Shurikens (parce que là il les cherche à chaque fois).
Il faut également un peu modifier la vie/regen de tes unités, parce que là elles durent 2/10 = 0.2 secondes, ce qui ne leur laisse peut-être pas le temps d'attaquer si elle ne sont pas face à la cible.
Citation:
Groupe unité - Pick every unit in (Units in Région 025 <gen>) and do (Set Zone_Shurikens = (Last created unit group))
Tu fais l'action autant de fois qu'il y a d'unité dans la zone, c'est pas très optimisé. Il vaudrait mieux faire Set Zone_Shurikens = Units in Région 025 <gen>, voire même utiliser un cercle, qui rend généralement mieux =) _________________
Le lag vient de la fuite de mémoire de tout tes points, fait des variables (ou une déploiement).
Que l'on soit bien clair, les fuites de mémoire ne provoquent pas de "lag", seulement lorsque la mémoire de l'ordinateur devient saturée, ce qui prend assez longtemps en général.
Le lag observé provient donc surement des instructions effectuées. _________________
Bêta Systems:70% Bêta Spells:13% Bêta Arts & graphics:70%
Inscrit le: 23 Aoû 2007 Messages: 7146 Sujets: 147 Spécialité en worldedit: le troll, le flood, la vulgarité, mon coeur balance Médailles: 2 (En savoir plus...)
Posté le: 01/12/07 15:00 Sujet du message:
une unité peut être sélectionnée plusieurs fois car tu ne la remove pas du groupe une fois choisie, tu as oublié de vérifier si l'unité choisie est vivante _________________
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