What's new
  • Visit Rebornbuddy
  • Visit Panda Profiles
  • Visit LLamamMagic
  • Visit Resources
  • Visit Downloads
  • Visit Portal
RebornBuddy Forums

Register a free account today to become a member! Once signed in, you'll be able to participate on this site by adding your own topics and posts, as well as connect with other members through your own private inbox!

HB ARCHIVES: ProfessionBuddy--DO NOT DELETE

Yes sometimes - but with that problem i cant mill/prospect afk Oo
Is the code the problem or the Disenchantaction"MIll"?

PHP:
    <StackItemsAction />
    <DisenchantAction ActionType="Mill" ItemTarget="All" ItemQuality="Uncommon" ItemId="0" />

Try to mill everything?
 
PHP:
    <StackItemsAction />
    <DisenchantAction ActionType="Mill" ItemTarget="All" ItemQuality="Uncommon" ItemId="0" />

Try to mill everything?

Tried it - didnt work.
15 Ores left and spamming "Done prospecting" ?!
 
Oh and InGBankCount() doesnt work for HORDE?
Got 2 Horde and 1 Alliance and i get the correct amount of items and the alliance character but on horde side i get ZERO for that item even if in GBank is 120 of it.
Fix please

Horde Character: (Gobbo Rogue)
[15:28:06.622 N] [ProfessionSlave]: Refreshing DataStore Data
[17:28:09.017 N]PB 1.573: InteractAction complete
[15:28:08.953 D] InteractDebug:606774264
[15:28:09.005 D] Interact Done:606774264
[15:28:09.070 D] PB 1.573: DataStore Imported
[15:28:14.176 D] PB 1.573: Wait for 00:00:05 or until false Completed
[15:28:14.232 D] Lua failed! Status: 

Alliance Character: (Dwarf Hunter)
[15:27:55.703 N] [ProfessionSlave]: Refreshing DataStore Data
[17:27:57.873 N]PB 1.573: InteractAction complete
[15:27:57.811 D] InteractDebug:744015120
[15:27:57.862 D] Interact Done:744015120
[15:27:57.922 D] PB 1.573: DataStore Imported
[15:28:02.961 D] PB 1.573: Wait for 00:00:05 or until false Completed

I print out in HB's Log how much crap red gems i have in my GuildBank
Ofc All Datastore shit is installed

On Alliance Character i got the correct amount on horde side i get 0 even if i have 300

Reinstalled only neccesary Datastore AddOn
Reinstalled all Datastore Shit with Altoholic
Cleared all WTF dataz from that AddOns
Cleared My profile Data and PB Data in settings

Still same issue

View attachment Rogue Log.txt
 
Last edited:
Prospect Specific item:

<StackItemsAction />
<If Condition="InbagCount(72092) &gt; 5" IgnoreCanRun="True">
<DisenchantAction ActionType="Prospect" ItemTarget="Specific" ItemQuality="Uncommon" ItemId="72092" />
</If>

Milling all herb:

<StackItemsAction />
<If Condition="InbagCount(72237) &gt; 5" IgnoreCanRun="True">
<DisenchantAction ActionType="Mill" ItemTarget="All" ItemQuality="Uncommon" ItemId="0" />
</If>
 
Newbie help plz

NOTE: Newbie question inbound... I loaded up PB via the SVN link and things look to be loading up fine. I get no errors but basically my toon does nothing once I start things up. I have selected PB and Combat as my second. I see that it is using singular as the CC. I scanned the logs and didn't see anything glaring. Can someone take a peek at this and show me the obvious?

View attachment 7012 2013-04-15 11.27.txt
 
Do you use this profile "[AutoAngler] Emperor Salmon - v3 Mailbox.xml" with PB(Combat) :)?
 
Highvoltz

do you have some infos?
Reinstalled PB and changed back to the last 2-3 revisions but it didnt helped.
Horde is broken for GBank item counting
 
Would it be possible to implement GB sorting? Like normal sorting thats implemented already, but for guild banks? Atm I have plenty of not full stacks in gb's, and I have no idea how to sort it fast... Withdrawing, sorting and depositing would take long time to implement, and execute :/

