online faq recherche accueil
 

Il y a 62 utilisateurs connus et inconnus. Pour voir la liste des connectés connus, cliquez ici

 Mot :   Pseudo :  
 
Bas de page
Auteur
 Sujet :

Probleme: Faire suivre un chemin a un groupe d'unite

 
n°4589551
kensaihind​o
Posté le 20-04-2007 à 15:25:03  profilanswer
 

Bonjour,
 
Ca fait un bon moment que je lurk dans le coin et je me suis lance il y a quelques temps sur une map de type AOS (histoire de ne pas etre original) et je rencontre un probleme que je n'ai pas reussit a resoudre malgres un bon paquets de tests et de recherches.
 
Je fais spawner des unites dans une region toutes les X secondes de jeu et les fait avancer vers la region cible via une commande d'ordre de groupe avec point pour cible.
C'est classique aucun probleme a ce niveau la. Seulement maintenant je veux que mes unites suivent un chemin plus complique.
J'ai donc place des regions intermediaires, seulement :
 
1) Si je fais un evenement de type "une unite rentre dans la region -> donner un ordre avec point pour cible" les unites se "desolidarisent", elles n'avancent plus en escouade.
2)J'ai fais un evenement qui fait qu'a chaque fois qu'une unite rentre dans la region, les unites dans la region controllees par le meme joueur que cette unite recoivent un ordre de groupe. Seulement la limite des 12 unites selectionnable explose rapidement et pour N unites rentrant dans une zone on se retrouve avec N^2 ordres, ce qui est moche.
 
Sans compter que des unites poursuivant des unites ennemies a travers la region peuvent traverser la region sans recevoir d'ordre s'il y a plus de 12 unites amis dans la zone et revenir en arriere apres l'elimination de l'ennemi (ce qui peut parfois les amener a traverser la moitie de la map avant de faire demi tour en genant les unites arrivant en contre sens)
 
Voila, j'espere que j'ai ete clair. Si vous avez une idee pour resoudre ce genre de probleme et que vous pouvez la partager avec moi ce serait franchement genial.
J'aimerais si possible eviter d'utiliser du JASS mais s'il n'y a pas d'autres solutions je m'y mettrais.
 
Merci d'avance pour vos reponses.  :bounce:  
 
PS: Desole pour les accents, je suis sur un qwerty et je n'ai pas les droits pour le passer en azerty. Desole pour le smiley aussi, depuis le temps que j'avais envi d'utilisier ce truc ridicule et bondissant.

n°4589553
lafamillex
Posté le 20-04-2007 à 17:08:53  profilanswer
 

edit la carte "azure tower défense" contenu dans ton répertoire frozen trone/ scenario.
Tu as tout le moteur de déplacement.
Regarde la sction "monster déplacement" dans les triggers.

n°4589583
kensaihind​o
Posté le 20-04-2007 à 21:32:51  profilanswer
 

Bonne idee, je vais y jeter un oeil. Merci pour le conseil.

n°4589701
kensaihind​o
Posté le 22-04-2007 à 10:07:46  profilanswer
 

J'ai été surpris je ne m'attendais pas à ca. C'est pas bête du tout d'utiliser le mana des unités comme variable.
Ca ne règle pas mon problème mais ca m'inspire. Mais pourquoi utiliser le mana plutôt qu'une custom value ?
J'ai peut être mal comprit l'utilisation de la custom value, c'est bien une variable assignée à chaque objet qu'on peut éditer ?
Si vous avez la réponse à ces deux petites questions faites moi signe.
 
Ce qui m'interesse c'est de maintenir les groupes en formation tout au long du trajet. J'ai donc assigné un custom value différente à chaque groupe crée, ce qui permet di'dentifier les membres de l'escouade facilement en comparant ces valeurs.

n°4589702
lafamillex
Posté le 22-04-2007 à 10:16:30  profilanswer
 

Je ne vois pas trop ce qu'est une custom value mais la raison de l'utilisation de la mana est vraiment simple. ça permet d'attribuer une valeur spécifique pour chaque unité créée sans passer par des variables à ralonge. De plus ça permet également d'éviter les unités statiques grâce au triger "no target order".
Concernant les formation, je pense que troll est plus à même de te renseigner que moi.

n°4589703
sthyran
Irish Coffee
Posté le 22-04-2007 à 10:18:24  profilanswer
 

Personellement, pour faire avancer les unités j'ai pris pour exemple les Green TD.
Cette méthode ne marche que sur des trajets faits de lignes droites, et plus tu complexifie le trajet plus elle est longue. Mais je la donne au cas ou parce que c'est quand meme basiquement simple :

 

