• Visit Rebornbuddy
  • Help!

    Discussion in 'Community Developer Forum' started by DarkShado, Jul 18, 2015.

    1. DarkShado

      DarkShado Banned

      Joined:
      Jan 15, 2010
      Messages:
      105
      Likes Received:
      0
      Trophy Points:
      0
      Ok what I am trying to do is have the Rebornbuddy mine
      so long as 2 conditions are true...

      Lightning Crystals ID 12 is less than the item count I have that part implemented
      with no problems.

      <Gather while="(ItemCount(12) &lt; &Count;)">

      My problem comes when it now also has to check that the Lightning shards have not exceeded
      9999 as well. How can I compare two items at the same time and keep it gathering
      The lightning shards is ID # 6

      can I nest the crystal code on the inside of another Gather while? how do you compare two variables
      and keep it harvesting so long as both are true.

      Any help would be appreciated.
       
      Last edited: Jul 18, 2015
    2. kagamihiiragi17

      kagamihiiragi17 Community Developer

      Joined:
      Jun 24, 2014
      Messages:
      873
      Likes Received:
      25
      Trophy Points:
      0
      while="condition1 and condition2"
       
    3. DarkShado

      DarkShado Banned

      Joined:
      Jan 15, 2010
      Messages:
      105
      Likes Received:
      0
      Trophy Points:
      0
      Can you do that with this? I know in C we used to do While Condition 1 && Condition 2
      something like that.

      Not working using the and in between can you give me an example please?

      <Gather while="(ItemCount(12) &lt; &Count; ItemCount(6) &lt; &ShardMax)">

      Saying that this is not properly formatted.


      [01:18:17.604 N] Failed to load profile: ')' is an unexpected token. The expected token is ';'. Line 54, position 84.
      [01:18:17.604 D] System.Xml.XmlException: ')' is an unexpected token. The expected token is ';'. Line 54, position 84.
      at System.Xml.XmlTextReaderImpl.Throw(Exception e)
      at System.Xml.XmlTextReaderImpl.Throw(String res, String[] args)
      at System.Xml.XmlTextReaderImpl.ThrowUnexpectedToken(String expectedToken1, String expectedToken2)
      at System.Xml.XmlTextReaderImpl.ThrowUnexpectedToken(Int32 pos, String expectedToken1, String expectedToken2)
      at System.Xml.XmlTextReaderImpl.HandleEntityReference(Boolean isInAttributeValue, EntityExpandType expandType, Int32& charRefEndPos)
      at System.Xml.XmlTextReaderImpl.ParseAttributeValueSlow(Int32 curPos, Char quoteChar, NodeData attr)
      at System.Xml.XmlTextReaderImpl.ParseAttributes()
      at System.Xml.XmlTextReaderImpl.ParseElement()
      at System.Xml.XmlTextReaderImpl.ParseElementContent()
      at System.Xml.XmlTextReaderImpl.Read()
      at System.Xml.Linq.XContainer.ReadContentFrom(XmlReader r, LoadOptions o)
      at System.Xml.Linq.XElement.ReadElementFrom(XmlReader r, LoadOptions o)
      at System.Xml.Linq.XElement.Load(XmlReader reader, LoadOptions options)
      at System.Xml.Linq.XElement.Load(TextReader textReader, LoadOptions options)
      at ff14bot.NeoProfiles.NeoProfile.Load(String path)
      at ff14bot.NeoProfiles.NeoProfileManager.Load(String profilePath, Boolean rememberPath)
       
      Last edited: Jul 18, 2015
    4. DarkShado

      DarkShado Banned

      Joined:
      Jan 15, 2010
      Messages:
      105
      Likes Received:
      0
      Trophy Points:
      0
      Ok I think I got it....

      I saw a post from Mast who gave me a hint on how to do it.

      https://www.thebuddyforum.com/rebornbuddy-forum/146116-release-rebornbuddy-version-1-0-294-a-50.html

      I had to embed it around a IF statement first and the put the while gather on the inside.

      6 is the item ID in this case Lightning Shards and 9999 is the amount I want to make sure they do not
      have which is the max amount you can carry.

      <If Condition="not HasAtLeast(6,9999)">
      Code:
      <Profile>
        <Name>Botanist - Lightning Shard Farming at Black Brush Station Central Thanalan</Name>
        <KillRadius>50</KillRadius>
        <!--User Configuration-->
        <CodeChunks>
          <CodeChunk Name="Botany">
            <![CDATA[ff14bot.Managers.ChatManager.SendChat("/gs change 03");]]>
          </CodeChunk>
        </CodeChunks>
        <!--End User Configuration-->
        <Order>
          <RunCode Name="Botany"/>
          <WaitTimer WaitTime="3"/>
            <If Condition="not IsOnMap(141)">
              <TeleportTo Name="Black Brush Station" AetheryteId="53" />
            </If>
              <If Condition="not HasAtLeast(6,9999)">
                <Gather while="(ItemCount(12) &lt; &Count;)">
                 <GatherObject>Mature Tree</GatherObject>
                 <HotSpots>
                 <Hotspot Radius="90" XYZ="155.4079, 11.58007, 470.3077"/>
                 </HotSpots>
                 <ItemNames>
                    <ItemName>Lightning Crystal</ItemName>
                    <ItemName>Lightning Shard</ItemName>
                 </ItemNames>
                 <GatheringSkillOrder>
                    <GatheringSkill SpellName="Byregot's Ward" TimesToCast="1"/>
                 </GatheringSkillOrder>
                </Gather>
                <LogMessage Message= "Done Farming Lightning Crystals, Teleporting to &TeleportLoc;"/>
                <TeleportTo Name="&TeleportLoc;" AetheryteId="&TeleportID;" />
           </If> 
               <LogMessage Message= "Reached 9999 Lightning Shards, Teleporting to &TeleportLoc;"/>
               <TeleportTo Name="&TeleportLoc;" AetheryteId="&TeleportID;" />
        </Order>
      </Profile>
      
       
      Last edited: Jul 18, 2015
    5. kagamihiiragi17

      kagamihiiragi17 Community Developer

      Joined:
      Jun 24, 2014
      Messages:
      873
      Likes Received:
      25
      Trophy Points:
      0
      while="(ItemCount(12) &lt; &Count; ItemCount(6) &lt; &ShardMax)"

      Tell me where there is an 'and' in that condition

       
    6. DarkShado

      DarkShado Banned

      Joined:
      Jan 15, 2010
      Messages:
      105
      Likes Received:
      0
      Trophy Points:
      0
      I got it working already anyways :)

      And I kind of like doing it this way.. the way I did it
      I can log out a message as to what condition was met weather it
      reached the goal of the amount of crystals or if it maxed out on
      shards.

      I have two separate messages which get logged the
      way I did it..

      If you do it the other way it can't really tell what one of
      the two conditions were met.

      So I think I will do it this way I kind of like it this way.

      Thanks,
       
      Last edited: Jul 19, 2015
    7. Cloud30000

      Cloud30000 New Member

      Joined:
      May 9, 2015
      Messages:
      298
      Likes Received:
      7
      Trophy Points:
      0
      Your code never leaves the Gather loop after it enters when shards exceed &Shard since the If check does not happen during the loop; it only prevents it from re-entering the loop after it leaves for a different reason.
       

    Share This Page