Edit; I used Bankstack (wow addon) and command /compress guild. I saved over 1 gb tab - would be nice to have it integrated into PB, but there is workaround, even easy to implement into profile. Consider this request as very low priority :)
 
Last edited:
Doesn't the StackItemsAction apply for GBs as well?

PHP:
<StackItemsAction />

Hearthstoning still broken, crashes wow, please fix it:(

Just make a wait action so the profile freezes while on loading screen.

PHP:
<!-- Waits 30 seconds -->
      <WaitAction Condition="false" Timeout="30000" />
 
Last edited:
Hey,

i am using DataStore to let my toon know what items are in GuildBank.

This only works for my alliance toon but for my 2 horde toons it doesnt work.
Everytime i print out to HBs Log i get 0 for every itemID.

This is a simple profile because i wanted to get sure thats its not a profile problem.

- 0 Plugins enabled
- DataStore knows on every character how much itemsi have in my GB
- FRESH installed HB
- PB updated fresh
- All same AddOns
- Same HB folder
- Same profile
- All toons in Dalaran same GuildBank


PHP:
<?xml version="1.0" encoding="utf-8"?>
<Professionbuddy>
  <ChangeBotAction BotName="Combat Bot" />
  <CallSubRoutine SubRoutineName="RefreshDataStore" />

  <!-- Movement -->
  <Declaration Code="WoWPoint gotoPoint;" />

  <!-- Shortcut for HB's logtext colors and formating -->
  <Declaration Code="private void LogText(string format, params object[] args) { Logging.Write(Colors.DarkOrange, "[InscriptionSlave]: " + format, args); }" />

  <Declaration Code="public bool SellableShoulderEnchantInGB { get { return InGBankCount (87578) > 0;}}" />
  <Declaration Code="public bool SellableEpicShoulderEnchantInGB { get { return InGBankCount (87559) > 0;}}" />


  <CustomAction Code="LogText("Green Tea Leaf in GB  {0} ",InGBankCount(72234));" />
  <CustomAction Code="LogText("Silkweed in GB        {0} ",InGBankCount(72235));" />
  <CustomAction Code="LogText("Rain Poppy in GB      {0} ",InGBankCount(72237));" />
  <CustomAction Code="LogText("Snow Lily in GB       {0} ",InGBankCount(79010));" />
  <CustomAction Code="LogText("Fools Cap in GB       {0} ",InGBankCount(79011));" />
  <CustomAction Code="LogText("Desecrated Herb in GB {0} ",InGBankCount(89639));" />

  <CustomAction Code="LogText("Crap Orange {0} ",InGBankCount(76130));" />
  <CustomAction Code="LogText("Crap Blue   {0} ",InGBankCount(76133));" />
  <CustomAction Code="LogText("Crap Yellow   {0} ",InGBankCount(76134));" />
  <CustomAction Code="LogText("Crap Violet  {0} ",InGBankCount(76135));" />
  <CustomAction Code="LogText("Crap Red   {0} ",InGBankCount(76136));" />
  <CustomAction Code="LogText("Crap Green   {0} ",InGBankCount(76137));" />

  <CustomAction Code="LogText("Rare Red in GB    {0} ",InGBankCount(76131));" />
  <CustomAction Code="LogText("Rare Blue in GB   {0} ",InGBankCount(76138));" />
  <CustomAction Code="LogText("Rare Green n GB   {0} ",InGBankCount(76139));" />
  <CustomAction Code="LogText("Rare Orange in GB {0} ",InGBankCount(76140));" />
  <CustomAction Code="LogText("Rare Violet in GB   {0} ",InGBankCount(76141));" />
  <CustomAction Code="LogText("Rare Yellow in GB   {0} ",InGBankCount(76142));" />

  <CustomAction Code="LogText("Starlight Ink in GB             {0} ",InGBankCount(79255));" />
  <CustomAction Code="LogText("Ink of Dreams in GB             {0} ",InGBankCount(79254));" />
  <CustomAction Code="LogText("SellableShoulderEnchantInGB     {0} ",SellableShoulderEnchantInGB);" />
  <CustomAction Code="LogText("SellableEpicShoulderEnchantInGB {0} ",SellableEpicShoulderEnchantInGB);" /> 



  <!-- Movement -->
  <SubRoutine SubRoutineName="Goto Point">
    <While Condition="gotoPoint.Distance(Me.Location) > 3" IgnoreCanRun="True">
      <CustomAction Code="MoveTo(gotoPoint);" />
    </While>
  </SubRoutine>

  <!-- Go To GuildBank -->
  <SubRoutine SubRoutineName="GoToGuildBank">
    <If Condition="Me.ZoneId == 4395" IgnoreCanRun="True">
      <CustomAction Code="gotoPoint = new WoWPoint(5973.146, 630.3968, 650.6273);" />
      <CallSubRoutine SubRoutineName="Goto Point" />
    </If>
  </SubRoutine>

  <!-- DataStore Shit -->
  <SubRoutine SubRoutineName="RefreshDataStore">
    <CallSubRoutine SubRoutineName="GoToGuildBank" />
    <CustomAction Code="LogText("Refreshing DataStore Data");" />
    <InteractionAction InteractType="GameObject" Entry="0" InteractDelay="2000" GameObjectType="GuildBank" SpellFocus="Anvil" />
    <CustomAction Code="RefreshDataStore();" />
    <WaitAction Condition="false" Timeout="5000" />
  </SubRoutine>

</Professionbuddy>

Maybe its my own fault because something in the profile is wrong (maybe public declarations? i dont know)
But maybe its a PB problem - if thats the case, then it would be nice if you can fix it highvoltz :)