Tu crée une region REGION001 (ou vont apparaitre tes unités) et une region REGION002 (ou ils vont arriver).

 

ensuite tu fait un trigger comme suit :

 

Evenement : une unité entre dans REGION001
Condition : Possesseur de unité entrante egale a JOUEURX
Action : Ordonner a unité entrante de bouger-attaquer vers centre REGION002

 

Ainsi, tu as JOUEURX qui va etre le marron par exemple (le possesseur des creeps et des bases quoi) et son "unité entrante" qui apparait sur la REGION001 va donc avancer de manière aggressive (attaquer tout ennemi sur le chemin jusqu'a la mort) vers la REGION002.
Apres tu peux copier coller le trigger et remplacer 001 par 002 et 002 par 003 afin d'avoir un chemin en L, et caetera pour complexifier le tout.

 

suis-je clair ou pas du tout ?


Message édité par sthyran le 22-04-2007 à 10:19:34

---------------
[:metalgear:8]
[:sthyran][:sthyran:3][:sthyran:8]
Intruders Will be Shot. Survivors Will be Shot. Again. [:vampyr_anis]
n°4589711
kensaihind​o
Posté le 22-04-2007 à 11:19:46  profilanswer
 

C'est très clair mais c'est la méthode basique qui marche bien pour des unités arrivant en file. C'est la méthode 1) que je décrit dans mon premier message.
Ce qui m'interesse c'est de conserver une formation de combat. Quand on donne un ordre de groupe les unités avancent toutes à la même vitesse independement de leur vitesse individuelle et sont en formation.
 
C'est ce que je veux garder. J'ai pas fini tout les tests mais la custom value marche pas mal. Reste à savoir si c'est une utilisation correcte de celle ci ou si j'ai détourner une fonctionnalité.


Message édité par kensaihindo le 22-04-2007 à 11:21:42
n°4589713
sthyran
Irish Coffee
Posté le 22-04-2007 à 11:34:20  profilanswer
 

ah, désolé, mes unités avançaient déja en groupe quand j'utilisais cette fonction donc je pensais que ça marcherais.
en fait ce que tu veux c'est des groupes de controle ?
logiquement, si elles ont toutes le meme ordre au meme moment et la meme vitesse, ça devrait marcher, non ? ou alors tu fait spawn 5 unités toutes les secondes, comme ça t'a un flux continu de groupes de 5, non ?
 
En fait le probleme du "move to center" c'est que la cible est un point, et les unités sont dans des positions différentes, d'ou collision et débandade... Bon, je vois pas comment t'aider, désolé.


---------------
[:metalgear:8]
[:sthyran][:sthyran:3][:sthyran:8]
Intruders Will be Shot. Survivors Will be Shot. Again. [:vampyr_anis]
n°4589719
Maximaxou
rejoignez les fidèles du JASS
Posté le 22-04-2007 à 19:00:19  profilanswer
 

   La custom value est une variable de type integer associée à une unité et sert uniquement à la création de la map. Le mana est en quelque sorte une autre variable associée à une unité, de même que la vie, la vitesse de déplacement, etc. La différence est que ces dernières ne sont pas sensées servir de variable mais sont utilisées par le jeu. Néammoins, rien n'empêche de mettre la régénération de mana d'une unité à 0 et de se servir de son mana comme d'une variable (à condition que le mana ne soit pas utilisé par l'unité en crous de jeu). Dans la map "azure tower defense", ils se servent du mana des unités et non de la custom value probablement parce que celle-ci est déja utilisée pour autre chose.
 
    Quant à ton problème kensai, tu devrais mettre dans la custom value de chaque des unités de chaque groupe, le numéro de la région atteinte. En clair, à la création, tu leur mets à toutes le numéro de la région de départ, et tu ordonnes au groupe entier de bouger/attaquer vers la première région (c'est toi qui attribues les numéros aux régions). Quand une unité atteint la région numéro x, tu regardes si la custom value de l'unité est bien x-1. Sinon tu ne fais rien. Si c'est bien x-1, tu donnes augmente de 1 la custom value de chaque des unités de l'escouade et tu donnes à tout ton groupe l'ordre de bouger/attaquer dans la région x+1. Voila la solution qui me paraît la plus simple et qui fonctionnera parfaitement comme tu le désires.


Message édité par Maximaxou le 22-04-2007 à 19:04:39

---------------
Dota c'est bien, le slide c'est encore mieux !

Aller à :
Ajouter une réponse