Jump to content

Aurais tu une astuce rapide pour...


PierreDeRosette

Recommended Posts

Bonjour

 

Aurais-tu une astuce rapide pour activer/désactiver le grondement du familier suivant si on est en (solo || seul en vie au Donjon)  ou (groupé en Donjon ?)  (stp ne rigole pas ^^)

 

Saurais tu si il existe un moyen de "couper" un sort long a caster si un autre devient dispo ? Par exemple je lance steadyshot mais si KillShot est Up, Arreter steadyShot pour cast Killshot ?

 

Un moyen de "desactiver/reactiver" les attaques automatiques serait aussi bienvenue car le bot casse a cause de cela toute approche furtive.

 

Un moyen de récupérer des caractéristiques (Puissance attaque, Critique, Agilité...)

 

Prend ton temps surtout, je suis pas pressé.

Link to comment
Share on other sites

Salut

 

Aurais-tu une astuce rapide pour activer/désactiver le grondement du familier suivant si on est en (solo || seul en vie au Donjon) ou (groupé en Donjon ?) (stp ne rigole pas ^^)

 

Pour voir si tu est en groupe dans une FightClass simple tu peux utiliser la condition "Me In Group" ou le code C#: 

wManager.Wow.Helpers.Party.IsInGroup()

 

 

Saurais tu si il existe un moyen de "couper" un sort long a caster si un autre devient dispo ? Par exemple je lance steadyshot mais si KillShot est Up, Arreter steadyShot pour cast Killshot ?

 

Essaye ce code (pas testé):

            var _killShot = new Spell("Kill Shot");
            var _steadyShot = new Spell("Steady Shot");


            // ... conditions pour lancer Steady Shot
            if (_steadyShot.KnownSpell && _steadyShot.IsSpellUsable && _steadyShot.IsDistanceGood)
            {
                _steadyShot.Launch(false, false); // stopMove = false, waitIsCast = false
                Thread.Sleep(700);
                while (ObjectManager.Me.IsCast)
                {
                    if (_killShot.KnownSpell && _killShot.IsSpellUsable && _killShot.IsDistanceGood)
                    {
                        _killShot.Launch(false, true, true); // stopMove = false, waitIsCast = true, ignoreIfCast = true
                        break;
                    }
                    Thread.Sleep(30);
                }
            }

 

 

Un moyen de "desactiver/reactiver" les attaques automatiques serait aussi bienvenue car le bot casse a cause de cela toute approche furtive.

 

Tu as le racoursi ALT-X pour mettre en pause le bot (tu peux détecter si le bot est en pause avec ce code: 

robotManager.Products.Products.InPause

dans ton code tu rajoute if (!Products.InPause)... Sinon tu peux utiliser lua  un macro ingame

Link to comment
Share on other sites

Ok

 

Je n'avait pas vraiment compris la signification des surcharges de Launch(); (J'ai vu que tu a rajouté le CastOnSelf aussi)

 

Saurait tu juste activer/desactiver le grondement (Pas le lancer, juste l'activation) ?

 

Pour les attaques automatiques, j'espérait qu'il y aie une commande spécifique a son activation. Actuellement je me débrouille avec le coche dans le menu de config qui arrête l'attaque automatique sur de nouvelles cibles mais c'est pas parfait.

 

Aussi, si tu saurais comment récupérer dans le programme des éléments de caractéristiques tels agilité, puissance attaque, taux critique .... Même en lua c'est pas grave (Je viens de m'y mettre ^^)

Link to comment
Share on other sites

Pour grognement utilise ce code lua:

TogglePetAutocast(7);

Pour voir si il est activé/désactivé:

local name, subtext, texture, isToken, isActive, autoCastAllowed, autoCastEnabled = GetPetActionInfo(7);
if autoCastEnabled then
	print("sort actif");
else
	print("desactivé");
end

Pour les stat du joueur regarde c'est fonction lua: http://wow.gamepedia.com/World_of_Warcraft_API#Character_Statistics_Functions

Link to comment
Share on other sites

  • 3 weeks later...

Bonjour

 

Ton astuce ne fonctionne pas pour lancer KillCommand malgré que SteadyShot est en cours de cast.

 

En fait la boucle while n'est meme pas pénétrée.

 

Script ayant servi au test :

public void Attaque()
    {
        if (SteadyShot.IsSpellUsable && SteadyShot.IsDistanceGood)
        {
            SteadyShot.Launch(false, false); // stopMove = false, waitIsCast = false
            
            while (ObjectManager.Me.IsCast)
            {
                Logging.WriteError("IsCasting");

                if (KillCommand.IsSpellUsable && KillCommand.IsDistanceGood)
                {
                    KillCommand.Launch(false, true, true); // stopMove = false, waitIsCast = true, ignoreIfCast = true
                    
                    break;
                }
                Thread.Sleep(30);
            }
        }
    }

J'ai mis le Logging.WriteError juste pour repérer si le bout de code qui suit est pris en compte.

 

En fait, il considère que SteadyShot est un simple sort long a cast, mais pas un sort canalisable. Ce bout de code fonctionnerais pour un sort canalisable.

 

Mais du coup j'ai plus aucune solution pour stopper le lancement de SteadyShot afin de privilégier un autre sort....

 

:P

 

Link to comment
Share on other sites

Bonjour

 

Ton astuce ne fonctionne pas pour lancer KillCommand malgré que SteadyShot est en cours de cast.

 

En fait la boucle while n'est meme pas pénétrée.

 

Script ayant servi au test :

public void Attaque()
    {
        if (SteadyShot.IsSpellUsable && SteadyShot.IsDistanceGood)
        {
            SteadyShot.Launch(false, false); // stopMove = false, waitIsCast = false
            
            while (ObjectManager.Me.IsCast)
            {
                Logging.WriteError("IsCasting");

                if (KillCommand.IsSpellUsable && KillCommand.IsDistanceGood)
                {
                    KillCommand.Launch(false, true, true); // stopMove = false, waitIsCast = true, ignoreIfCast = true
                    
                    break;
                }
                Thread.Sleep(30);
            }
        }
    }

J'ai mis le Logging.WriteError juste pour repérer si le bout de code qui suit est pris en compte.

 

En fait, il considère que SteadyShot est un simple sort long a cast, mais pas un sort canalisable. Ce bout de code fonctionnerais pour un sort canalisable.

 

Mais du coup j'ai plus aucune solution pour stopper le lancement de SteadyShot afin de privilégier un autre sort....

 

:P

 

Salut, Je viens de tester de nouveau le code que j'ai écrit il fonctionne (il ne passe pas dans le while dans ton code car tu as enlevé le "Thread.Sleep(700);")

 

Pour arréter le lancement d'un sort tu peux essayer:

Lua.LuaDoString("SpellStopCasting()");

ou

Move.Backward();
Move.Forward();
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
×
×
  • Create New...