Maybe someone knows what the problem is

Thse are the parts of the Logfile (i addet a full Logfile in my earlier post)

HORDE characters

[InscriptionSlave]: Refreshing DataStore Data
PB 1.573: InteractAction complete
InteractDebug:593057872
Interact Done:593057872
PB 1.573: DataStore Imported
PB 1.573: Wait for 00:00:05 or until false Completed
Lua failed! Status: 
[InscriptionSlave]: Green Tea Leaf in GB 0
Lua failed! Status: 
[InscriptionSlave]: Silkweed in GB 0
Lua failed! Status: 
[InscriptionSlave]: Rain Poppy in GB 0
Lua failed! Status: 
[InscriptionSlave]: Snow Lily in GB 0

Alliance character

[InscriptionSlave]: Refreshing DataStore Data
InteractDebug:561842120
PB 1.573: InteractAction complete
Interact Done:561842120
PB 1.573: DataStore Imported
PB 1.573: Wait for 00:00:05 or until false Completed
[InscriptionSlave]: Green Tea Leaf in GB 0
[InscriptionSlave]: Silkweed in GB 0
[InscriptionSlave]: Rain Poppy in GB 0
[InscriptionSlave]: Snow Lily in GB 0
 
thanks highvoltz for the amazing botbase!

i use it almost exclusively to write profiles, but one feature that i really need is a "repair" action that will go to the nearest repair vendor. my current workaround is to force a sell action at a specific vendor that i know does repairs, and use an addon to auto repair... unfortunately, if the requirements for the action are met at a point where he is far away from that vendor, then he wastes a lot of time flying to the vendor.
 
Okay,

some more informations.

Inrego made me this simple code to Cache GBank items.
This is the simple profile i made - just to check if it works.

Code:
<?xml version="1.0" encoding="utf-8"?>
<Professionbuddy>
  <ChangeBotAction BotName="Combat Bot" />
  <CallSubRoutine SubRoutineName="CacheGBItems" />

  <!-- Movement -->
  <Declaration Code="WoWPoint gotoPoint;" />

  <!-- Shortcut for HB's logtext colors and formating -->
  <Declaration Code="private void LogText(string format, params object[] args) { Logging.Write(Colors.DarkOrange, &quot;[CachedItem]: &quot; + format, args); }" />

  <!-- Cache GuildBank items -->
  <Declaration Code="public Dictionary&lt;uint, int&gt; CachedGBankCount; 
