PierreDeRosette 13 Posted October 15, 2015 Share Posted October 15, 2015 HelloJe me demandais si vous saviez pourquoi les rotations ne se declenchaient pas lorsqu'on passe en duel (en arène aussi).Une question qui ne s'est toujours pas résolue meme avec les "Attack all selected targets (friends also), option qui ne fonctionne apparemment pas dans le cas de duels.Merci encore... Link to comment https://wrobot.eu/forums/topic/2421-wrotation-en-duel/ Share on other sites More sharing options...
PierreDeRosette 13 Posted October 15, 2015 Author Share Posted October 15, 2015 Pour ma part j'ai essaye d'avancer un peu : Il en sort que pour determiner si une cible en est une, j'utilisais le bout de code suivant : if (ObjectManager.Target.Reaction <= Reaction.Neutral && wManager.Wow.Helpers.MovementManager.IsFaci.........Hors les Allies (en vert) apparaissent comme Friendly.MaisSi on passe en mode duel, l'adversaire (rouge donc) reste "Friendly" et donc la routine d'attaque ne se declenche pas.Si je fait sauter ce test, tout se passe bien.Il semble que le meme probleme affecte les arenes : Si on tombe sur un adversaire du meme camp que nous, la routine ne se declenche pas meme si l'adversaire apparait cerclé de rouge. Link to comment https://wrobot.eu/forums/topic/2421-wrotation-en-duel/#findComment-11148 Share on other sites More sharing options...
Droidz 2738 Posted October 16, 2015 Share Posted October 16, 2015 Salut,WRotation (sauf erreur de ma part) fonctionne maintenant en duel ou arene.Pour détecter si la cible actuelle est attaquable le mieux est d'utiliser lua:Lua.LuaDoString<bool>("return UnitCanAttack('player', 'target');")(si tu utilise WRotation tu peux utiliser le code "Fight.InFight" pour savoir si WRobot est en combat ou pas) Link to comment https://wrobot.eu/forums/topic/2421-wrotation-en-duel/#findComment-11152 Share on other sites More sharing options...
PierreDeRosette 13 Posted October 16, 2015 Author Share Posted October 16, 2015 Super. Je teste cet aprem. Merci encore pour ta reponse... Link to comment https://wrobot.eu/forums/topic/2421-wrotation-en-duel/#findComment-11154 Share on other sites More sharing options...
PierreDeRosette 13 Posted October 17, 2015 Author Share Posted October 17, 2015 (edited) BonjourVoila mon retourRegarde ce log sur lequel j'ai fait un duel :22:20:48 - Chargement Druide PVP[D] 22:20:48 - [FSM] State wManager.Wow.Bot.States.Idle already launched, ignore it.[D] 22:20:48 - [FSM] State WRotation.Bot.EcimiuDuajolala already launched, ignore it.[D] 22:20:48 - [FSM] State wManager.Wow.Bot.States.FightHostileTarget already launched, ignore it.[D] 22:20:48 - [FSM] State wManager.Wow.Bot.States.MyMacro already launched, ignore it.[D] 22:20:48 - [FSM] State wManager.Wow.Bot.States.Pause already launched, ignore it.[F] 22:20:59 - [Spell] Cast (onself) Récupération (Rejuvenation)[F] 22:21:26 - [Spell] Cast (onself) Récupération (Rejuvenation)[F] 22:21:49 - [Spell] Cast (onself) Récupération (Rejuvenation)[F] 22:22:12 - [Spell] Cast (onself) Récupération (Rejuvenation)[F] 22:22:30 - [Spell] Cast (onself) Récupération (Rejuvenation)[F] 22:22:48 - [Spell] Cast (onself) Récupération (Rejuvenation)[F] 22:22:55 - [Spell] Cast Eclat lunaire (Moonfire)[F] 22:22:56 - [Spell] Cast Colère (Wrath)[F] 22:22:56 - [Spell] Cast Colère (Wrath)[F] 22:22:57 - [Spell] Cast Eruption stellaire (Starsurge)[F] 22:22:59 - [Spell] Cast Colère (Wrath)[F] 22:22:59 - [Spell] Cast Feu stellaire (Starfire)[F] 22:22:59 - [Spell] Cast Eclat lunaire (Moonfire)[F] 22:23:00 - [Spell] Cast Eruption stellaire (Starsurge)[F] 22:23:00 - [Spell] Cast Eclat lunaire (Moonfire)[F] 22:23:00 - [Spell] Cast Colère (Wrath)[F] 22:23:01 - [Spell] Cast Forme de félin (Cat Form)[F] 22:23:01 - [Spell] Cast Feu stellaire (Starfire)[F] 22:23:01 - [Spell] Cast Eclat lunaire (Moonfire)[F] 22:23:02 - [Spell] Cast Colère (Wrath)[F] 22:23:03 - [Spell] Cast Feu stellaire (Starfire)[F] 22:23:03 - [Spell] Cast Eclat lunaire (Moonfire)[F] 22:23:03 - [Spell] Cast Eclat lunaire (Moonfire)[F] 22:23:04 - [Spell] Cast Eruption stellaire (Starsurge)[F] 22:23:04 - [Spell] Cast Eclat lunaire (Moonfire)[F] 22:23:04 - [Spell] Cast Colère (Wrath)[F] 22:23:04 - [Spell] Cast Feu stellaire (Starfire)[F] 22:23:05 - [Spell] Cast Eclat lunaire (Moonfire)[F] 22:23:05 - [Spell] Cast Eclat lunaire (Moonfire)[F] 22:23:05 - [Spell] Cast Eruption stellaire (Starsurge)[F] 22:23:06 - [Spell] Cast Eclat lunaire (Moonfire)[F] 22:23:06 - [Spell] Cast Colère (Wrath)[F] 22:23:06 - [Spell] Cast Feu stellaire (Starfire)[F] 22:23:06 - [Spell] Cast Eclat lunaire (Moonfire)[F] 22:23:07 - [Spell] Cast Eclat lunaire (Moonfire)[F] 22:23:07 - [Spell] Cast Eruption stellaire (Starsurge)[F] 22:23:07 - [Spell] Cast Eclat lunaire (Moonfire)[F] 22:23:08 - [Spell] Cast Colère (Wrath)[F] 22:23:08 - [Spell] Cast Feu stellaire (Starfire)[F] 22:23:08 - [Spell] Cast Eclat lunaire (Moonfire)[F] 22:23:09 - [Spell] Cast Eruption stellaire (Starsurge)[F] 22:23:09 - [Spell] Cast Eclat lunaire (Moonfire)[F] 22:23:09 - [Spell] Cast Colère (Wrath)[F] 22:23:10 - [Spell] Cast Feu stellaire (Starfire)[F] 22:23:10 - [Spell] Cast Eclat lunaire (Moonfire)[F] 22:23:10 - [Spell] Cast Eruption stellaire (Starsurge)[F] 22:23:10 - [Spell] Cast Eclat lunaire (Moonfire)[F] 22:23:11 - [Spell] Cast Colère (Wrath)[F] 22:23:11 - [Spell] Cast Feu stellaire (Starfire)[F] 22:23:11 - [Spell] Cast Eclat lunaire (Moonfire)[F] 22:23:12 - [Spell] Cast Eruption stellaire (Starsurge)[F] 22:23:12 - [Spell] Cast Eclat lunaire (Moonfire)[F] 22:23:12 - [Spell] Cast Colère (Wrath)[F] 22:23:15 - [Spell] Cast Feu stellaire (Starfire)[F] 22:23:15 - [Spell] Cast Eclat lunaire (Moonfire)[F] 22:23:15 - [Spell] Cast Eruption stellaire (Starsurge)[F] 22:23:16 - [Spell] Cast Eclat lunaire (Moonfire)[F] 22:23:16 - [Spell] Cast Colère (Wrath)[F] 22:23:16 - [Spell] Cast Feu stellaire (Starfire)[F] 22:23:16 - [Spell] Cast Eclat lunaire (Moonfire)[F] 22:23:17 - [Spell] Cast Eruption stellaire (Starsurge)[F] 22:23:17 - [Spell] Cast Eclat lunaire (Moonfire)[F] 22:23:17 - [Spell] Cast Colère (Wrath)[F] 22:23:18 - [Spell] Cast Feu stellaire (Starfire)[F] 22:23:18 - [Spell] Cast Eclat lunaire (Moonfire)[F] 22:23:18 - [Spell] Cast Eruption stellaire (Starsurge)[F] 22:23:19 - [Spell] Cast Eclat lunaire (Moonfire)[F] 22:23:19 - [Spell] Cast Colère (Wrath)22:23:27 - Dispose Druide Equi22:23:27 - Session statistics:Elapsed time: 00h:02m:41sXP/HR: 0 - 0 minKills: 0 (0/hr)Deaths: 0 (0/hr)Farms: 0 (0/hr)Loots: 0 (0/hr)Money/HR: 0 G 00 S 00 C (0 G 00 S 00 C)Honor/HR: 0 (0)Apexis Crystal/HR: 0 (0) Dans ce script j'avais introduit ceci :if (!ObjectManager.Me.IsDead && !Usefuls.IsLoadingOrConnecting && Usefuls.InGame) { Defense(); if (Fight.InFight != FIGHT) { if (Fight.InFight == true) Logging.WriteDebug("Fight Infight passe a TRUE "); if (Fight.InFight == false) Logging.WriteDebug("Fight Infight passe a FALSE "); FIGHT = Fight.InFight; } //if (Fight.InFight) { Permanent(); if (ObjectManager.Target.IsAlive && !TraceLine.TraceLineGo(ObjectManager.Target.Position)) { if (wManager.Wow.Helpers.MovementManager.IsFacing(ObjectManager.Me.Position, ObjectManager.Me.Rotation, ObjectManager.Target.Position, 2.20f)) Attaque(); if ((ObjectManager.Target.Type == WoWObjectType.Player) && ObjectManager.Target.IsAlive && ObjectManager.Target.Reaction > Reaction.Neutral && (ObjectManager.Target.Health < (ObjectManager.Target.MaxHealth - (2 * SOINS)))) Heal(); } } } Comme tu peut le voir plus haut, a aucun moment le Fight.InFight n'est passe a true dans le duel face a un joueur de la meme faction.J'ai l'impression qu'il ne fonctionne pas comme il devrais. Il est vrai que parfois il bascule a true, mais c'est cet aléa qui rend wrotation peu fiable pour les duels et arenes. Edited October 18, 2015 by PierreDeRosette Link to comment https://wrobot.eu/forums/topic/2421-wrotation-en-duel/#findComment-11162 Share on other sites More sharing options...
PierreDeRosette 13 Posted October 21, 2015 Author Share Posted October 21, 2015 Si tu veut on pourra se donner rdv afin de mettre cela en lumiere dans une session WOW ? On pourra se lancer des duels et observer le comportement de Fight.InFight . J'ai 4 jours de libres du 22 au 25. Link to comment https://wrobot.eu/forums/topic/2421-wrotation-en-duel/#findComment-11192 Share on other sites More sharing options...
Droidz 2738 Posted October 21, 2015 Share Posted October 21, 2015 (edited) le code "Lua.LuaDoString<bool>("return UnitCanAttack('player', 'target');")" retourne quoi en arene?ret = UnitCanAttack('player', 'target'); Edited October 21, 2015 by Droidz Link to comment https://wrobot.eu/forums/topic/2421-wrotation-en-duel/#findComment-11197 Share on other sites More sharing options...
PierreDeRosette 13 Posted October 21, 2015 Author Share Posted October 21, 2015 (edited) juste que je ne sait pas insérer cela en c# sinon je l'aurai teste depuis 10 ans lol Edited October 21, 2015 by PierreDeRosette je le teste ce soir des que je suis chez moi Link to comment https://wrobot.eu/forums/topic/2421-wrotation-en-duel/#findComment-11205 Share on other sites More sharing options...
Droidz 2738 Posted October 21, 2015 Share Posted October 21, 2015 C'est le code C#:bool cibleAttaquable = Lua.LuaDoString<bool>("return UnitCanAttack('player', 'target')"); if (cibleAttaquable) { // ta rotation... } PierreDeRosette 1 Link to comment https://wrobot.eu/forums/topic/2421-wrotation-en-duel/#findComment-11208 Share on other sites More sharing options...
PierreDeRosette 13 Posted October 31, 2015 Author Share Posted October 31, 2015 Bonjour Voila mon retour : Log d'une situation de combat avec une bestiole : [F] 15:24:48 - [Spell] Cast Lambeau (Shred) [F] 15:24:48 - [Spell] Cast Lambeau (Shred) [E] 15:24:49 - Engagement : True [E] 15:24:49 - InCombat : True [E] 15:24:49 - InFight : False [E] 15:24:49 - return UnitCanAttack... : True [F] 15:24:49 - [Spell] Cast Fureur du tigre (Tiger's Fury) [F] 15:24:49 - [Spell] Cast Déchirure (Rip) [F] 15:24:49 - [Spell] Cast Lambeau (Shred) [F] 15:24:50 - [Spell] Cast Forme de félin (Cat Form) Portion de script utilisée pour le test : if (_Rapport2.IsReady) { Logging.WriteError("Engagement : " + Engage); Logging.WriteError("InCombat : " + ObjectManager.Me.InCombat); Logging.WriteError("InFight : " + Fight.InFight); Logging.WriteError("return UnitCanAttack... : " + cibleAttaquable); _Rapport2 = new Timer(1000); } Comme tu le voit, de tout le marqueurs de combat, c'est Fight.InFight qui ne semble pas réagir normalement Sinon je ne voit pas la signification et la différence de InCombat par rapport a Infight. Pour en revenir sur bool cibleAttaquable = Lua.LuaDoString<bool>("return UnitCanAttack('player', 'target')"); Cela fonctionne très bien....a condition d'avoir une cible. (Engage est une methode artisanale de ma confection qui signifie qu'on a engagé le premier coup - Tres utile pour les attaque sournoise des voleurs dont la premiere frappe portée doit etre absolument ambush et pour les druides feral dissimulés dont la premiere frappe doit absolument etre Rake) Link to comment https://wrobot.eu/forums/topic/2421-wrotation-en-duel/#findComment-11294 Share on other sites More sharing options...
Droidz 2738 Posted October 31, 2015 Share Posted October 31, 2015 "Fight.InFight" retourne "true" quand WRobot est lui-même en combat (qu'il a fait Fight.StartFight(...)), rien à voir avec ce qui ce passe dans wow, WRobot peut être InFight alors que le combat n'a pas encore commencé (il est InFight dès qu'il a choisi la cible (par exemple dans le bot "Grinder", par en étape par étape ca donne: Recherche de la cible > On utilise la fonction Fight.StartFight(...) (InFight = true) > On va vers la cible > Sélection de la cible (ciblage, on clique dessus) > Lance le premier sort des que le joueur est à portée > combat > cible morte > sort de la fonction StartFight(...) (InFight = false)). InCombat, lui vérifie plusieurs éléments: Que le joueur n’est pas mort. Que le portrait du joueur clignote rouge (Me.InCombatFlagOnly). Recherche dans la liste des objets les units qui ont pour cible le joueur, ou le pet du joueur, ou un membre du groupe. UnitCanAttack est limité comme tu le dis, car il faut que le joueur ait pour cible l'unit, c'est à faire en dernier, avant de lancer la rotation, pour vérifier si la cible est bien attaquable. Link to comment https://wrobot.eu/forums/topic/2421-wrotation-en-duel/#findComment-11297 Share on other sites More sharing options...
PierreDeRosette 13 Posted October 31, 2015 Author Share Posted October 31, 2015 Ok c'est beaucoup plus clair comme ça :) Link to comment https://wrobot.eu/forums/topic/2421-wrotation-en-duel/#findComment-11298 Share on other sites More sharing options...
PierreDeRosette 13 Posted October 31, 2015 Author Share Posted October 31, 2015 Le seul hic c'est qu'en combat vs un player de la meme alliance (duel ou arene), ObjectManager.Me.InCombat qui devient donc le parametre le plus interressant ne passe pas a true => Il faut donc un mix entre ObjectManager.Me.InCombat et bool cibleAttaquable = Lua.LuaDoString<bool>("return UnitCanAttack('player', 'target')"); afin d'etre efficace. Link to comment https://wrobot.eu/forums/topic/2421-wrotation-en-duel/#findComment-11299 Share on other sites More sharing options...
Droidz 2738 Posted October 31, 2015 Share Posted October 31, 2015 Essaye avec ObjectManager.Me.InCombatFlagOnly Link to comment https://wrobot.eu/forums/topic/2421-wrotation-en-duel/#findComment-11300 Share on other sites More sharing options...
Recommended Posts
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 accountSign in
Already have an account? Sign in here.
Sign In Now