Jump to content
×
×
  • Create New...

[JAVA] Solution : Une IA qui veut utiliser ses PMs même au corps à corps


Tituc
 Share

Recommended Posts

Attention :

- Dans ce tutoriel, l'émulateur montré pour la modification sera AR54.

 

Coucou,

 

J'ignore si ce problème a été résolu sur des dérivés d'Ancestra mais étant donné que j'ai du le résoudre sous AR54, j'estime que ce tutoriel pourra quand même être utile !

 

Résumé :

Donc pour résumer ce petit problème je pense qu'en majorité vous avez déjà tous été confronté au Double d'un sram qui, même en étant au corps à corps, essayait de bouger pour y revenir.

J'avais réussi à corriger ce problème il y a quelques temps et cette correction ne prend que deux petites lignes (pour une fois !)

 

Les modifications nécessaires pour faire ce tutoriel sont :

- En JAVA (IA.java)

 

Sans plus attendre, ouvrez IA.java qui se trouve dans common :

Une petite recherche s'impose !

Recherchez (via Ctrl+F) :

private static boolean moveNearIfPossible

 

C'est une petite fonction qui permet brièvement à un monstre de se déplacer vers une cellule X (en calculant la trajectoire) et d'indiquer si un déplacement est possible ou pas pour se rapprocher d'une cible.

Cette fonction retourne deux valeurs : true si le déplacement est possible, et false si il est impossible.

 

Le problème ici est que même quand le monstre est au corps à corps de l’ennemi, cette fonction retourne true.

 

Pour corriger ce problème, on va aller mettre après { bien évidement :

int dist = Pathfinding.getDistanceBetween(fight.get_map(), F.get_fightCell().getID(), T.get_fightCell().getID());
		if(dist == 1)return false; //Aucun mouvement si il est au cac.

 

Cette fonction va brièvement récupérer la distance qu'il y a entre le monstre et la cible.

Si la distance prouve que le monstre est au CAC de sa cible, alors moveNearIfPossible va retourner false et le monstre ne va pas perdre son temps à bouger pour essayer d'aller encore plus près que le corps à corps (ça existe, mais pas sur Dofus.. Ahem).

 

Voilou c'est déjà terminé !

  • J'adore 1
Link to comment
Share on other sites

  • Replies 3
  • Created
  • Last Reply

Top Posters In This Topic

Top Posters In This Topic

  • 1 year later...

Please sign in to comment

You will be able to leave a comment after signing in



Sign In Now
 Share



Important Information

Terms of Use / Privacy Policy / Guidelines / We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.