public int FreeGBankSlots; 
public void CacheGBankCount() 
{ 
    CachedGBankCount = new Dictionary&lt;uint, int&gt;(); 
    using (StyxWoW.Memory.AcquireFrame()) 
    { 
        var tabCount = Lua.GetReturnVal&lt;int&gt;(&quot;return GetNumGuildBankTabs()&quot;, 0); 
        var GoldInGB = Lua.GetReturnVal&lt;int&gt;(&quot;return GetGuildBankMoney()&quot;, 0); 
        var numFreeSlots = 0; 
        for (int i = 1; i &lt;= tabCount; i++) 
        { 
            numFreeSlots += FreeSlotsInTab(i); 
            var tabInfo = Lua.GetReturnValues(string.Format(&quot;return GetGuildBankTabInfo({0})&quot;, i)); 
            var viewable = int.Parse(tabInfo[2]) == 1; 
            var withdrawsAllowed = int.Parse(tabInfo[4]); 
            if (viewable &amp;&amp; withdrawsAllowed &gt; 0) 
            { 
                for (int j = 1; j &lt;= 98; j++) 
                { 
                    var id = Lua.GetReturnVal&lt;uint&gt;(string.Format(&quot;id = string.match(GetGuildBankItemLink({0},{1}), \&quot;item:[%d]+\&quot;) id=string.sub(id, 6) return id&quot;, i, j), 0); 
                    var count = Lua.GetReturnVal&lt;int&gt;(string.Format(&quot;return GetGuildBankItemInfo({0},{1})&quot;, i, j), 1); 
                    if (!CachedGBankCount.ContainsKey(id)) 
                        CachedGBankCount.Add(id, count); 
                    else 
                        CachedGBankCount[id] += count; 
                } 
            } 
        } 
        FreeGBankSlots = numFreeSlots; 
    } 
} 
public int GBankCount(uint id) 
{ 
    int count = 0; 
    CachedGBankCount.TryGetValue(id, out count); 
    return count; 
}
private static int FreeSlotsInTab(int tabIndex) 
{ 
    const string lua = &quot;local tab = {0}      &quot; + 
            &quot;local c = 0                               &quot; + 
            &quot;for i=1, MAX_GUILDBANK_SLOTS_PER_TAB do   &quot; + 
            &quot;  local link = GetGuildBankItemLink(tab,i)&quot; + 
            &quot;  if not link then                        &quot; + 
            &quot;    c = c+1                               &quot; + 
            &quot;  end                                     &quot; + 
            &quot;end                                       &quot; + 
            &quot;return c&quot;; 
    return Lua.GetReturnVal&lt;int&gt;(string.Format(lua, tabIndex), 0); 
}" />

  <!-- Output to Hbs Log-->
  <CustomAction Code="LogText(&quot;Green Tea Leaf in GB  {0} &quot;,GBankCount(72234));" />
  <CustomAction Code="LogText(&quot;Silkweed in GB        {0} &quot;,GBankCount(72235));" />
  <CustomAction Code="LogText(&quot;Rain Poppy in GB      {0} &quot;,GBankCount(72237));" />
  <CustomAction Code="LogText(&quot;Snow Lily in GB       {0} &quot;,GBankCount(79010));" />
  <CustomAction Code="LogText(&quot;Fools Cap in GB       {0} &quot;,GBankCount(79011));" />
  <CustomAction Code="LogText(&quot;Desecrated Herb in GB {0} &quot;,GBankCount(89639));" />

  <CustomAction Code="LogText(&quot;Crap Orange in GB  {0} &quot;,GBankCount(76130));" />
  <CustomAction Code="LogText(&quot;Crap Blue in GB    {0} &quot;,GBankCount(76133));" />
  <CustomAction Code="LogText(&quot;Crap Yellow in GB  {0} &quot;,GBankCount(76134));" />
  <CustomAction Code="LogText(&quot;Crap Violet in GB  {0} &quot;,GBankCount(76135));" />
  <CustomAction Code="LogText(&quot;Crap Red in GB     {0} &quot;,GBankCount(76136));" />
  <CustomAction Code="LogText(&quot;Crap Green in GB   {0} &quot;,GBankCount(76137));" />

  <CustomAction Code="LogText(&quot;Rare Orange in GB {0} &quot;,GBankCount(76140));" />
  <CustomAction Code="LogText(&quot;Rare Blue in GB   {0} &quot;,GBankCount(76138));" />
  <CustomAction Code="LogText(&quot;Rare Yellow in GB {0} &quot;,GBankCount(76142));" />
  <CustomAction Code="LogText(&quot;Rare Violet in GB {0} &quot;,GBankCount(76141));" />
  <CustomAction Code="LogText(&quot;Rare Red in GB    {0} &quot;,GBankCount(76131));" />
  <CustomAction Code="LogText(&quot;Rare Green in GB  {0} &quot;,GBankCount(76139));" />

  <CustomAction Code="LogText(&quot;Starlight Ink in GB {0} &quot;,GBankCount(79255));" />
  <CustomAction Code="LogText(&quot;Ink of Dreams in GB {0} &quot;,GBankCount(79254));" />


  <!-- Movement -->
  <SubRoutine SubRoutineName="Goto Point">
    <While Condition="gotoPoint.Distance(Me.Location) &gt; 3" IgnoreCanRun="True">
      <CustomAction Code="MoveTo(gotoPoint);" />
    </While>
  </SubRoutine>

  <!-- Go To GuildBank -->
  <SubRoutine SubRoutineName="GoToGuildBank">
    <If Condition="Me.ZoneId == 4395" IgnoreCanRun="True">
      <CustomAction Code="gotoPoint = new WoWPoint(5973.146, 630.3968, 650.6273);" />
      <CallSubRoutine SubRoutineName="Goto Point" />
    </If>
  </SubRoutine>

  <!-- Cache GuildBank items -->
  <SubRoutine SubRoutineName="CacheGBItems">
    <CallSubRoutine SubRoutineName="GoToGuildBank" />
    <CustomAction Code="LogText(&quot;Caching GuildBank items&quot;);" />
    <InteractionAction InteractType="GameObject" Entry="0" InteractDelay="2000" GameObjectType="GuildBank" SpellFocus="Anvil" />
    <CustomAction Code="CacheGBankCount();" />
    <WaitAction Condition="false" Timeout="5000" />
  </SubRoutine>
