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!

ProffesionBuddy Mailing

vuwrr

Member
Joined
Jan 15, 2010
Messages
287
ProfessionBuddy Mailing

When I make profiles for mailing with PB it seems like its on speed and mails too fast for it to do it properly.

For one it makes quite a few "empty" mails with nothing in them and sends them (spamming send too fast?). And sometimes (very rarely though) it includes an item in the mail meant for another recipient later on in the script. (as if it skips send, continues to the next if condition and then sends mixed content).

My question is, is there a way to make it mail like GB2? Slowly and correctly. The processing speed of PB seems to be way to fast for its own good :/
 
Last edited:
Maybe you should mail the items with a integrated wait timer but this does only work if you have to mail specific items i think
 
Yea seVen is onto something here. If you have several mail actions for example
Mail specific item 23425
Mail specific item 45324
Mail specific item 75346

Try add a small wait timer in between the different itemIDs.
If you use category, I dunno what could be wrong - I don't have any problems with it (but I rarely mail)
 
I'll post how I've setup the script:

Code:
<?xml version="1.0" encoding="utf-8"?>
<Professionbuddy>
  <Settings Type="String" DefaultValue="RandomChar" Name="PyriteMail" Summary="Pyrite Mail Recipient" />
  <Settings Type="String" DefaultValue="RandomChar" Name="ObsidiumMail" Summary="Obsidium Mail Recipient" />
  <Settings Type="String" DefaultValue="RandomChar" Name="ElementiumMail" Summary="Elementium Mail Recipient" />
  <Settings Type="String" DefaultValue="RandomChar" Name="HerbMail" Summary="Herb Mail Recipient" />
  <CustomAction Code="var1 = true;" />
  <While Condition="HasNewMail || MailCount &gt; 0" IgnoreCanRun="True">
    <GetMailAction ItemID="" CheckNewMail="True" GetMailType="AllItems" AutoFindMailBox="True" X="0" Y="0" Z="0" MinFreeBagSlots="2" />
    <StackItemsAction />
    <!--Pyrite-->
    <If Condition=" InbagCount ( 52183 ) &gt; 0 " IgnoreCanRun="False">
      <CustomAction Code="var1 = CharacterSettings.Instance.MailRecipient;" />
      <CustomAction Code="CharacterSettings.Instance.MailRecipient = (string)Settings[&quot;PyriteMail&quot;];" />
      <WaitAction Condition="false" Timeout="5000" />
      <MailItemAction Entry="52183" AutoFindMailBox="True" UseCategory="False" Category="TradeGoods" SubCategoryType="WoWItemTradeGoodsClass" SubCategory="None" X="0" Y="0" Z="0" />
      <CustomAction Code="CharacterSettings.Instance.MailRecipient = (string)var1;" />
    </If>
    <!--Obsidium-->
    <If Condition=" InbagCount ( 53038 ) &gt; 0 " IgnoreCanRun="False">
      <CustomAction Code="var1 = CharacterSettings.Instance.MailRecipient;" />
      <CustomAction Code="CharacterSettings.Instance.MailRecipient = (string)Settings[&quot;ObsidiumMail&quot;];" />
      <WaitAction Condition="false" Timeout="5000" />
      <MailItemAction Entry="53038" AutoFindMailBox="True" UseCategory="False" Category="TradeGoods" SubCategoryType="WoWItemTradeGoodsClass" SubCategory="None" X="0" Y="0" Z="0" />
      <CustomAction Code="CharacterSettings.Instance.MailRecipient = (string)var1;" />
    </If>
    <!--Elementium-->
    <If Condition=" InbagCount ( 52185 ) &gt; 0 " IgnoreCanRun="False">
      <CustomAction Code="var1 = CharacterSettings.Instance.MailRecipient;" />
      <CustomAction Code="CharacterSettings.Instance.MailRecipient = (string)Settings[&quot;ElementiumMail&quot;];" />
      <WaitAction Condition="false" Timeout="5000" />
      <MailItemAction Entry="52185" AutoFindMailBox="True" UseCategory="False" Category="TradeGoods" SubCategoryType="WoWItemTradeGoodsClass" SubCategory="None" X="0" Y="0" Z="0" />
      <CustomAction Code="CharacterSettings.Instance.MailRecipient = (string)var1;" />
    </If>
    <!--Whiptail-->
    <If Condition=" InbagCount ( 52988 ) &gt; 0 " IgnoreCanRun="False">
      <CustomAction Code="var1 = CharacterSettings.Instance.MailRecipient;" />
      <CustomAction Code="CharacterSettings.Instance.MailRecipient = (string)Settings[&quot;HerbMail&quot;];" />
      <WaitAction Condition="false" Timeout="5000" />
      <MailItemAction Entry="52988" AutoFindMailBox="True" UseCategory="False" Category="TradeGoods" SubCategoryType="WoWItemTradeGoodsClass" SubCategory="None" X="0" Y="0" Z="0" />
      <CustomAction Code="CharacterSettings.Instance.MailRecipient = (string)var1;" />
    </If>
    <!--Cinderbloom-->
    <If Condition=" InbagCount ( 52983 ) &gt; 0 " IgnoreCanRun="False">
      <CustomAction Code="var1 = CharacterSettings.Instance.MailRecipient;" />
      <CustomAction Code="CharacterSettings.Instance.MailRecipient = (string)Settings[&quot;HerbMail&quot;];" />
      <WaitAction Condition="false" Timeout="5000" />
      <MailItemAction Entry="52983" AutoFindMailBox="True" UseCategory="False" Category="TradeGoods" SubCategoryType="WoWItemTradeGoodsClass" SubCategory="None" X="0" Y="0" Z="0" />
      <CustomAction Code="CharacterSettings.Instance.MailRecipient = (string)var1;" />
    </If>
    <!--Twilight Jasmine-->
    <If Condition=" InbagCount ( 52987 ) &gt; 0 " IgnoreCanRun="False">
      <CustomAction Code="var1 = CharacterSettings.Instance.MailRecipient;" />
      <CustomAction Code="CharacterSettings.Instance.MailRecipient = (string)Settings[&quot;HerbMail&quot;];" />
      <WaitAction Condition="false" Timeout="5000" />
      <MailItemAction Entry="52987" AutoFindMailBox="True" UseCategory="False" Category="TradeGoods" SubCategoryType="WoWItemTradeGoodsClass" SubCategory="None" X="0" Y="0" Z="0" />
      <CustomAction Code="CharacterSettings.Instance.MailRecipient = (string)var1;" />
    </If>
    <!--Stormvine-->
    <If Condition=" InbagCount ( 52984 ) &gt; 0 " IgnoreCanRun="False">
      <CustomAction Code="var1 = CharacterSettings.Instance.MailRecipient;" />
      <CustomAction Code="CharacterSettings.Instance.MailRecipient = (string)Settings[&quot;HerbMail&quot;];" />
      <WaitAction Condition="false" Timeout="5000" />
      <MailItemAction Entry="52984" AutoFindMailBox="True" UseCategory="False" Category="TradeGoods" SubCategoryType="WoWItemTradeGoodsClass" SubCategory="None" X="0" Y="0" Z="0" />
      <CustomAction Code="CharacterSettings.Instance.MailRecipient = (string)var1;" />
    </If>
    <!--Azshara's Veil-->
    <If Condition=" InbagCount ( 52985 ) &gt; 0 " IgnoreCanRun="False">
      <CustomAction Code="var1 = CharacterSettings.Instance.MailRecipient;" />
      <CustomAction Code="CharacterSettings.Instance.MailRecipient = (string)Settings[&quot;HerbMail&quot;];" />
      <WaitAction Condition="false" Timeout="5000" />
      <MailItemAction Entry="52985" AutoFindMailBox="True" UseCategory="False" Category="TradeGoods" SubCategoryType="WoWItemTradeGoodsClass" SubCategory="None" X="0" Y="0" Z="0" />
      <CustomAction Code="CharacterSettings.Instance.MailRecipient = (string)var1;" />
    </If>
    <!--Heartblossom-->
    <If Condition=" InbagCount ( 52986 ) &gt; 0 " IgnoreCanRun="False">
      <CustomAction Code="var1 = CharacterSettings.Instance.MailRecipient;" />
      <CustomAction Code="CharacterSettings.Instance.MailRecipient = (string)Settings[&quot;HerbMail&quot;];" />
      <WaitAction Condition="false" Timeout="5000" />
      <MailItemAction Entry="52986" AutoFindMailBox="True" UseCategory="False" Category="TradeGoods" SubCategoryType="WoWItemTradeGoodsClass" SubCategory="None" X="0" Y="0" Z="0" />
      <CustomAction Code="CharacterSettings.Instance.MailRecipient = (string)var1;" />
    </If>
    <MoveToAction MoveType="Location" Pathing="ClickToMove" Entry="0" X="1932.993" Y="-4213.069" Z="36.71457" />
    <WaitAction Condition="false" Timeout="10000" />
  </While>
