Download
(5Kb)
Download
Updated: 11-20-22 01:40 AM
Compatibility:
Dragonflight (10.0.2)
Updated:11-20-22 01:40 AM
Created:08-18-12 08:40 AM
Downloads:4,326
Favorites:11
MD5:

Bulk Buy

Version: 1.10
by: Choonstertwo [More]

Bulk Buy allows you to buy stackable items in any quantity (even if the merchant sells them in stacks greater than 1) and also allows you to buy multiple stacks at once (including non-stackable items).

When purchasing items that are sold in stacks greater than 1, the left and right buttons on the stack split frame will now decrement and increment by 1 by default. When the split stack modifier (Shift) is held, the left and right buttons will decrement and increment by the stack count instead.

When purchasing items that are sold for non-gold currencies in stacks greater than 1, the AddOn will buy the largest multiple of the stack size sold by the merchant less than the amount entered in the stack split popup.

There is no in-game configuration, but if for some odd reason you need to buy more than 10,000 of an item at once you can edit the MAX_STACK number at the top of the core.lua file to raise the limit.

Bulk Buy was inspired by an AddOn with very similar functionality I used a long time ago whose name I can't remember. I couldn't find this AddOn on WoW Interface or Curse, so I decided to recreate its functionality myself. Although the functionality is borrowed, the code itself is completely my own work.

Bulk Buy
1.10 (2022-11-20)
Full Changelog Previous Releases
  • 1.10
  • Bump TOC Interface version to 10.0.2
  • Add Lua VS Code extension settings
  • Add script to package and publish to WoW game directories
  • Run GH Actions workflow on all pushes, not just tags
  • Create GitHub Actions workflow for the BigWigs packager script
    - Remove Travis CI configuration
  • Ignore VS Code workspace
Optional Files (0)


Post A Reply Comment Options
Unread 09-21-12, 08:11 AM  
Choonstertwo
A Chromatic Dragonspawn
 
Choonstertwo's Avatar
AddOn Author - Click to view AddOns

Forum posts: 194
File comments: 105
Uploads: 34
Originally Posted by Angrysteel
Vendor = Zulna in Org - <Justice Heirlooms>

Item = Burnished Warden Staff

