Pudge 24 Posted December 23, 2019 Share Posted December 23, 2019 Hello to all who care, I think that a bot is very easy to detect when it grinds mobs. If an enemy player attacks the bot, until the bot kills all the mobs he fought before the player attacks him, he will not attack the player. I began to search on the forum, but did not find anything similar on this topic. using System; using System.ComponentModel; using System.Configuration; using System.Collections.Generic; using System.IO; using System.Linq; using robotManager.Helpful; using wManager; using wManager.Plugin; using wManager.Wow.Helpers; using wManager.Wow.ObjectManager; public class Main : IPlugin { private bool _isLaunched; public void Initialize() { _isLaunched = true; ChangeTargetSettings.Load(); wManager.Events.FightEvents.OnFightLoop += TargetSwitcher; Logging.Write("[ChangeTarget2] Started."); } public void Dispose() { try { wManager.Events.FightEvents.OnFightLoop -= TargetSwitcher; } catch { } _isLaunched = false; Logging.Write("[ChangeTarget2] Stoped."); } public void Settings() { ChangeTargetSettings.Load(); ChangeTargetSettings.CurrentSetting.ToForm(); ChangeTargetSettings.CurrentSetting.Save(); Logging.Write("[ChangeTarget2] Settings saved."); } private void TargetSwitcher(WoWUnit woWPlayer, System.ComponentModel.CancelEventArgs cancelable) { while (_isLaunched) { WoWPlayer player = ObjectManager.GetNearestWoWPlayer(ObjectManager.GetObjectWoWPlayer()); if (!player.IsAlive || player.Faction == ObjectManager.Me.Faction || player.IsFlying || player.IsMyTarget) return; if (player != null && player.IsValid && player.InCombatWithMe) { //if(ObjectManager.Target.Type != WoWObjectType.Player) //Fight.StopFight(); Lua.LuaDoString("TargetNearestEnemyPlayer();"); //Interact.InteractGameObject(player.GetBaseAddress, false); cancelable.Cancel = true; //Fight.StartFight(true, true, false, true); //FightBG.StartFight(player.Guid); var m = Fight.StartFight(player.Guid, false); } } } } public class ChangeTargetSettings : Settings { public ChangeTargetSettings() { } public static ChangeTargetSettings CurrentSetting { get; set; } public bool Save() { try { return Save(AdviserFilePathAndName("ChangeTarget", ObjectManager.Me.Name + "." + Usefuls.RealmName)); } catch (Exception e) { Logging.WriteError("ChangeTargetSettings > Save(): " + e); return false; } } public static bool Load() { try { if (File.Exists(AdviserFilePathAndName("ChangeTarget", ObjectManager.Me.Name + "." + Usefuls.RealmName))) { CurrentSetting = Load<ChangeTargetSettings>(AdviserFilePathAndName("ChangeTarget", ObjectManager.Me.Name + "." + Usefuls.RealmName)); return true; } CurrentSetting = new ChangeTargetSettings(); } catch (Exception e) { Logging.WriteError("ChangeTargetSettings > Load(): " + e); } return false; } } I made a plugin, but it does not work correctly. The plugin tries to start a fight with a player who attacked everything, but the fight with mobs does not stop, and the bot turns either towards the player or tries to fight with mobs. Is there any way to stop attacking mobs and focus on the bot attacking player? Link to comment https://wrobot.eu/forums/topic/11767-change-target-on-a-during-grind/ Share on other sites More sharing options...
Droidz 2738 Posted December 23, 2019 Share Posted December 23, 2019 Hi, No teested but you can try : using System; using System.ComponentModel; using System.Configuration; using System.Collections.Generic; using System.IO; using System.Linq; using robotManager.Helpful; using wManager; using wManager.Plugin; using wManager.Wow.Helpers; using wManager.Wow.ObjectManager; public class Main : IPlugin { private bool _isLaunched; public void Initialize() { _isLaunched = true; ChangeTargetSettings.Load(); wManager.Events.FightEvents.OnFightLoop += TargetSwitcher; Logging.Write("[ChangeTarget2] Started."); } public void Dispose() { try { wManager.Events.FightEvents.OnFightLoop -= TargetSwitcher; } catch { } _isLaunched = false; Logging.Write("[ChangeTarget2] Stoped."); } public void Settings() { ChangeTargetSettings.Load(); ChangeTargetSettings.CurrentSetting.ToForm(); ChangeTargetSettings.CurrentSetting.Save(); Logging.Write("[ChangeTarget2] Settings saved."); } private void TargetSwitcher(WoWUnit woWPlayer, System.ComponentModel.CancelEventArgs cancelable) { while (_isLaunched) { WoWPlayer player = ObjectManager.GetNearestWoWPlayer(ObjectManager.GetObjectWoWPlayer()); if (player == null || !player.IsValid || !player.IsAlive || player.Faction == ObjectManager.Me.Faction || player.IsFlying || player.IsMyTarget || woWPlayer.Guid == player.Guid) return; if (player.InCombatWithMe) // you can also try to use only player.IsTargetingMe { //if(ObjectManager.Target.Type != WoWObjectType.Player) //Fight.StopFight(); //Lua.LuaDoString("TargetNearestEnemyPlayer();"); //Interact.InteractGameObject(player.GetBaseAddress, false); cancelable.Cancel = true; //Fight.StartFight(true, true, false, true); //FightBG.StartFight(player.Guid); var m = Fight.StartFight(player.Guid, false); } } } } public class ChangeTargetSettings : Settings { public ChangeTargetSettings() { } public static ChangeTargetSettings CurrentSetting { get; set; } public bool Save() { try { return Save(AdviserFilePathAndName("ChangeTarget", ObjectManager.Me.Name + "." + Usefuls.RealmName)); } catch (Exception e) { Logging.WriteError("ChangeTargetSettings > Save(): " + e); return false; } } public static bool Load() { try { if (File.Exists(AdviserFilePathAndName("ChangeTarget", ObjectManager.Me.Name + "." + Usefuls.RealmName))) { CurrentSetting = Load<ChangeTargetSettings>(AdviserFilePathAndName("ChangeTarget", ObjectManager.Me.Name + "." + Usefuls.RealmName)); return true; } CurrentSetting = new ChangeTargetSettings(); } catch (Exception e) { Logging.WriteError("ChangeTargetSettings > Load(): " + e); } return false; } } Link to comment https://wrobot.eu/forums/topic/11767-change-target-on-a-during-grind/#findComment-56475 Share on other sites More sharing options...
Pudge 24 Posted December 23, 2019 Author Share Posted December 23, 2019 1 hour ago, Droidz said: Hi, No teested but you can try : using System; using System.ComponentModel; using System.Configuration; using System.Collections.Generic; using System.IO; using System.Linq; using robotManager.Helpful; using wManager; using wManager.Plugin; using wManager.Wow.Helpers; using wManager.Wow.ObjectManager; public class Main : IPlugin { private bool _isLaunched; public void Initialize() { _isLaunched = true; ChangeTargetSettings.Load(); wManager.Events.FightEvents.OnFightLoop += TargetSwitcher; Logging.Write("[ChangeTarget2] Started."); } public void Dispose() { try { wManager.Events.FightEvents.OnFightLoop -= TargetSwitcher; } catch { } _isLaunched = false; Logging.Write("[ChangeTarget2] Stoped."); } public void Settings() { ChangeTargetSettings.Load(); ChangeTargetSettings.CurrentSetting.ToForm(); ChangeTargetSettings.CurrentSetting.Save(); Logging.Write("[ChangeTarget2] Settings saved."); } private void TargetSwitcher(WoWUnit woWPlayer, System.ComponentModel.CancelEventArgs cancelable) { while (_isLaunched) { WoWPlayer player = ObjectManager.GetNearestWoWPlayer(ObjectManager.GetObjectWoWPlayer()); if (player == null || !player.IsValid || !player.IsAlive || player.Faction == ObjectManager.Me.Faction || player.IsFlying || player.IsMyTarget || woWPlayer.Guid == player.Guid) return; if (player.InCombatWithMe) // you can also try to use only player.IsTargetingMe { //if(ObjectManager.Target.Type != WoWObjectType.Player) //Fight.StopFight(); //Lua.LuaDoString("TargetNearestEnemyPlayer();"); //Interact.InteractGameObject(player.GetBaseAddress, false); cancelable.Cancel = true; //Fight.StartFight(true, true, false, true); //FightBG.StartFight(player.Guid); var m = Fight.StartFight(player.Guid, false); } } } } public class ChangeTargetSettings : Settings { public ChangeTargetSettings() { } public static ChangeTargetSettings CurrentSetting { get; set; } public bool Save() { try { return Save(AdviserFilePathAndName("ChangeTarget", ObjectManager.Me.Name + "." + Usefuls.RealmName)); } catch (Exception e) { Logging.WriteError("ChangeTargetSettings > Save(): " + e); return false; } } public static bool Load() { try { if (File.Exists(AdviserFilePathAndName("ChangeTarget", ObjectManager.Me.Name + "." + Usefuls.RealmName))) { CurrentSetting = Load<ChangeTargetSettings>(AdviserFilePathAndName("ChangeTarget", ObjectManager.Me.Name + "." + Usefuls.RealmName)); return true; } CurrentSetting = new ChangeTargetSettings(); } catch (Exception e) { Logging.WriteError("ChangeTargetSettings > Load(): " + e); } return false; } } In your version, he stops attacking mobs, but does not take the attacking player in the target, he just stands and looks towards the player if add Lua.LuaDoString("TargetNearestEnemyPlayer();"); Behaves in the way I described when I posted the code (constantly changing the target from one to another) Link to comment https://wrobot.eu/forums/topic/11767-change-target-on-a-during-grind/#findComment-56481 Share on other sites More sharing options...
Pudge 24 Posted December 25, 2019 Author Share Posted December 25, 2019 25 дек 2019 14H32.log.htmlhere is the battle log file Bot skip fight with mobs, but dont start fighting with the player Link to comment https://wrobot.eu/forums/topic/11767-change-target-on-a-during-grind/#findComment-56486 Share on other sites More sharing options...
Pudge 24 Posted January 4, 2020 Author Share Posted January 4, 2020 still can't do something working can anyone say why he cannot start a fight with a player? A few more tests and here I understand that he still starts the battle, but some trait is only close, although range in my FС = 35 Link to comment https://wrobot.eu/forums/topic/11767-change-target-on-a-during-grind/#findComment-56535 Share on other sites More sharing options...
Droidz 2738 Posted January 6, 2020 Share Posted January 6, 2020 In game select him, go to dev tools > target info (if you can share result here) Link to comment https://wrobot.eu/forums/topic/11767-change-target-on-a-during-grind/#findComment-56542 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