</Professionbuddy>

The first try i let my 3 toons run this profile this happened:
- I got this errors on both HORDE toons
- In HBs Log it prints out i have 0 of every item
- Alliance toon no error and correct output of ALL items (even they are not in Tab 1 oO)


Err: Custom Action:(CacheGBankCount();)
System.OverflowException: Value was either too large or too small for an Int32.
at System.Number.ParseInt32(String s, NumberStyles style, NumberFormatInfo info)
at System.String.System.IConvertible.ToInt32(IFormatProvider provider)
at System.Convert.ChangeType(Object value, Type conversionType, IFormatProvider provider)
at System.Convert.ChangeType(Object value, Type conversionType)
at Styx.WoWInternals.Lua.GetReturnVal[T](String lua, UInt32 retVal)
at CodeDriver.CacheGBankCount()
at CodeDriver.Code1007595460(Object context)
at HighVoltz.Composites.CustomAction.Run(Object context) in c:\Users\Admin\Desktop\Honorbuddy\Bots\Professionbuddy\Composites\CustomAction.cs:line 70

Err: Custom Action:(CacheGBankCount();)
System.OverflowException: Value was either too large or too small for an Int32.
at System.Number.ParseInt32(String s, NumberStyles style, NumberFormatInfo info)
at System.String.System.IConvertible.ToInt32(IFormatProvider provider)
at System.Convert.ChangeType(Object value, Type conversionType, IFormatProvider provider)
at System.Convert.ChangeType(Object value, Type conversionType)
at Styx.WoWInternals.Lua.GetReturnVal[T](String lua, UInt32 retVal)
at CodeDriver.CacheGBankCount()
at CodeDriver.Code794575022(Object context)
at HighVoltz.Composites.CustomAction.Run(Object context) in c:\Users\Admin\Desktop\Honorbuddy\Bots\Professionbuddy\Composites\CustomAction.cs:line 70


