RoutesBuddy2 by Highvoltz fixed for 5.0.x by BadWolf This plugin is for converting routes built by the WoW Addon Routes (available on Curse: Routes - Map & Minimap - World of Warcraft Addons - Curse) to GB/GB2 profiles. Please see the comments on course for updating the addon to work with WoW 5.0.x. I will be posting a modified version soon! It is a pretty intense plugin written by Highvoltz and I have (with permission) updated it and released it for WoW 5.0.x and the newest Honorbuddy API. How to use: Make sure you have the latest version of Honorbuddy Download and install the Routes addon for WoW from Curse Gaming unzip the folder into your HonorBuddy/Plugins folder Go to the continent you want to export routes from Make sure HB is running, can be in any bot mode but needs to be running to load the mesh which is needed to get the heights Select RoutesBuddy in your plugin list and press the RoutesBuddy button Click import and wait until the Export button is enabled Select the routes that you want to export Set the Flying height Select the profile format, GB or HB(GB2) Click Export and wait while it imports Optionally change the route names by double-clicking on them. (useful if it has unsupported file name characters) select the folder you want to save the profiles to. Please report any issues directly to me ALSO - Look for incorporation of this plugin into ZapRecorder2
OMG, that so cool! Finally all my routes never more need to rerecord with zap recorder If this works well in MoP zones, new gather profile making will be made in seconds .
Ouhac - What's wrong with ZapRecorder2? I'm actually implenting RoutesBuddy INTO ZapRecorder2 so you'll have the best of both worlds. Best Regards, Patrick
Only place i run into problems is Deepholm it doesn't like the heights in Deepholm and ends up just spiraling around like an idiot. ZapRecorder gets around in deepholm by setting your own hotspots individually. But other than that this thing is sweet! Im wondering if this could be used to grab other data? Locations of NPC's or flight path. Create a route to explore a continent and just export it as hotspots.
Looks promising but currently not working for me.. Perhaps I have the wrong version of Addon, not sure.
The Routes addon has not been updated since pre-MoP. I will test the current version to see if it's broken..
Hi, just a short notice. the profiles beeing created are for chars of 1-85. not a big deal to edit afterwards, just wanted to mention it. Edit: Just found the place to edit it. the file MainForm.cs has to be edited in line 162 to the value 91 instead of 86. an i personally edited the next line also to a empty faction, because the bot had problems with that too.
ofc this works. just open the profile after you created it and edit the Maxlvl to 91 and done it works again HF
You are a rockstar! Thank you for this. I had no idea it could be this easy to make my own profiles. Now I have an awesome Kyparite profile that gets me EXACTLY what I want...Plenty of Kyparite and no fool's cap. Thank you!
im getting an honnorbudy error which causes hb to close saying it can not find the path for where to save the exported profile View attachment 12424 2012-10-21 13.27.txt fixed dont put \ in the file name
Question? Set height, does this mean I have to put a maximum height so it avoids all mountains? Or will it work if I put 20yrd height? Will that make it figure where mountains are, and just adjust height + the 20yrd fixed?
Hi BadWolf, I have a fix for this product you might want to incorporate. There's a problem with clustered routes - I had an XY point that was buried inside a large tree, that was impossible to navigate to. Could you add a navigability check to the product, for each point? Something like the following would work. Add a new checkbox called 'chkPoints' on the UI, and modify the code to look like the following. If it can't navigate from the last good point to the current point, it will surround the hotspot with an XML comment saying 'BAD POINT.' Doing this makes the route almost perfect the first time through. Code: private void ExportBut_Click(object sender, EventArgs e) { folderBrowserDialog.SelectedPath = RoutesBuddy.Instance.MySettings.LastFolder; if (folderBrowserDialog.ShowDialog() == System.Windows.Forms.DialogResult.OK && RouteList.SelectedRows != null) { RoutesBuddy.Instance.MySettings.LastFolder = folderBrowserDialog.SelectedPath; RoutesBuddy.Instance.MySettings.Save(); Cursor.Current = Cursors.WaitCursor; foreach (DataGridViewRow row in RouteList.SelectedRows) { Route route = (Route)row.Cells[0].Tag; string filename = Path.Combine(folderBrowserDialog.SelectedPath, string.Format("{0}{1}.xml", (string)row.Cells[0].Value, (ProfileTypeCombo.SelectedIndex == 0) ? "[GB]" : "[HB]")); using (FileStream fs = File.Open(filename, FileMode.Create)) { if (ProfileTypeCombo.SelectedIndex == 0) fs.Write(encoding.GetBytes(GBprefix), 0, GBprefix.Length); else fs.Write(encoding.GetBytes(HBprefix), 0, HBprefix.Length); int height = (int)HeightNumeric.Value; List<WoWPoint> waypoints = height >= 0 && !UnderWaterCheck.Checked ? route.HighPoints : route.LowPoints; waypoints = ReverseCheck.Checked ? waypoints.Reverse<WoWPoint>().ToList() : waypoints; WoWPoint lastgoodpoint = waypoints[0]; for (int i = 0; i < waypoints.Count; i++) { var newPoint = waypoints[i]; string prefix = ""; string suffix = ""; newPoint.Z += height; if (UnderWaterCheck.Checked && route.HighPoints[i].Z >= newPoint.Z) newPoint.Z = route.HighPoints[i].Z - 5; if (i > 0 && chkPoints.Checked) { Logging.Write("Checking point {0} {1} for navigability...", i, newPoint.ToString()); if (!Styx.Pathing.Navigator.CanNavigateFully(lastgoodpoint, newPoint)) { prefix = "<!-- BAD POINT "; suffix = " -->"; } else { lastgoodpoint = newPoint; } } string buf; if (ProfileTypeCombo.SelectedIndex == 0) buf = string.Format(culture, "{0} <Waypoint>{1} {2} {3}</Waypoint>{4}{5}", prefix, newPoint.X, newPoint.Y, newPoint.Z, suffix, Environment.NewLine); else buf = string.Format(culture, "{0} <Hotspot X=\"{1}\" Y=\"{2}\" Z=\"{3}\" />{4}{5}", prefix, newPoint.X, newPoint.Y, newPoint.Z, suffix, Environment.NewLine); fs.Write(encoding.GetBytes(buf), 0, buf.Length); } if (ProfileTypeCombo.SelectedIndex == 0) fs.Write(encoding.GetBytes(GBpostfix), 0, GBpostfix.Length); else fs.Write(encoding.GetBytes(HBpostfix), 0, HBpostfix.Length); } Logging.Write("Exported {0}", filename); } Cursor.Current = Cursors.Default; } }