Output:
Code:
[08:45]<Button:MerchantItem6ItemButton
[08:45]    CanChangeAttribute() => 1,
[08:45]    CanChangeProtectedState() => 1,
[08:45]    count = 1,
[08:45]    extendedCost = true,
[08:45]    GetAlpha() => 1,
[08:45]    GetAnimationGroups() => nil,
[08:45]    GetBackdrop() => nil,
[08:45]    GetBackdropBorderColor() => nil,
[08:45]    GetBackdropColor() => nil,
[08:45]    GetBottom() => 442,
[08:45]    GetBoundsRect() => 178.50003051758, 427.49996948242, 64, 64.000022888184,
[08:45]    GetButtonState() => "NORMAL",
[08:45]    GetCenter() => 210.50001525879, 460.5,
[08:45]    GetChildren() => nil,
[08:45]    GetClampRectInsets() => 0, 0, 0, 0,
[08:45]    GetDepth() => 0,
[08:45]    GetDisabledFontObject() => nil,
[08:45]    GetDisabledTexture() => nil,
[08:45]    GetDontSavePosition() => nil,
[08:45]    GetEffectiveAlpha() => 1,
[08:45]    GetEffectiveDepth() => 1,
[08:45]    GetEffectiveScale() => 1,
[08:45]    GetFontString() => nil,
[08:45]    GetFrameLevel() => 21,
[08:45]    GetFrameStrata() => "MEDIUM",
[08:45]    GetHeight() => 36.999988555908,
[08:45]    GetHighlightFontObject() => nil,
[08:45]    GetHighlightTexture() => <Texture:(anon)>,
[08:45]    GetHitRectInsets() => 0, 0, 0, 0,
[08:45]    GetID() => 26,
[08:45]    GetLeft() => 192.00001525879,
[08:45]    GetMaxResize() => 0, 0,
[08:45]    GetMinResize() => 0, 0,
[08:45]    GetMotionScriptsWhileDisabled() => false,
[08:45]    GetName() => "MerchantItem6ItemButton",
[08:45]    GetNormalFontObject() => nil,
[08:45]    GetNormalTexture() => <Texture:MerchantItem6ItemButtonNormalTexture>,
[08:45]    GetNumChildren() => 0,
[08:45]    GetNumPoints() => 1,
[08:45]    GetNumRegions() => 7,
[08:45]    GetObjectType() => "Button",
[08:45]    GetParent() => <Frame:MerchantItem6>,
[08:45]    GetPoint(1) => "TOPLEFT", <Frame:MerchantItem6>, "TOPLEFT", 0, 0,
[08:45]    GetPropagateKeyboardInput() => false,
[08:47]    GetPushedTextOffset() => 1.5670927762985, -1.5670927762985,
[08:47]    GetPushedTexture() => <Texture:(anon)>,
[08:47]    GetRect() => 192.00001525879, 442, 37, 36.999988555908,
[08:47]    GetRegions() => <Texture:MerchantItem6ItemButtonIconTexture>, <FontString:MerchantItem6ItemButtonCount>, <FontString:MerchantItem6ItemButtonStock>, <Texture:MerchantItem6ItemButtonSearchOverlay>, <Texture:MerchantItem6ItemButtonNormalTexture>, <Texture:(anon)>, <Texture:(anon)>,
[08:47]    GetRight() => 229.00001525879,
[08:47]    GetScale() => 1,
[08:47]    GetSize() => 37, 36.999988555908,
[08:47]    GetText() => nil,
[08:47]    GetTextHeight() => 0,
[08:47]    GetTextWidth() => 0,
[08:47]    GetTitleRegion() => nil,
[08:47]    GetTop() => 479,
[08:47]    GetWidth() => 37,
[08:47]    hasItem = true,
[08:47]    icon = <Texture:MerchantItem6ItemButtonIconTexture>,
[08:47]    IsClampedToScreen() => nil,
[08:47]    IsDragging() => false,
[08:47]    IsEnabled() => 1,
[08:47]    IsIgnoringDepth() => nil,
[08:47]    IsJoystickEnabled() => nil,
[08:47]    IsKeyboardEnabled() => nil,
[08:47]    IsMouseEnabled() => 1,
[08:47]    IsMouseOver() => true,
[08:47]    IsMouseWheelEnabled() => nil,
[08:47]    IsMovable() => nil,
[08:47]    IsProtected() => nil, nil,
[08:47]    IsResizable() => nil,
[08:47]    IsShown() => 1,
[08:47]    IsToplevel() => nil,
[08:47]    IsUserPlaced() => nil,
[08:47]    IsVisible() => 1,
[08:47]    link = "|cffe6cc80|Hitem:79131:0:0:0:0:0:0:0:85:0:0|h[Burnished Warden Staff]|h|r",
[08:47]    name = "Burnished Warden Staff",
[08:47]    numInStock = -1,
[08:47]    searchOverlay = <Texture:MerchantItem6ItemButtonSearchOverlay>,
[08:47]    SplitStack = function: 000000001E8C96D0,
[08:47]    texture = "Interface\\Icons\\INV_Staff_29",
[08:47]    UpdateTooltip = function: 0000000034857330
[08:47]>
This happens while trying to buy any Hierloom Item.

This also happens when trying to buy any pvp items (tried about 10 different items).
Was there any more to the error than you posted? If so, can you post the full error?
Report comment to moderator  
Reply With Quote
Unread 09-21-12, 07:48 AM  
Angrysteel
A Murloc Raider

Forum posts: 6
File comments: 203
Uploads: 0
Vendor = Zulna in Org - <Justice Heirlooms>

Item = Burnished Warden Staff

