MoriceD3 / D3ROS-ArreatCore

8 stars 10 forks source link

Faux pathfinding et autoit (question) #25

Open bilabou opened 10 years ago

bilabou commented 10 years ago

Bon je sais que du pathfinding sous autoit pur n'est pas possible. Je ne sais pas ce qu'il en est pour ROS (je l'ai pas encore) mais pour D3 j'ai remarqué que les maps dites aléatoires ne le sont que "partiellement". Je m'explique, c'est souvent aléatoire entre 2, 3 ou 4 cartes différentes. Un exemple, j'ai voulu récemment faire la séquence pour Cydaea jusqu'à Azmodan mais je suis bloqué car à la Tour des maudits niveau 2 il existe 2 maps # ! donc j'suis bloqué.

D'où ma question, serait il envisageable de faire un faux pathinding ? Faire reconnaître au bot si c'est la carte A ou B ou C qui est présente et en fonction lui attribuer la séquence A, B ou C.

Ano69 commented 10 years ago

Pour ma part a priori il faut faire du memory read et j'ai pas vraiment le temps de m'y pencher déjà plein de truc a faire avant :p

Déjà en truc simple il faudrait que tu check si l'area ID c'est le même pour les différentes version de la map

Kyria commented 10 years ago

C'était la même quand j'avais check. Après, préparer les fichiers de séquences et jouer la bonne selon le map, c'est faisable, mais faire du "vrai" path finding, c'est pas très performant en autoit pur.

Ano69 commented 10 years ago

J'ai poussé une nouvelle branche :)

ffdc066367fea868f4e31abdff9965941078c415

Permet un chargement dynamique des séquences en fonction de sa position, cela permet de gérer parfaitement Tour des maudits niveau 2 et surement d'autres cas :)

J'ai mis des séquences pour montrer le fonctionnement mais y a du taff maintenant :p au boulot ;)

ping : @MoriceD3

MoriceD3 commented 10 years ago

Hihi bon comme je disait chu un peu saturer niveau séquence mais de nouveau outils et tout . Sa redonne le gout surtout avec le mode bounty.je regarde ce weekend promis " je suis toujours en vacance pour l'instant."

Ano69 commented 10 years ago

Pas de stress hein :) C'étais juste pour que tu sois au courant :)

bilabou commented 10 years ago

ohhh ça me donne envie ça ;)

bilabou commented 10 years ago

juste une question tu l'écris comment ta séquence dans le setting.ini et dans le bounty sequences ?

act3_ADV-tower_test| je zappe les 2 sequences lvl # |act3_ADV-Tuer_Cydaea

Ano69 commented 10 years ago

Bah ca dépends mais j'aurais dis comme ca oui :) Après tu peut aussi loadsequence a la fin des séquences des tower level 2 au choix

Par contre mes tests sont pas top hein je part du mauvais coté sur le level 1 et sur le 2 je fait que 50m dans chaque :p

Il faut tout refaire propre (Et ca gère les [1-6][1/9] aussi dans le ifposition et le loadsequence)

Ano69 commented 10 years ago

Bon dc6c6beb4d9beba720e659332cebd7ad8b543309 :)

Rajout d'une nouvelle fonction de séquence (attention branche à part le temps de bien tester)

ifobjectfound= permet de définir des actions lorsque le bot passe a coté d'objet nommé (genre une entrée de cave) et de lancer une action (genre lancer la séquence de la cave )

Avec ça et le ifposition on doit maintenant pouvoir couvrir 90% des bountys act 1 / 2 / 3 et 4 :)

Ping: @MoriceD3 @bilabou

Ano69 commented 10 years ago

Bon j'ai merge dans master :)

Et rajouter 2 autres petits trucs.

Vous avez de quoi vous amusez maintenant :)

Je publierais surement une nouvelle release demain ou dimanche en fonction des séquences / bounty qu'on arrive a avoir et des remontées des utilisateurs

MoriceD3 commented 10 years ago

Je regarde pour l'act 2 aujourd'hui,question dans gèré plus,surtout pour cette clef,et tester tes modifs

Ano69 commented 10 years ago

Finallement pas trop de temps je publierais mardi :(

Je vais modifier un peu le ifposition pour rajouter un ,True a la fin si on veut que la sequence continue après un loadsequence histoire de gérer certains cas. Et aussi rajouter un ifarea= pour valider que l'on est dans la bonne cave par exemple et en sortir si c'est pas le cas.

MoriceD3 commented 10 years ago

Ben y a rien qui presse non plus ;)

Ça va laisser temps géré plus de bounty.

MoriceD3 commented 10 years ago

J'ai fait une mise a jour des bounty, on en gère beaucoup plus EN/FR et d'autre nouveau.J'ai fait un peut de triage dans le fichier pour qu'on y voit un peu plus claire. https://github.com/MoriceD3/D3ROS-ArreatCore/commit/8bb5a328fde71b7ee142e5a2a042c3f35407c759

Ano69 commented 10 years ago

Bah y a le bug gamelenght et Le prebuff qui sont un peu genant :(

Merci pour les bounty :)

MoriceD3 commented 10 years ago

J'ai fait ce ticket Encours de séquençage #54,L'act 2 va demander beaucoup travail a priori,je vais attaquer act 3, plus facile et devrais ce faire rapidement.

bilabou commented 10 years ago

Ce matin, je me suis pris un peu la tête sur HellRift act 4 (la faille). Générer aléatoirement et de cette façon il me semble :

Du coup, peut être qu'il nous faudrait scanner l'arrivée comme le ifposition du départ pour lancer la bonne séquence. Un truc du genre: Ifposition= and ifpositionPortal= :loadsequence=

Ano69 commented 10 years ago

Suis pas sur de bien comprendre ce que tu essayes d'expliquer :(

bilabou commented 10 years ago

Sur cette map les créateurs ont coupé sa construction en deux. Imagine :: -départ A,B et C -portal d'arrivée 1,2 et 3

les maps font A-1, A-2, A-3 ou B-1,B-2,B-3 etc

Du coup juste avec le ifpostion de départ bah des fois ça foire car la deuxième partie de Map n'est pas la bonne. Du coup, si on regarde où on commence et où se trouve le portal d'arrivée, on pourrait charger la bonne séquence (enfin j'espère). Ce sont des maps très courtes, idéales pour tester un éventuel pathinding ou mettre en place mon idée si c'est faisable.

Ano69 commented 10 years ago

Pour le moment quand j'aurait du temps mon idée c'est de bosser au niveau des mesh avec des points de controle et des mini sequences / mesh et au final le bot il aurait que a trouver comment relier les mesh entre eux ca doit être gérable en auto it.

Mais pour ca il faut un max de mapData :)

bilabou commented 10 years ago

peut on envisager de lier ifposition et ifscenepresent pour load une sequence ?

Je m'explique: je suis en train de faire les den mais j'viens de me rendre compte que certaines maps sont exactement les mêmes sauf que le départ et l'arrivée sont inversés. Cependant, les positions sont reprises dans d'autres maps donc juste ifposition ne suffit pas et ifscenepresent ne couvre pas les cas "inverse". D'où l'idée de mixer les deux vérifs. Ce qui serait vraiment top. Je pense même que cela pourrait permettre de couvrir d'autres maps plus grandes.

Bon, de toute façon j'essaye de finir le sequençage que je peux faire d'ici ce week-end et posterai le résultat.

Ano69 commented 10 years ago

Bah tu peut pas faire un ifposition qui load une sequence qui fait un ifscene ? ou un ifscene qui charge une sequence qui fait un ifposition ?

bilabou commented 10 years ago

ah "c'est pas faux" j'vais voir ce que j'arrive à faire alors.

Ano69 commented 10 years ago

Après si tu t'en sort pas et qu'il faut d'autre outils, dis moi avec des mapData et des explications je peut surement rajouter des trucs pour gérer certains cas précis.