Jump to content

Pudge

WRobot user
  • Posts

    347
  • Joined

  • Last visited

Everything posted by Pudge

  1. Hello, I cleaned the system with the ССleaner program and everything worked, thanks for the answer, yes, I had all the software installed
  2. Hello, Windows 11 is installed on the computer. An error occurred due to the overflow of RAM, all applications closed. After that, the relogger cannot start the bot.Restarting the computer does not work.What could be the problem? 16 июн 2022 01H25 - xqXFu.log.html
  3. wManager.wManagerSetting.CurrentSetting.PathFinderPostionOffset is a very interesting and useful setting but I've detected that highest then default value of it can cause farming fails. Can this be considered as a bug? https://youtu.be/C-hrfCL_NG8
  4. Hello. For some reason during quests the bot is blacklisting game objects to harvest. I tried to fix that by removing from the blacklist all of objects to harvest for the current quest. But Quest.QuesterCurrentContext.Profile as Quester.Profile.EasyQuestProfile is always return null. I know that it could be much easier to implement what I wanted, for example, removing the objects to harvest from the blacklist if the bot is in the "harvesting" state near it for some time, but as it has already been done, it's done. The point is that it is not possible to get the necessary information for the log using EasyQuestProfile class. Or maybe I did something wrong? Log: And this is code I made to fix that: code.cs private void GetQuestObjectivesInfo() { try { QuestObjectivesInfo = ""; string QuestObjectivesLogString = ""; var EasyQuestProfile = Quest.QuesterCurrentContext.Profile as Quester.Profile.EasyQuestProfile; // doesnt work? var OldTypeProfile = Quest.QuesterCurrentContext.Profile as Quester.Profile.QuesterProfile; if (EasyQuestProfile != null) { var CurStep = EasyQuestProfile.QuestsSorted[CurStepNum]; if (CurStep != null) { string CurStepNameClass = CurStep.NameClass; if (!string.IsNullOrWhiteSpace(CurStepNameClass)) { var EasyQuest = EasyQuestProfile.EasyQuests.FirstOrDefault(q => q.NameClass == EasyQuestProfile.QuestsSorted[CurStepNum].NameClass); if (EasyQuest != null) { string EntriesIdLog = ""; string QuestTypeString = EasyQuest.QuestType.ToString(); var BlacklistedObjects = new List<WoWGameObject>(); if (EasyQuest.QuestType == EasyQuestType.Gatherer) { Logging.Write("[GetQuestObjectivesInfo] CurStepClassNameOld: " + CurStepClassNameOld + ", QuestType: ["+ QuestTypeString + "]"); var EasyQuestClass = EasyQuest.QuestClass as Quester.Profile.GathererEasyQuestClass; if (EasyQuestClass.EntryIdObjects.Count > 0) { EasyQuestClass.EntryIdObjects.ForEach(entry => { if (string.IsNullOrWhiteSpace(EntriesIdLog)) EntriesIdLog += "entries id objects to harvest: " + entry + ""; else EntriesIdLog += ", " + entry + ""; }); BlacklistedObjects = ObjectManager.GetObjectWoWGameObject().FindAll(o => EasyQuestClass.EntryIdObjects.Contains(o.Entry) && (wManager.wManagerSetting.GetListGuidBlackListed().Contains(o.Guid) || wManager.wManagerSetting.IsBlackListed(o.Guid) || wManager.wManagerSetting.IsBlackListedZone(o.Position))); QuestObjectivesLogString += EntriesIdLog; } } else if (EasyQuest.QuestType == EasyQuestType.GrinderGathererQuests) { Logging.Write("[GetQuestObjectivesInfo] CurStepClassNameOld: [" + CurStepClassNameOld + "], QuestType: [" + QuestTypeString + "]"); var EasyQuestClass = EasyQuest.QuestClass as Quester.Profile.GrinderGathererEasyQuestClass; if (EasyQuestClass.EntryGathererTarget.Count > 0) { var ObjectsEntriesList = new List<int>(); EasyQuestClass.EntryGathererTarget.ForEach(entry => { if (!ObjectsEntriesList.Contains(entry.Entry)) ObjectsEntriesList.Add(entry.Entry); if (string.IsNullOrWhiteSpace(EntriesIdLog)) EntriesIdLog += "entries id objects to harvest: " + entry.Entry + ""; else EntriesIdLog += ", " + entry.Entry + ""; }); QuestObjectivesLogString += EntriesIdLog; BlacklistedObjects = ObjectManager.GetObjectWoWGameObject().FindAll(o => ObjectsEntriesList.Contains(o.Entry) && (wManager.wManagerSetting.GetListGuidBlackListed().Contains(o.Guid) || wManager.wManagerSetting.IsBlackListed(o.Guid) || wManager.wManagerSetting.IsBlackListedZone(o.Position))); } } else { QuestObjectivesInfo = "QuestType: is not gatherer"; Logging.Write("[GetQuestObjectivesInfo] CurStepClassNameOld: [" + CurStepClassNameOld + "], QuestType: is not gatherer"); } // remove objects from blacklist while harvest if (BlacklistedObjects.Count > 0) { string BlacklistedObjectsString = "quest: [" + CurStepClassNameOld + "], remove " + BlacklistedObjects.Count + " objects from blacklist: "; BlacklistedObjects.ForEach(o => { if (string.IsNullOrWhiteSpace(BlacklistedObjectsString)) BlacklistedObjectsString += "[" + o.Name + "] " + o.Guid + ""; else BlacklistedObjectsString += ", [" + o.Name + "] " + o.Guid + ""; if (wManager.wManagerSetting.IsBlackListed(o.Guid)) { Logging.Write("[GetQuestObjectivesInfo] remove guid of object [" + o.Name + "] " + o.Guid + " from blacklisted"); wManager.wManagerSetting.RemoveBlackList(o.Guid); } if (wManager.wManagerSetting.GetListGuidBlackListed().Contains(o.Guid)) { Logging.Write("[GetQuestObjectivesInfo] remove guid of object [" + o.Name + "] " + o.Guid + " from GetListGuidBlackListed"); wManager.wManagerSetting.GetListGuidBlackListed().Remove(o.Guid); } if (wManager.wManagerSetting.IsBlackListedZone(o.Position)) { var BadBlacklistsForCurrentQuest = wManager.wManagerSetting.GetListZoneBlackListed().FindAll(bl => o.Position.DistanceTo(bl.GetPosition()) < 15); Logging.Write("[GetQuestObjectivesInfo] remove " + BadBlacklistsForCurrentQuest.Count + " bad blacklist areas for current quest"); wManager.wManagerSetting.GetListZoneBlackListed().RemoveAll(bl => o.Position.DistanceTo(bl.GetPosition()) < 15); // return back removed blacklists after harvest Task.Factory.StartNew(() => { while (IsLaunched) { if (!Conditions.InGameAndConnected || me.Position.DistanceTo(o.Position) > 50) { Logging.Write("[GetQuestObjectivesInfo] return back " + BadBlacklistsForCurrentQuest.Count + " bad blacklist areas for current quest to blacklist"); BadBlacklistsForCurrentQuest.ForEach(bl => { if (wManager.wManagerSetting.GetListZoneBlackListed().Count(b => b == bl) == 0) wManager.wManagerSetting.AddBlackListZone(bl); }); break; } Thread.Sleep(10000); } }); } }); QuestObjectivesInfo = QuestObjectivesLogString; SDM("" + info1 + ", " + BlacklistedObjectsString + ", " + info2 + ""); logs(BlacklistedObjectsString); SetCenterText(text: BlacklistedObjectsString, frameflash: true, CenterTextFrameUpdateTimeCD: 15, textcolor: "ff0000", force: true); MaximizeWowWindow(); } } else { QuestObjectivesInfo = "EasyQuest = null"; Logging.Write("[GetQuestObjectivesInfo] CurStepClassNameOld: [" + CurStepClassNameOld + "], EasyQuest = null"); } } else { QuestObjectivesInfo = "CurStepNameClass string is null"; Logging.Write("[GetQuestObjectivesInfo] CurStepClassNameOld: [" + CurStepClassNameOld + "], CurStepNameClass string is null"); } } else { QuestObjectivesInfo = "CurStep = null"; Logging.Write("[GetQuestObjectivesInfo] CurStepClassNameOld: [" + CurStepClassNameOld + "], CurStep = null"); } } else { QuestObjectivesInfo = "EasyQuestProfile = null"; Logging.Write("[GetQuestObjectivesInfo] CurStepClassNameOld: [" + CurStepClassNameOld + "], EasyQuestProfile = null"); } } catch (Exception e) { QuestObjectivesInfo = "? - exception"; Logging.Write("[GetQuestObjectivesInfo] CurStepClassNameOld: [" + CurStepClassNameOld + "], GetQuestObjectivesInfo exception: " + e.ToString() + ""); } } private string CurStepClassNameOld { get { string currentstep = ""; try { var profile = Quest.QuesterCurrentContext.Profile as Quester.Profile.QuesterProfile; if (profile != null) { if (profile.QuestsSorted[CurStepNum].NameClass != null) { if (profile.QuestsSorted[CurStepNum].Action == QuestAction.RunCode) currentstep = "c# code"; else if (profile.QuestsSorted[CurStepNum].Action == QuestAction.RunLuaCode) currentstep = "lua code"; else if (profile.QuestsSorted[CurStepNum].NameClass.Length >= 50 || profile.QuestsSorted[CurStepNum].NameClass.Contains(Environment.NewLine)) currentstep = "? - a lot of symbols"; else currentstep = profile.QuestsSorted[Quest.QuesterCurrentContext.CurrentStep].NameClass; } else currentstep = "? - NameClass is null"; } else currentstep = "? - Profile is null"; } catch (Exception e) { Logging.Write("CurStepClassNameOld exception: " + e.ToString() + ""); currentstep = "? - exception"; } return currentstep; } } private int CurStepNum { get { return wManager.Wow.Helpers.Quest.QuesterCurrentContext.CurrentStep; } } private string QuestObjectivesInfo;
  5. Pudge

    Drink

    Thank you, I didn't even know there was such a setting, the problem is solved
  6. Pudge

    Drink

    i sent you a video with devtools
  7. Pudge

    Drink

    Hi, I don't understand why but the bot stopped using drinks to restore mana, it just ignores their presence in the backpack. The following settings are set: wManager.wManagerSetting.CurrentSetting.DrinkName = "Conjured Mana Strudel"; wManager.wManagerSetting.CurrentSetting.DrinkPercent = 65; wManager.wManagerSetting.CurrentSetting.TryToUseBestBagFoodDrink = true; wManager.wManagerSetting.CurrentSetting.DrinkMaxPercent = 99; Also wManager.wManagerSetting.CurrentSetting.DrinkAmount returns 0.
  8. Yes, but it requires a lot of programming knowledge
  9. Hello, @Droidz, there is an urgent need to control bots on two or more different machines, in wrobot have api API robotManager.Helpful.Var that allows you to create variables for communication within one bot program,I know that bots can read variables from an xml document on one computer to communicate, but how to do something like that so that bots on different PCs can transfer information to each other is not yet clear to me. It would be cool if you add such an api you can add or suggest how you can implement a variable so that bots can read it from different computer machines.
  10. public void AddNewReloggerProfile(string AccName, string pass, string charname, string server, string Wrobotkey, string wowpath, string profilename, string runtime) { var t = new Thread(o => { try { Logging.Write("1"); var newprofile = new Relogger.Classes.ReloggerProfile(); //Logging.Write("2"); //Relogger.Classes.ReloggerProfileSettings. newprofile.Name = AccName + " " + pass + " " + charname; //newprofile.CurrentTaskIndex // Logging.Write("3"); newprofile.CurrentWowAccount = new Relogger.Classes.ChangeCharacterReloggerTask(); newprofile.CurrentWRobotAccount = new Relogger.Classes.ChangeWRobotLicenseKeyReloggerTask(); newprofile.CurrentWRobotAccount.WRobotKey = Wrobotkey; newprofile.CurrentWowAccount.AccountName = AccName; newprofile.CurrentWowAccount.Server = server; // Logging.Write("4"); newprofile.CurrentWowAccount.BattleNet = AccName; // Logging.Write("5"); newprofile.CurrentWowAccount.Password = pass; //Logging.Write("6"); newprofile.CurrentWowAccount.Character = charname; //Logging.Write("7"); newprofile.Checked = true; // Logging.Write("8"); newprofile.Settings.MinimiseWRobotOnStart = true; // Logging.Write("9"); newprofile.Settings.RelaunchIfWowOrWRobotCrash = true; //Logging.Write("10"); newprofile.Settings.RunTasksLoop = true; // Logging.Write("11"); newprofile.Settings.ScheduleResetAtEnd = true; // Logging.Write("12"); newprofile.Settings.Tasks.Add(new Relogger.Classes.ReloggerTask { TaskType = Relogger.Classes.TaskType.ChangeWowPath.ToString(), Task = new Relogger.Classes.ChangeWowPathReloggerTask { WowPath = wowpath }, Name = "123" }); //Logging.Write("13"); newprofile.Settings.Tasks.Add(new Relogger.Classes.ReloggerTask { TaskType = Relogger.Classes.TaskType.Run.ToString(), Task = new Relogger.Classes.RunReloggerTask { RunTime = runtime, Product = "Quester", Profile = profilename, }, Name = "run" }); Relogger.Classes.ReloggerGeneralSettings.CurrentSetting.Profiles.Add(newprofile); } catch (Exception e) { Logging.WriteError(e.ToString()); } }); t.SetApartmentState(ApartmentState.STA); t.Start(); } Hi, I tested your snippet of code, slightly changing it, the profile is created, but the data such as Password, AccountName, CharacterName and key do not change, also, an error pops up when you click on ChangeWowpath or Run Task. https://youtu.be/7DqBFwXmtgk 23 ноя 2021 20H02.log.html
  11. Hi, I am trying to write a code that will create a new profile in the relogger, It looks like this: public void AddNewReloggerProfile(string AccName, string pass, string charname, string key, string wowpath, string profilename, string runtime) { System.Threading.Tasks.Task.Factory.StartNew(() => { try { Logging.Write("1"); var newprofile = new Relogger.Classes.ReloggerProfile(); Logging.Write("2"); //Relogger.Classes.ReloggerProfileSettings. newprofile.Name = AccName + " " + pass + " " + charname; Logging.Write("3"); newprofile.CurrentWowAccount.AccountName = AccName; Logging.Write("4"); newprofile.CurrentWowAccount.BattleNet = AccName; Logging.Write("5"); newprofile.CurrentWowAccount.Password = pass; Logging.Write("6"); newprofile.CurrentWowAccount.Character = charname; Logging.Write("7"); newprofile.Checked = true; Logging.Write("8"); newprofile.Settings.MinimiseWRobotOnStart = true; Logging.Write("9"); newprofile.Settings.RelaunchIfWowOrWRobotCrash = true; Logging.Write("10"); newprofile.Settings.RunTasksLoop = true; Logging.Write("11"); newprofile.Settings.ScheduleResetAtEnd = true; Logging.Write("12"); newprofile.Settings.Tasks.Add(new Relogger.Classes.ReloggerTask { TaskType = Relogger.Classes.TaskType.ChangeWowPath.ToString(), Task = new Relogger.Classes.ChangeWowPathReloggerTask { WowPath = wowpath }, Name = "123" }); Logging.Write("13"); newprofile.Settings.Tasks.Add(new Relogger.Classes.ReloggerTask { TaskType = Relogger.Classes.TaskType.Run.ToString(), Task = new Relogger.Classes.RunReloggerTask { RunTime = runtime, Product = "Quester", Profile = profilename, }, Name = "run" }); Relogger.Classes.ReloggerGeneralSettings.CurrentSetting.Profiles.Add(newprofile); } catch (Exception e) { Logging.WriteError(e.ToString()); } }); } I'm testing through the OnButtonPress () method: public override void OnButtonPress() { AddNewReloggerProfile("124", "124", "124", "124", "124", "124", "124"); base.OnButtonPress(); } } But I am getting the error: 20 ноя 2021 07H35.log.html If you use the code outside the Task.Factory (()) thread, the program simply stops responding. Any help would be welcome, thanks.
  12. Now works fine, I noticed this problem only on a ground mount
  13. ⚠️⚠️⚠️ The problem is urgent. The bot breaks through the wall in cities like harry potter into the portal to hogwarts. What happens to meshes / pathfinding? And why in cities? Why can't the meshes be saved in the bot folder in case of problems with the pathfinder server ?
  14. Hello, lately there are very often problems with finding a path, a bot bumping into walls in a city, or simply cannot use the path finding normally, I cannot understand the reason of this behavior: 03:17:45 - [Fight] Can't reach Scourge Banner-Bearer, blacklisting it. 03:17:45 - [Fight] Player Attack Converted Hero (lvl 80) [N] 03:17:46 - [Path-Finding] GetZPosition: 7306,558 ; 2490,304 ; 396,2049 ; "Flying" strict = False [N] 03:17:46 - [Path-Finding] GetZPosition result: Z = 0 (0 ms) [N] 03:17:46 - [Path-Finding] FindPath from 7306,558 ; 2490,304 ; 0 ; "Flying" to 7300,61 ; 2524,44 ; 395,5601 ; "None" (Northrend) [N] 03:17:46 - [Path-Finding] Cannot find path: 7306,558 ; 2490,304 ; 0 ; "Flying" (Northrend_27,33068_18,3002) to 7300,61 ; 2524,44 ; 395,5601 ; "None" (Northrend_27,26667_18,31136) [N] 03:17:46 - [Path-Finding] Path Count: 2 (397,0749y, 0ms) (resultPartial=True, resultSuccess=False (more info with server log option)) [D] 03:17:46 - [Fight] Cannot make path to the target (Converted Hero), ignore it. 03:17:46 - [Fight] Can't reach Converted Hero, blacklisting it. 03:17:47 - [Fight] Player Attack Converted Hero (lvl 80) [N] 03:17:47 - [Path-Finding] GetZPosition: 7326,559 ; 2468,781 ; 396,4211 ; "Flying" strict = False [N] 03:17:47 - [Path-Finding] GetZPosition result: Z = 0 (0 ms) [N] 03:17:47 - [Path-Finding] FindPath from 7326,559 ; 2468,781 ; 0 ; "Flying" to 7302,68 ; 2522,19 ; 395,5894 ; "None" (Northrend) [N] 03:17:47 - [Path-Finding] Cannot find path: 7326,559 ; 2468,781 ; 0 ; "Flying" (Northrend_27,37103_18,2627) to 7302,68 ; 2522,19 ; 395,5894 ; "None" (Northrend_27,27089_18,30747) [N] 03:17:47 - [Path-Finding] Path Count: 2 (399,8921y, 0ms) (resultPartial=True, resultSuccess=False (more info with server log option)) [D] 03:17:47 - [Fight] Cannot make path to the target (Converted Hero), ignore it. 03:17:47 - [Fight] Can't reach Converted Hero, blacklisting it. 03:17:47 - [Fight] Player Attack Converted Hero (lvl 79) [N] 03:17:48 - [Path-Finding] GetZPosition: 7338,118 ; 2465,958 ; 393,1622 ; "Flying" strict = False [N] 03:17:48 - [Path-Finding] GetZPosition result: Z = 0 (0 ms) [N] 03:17:48 - [Path-Finding] FindPath from 7338,118 ; 2465,958 ; 0 ; "Flying" to 7332,55 ; 2498,18 ; 391,9678 ; "None" (Northrend) [N] 03:17:48 - [Path-Finding] Cannot find path: 7338,118 ; 2465,958 ; 0 ; "Flying" (Northrend_27,37633_18,24103) to 7332,55 ; 2498,18 ; 391,9678 ; "None" (Northrend_27,31591_18,25147) [N] 03:17:48 - [Path-Finding] Path Count: 2 (393,3293y, 0ms) (resultPartial=True, resultSuccess=False (more info with server log option)) [D] 03:17:48 - [Fight] Cannot make path to the target (Converted Hero), ignore it. 03:17:48 - [Fight] Can't reach Converted Hero, blacklisting it. 03:17:48 - [Fight] Player Attack Converted Hero (lvl 79) [N] 03:17:48 - [Path-Finding] GetZPosition: 7344,723 ; 2471,328 ; 393,4188 ; "Flying" strict = False [N] 03:17:48 - [Path-Finding] GetZPosition result: Z = 0 (0 ms) [N] 03:17:48 - [Path-Finding] FindPath from 7344,723 ; 2471,328 ; 0 ; "Flying" to 7298,56 ; 2526,63 ; 395,5017 ; "None" (Northrend) [N] 03:17:48 - [Path-Finding] Cannot find path: 7344,723 ; 2471,328 ; 0 ; "Flying" (Northrend_27,36626_18,22865) to 7298,56 ; 2526,63 ; 395,5017 ; "None" (Northrend_27,26257_18,3152) [N] 03:17:48 - [Path-Finding] Path Count: 2 (402,0086y, 0ms) (resultPartial=True, resultSuccess=False (more info with server log option)) [D] 03:17:48 - [Fight] Cannot make path to the target (Converted Hero), ignore it.
  15. Thank you very much, this is what I need
  16. Hey, I see this a lot and I made a custom fix for this, but still cant understand. The bot stand at distance ~4.3 and tries to interact with npc, but it is unsuccessful. And these unsuccessful attempts to interact continue indefinitely until the bot is moved. So, is this the server-side-weird-bad-interaction-distance-to-npc, or wrobot?
  17. Hey all, who know how you can call this method, using code? Often there is some kind of error in the code, but by the time it is detected, the bot has already closed, and it becomes difficult to find the required log file in the "Logs" folder, when there are thousands of them, if you knew how to call this method, you could make a plugin, allowing you to copy the log when certain errors occur, this would be very useful.
  18. [E] 19:09:33 - PathFinder server seem down, use offline pathfinder. Offline pathfinding does not work, a bunch of bots run into the wall in capitals. @Droidz, maybe you can do something with it, this is not the first time a problem arises when your servers crash and many of bots, after casting the hearthstone, simply run into the wall in one place, in front of everyone's eyes.
  19. I think I figured out why it didn't work. p.CurrentWowAccount == null if no windows are running in the relogger. There is one more problem, the relogger for some reason does not support the russian language, instead of it there are some symbols in the form of a question mark. do so: robotManager.Helpful.Logging.Write("авбгдиичоаып"); we get: 22:03:04 - ������������
  20. This is the body of the OnButtonPress() method Аfter adding robotManager.Helpful.Logging.Write("p.CurrentWowAccount==null > " + (p.CurrentWowAccount == null)); robotManager.Helpful.Logging.Write("p.CurrentWowAccount.AccountName==null > " + (p.CurrentWowAccount.AccountName == null)); robotManager.Helpful.Logging.Write("p.CurrentWowAccount.Password==null > " + (p.CurrentWowAccount.Password == null)); We get:
  21. Hi, I am trying to make a plugin for a relogger that will change account data depending on the conditions. I am facing a problem. System.Threading.Tasks.Task.Factory.StartNew(() => { for (int i = 0; i < Relogger.Classes.ReloggerGeneralSettings.CurrentSetting.Profiles.Count; i++) { try { var p = Relogger.Classes.ReloggerGeneralSettings.CurrentSetting.Profiles[i]; if (p.Checked && p.Name.ToLower().Contains("myaccountname")) { robotManager.Helpful.Logging.Write("124"); p.CurrentWowAccount.AccountName = "1242"; p.CurrentWowAccount.Password = "1242"; } } catch (Exception e) { robotManager.Helpful.Logging.WriteError(Name + " > " + e); } } }); When trying to read or change the field CurrentWowAccount.AccountName or CurrentWowAccount.Password I get the error: [E] 22:26:06 - CHANGEKEY > System.NullReferenceException: Ссылка на объект не указывает на экземпляр объекта. в MyNamespace.MyPlugin.b__0() Is it possible to implement changing account data through a plugin or is this error a consequence of data protection?
  22. Hi, lately I can't use the robot normally, because every other time when starting the bot, the next error appears. The reason for the error is not clear to me. 16 сен 2021 04H43 - aVwltF.log.html
  23. Hello. I don't need backups of xml files. Wrobot literally spam these files in the settings folder until the free disk space runs out, and I have very little free space. How to disable it?
×
×
  • Create New...