</Professionbuddy>

The current wait timers fixed the item overlapping to certain degree. Did you have something else than this in mind because this is how it was setup before I made the post :/
 
Nah those wait timers should be fine although I don't think they'd have to be that long.
I do have one note though - I see that you define var1 but I don't really a reason for that?
First you make a
Code:
var1 = CharacterSettings.Instance.MailRecipient;
And then a
Code:
CharacterSettings.Instance.MailRecipient = (string)var1;
In my eyes that's basically
Code:
CharacterSettings.Instance.MailRecipient = CharacterSettings.Instance.MailRecipient
 
It was intended to "remember" the set mail recipient entered. So that when its done mailing to the different characters it should revert to the correct recipient. Maybe I did it wrong.
 
Ah .. I'm not sure if it works like that either - but I wouldn't put it in every if condition though.
 
I was thinking, could it be due to something on my computer (hardware, software) that makes the mailing quirky? Any script I've tried on the forum with mailing basicly makes these "empty" mails.

Edit:

Scratch that, my mate also experiences the empty mails it seems :/
 
Me.FreeNormalBagSlots >= 2 <-- Does not seem to work when I have a LUA script taking one item at a time. Is the condition wrongly put?

Is there another way to check bagspace?
 
I don't quite understand what you mean - could you elaborate? Maybe an example.
 
