pathfinding, déplacement commun

Bonjour à tous !

J’ai un léger problème.
Un “civils” apparait à un certain moment, une direction lui ai donné et il y va. Ceci marche parfaitement.
Parfaitement jusqu’à la création d’un nouveau “civils” où tout les “civils” prennent cette nouvelle direction…

Screen :
cliquez pour voir le screen en entier.

note : l’évènement vide est un reste de tests, donc sans importance.

Avez-vous des solutions ?

Je pense que c’est dû à la première condition :
Si elle s’avère positive, c’est à dire le nombre d’objets civils inférieurs à 20, elle va alors prendre en compte les objets civils pour te permettre d’effectuer des actions dessus. Ici, tu veux juste avoir ce nombre pour le tester sans prendre en compte les objets. Deux solutions :

-Que j’ajoute une action/condition spéciale pour “oublier” les objets selectionnés. ( Tu rajouterai alors par exemple dans les actions, avant l’action de création, l’action spéciale “Oublier tous les objets civils pris en compte précédemment” ).
-Utiliser l’expression qui permet d’obtenir le nombre d’objets civils ( Count(civils) ), et utiliser la condition de comparaison d’expression : Celle ci ne prend aucun objet supplémentaire en compte, tu peux donc l’utiliser ici sans craindre ensuite que tous les objets civils soient concernés par les actions.

J’ai remplacé la condition qui comptait le nombre de civils par la comparaison d’expression, ce qui donne ceci : Count(civils) < 20 , mais ca fait toujours pareil…

Normalement l’évènement ne devrait prendre en compte uniquement l’objet créé (en l’occurrence “civils” ici). Peut-être le problème vient-il du fait que ton “civils” est un groupe ? Essaie “civils” mais en objet.

Ce n’est pas un groupe :wink:
Juste un objet global

Tu peux centrer la copie d’écran sur l’évènement où tu crois qu’il y a un problème s’il te plaît ? On n’en voit qu’un partie.
Ce sera plus facile pour nous de t’aider.

lis le message :wink:

Tu as inversé directionX et directionY dans l’action du pathfiding.

Ah oui tiens. merci !
Mais bon c’est pas réellement ca le problème…

Je comprends le problème : tous les objets “civils” sont devenus concernés, mais par quel miracle ? J’ai beau avoir regardé cet évènement pendant 5 minutes et à réfléchir dessus à fond mais là ça me dépasse totalement.

Oui, voir plus haut :

Mais apparemment ce n’est pas ça.

Ca ne peut pas puisqu’il a essayé ce que tu lui avais recommandé de faire. Quel mystérieux problème !

Surtout qu’avec l’action créée tel objet, GD ne devrait prendre en compte que celui-là après non ?

Non, il ajoute l’objet créé aux objets pris en compte : Si il y en a avant de pris en compte, ils les garde également.

Donc, il faudrait créer une action “Oublier tous les objets pris en compte dans la dernière action/condition” ?

EDIT : Enfin je ne sais pas trop comment tu vas faire, ce que je viens d’inventer n’est qu’une suggestion.

Normalement, avec la deuxième solution ça marche.
Si tu veux, tu peux envoyer ton fichier de jeu pour que je regarde.

Ok vais le faire par mp.

J’ai essayé de corriger par ceci :

Mais cela ne marche pas, les civils ne se déplacent pas. Par contre les variables se mettent comme il faut.

4ian, as-tu regardé d’où venait le problème par ce que je t’ai envoyé ?

J’ai “en partie” résolu mon problème.
Le pathfinding marche. J’ai du réduire le nombre de civils à cause de coups de ram (je le sens mal ca). J’ai encore quelques civils qui décident d’aller visiter la Lune : ils partent je ne sais où alors que tout est correct (variables, évènements) (merci au debuggeur).

Je montrerai ce que j’ai fait une fois arrivé à corriger ces détails et j’essaierai aussi d’améliorer les performances du pathfinding pour pouvoir l’appliquer à plus d’objets. (j’ai dû mettre 10 civils car quand il y en avait 20 ca ramait…).