• Visit Rebornbuddy
  • Visit Panda Profiles
  • Visit LLamamMagic
  • Hearthstone and using portals

    Discussion in 'Archives' started by obi262, May 30, 2011.

    1. obi262

      obi262 New Member

      Joined:
      May 12, 2011
      Messages:
      16
      Likes Received:
      0
      Trophy Points:
      0
      I'm making a profile which starts off in a capital city. I want the profile to go to several hotspots and then after it completes them it uses the hearthstone. The hearthstone should be set to a capital city with portals to the cataclysm zones eg Stormwind. It should then go to the portals and use the Twilight Highlands portal. There are another number of hotspots there. After it is done with those hotspots it will use the portal in Highbank or Dragonmaw port depending on if the character is alliance or horde. It will then take the mount hyjal portal and will continue the loop.

      TLDR:
      1- start in org or SW
      2- take portal to hyjal
      3- go to hotspots
      4- use hearthstone
      5- take portal to twilight highlands
      6- go to hotspots
      7- take portal back to org or SW
      8- repeat

      Need to know how to make it use hearthstone.

      How to define which hotspots are used when.

      How to make it use portals.

      How to make it loop continuously.
       
    2. chinajade

      chinajade Well-Known Member Moderator Buddy Core Dev

      Joined:
      Jul 20, 2010
      Messages:
      17,540
      Likes Received:
      172
      Trophy Points:
      63
      Hi, Obi262!

      Nice, clear problem description. Thanks!


      --------------------
      Either...


      Or, something like this to 'set' the hearthstone...
      HTML:
          <RunTo X="-9784.669" Y="-1417.775" Z="56.46722" />
          <CustomBehavior File="InteractWith" NpcId="1234" GossipOptions="1" />
          <CustomBehavior File="RunMacro" Macro="/click StaticPopup1Button1" NumOfTimes="1" WaitTime="2000"/>
      
      and something like this to use it...
      HTML:
      <CustomBehavior File="RunMacro" Macro="/use Hearthstone" NumOfTimes="1" WaitTime="15000"/>
      

      --------------------
      HTML:
      <If Condition="Me.ZoneId == 4922">  <!-- Twilight Highlands -->
          <SetGrindArea>
              <GrindArea>
                  &lt;!-- ...whatever... -->
                  &lt;!-- leave out 'whatever', if you just want to visit and not fight things -->
      
                  <HotSpots>
                      &lt;!-- ...long list of hotspots... -->
      
                      &lt;!-- last hostpot -->
                      <Hotspot X="-9783.917" Y="-1408.879" Z="97.8879" />
                  </HotSpots>
              </GrindArea>
          </SetGrindArea>
      
          &lt;!-- Grind until we're within 3 yards of last hotspot -->
          <GrindTo Condition="Me.Location.Distance(new WoWPoint(-9783.917, -1408.879, 97.8879)) &lt; 3" />  
      </If>
      

      --------------------
      The UsePortal behavior...
      HTML:
      <If Condition="Me.IsAlliance">
          <RunTo Name="Alliance portal" ... />
          <CustomBehavior File="UsePortal" ... />
      <ElseIf>  &lt;!-- Hordies -->
          <RunTo Name="Horde portal" ... />
          <CustomBehavior File="UsePortal" ... />
          <ElseIf>
      </If>
      
      You can also do it with the MyCTM behavior. You may need to tune it a bit to get the right location. You may need to follow it by a WaitTimer behavior to allow for zoning time.


      --------------------
      HTML:
      &lt;!-- loop forever -->
      <While Condition="true">
      
          &lt;!-- ...whatever... -->
      
      </While>
      

      cheers & good luck with it,
      chinajade
       
      Last edited: May 30, 2011
    3. obi262

      obi262 New Member

      Joined:
      May 12, 2011
      Messages:
      16
      Likes Received:
      0
      Trophy Points:
      0
      Just a few more questions since this is my first time programming in HTML (or so i think this is) used to c++.

      1- how would i set condition = true for the loop . Do i need to initialize some sort of boolean variable? or do i just say condition = true before i open the While statement.
      2- the portals in twilight highlands arent click activated they are walk through activated so how would i make the profile do that? Would i take a hotspot just behind it?
      3- how would i make the profile wait for the portal to finish moving the character? or will it automatically wait until the loading screen has gone?
       
    4. Kickazz006

      Kickazz006 Well-Known Member Moderator

      Joined:
      Jan 15, 2010
      Messages:
      20,567
      Likes Received:
      302
      Trophy Points:
      83
      PHP:
      <While Condition="True" >

      // everything else here that you want the bot to do

      </While>
      you can also put anything in the condition. me.level &gt;= 85, me.isalliance / me.ishorde, etc
       
    5. obi262

      obi262 New Member

      Joined:
      May 12, 2011
      Messages:
      16
      Likes Received:
      0
      Trophy Points:
      0
      Thanks for the clarification.

      Anyone have a link for an up to date zone ID table. All the ones i found from google are pre cata. Thanks
       
    6. chinajade

      chinajade Well-Known Member Moderator Buddy Core Dev

      Joined:
      Jul 20, 2010
      Messages:
      17,540
      Likes Received:
      172
      Trophy Points:
      63
      1. "true" and "false" are boolean 'constants'... you may use them as is. The documentation for using the Condition attribute is here:
      [wiki]Honorbuddy Profile Tag Attribute: Condition[/wiki]

      2. UsePortal behavior has you start at one point, and define another point right in front of the portal. UsePortal then goes to the first point, and arranges to walk through the point in front of the portal, and keeps going. This should cause you to 'zone'.

      If you chose the MyCTM technique, you indeed select a point inside, or slightly behind the portal. To figure out the correct point, you frequently have to stand in front of the portal, then 'do some math' to see what the next point just inside the portal would be.

      With MyCTM, you don't want to make the point "too far" away. If you do, MyCTM will think it never arrived, and keep trying to go back to it. There is some kind of 'slop factor' built into MyCTM to quit trying when its within a certain distance of the destination. This is why MyCTM can be a bit tricky.

      3. This logic is built into UsePortal.

      If you use, MyCTM, it should be followed by a WaitTimer behavior for this. Since 'zoning times' differ for everyone based on their CPU and disk access (there are usually a lot of textures loaded from disk during a 'zoning' process), so you'll have to find a happy medium that gets you zoned, but doesn't have everyone standing around for too long. The problem is another reason that MyCTM is tricky when using portals. When I've used it in the past, I just set a flat WaitTimer of 60secs and hope it covers most people. I don't recall any complains.


      The Wiki is still stale with respect to behavior documentation (too many irons in the fire for me). But, it does have some value, even stale:
      [wiki]Category:Honorbuddy CustomBehavior[/wiki]

      Most behaviors have 'developer-quality' comments at the top of their files. Your behaviors are located in &lt;HB_install_dir>/Quest Behaviors. But, believe it or not, even these comments are sometimes stale or just wrong.

      I'm slowly working my way through trying to get documentation up to reasonable expectations. I've only made it through the 'E' behaviors so far. Everything after 'E' may have errors or be stale.


      Here, are some other resources you may find useful:
      [wiki]Profile Writing: Locating IDs for Game World Entities[/wiki]
      [wiki]Honorbuddy Profile Writing: Continent ID and Dungeon ID List[/wiki]
      [wiki]Profile Writing: Locating X-Y-Z Coordinates for Game World Entities[/wiki]


      cheers,
      chinajade
       
      Last edited: May 30, 2011
    7. obi262

      obi262 New Member

      Joined:
      May 12, 2011
      Messages:
      16
      Likes Received:
      0
      Trophy Points:
      0
      Thank you very much for your help chinajade.

      Hopefully my last question. After using the hearthstone i want it to mount up then fly to the point <X,Y,Z> to use the portal. What would i use because RunTo i assume will make it walk there and in stormwing the portals are on an island in the middle of a lake. Plus it would look very suspicous to see a character do that several times in an hour.

      Thanks
       
    8. chinajade

      chinajade Well-Known Member Moderator Buddy Core Dev

      Joined:
      Jul 20, 2010
      Messages:
      17,540
      Likes Received:
      172
      Trophy Points:
      63
      This is the FlyTo behavior. Your mount point and your destination must be Outdoors. So, you may have to supplement it with RunTos.

      cheers & good writing,
      chinajade
       
    9. obi262

      obi262 New Member

      Joined:
      May 12, 2011
      Messages:
      16
      Likes Received:
      0
      Trophy Points:
      0
      Guessed it two minutes ago :D thanks anyway.

      EDIT 2:

      So i have quite a few weird errors. Any ideas on how to solve them?
      [03:31:52:899] XML Error: Unknown tag "FlyTo" (Input: "<FlyTo X="-8190.023" Y="417.6106" Z="116.8556" />") in "SubProfile"! - On line 51 - [<FlyTo X="-8190.023" Y="417.6106" Z="116.8556" />]
      [03:31:52:899] XML Error: Unknown tag "CustomBehavior" (Input: "<CustomBehavior File="UsePortal" />") in "SubProfile"! - On line 52 - [<CustomBehavior File="UsePortal" />]
      [03:31:52:899] XML Error: Unknown tag "If" (Input: "<If Condition="Me.ZoneId == 4922">
      [03:17:55:617] XML Error: Unknown tag "While" (Input: "<While Condition="True">

      Is it possible to send either of you the code to look over?

      Thanks
       
      Last edited: May 30, 2011
    10. chinajade

      chinajade Well-Known Member Moderator Buddy Core Dev

      Joined:
      Jul 20, 2010
      Messages:
      17,540
      Likes Received:
      172
      Trophy Points:
      63
      Just post the problem in the forum. Someone may get to it first, and we've got lots of great developers and profile-authors here.

      If this is your fist profile, two more resources for you...

      [wiki]HonorBuddy: Getting Started as a Profile Writer[/wiki]
      [wiki]Quest Order Starter Profile[/wiki]

      It will take you a couple of hours to absorb the material, but it will save you a *lot* of heartburn and avoid 'gotchas' when writing profiles. It more than makes up for the time invested reading.


      cheers,
      chinajade
       
    11. obi262

      obi262 New Member

      Joined:
      May 12, 2011
      Messages:
      16
      Likes Received:
      0
      Trophy Points:
      0
      Looked over both these resources last night very useful. I noticed that the CustomBehavior useportal isnt included in the CB wiki. I'm also experiencing an XML error that i don't know how to debug.
      If it helps the profile is a Fishing profile for PoolFisher 1.1.5.

      [13:35:32:34] XML Error: Unknown tag "While" (Input: "<While Condition="true">
      What would be causing this since the While tag is supposed to work.

      Thanks
       
    12. chinajade

      chinajade Well-Known Member Moderator Buddy Core Dev

      Joined:
      Jul 20, 2010
      Messages:
      17,540
      Likes Received:
      172
      Trophy Points:
      63
      1. Not all of the behaviors are documented in the Wiki yet. They keep changing. I've only got up to behaviors named 'E''s comments in line, and Wiki pages up-to-date. For UsePortal, you'll have to read the comments at the top of the UsePortal.cs file to see how to use it.

      2. The While tag works great. If you skate down towards the bottom of any of those XML-element pages, you'll see what bots the XML element applies to. The PoolFisher bot isn't any of them. :) Largely the tags in the Wiki are for the Quest, Grinding, and BGBots. Bots like InstanceBuddy and PoolFisher are provided by 3rd parties, and their file formats remain undocumented, unless the author documented it in his post or includes something in the zip download.

      cheers,
      chinajade
       
    13. obi262

      obi262 New Member

      Joined:
      May 12, 2011
      Messages:
      16
      Likes Received:
      0
      Trophy Points:
      0
      Where are the custombehaviors stored in the HB folder?
       
    14. obi262

      obi262 New Member

      Joined:
      May 12, 2011
      Messages:
      16
      Likes Received:
      0
      Trophy Points:
      0
      Nevermind i have decided to abandon this profile as the poolfisher automatically repeats the hotspots making it impossible to do anything outside the hotspots.
       

    Share This Page