Output:
Code:
[08:45]<Button:MerchantItem6ItemButton
[08:45]    CanChangeAttribute() => 1,
[08:45]    CanChangeProtectedState() => 1,
[08:45]    count = 1,
[08:45]    extendedCost = true,
[08:45]    GetAlpha() => 1,
[08:45]    GetAnimationGroups() => nil,
[08:45]    GetBackdrop() => nil,
[08:45]    GetBackdropBorderColor() => nil,
[08:45]    GetBackdropColor() => nil,
[08:45]    GetBottom() => 442,
[08:45]    GetBoundsRect() => 178.50003051758, 427.49996948242, 64, 64.000022888184,
[08:45]    GetButtonState() => "NORMAL",
[08:45]    GetCenter() => 210.50001525879, 460.5,
[08:45]    GetChildren() => nil,
[08:45]    GetClampRectInsets() => 0, 0, 0, 0,
[08:45]    GetDepth() => 0,
[08:45]    GetDisabledFontObject() => nil,
[08:45]    GetDisabledTexture() => nil,
[08:45]    GetDontSavePosition() => nil,
[08:45]    GetEffectiveAlpha() => 1,
[08:45]    GetEffectiveDepth() => 1,
[08:45]    GetEffectiveScale() => 1,
[08:45]    GetFontString() => nil,
[08:45]    GetFrameLevel() => 21,
[08:45]    GetFrameStrata() => "MEDIUM",
[08:45]    GetHeight() => 36.999988555908,
[08:45]    GetHighlightFontObject() => nil,
[08:45]    GetHighlightTexture() => <Texture:(anon)>,
[08:45]    GetHitRectInsets() => 0, 0, 0, 0,
[08:45]    GetID() => 26,
[08:45]    GetLeft() => 192.00001525879,
[08:45]    GetMaxResize() => 0, 0,
[08:45]    GetMinResize() => 0, 0,
[08:45]    GetMotionScriptsWhileDisabled() => false,
[08:45]    GetName() => "MerchantItem6ItemButton",
[08:45]    GetNormalFontObject() => nil,
[08:45]    GetNormalTexture() => <Texture:MerchantItem6ItemButtonNormalTexture>,
[08:45]    GetNumChildren() => 0,
[08:45]    GetNumPoints() => 1,
[08:45]    GetNumRegions() => 7,
[08:45]    GetObjectType() => "Button",
[08:45]    GetParent() => <Frame:MerchantItem6>,
[08:45]    GetPoint(1) => "TOPLEFT", <Frame:MerchantItem6>, "TOPLEFT", 0, 0,
[08:45]    GetPropagateKeyboardInput() => false,
[08:47]    GetPushedTextOffset() => 1.5670927762985, -1.5670927762985,
[08:47]    GetPushedTexture() => <Texture:(anon)>,
[08:47]    GetRect() => 192.00001525879, 442, 37, 36.999988555908,
[08:47]    GetRegions() => <Texture:MerchantItem6ItemButtonIconTexture>, <FontString:MerchantItem6ItemButtonCount>, <FontString:MerchantItem6ItemButtonStock>, <Texture:MerchantItem6ItemButtonSearchOverlay>, <Texture:MerchantItem6ItemButtonNormalTexture>, <Texture:(anon)>, <Texture:(anon)>,
[08:47]    GetRight() => 229.00001525879,
[08:47]    GetScale() => 1,
[08:47]    GetSize() => 37, 36.999988555908,
[08:47]    GetText() => nil,
[08:47]    GetTextHeight() => 0,
[08:47]    GetTextWidth() => 0,
[08:47]    GetTitleRegion() => nil,
[08:47]    GetTop() => 479,
[08:47]    GetWidth() => 37,
[08:47]    hasItem = true,
[08:47]    icon = <Texture:MerchantItem6ItemButtonIconTexture>,
[08:47]    IsClampedToScreen() => nil,
[08:47]    IsDragging() => false,
[08:47]    IsEnabled() => 1,
[08:47]    IsIgnoringDepth() => nil,
[08:47]    IsJoystickEnabled() => nil,
[08:47]    IsKeyboardEnabled() => nil,
[08:47]    IsMouseEnabled() => 1,
[08:47]    IsMouseOver() => true,
[08:47]    IsMouseWheelEnabled() => nil,
[08:47]    IsMovable() => nil,
[08:47]    IsProtected() => nil, nil,
[08:47]    IsResizable() => nil,
[08:47]    IsShown() => 1,
[08:47]    IsToplevel() => nil,
[08:47]    IsUserPlaced() => nil,
[08:47]    IsVisible() => 1,
[08:47]    link = "|cffe6cc80|Hitem:79131:0:0:0:0:0:0:0:85:0:0|h[Burnished Warden Staff]|h|r",
[08:47]    name = "Burnished Warden Staff",
[08:47]    numInStock = -1,
[08:47]    searchOverlay = <Texture:MerchantItem6ItemButtonSearchOverlay>,
[08:47]    SplitStack = function: 000000001E8C96D0,
[08:47]    texture = "Interface\\Icons\\INV_Staff_29",
[08:47]    UpdateTooltip = function: 0000000034857330
[08:47]>
This happens while trying to buy any Hierloom Item.

