Jump to content

Changer de produit/profile


Syna
 Share

Recommended Posts

Hello

Bon je commence a mettre les mains la dedans, j'ai encore besoin de comprendre comment marchent certaines choses, j'aurai 2 questions si c'est possible d'avoir un petit retour pour m'aider a démarrer :

Question 1

Donc en c# et dans un plugin est il possible de changer de produit (et les options du produit en question) ?

bon pour le produit je pense avoir réussi pour le produit via :

Products.LoadProducts("Quester");

le produit est bien changé dans l'onglet "In game" et le log indique "Auction loaded" (par contre dans Main et Product Settings il reste sur le produit initial, il me manque peut être une étape?

Bon pour l'UI c'est pas très grave au pire,

 

mais maintenant quid pour les settings du produit concerné ? comment y accéder?

 

par exemple changer le profile de Quester en cours de route?

 

Question 2

 

Toujours dans le cadre d'un plugin, si par exemple le bot est en train d'executer un profil sur Quester, et que je souhaite l'interrompre pour dire au personnage de se rendre au point X avant de poursuivre.

 

je peux mettre le produit en pause et faire un move to, mais si le personnage doit se défendre les mécaniques de combat sont désactivé avec le produit en pause non? quel serait une bonne méthode a adopter?

 

merci à vous:)

Link to comment
Share on other sites

  • 2 weeks later...

Bonjour,

 

1:

Ça ne va pas être possible de changer le produit dans la fenêtre principale (visuellement).

Pour charger un produit, le code est:

Products.DisposeProduct();
Products.LoadProducts("productName"); // sans le .dll

Pour modifier les configurations, il y a plusieurs possibilités, mais aucune de vraiment propre:

- Il est possible de modifier le fichier XML directement (c'est le plus simple) (pour le fichier config du quester par exemple, code pas testé):

        var fileName = Application.StartupPath + @"\Settings\Quester-" + Others.DelSpecialChar(ObjectManager.Me.Name + "." + Usefuls.RealmName) + ".xml";
        if (File.Exists(fileName))
        {
            var txt = File.ReadAllText(fileName);
            var currentProfile = Others.StringBetween(txt, "<ProfileName>", "</ProfileName>");
            txt = txt.Replace(currentProfile, "nouveau nom de profil.xml");
            File.WriteAllText(fileName, txt);
        }

- La il va falloir rajouter en référence les dll des produits (donc compiler le plugin en DLL), puis utiliser ce code (pour le quester par exemple):

        Quester.Bot.QuesterSetting.Load();
        if (Quester.Bot.QuesterSetting.CurrentSetting != null)
        {
            Quester.Bot.QuesterSetting.CurrentSetting.ProfileName = "nouveau nom de profil";
            Quester.Bot.QuesterSetting.CurrentSetting.Save();
        }

Dans les deux cas, il faudra (re)charger le produit après avoir modifié les config (généralement, les produits chargent le fichier de configuration au chargement).

 

2:

Le bot fonctionnera mal en Pause, il est possible que quelques API de WRobot ne fonctionnent pas correctement.

Dans votre code, pendant la pause vous pouvez vérifier si le personnage est attaqué avec le code "Conditions.IsAttackedAndCannotIgnore", si ça retourne "true" désactivé la pause (et wrobot ce défendra).

 

______

 

Si c'est juste pour changer de profile, il est possible de:

Products.DisposeProduct();
ArgsParser.Product = "Quester";
ArgsParser.Profile = "nouveau nom de profil.xml";
Products.LoadProducts("Quester");

(ca utilise l'api que le relogger utilise).

 

Un plugin n'ai pas vraiment fait pour faire cela (un produit est plus adapté (comme "Schedule") pour ce genre de tache).

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...