Like:

While (Me.FreeNormalBagSlots >= 2)

Then doing a lua script to get 1 item from the mailbox

The idea would be for it to stop at 2 slots. However it just fills my bag (even though the script only take 1 item per activation). So it would seem that the number reported (if any) by Me.FreeNormalBagSlots is incorrect.
 
Oh - I was talking about sending mail. The only way I know of to make it stop picking up mails (easily) at X free bagslots is by using the addon Postal.
 
No I know - but you can make it stop by adding a Wait until condition: Me.FreeNormalBagSlots < 3 and then place a close mail window action after that
 
I've been searching google for a while now and have found some "ideas" to the sending part. Think I've solved the getting mail more or less by now.

The thing I need help for it the actual programming for it to work, hope you have an idea :p

I found this command which is usable in WoW: UseContainerItem(bag,slot)

My problem is how do I make a script to find out (example:) where my full elementium ore stacks are located through PB? So it would basicly fire a macro 12 times with 12 different bag locations (I know how to do the 12 times part) and the click mail.
 
I actually already have a script for that. Lemme look into my own profiles.

EDIT: I think this should be it. It's a part out of a bigger script so something might've been left out. I think it's all there though.
Code:
local i=0 for b=0,4 do for s=1,GetContainerNumSlots(b) do local n=GetContainerItemLink(b,s) if n then if strfind(n,\"52185\") and i<12 then _,c=GetContainerItemInfo(b,s) if c==20 then UseContainerItem(b,s) i=i+1 end end end end end

This will rightclick the first 12 stacks with 20 of the item with the itemID 52185.

Note, if you wanna try this out in WoW first with /run you'll have to remove the escaping of the characters "" around the itemID. Basicly that just means remove the two \'s, so that'll be
Code:
/run local i=0 for b=0,4 do for s=1,GetContainerNumSlots(b) do local n=GetContainerItemLink(b,s) if n then if strfind(n,"52185") and i<12 then _,c=GetContainerItemInfo(b,s) if c==20 then UseContainerItem(b,s) i=i+1 end end end end end
 
Last edited:
Back
Top