The second try i let my 3 toons run this profile this happened:
- I got no errors on all toons
- In HBs Log it prints out i have 0 of every item
- Lua failed! Status: right before the output lines

Only the first default GuildTab was opened because browsing through tabs is not included (i dont know how)

//edit

The third try i let my 3 toons run this profile the exact same stuff happned as in try:
- I got this errors on both HORDE toons
- In HBs Log it prints out i have 0 of every item
- Alliance toon no error and correct output of ALL items (even they are not in Tab 1 oO)

The next 3 tries the same result (error on horde alliance okay)
 
Last edited:
I have a weird PB/GB2 problem. It is kinda hard/annoying to reproduce (cannot Heart as often as I would like to have a totally clean pass through the profile),
so I will just describe it.

I have a profile with parts taken from SmartMOP and what it does is it gathers herbs (GB2), when full hearts to city, switches to combat bot, mills and creates enchants, then portals back to Pandaria (this is pretty much taken literally from SmartMOP), there waits a bit, switches to GB2, waits a bit again and starts GB2.
And my problem is that after return from the city GB2, for the lack of better word, "stutters".

Normally, when GB2 flies around, it will never reach the yellow markers that show target of the current move, switching to a new one just before.
When it stutters, it will fly all the way to the yellow marker, wait a bit, then move on to the next one. Same when going after a herb, it flies to it, waits a bit, and only then starts gathering.
Sometimes stopping/starting helps, sometimes I have to take down HB.

Has any of you seen anything similar, or got any ideas what might be the cause?
 
Attaching log where this happens.
It apparently does not happen for all the yellow spots (observed it, cannot be found in log, afaik),
so my best guess is that the profile leaves some checks/threads/stuff "running", which means PB takes long time to hand ticks over to GB.

Also attached the profile, in case it is some basic don't do there.
 

Attachments

Hello! I'd like to automatise the change of QuestBot profiles. How can I "stop" the flow of actions in order to wait for the quest bot to end the profile? Also, what's the best way to check if the character has already done a quest series or not? Thanks.
 
[20:24:00.291 N] System.IO.DirectoryNotFoundException: Could not find a part of the path 'C:\Users\Justin\Desktop\budddy\Bots\ProfessionBuddy\Localization\Strings.xml'.
at System.IO.__Error.WinIOError(Int32 errorCode, String maybeFullPath)
at System.IO.FileStream.Init(String path, FileMode mode, FileAccess access, Int32 rights, Boolean useRights, FileShare share, Int32 bufferSize, FileOptions options, SECURITY_ATTRIBUTES secAttrs, String msgPath, Boolean bFrom*****, Boolean useLongPath)
at System.IO.FileStream..ctor(String path, FileMode mode, FileAccess access, FileShare share, Int32 bufferSize)
at System.Xml.XmlDownloadManager.GetStream(Uri uri, ICredentials credentials, IWeb***** *****, RequestCachePolicy cachePolicy)
at System.Xml.XmlUrlResolver.GetEntity(Uri absoluteUri, String role, Type ofObjectToReturn)
at System.Xml.XmlReaderSettings.CreateReader(String inputUri, XmlParserContext inputContext)
at System.Xml.XmlReader.Create(String inputUri, XmlReaderSettings settings, XmlParserContext inputContext)
at System.Xml.Linq.XElement.Load(String uri, LoadOptions options)
at System.Xml.Linq.XElement.Load(String uri)
at HighVoltz.Professionbuddy.LoadStringsFromXml(String path) in c:\Users\Justin\Desktop\budddy\Bots\ProfessionBuddy\Professionbuddy\ProfessionBuddy.cs:line 584
at HighVoltz.Professionbuddy.LoadStrings() in c:\Users\Justin\Desktop\budddy\Bots\ProfessionBuddy\Professionbuddy\ProfessionBuddy.cs:line 565
at HighVoltz.Professionbuddy.Initialize() in c:\Users\Justin\Desktop\budddy\Bots\ProfessionBuddy\Professionbuddy\ProfessionBuddy.cs:line 274
[20:24:00.336 N] Err: System.Collections.Generic.KeyNotFoundException: The given key was not present in the dictionary.


I get this everytime :\
 
Back
Top