This also happens when trying to buy any pvp items (tried about 10 different items).
Last edited by Angrysteel : 09-21-12 at 07:52 AM.
Report comment to moderator  
Reply With Quote
Unread 09-21-12, 07:32 AM  
Choonstertwo
A Chromatic Dragonspawn
 
Choonstertwo's Avatar
AddOn Author - Click to view AddOns

Forum posts: 194
File comments: 105
Uploads: 34
Originally Posted by Choonstertwo
Originally Posted by Angrysteel
Message: Interface\AddOns\BulkBuy\core.lua:10: attempt to compare number with nil
Time: 09/21/12 08:09:06
Count: 1
Stack: [C]: ?
Interface\AddOns\BulkBuy\core.lua:10: in function `BulkBuyMerchantItem'
Interface\AddOns\BulkBuy\core.lua:36: in function `OnAccept'
Interface\FrameXML\StaticPopup.lua:3827: in function `StaticPopup_OnClick'
[string "*:OnClick"]:1: in function <[string "*:OnClick"]:1>

Locals:

Got this error when trying to buy a heirloom item.
Thanks for the report, I'll look into this now.
Which item were you trying to buy and from what vendor? What output do you get when you mouseover the item icon and run this? /dump GetMouseFocus()
Report comment to moderator  
Reply With Quote
Unread 09-21-12, 07:21 AM  
Choonstertwo
A Chromatic Dragonspawn
 
Choonstertwo's Avatar
AddOn Author - Click to view AddOns

Forum posts: 194
File comments: 105
Uploads: 34
Originally Posted by Angrysteel
Message: Interface\AddOns\BulkBuy\core.lua:10: attempt to compare number with nil
Time: 09/21/12 08:09:06
Count: 1
Stack: [C]: ?
Interface\AddOns\BulkBuy\core.lua:10: in function `BulkBuyMerchantItem'
Interface\AddOns\BulkBuy\core.lua:36: in function `OnAccept'
Interface\FrameXML\StaticPopup.lua:3827: in function `StaticPopup_OnClick'
[string "*:OnClick"]:1: in function <[string "*:OnClick"]:1>

Locals:

Got this error when trying to buy a heirloom item.
Thanks for the report, I'll look into this now.
Report comment to moderator  
Reply With Quote
Unread 09-21-12, 07:09 AM  
Angrysteel
A Murloc Raider

Forum posts: 6
File comments: 203
Uploads: 0
Message: Interface\AddOns\BulkBuy\core.lua:10: attempt to compare number with nil
Time: 09/21/12 08:09:06
Count: 1
Stack: [C]: ?
Interface\AddOns\BulkBuy\core.lua:10: in function `BulkBuyMerchantItem'
Interface\AddOns\BulkBuy\core.lua:36: in function `OnAccept'
Interface\FrameXML\StaticPopup.lua:3827: in function `StaticPopup_OnClick'
[string "*:OnClick"]:1: in function <[string "*:OnClick"]:1>

Locals:

Got this error when trying to buy a heirloom item.
Last edited by Angrysteel : 09-21-12 at 07:12 AM.
Report comment to moderator  
Reply With Quote
Post A Reply



Category Jump: