Jump to content

Quester avec conditions


Recommended Posts

Bonjour

J'ai bien pris connaissance de ce thread :  quester faire une quete sous condition

Dans le meme principe, je suis en train de monter une quete réalisant toute les taches quotidiennes de base, c'est a dire récuperer cache, mine et jardiner.

Dans un second temps j'essaierai d'aller plus loin en ajoutant les taches metier. Mais j'y suis pas encore.

Cependant j'ai ete intrigué par le fait que certaines conditions n'etaient pas respectées. A savoir :

Pourquoi la Can Condition 

return (wManager.Wow.ObjectManager.ObjectManager.GetWoWGameObjectByEntry(237723).Count < 1 
|| wManager.Wow.ObjectManager.ObjectManager.GetWoWGameObjectByEntry(237722).Count < 1 
|| wManager.Wow.ObjectManager.ObjectManager.GetWoWGameObjectByEntry(236916).Count < 1);

qui est censée retourner false si aucun cache garnison n'est present et donc annuler la recuperation du contenu du cache n'est pas respectée ?

Je debute en quest editor donc j'ai mis en piece jointe mon test.

test fief.xml

De meme, les elements a recuperer que j'ai placé en Object entry ne sont pas pris en compte. J'ai du doubler en modifiant le code dans le quest order editor.

wManager.wManagerSetting.CurrentSetting.ListHarvest.Add(237722); // Full Garrison Cache
wManager.wManagerSetting.CurrentSetting.ListHarvest.Add(237723); // Garrison Cache
wManager.wManagerSetting.CurrentSetting.ListHarvest.Add(236916); // Tiny Cache

Link to comment
Share on other sites

Bon il se trouve que j'ai inversé les conditions. Mais meme avec :

return (wManager.Wow.ObjectManager.ObjectManager.GetWoWGameObjectByEntry(237723).Count >= 1 
|| wManager.Wow.ObjectManager.ObjectManager.GetWoWGameObjectByEntry(237722).Count >= 1 
|| wManager.Wow.ObjectManager.ObjectManager.GetWoWGameObjectByEntry(236916).Count >= 1);

le resultat est le meme, ce qui me fait dire que la CAN CONDITION ne prend pas en compte les conditions....

Link to comment
Share on other sites

Salut,
Pour le runcode avec wManager.wManagerSetting.CurrentSetting.ListHarvest.Ad... , le problème c'est qu'il est exécuté quand les taches de base du bot son terminé (par exemple, le bot teste si le perso est mort, s’il est mort il le fait revivre, puis il teste si y'a besoin d'aller à la ville, s’il y a quelque chose à farm, ... plus si tout est OK il exécute le profil). Tu ne peux pas changer ça, juste le contourner (par exemple si le perso va chercher les minerais avant de commencer le profil, désactiver l'option « Harvest minerals »... dans general settings et réactive l'option en c# dans le profil (dans le runcode): wManager.wManagerSetting.CurrentSetting.HarvestMinerals = true;).

Dans la « Quest » "Collect Chache - Gatherer", dans "Is complete condition" met la même chose que tu as mise dans "Can condition".
 

Link to comment
Share on other sites

J'ai mis la condition complementaire dans "Is Complete Condition" a savoir :

return (wManager.Wow.ObjectManager.ObjectManager.GetWoWGameObjectByEntry(237723).Count == 0 
&& wManager.Wow.ObjectManager.ObjectManager.GetWoWGameObjectByEntry(237722).Count == 0 
&& wManager.Wow.ObjectManager.ObjectManager.GetWoWGameObjectByEntry(236916).Count == 0);

et ca marche tres bien desormais.

Mais pourquoi "CAN CONDITION" n'a pas permis de zapper la quete avant meme qu'elle ne commence ?

De toute facon ca marche donc je continue en ce sens :)

Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
 Share

×
×
  • Create New...