• Visit Rebornbuddy
  • [Plugin] RoutesBuddy2 - Export Routes addon data to GB2

    Discussion in 'Archives' started by BadWolf, Sep 18, 2012.

    1. BadWolf

      BadWolf New Member

      Joined:
      Jan 15, 2010
      Messages:
      262
      Likes Received:
      11
      Trophy Points:
      0
      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:

      1. Make sure you have the latest version of Honorbuddy
      2. Download and install the Routes addon for WoW from Curse Gaming
      3. unzip the folder into your HonorBuddy/Plugins folder
      4. Go to the continent you want to export routes from
      5. 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
      6. Select RoutesBuddy in your plugin list and press the RoutesBuddy button
      7. Click import and wait until the Export button is enabled
      8. Select the routes that you want to export
      9. Set the Flying height
      10. Select the profile format, GB or HB(GB2)
      11. Click Export and wait while it imports
      12. Optionally change the route names by double-clicking on them. (useful if it has unsupported file name characters)
      13. 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 :)


       

      Attached Files:

      Last edited: Sep 18, 2012
      Crowley likes this.
    2. b4rbi3s

      b4rbi3s New Member

      Joined:
      Mar 27, 2012
      Messages:
      162
      Likes Received:
      1
      Trophy Points:
      0
      Looks nice, will try it and report back later, gj m8
       
    3. BadWolf

      BadWolf New Member

      Joined:
      Jan 15, 2010
      Messages:
      262
      Likes Received:
      11
      Trophy Points:
      0
      FYI I updated the .zip to be ready for the HB API changes coming this week :)
       
    4. ouhac

      ouhac New Member

      Joined:
      Apr 20, 2012
      Messages:
      30
      Likes Received:
      1
      Trophy Points:
      0
      OMG, that so cool! Finally all my routes never more need to rerecord with zap recorder :D If this works well in MoP zones, new gather profile making will be made in seconds :).
       
    5. BadWolf

      BadWolf New Member

      Joined:
      Jan 15, 2010
      Messages:
      262
      Likes Received:
      11
      Trophy Points:
      0
      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

       
    6. rascal9

      rascal9 Member

      Joined:
      Aug 8, 2012
      Messages:
      774
      Likes Received:
      5
      Trophy Points:
      18
      Edit: This thing works Awesome! Makes routing a walk in the park.
       
      Last edited: Sep 24, 2012
    7. rascal9

      rascal9 Member

      Joined:
      Aug 8, 2012
      Messages:
      774
      Likes Received:
      5
      Trophy Points:
      18
      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.
       
    8. rascal9

      rascal9 Member

      Joined:
      Aug 8, 2012
      Messages:
      774
      Likes Received:
      5
      Trophy Points:
      18
      No longer working for me :( At least pandoria isnt.
       
    9. facedark

      facedark New Member

      Joined:
      Jul 8, 2010
      Messages:
      378
      Likes Received:
      2
      Trophy Points:
      0
      Looks promising but currently not working for me.. Perhaps I have the wrong version of Addon, not sure.
       
    10. BadWolf

      BadWolf New Member

      Joined:
      Jan 15, 2010
      Messages:
      262
      Likes Received:
      11
      Trophy Points:
      0
      The Routes addon has not been updated since pre-MoP. I will test the current version to see if it's broken..
       
    11. rascal9

      rascal9 Member

      Joined:
      Aug 8, 2012
      Messages:
      774
      Likes Received:
      5
      Trophy Points:
      18
      Thanks for this :)
       
    12. flat_t

      flat_t New Member

      Joined:
      Mar 17, 2012
      Messages:
      12
      Likes Received:
      0
      Trophy Points:
      0
      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.
       
      Last edited: Oct 7, 2012
    13. rascal9

      rascal9 Member

      Joined:
      Aug 8, 2012
      Messages:
      774
      Likes Received:
      5
      Trophy Points:
      18
      Are you kidding me? SO its working just a level thing?
       
    14. xmsnxtradex

      xmsnxtradex New Member

      Joined:
      Sep 10, 2012
      Messages:
      172
      Likes Received:
      0
      Trophy Points:
      0
      ofc this works. just open the profile after you created it and edit the Maxlvl to 91 and done it works again ;) HF
       
    15. Newways

      Newways New Member

      Joined:
      Dec 4, 2011
      Messages:
      24
      Likes Received:
      0
      Trophy Points:
      0
      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!
       
    16. lerrana

      lerrana New Member

      Joined:
      Jan 11, 2012
      Messages:
      58
      Likes Received:
      0
      Trophy Points:
      0
      props to this thank you so much !
       
    17. Myne

      Myne New Member

      Joined:
      Feb 3, 2012
      Messages:
      93
      Likes Received:
      1
      Trophy Points:
      0
      Last edited: Oct 21, 2012
    18. fracture

      fracture New Member

      Joined:
      Sep 28, 2012
      Messages:
      26
      Likes Received:
      0
      Trophy Points:
      0
      Quick question, is there anyway that you would be able to export the taboo areas as blackspots?
       
    19. iGather

      iGather New Member

      Joined:
      Nov 6, 2012
      Messages:
      2
      Likes Received:
      0
      Trophy Points:
      0
      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?
       
    20. Kamilche

      Kamilche New Member

      Joined:
      Oct 2, 2010
      Messages:
      551
      Likes Received:
      30
      Trophy Points:
      0
      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;
                  }
              }
      
       

    Share This Page