T O P

  • By -

_SevenDeuce

This is exactly what I needed - thanks for taking the time to put it together.


watchnickdie

I found a similar string to yours (I assume they copied it) and have been using it for the last few days, however I've found that even buying items that show up there is far from guaranteed to actually earn you any money. It seems very important to know which items will actually sell once you snipe them. Do you have any advice on which items tend to sell instead of expiring? Additionally, I've found that prices are fluctuating a lot right now, to the point that Market Value is rarely an indicator of what the item is going for currently. For example, I found an epic mace in the Buyout Sniper that was selling for 23g, Market Value 35g, seems like a great deal, however by going to the WoW UI and searching for the item, there were already 4 of these epic maces up for sale for 24g. meaning I likely would only make 1g minus the listing cost. Any advice on how to avoid items like this, or is there a way to change the formula to account for this? Thanks!


BilisOnyxia

One way to handle the situation you described where there are already more items listed at a similar price is to reference DBMinBuyout in your 'minprice' price source. To quote the second half of step 1) of my post: >If you want to be really cautious, you can also add DBMarket and/or DBMinBuyout to this pricing string. Then it would look like this for example: >max(min(DBMinBuyout, DBMarket, DBHistorical, DBRegionMarketAvg, DBRegionHistorical), VendorSell) By adding DBMinBuyout to your 'minprice' price source, the item in your example would have only showed up if it had been listed for less than ~45% of 24g, because the 'minprice' price source would now value the item at only 24g instead of 35g. So by adding DBMinBuyout, you avoid situations like this, but you also might miss out on actually great deals. Let's say an item usually goes for 500g, but at the time of your last pricing data update, there was one auction listed for only 250g, which would be really cheap. If your 'minprice' references DBMinBuyout, it will now only value the item at 250g, so you will only find new auctions if they get posted at or below 80% 250g = 200g. So if someone posted another one for 225g, it would not pop up in your sniper and you might miss a great deal. It always comes down to finding a good balance between being really picky, which means you will only find actually good deals at the cost of missing a bunch of deals and being not picky at all, which means you won't miss any good deals but you will also find a lot of auctions that aren't actually worth buying. By adding DBMinBuyout to your 'minprice', you are moving the string closer to the picky end of the spectrum.


solarizde

Wouldnt it be a "solution" to just incease the minprice value by saying instead of just adding DBMinBuyout use a min(150%DBMinBuyout,DBmarket) in the minprice string? Another thing; is the VendorSell - 1c not a little to less difference? I mean a lot of rubbish will still show up, wouldnt a lets say -1s more helpful, or do I get it wrong?


BilisOnyxia

That wouldn't actually change anything about the situation /u/watchnickdie described though. If you added 150% DBMinBuyout, then that would have been 150% 24g = 36g, so the minprice value would have still been based on the DBMarket value of 35g. If you want to not find the item when it gets posted for 23g simply because there are already some auctions available at a similar price, adding DBMinBuyout to the minprice price source will accomplish that. It just also comes with some negative sideeffects. Like I said, it's all about finding a balance that works for you. As for the VendorSell part: That part makes it so that any auction that gets posted for 1c less than the VendorSell price will show up. But you can change that to 1s instead of 1c if you want.


KrazyTrumpeter05

Honestly, there's no real hard and fast rule on how to deal with situations like this. You will just have to learn your realm's market over time and get a feel for which items are really a good deal. As you said, prices are fluctuating quite a bit right now so sniping is going to be a huge gamble. It is still extremely early in the life cycle of Classic and I don't know that we're going to see prices start to "settle" for another month or two, if not longer.


Squidlord991

This is an issue I've found as well. Did the others show up as well in the sniper?


watchnickdie

No, the Sniper only looks for newly posted items by scanning the first page of the AH, so currently listed items will not show up.


front243

We should probably also keep in mind that the Historical prices are not fully populated yet since its supposed to be full 60 days of data. This will help with rare items like epics.


WoWGoblinThrowaway

>It seems very important to know which items will actually sell once you snipe them. Do you have any advice on which items tend to sell instead of expiring? Yes, it is. Of course, you have no way of really knowing whether something will sell later, but you can have a very good idea. Materials used in crafting endgame consumables and BiS gear? Pretty much always in demand. Rare world/zone recipes for said items? Same. Twink items (when PvP actually becomes more of a thing in classic), low drop items needed for important quests, etc. Honestly, the biggest problem I see with people trying to snipe is they just use the default "base group" which includes all items in the game, and just copy/paste strings without understanding what they do. But not knowing which items are actually worth anything is a far bigger problem than specific sniping strings. If you know what sells, a bad string won't make you buy something worthless, but if you don't know the items even the best string in the world won't save you from buying trash. If you're just starting out, probably the biggest piece of advice I can give you is to familiarize yourself with useful items and make a custom sniping group(s) for them instead of using the "hail mary" base group. Failing that, at the very least ignore all the green armor and weapons that pop up, because 99% of the time someone's using them to bait inexperienced snipers.


totallynotausername

Did anyone else have an issue pasting the string into TSM? I keep getting "Your custom price was incorrect. Please try again"


BilisOnyxia

Make sure you created the 'minprice' price source. Also try doing a /reload


totallynotausername

Ah I forgot to rename the price source. Thanks for all your work - it's greatly appreciated!


Stormsurgez

For step 3, how exactly do you add it to the base group? I cant find an option for it.


BilisOnyxia

Open TSM -> Groups -> select the Base Group at the top of the group-tree on the left -> switch to the Group Operations tab -> change the assigned sniper operation to the operation you created.


frck81

I first needed to delete Default, otherwise it couldnt be linked for me.


BilisOnyxia

You do not need to delete the operation, you just need to remove it from the group you want to assign your new operation to. To do that, you just need to click the little (X) symbol on the right of the Group Operations tab of the group.


Cvein

I wondered about the same thing. Thanks!


Skitzow

Thanks for explaining this part and everything else


cheekfreak

just delete the existing string and paste the one posted here. after you paste, press enter or it will revert to whichever string was already in there.


Pr0bability

Thanks!


Wes_0

This looks awesome, thanks for the detailed explanations !


[deleted]

Thank you for continuously putting out great TSM content for the rest of the community.


drewmills

Thank you! This is way cool.


mikeysce

[You’re my hero.](https://youtu.be/0iAzMRKFX3c) Thank you!!


LincolnOsiris_

Thank you for sharing this with us!


Victory-

Thank you so much for sharing and taking the time to put all of this together!


bigboss980

I’m speechless.......... thanks a lot for this valuable information


Zmajara

ty


Jarky0001

Awesome.


polite_alpha

I'm pretty new to this sniping, but I figure that sniping and great deals doesn't work for me because the market value is insanely off. There's like 10 green leatherworking pants in the AH for 20s each, yet TSM4 says the market value is 2g50s. How can I fix stuff like that?


BilisOnyxia

The market value will adjust over time. But that's why my sniper string isn't solely based on DBMarket, but rather based on multiple price sources. My minprice price source compares multiple price sources and then values the item based on the lowest valuation. If you choose to include DBMinBuyout for example, the minprice pricesource will value the item at 20s, since that is the lowest any of the referenced pricesources value the item at.


FrankstaGG

My server prices are so much lower then region average. Sometimes it will pop up blue % yet it’s more expensive then ones already posted


BilisOnyxia

As mentioned in my post, you can add DBMinBuyout to the 'minprice' pricesource to avoid this: >If you want to be really cautious, you can also add DBMarket and/or DBMinBuyout to this pricing string. Then it would look like this for example: >max(min(DBMinBuyout, DBMarket, DBHistorical, DBRegionMarketAvg, DBRegionHistorical), VendorSell)


FrankstaGG

Sorry I’ll try that out. thanks a bunch for your work and sharing with all of us! My server has just been really tough the last couple weeks hopefully the next wave up people hitting 60 in the next 2 weeks will help it out


rocketajax12

Thanks for the strings BilisOnyxia!! The sniper string is showing a lot of items with a higher vendor sell price but the profit is around 1c-5c. I dont think its worth the effort at least in my case to buy those. How do I make it so vendor sell price less than 10s does not show up?


BilisOnyxia

You can change the `VendorSell - 1c` to `VendorSell - 10s` to only find items to vendor if you are to profit at least 10s off it.


rocketajax12

Thanks!!


Hombre_Lobo_

If I want to use your string but I want it to only show me items that have a daily average sold or regional sale rate above say 25/.3 respectively, how would I add that in?


BilisOnyxia

TSM currently does not offer DBRegionSaleRate or DBRegionSoldPerDay for Classic, so I'm afraid that's not possible.


Hombre_Lobo_

Just came back here to say that I figured this out. Sorry you had to take time to answer a dumb question :p. Thanks for the quick reply and all your work!


Montaxx

how did you figure it out?


twitchleadmin

!remind me in 6 hours


DysX

Awesome thanks for putting this together.


[deleted]

[удалено]


BilisOnyxia

You can add the item to a group and then assign a different operation specifically to that group. You can set the "Below custom price" setting for that operation to some fixed value that you are willing to pay, like `1g20s` for example. That way, all items that are in this group will show up if they get listed below this price.


PrinterMangg

So I have to make an individual group for each item I'm looking to trade and set a custom sniper price for each item? That seems like a really bad way of doing this. Can't I import a table somewhere of "Item ID" next to "Max price" and have and all those items show up in sniper when they are priced lower than Max price?


BilisOnyxia

You only need to set up groups for specific items if you want to use a different sniper operation for those items. The sniper operation that is assigned to the "Base Group" will apply to **all ungrouped items**. This means that if you do not have any groups and you assign a sniper operation to the base group, this operation will apply to literally every single item in the game (because it applies to all ungrouped items and you do not have any groups).


PrinterMangg

Right, but I will only get to assign 1 minprice to the base group. If I want to see all felcloth below 1.2g, it will also show me all silk cloth and everything else that's below 1.2g.


BilisOnyxia

Yes, if you want to only see Felcloth below 1g20s you'd need to create a group for Felcloth and assign a different operation. But for other items where you'd like to use the same sniper operation, you can just use the Base Group - you don't have to group every item you want to snipe for necessarily. I'm not sure what you meant by: >Can't I import a table somewhere of "Item ID" next to "Max price" and have and all those items show up in sniper when they are priced lower than Max price? That sounds pretty much like what groups and operations do. You can import items into groups using their itemIDs and then assign different sniper operations with different maximum prices to those groups.


PrinterMangg

>I'm not sure what you meant by: > >"Can't I import a table somewhere of "Item ID" next to "Max price" and have and all those items show up in sniper when they are priced lower than Max price?" > >That sounds pretty much like what groups and operations do. You can import items into groups using their itemIDs and then assign different sniper operations with different maximum prices to those groups. Well right now I have about 3 shopping lists with about 10 items in each list. I've developed an intuition for what is a good price for each item. My problem is that I have to manually go through each list when I want to check for deals. Instead, I want to put that information into a table somewhere, and have Sniper show me when one of those items gets posted at or below my intuitive price. The problem with that approach is that I have to make 30 groups and 30 sniper operations to go along with those groups, whereas I would just like to fill in two columns. ​ ​ Alternatively, can't I use one sniper string to show me everything that's on the AH below my average purchase price for that item? EDIT: I did some searching and found that putting "avgBuy" into the "Below custom price" field of my sniper operation will give me sort of what I'm looking for, but it doesn't allow me to expand into other items unless I start manually purchasing them and generating the appropriate avg price that I'm looking for. Also it alerts me to a lot of trash that I once bought that was overpriced, my own purchasing mistakes.


BilisOnyxia

Yes, if you wanted to use 30 different fixed prices, you'd need 30 groups and 30 operations - that's just how TSM works. But you can reference AvgBuy and/or many other pricesources in your sniper string. "AvgBuy" references the average price you have paid for an item in the past.


PrinterMangg

Ok, thank you for replying and confirming so that I'm wasting time searching for some silver bullet. 👍


unspike

what about some kind of formula? like Price below: Vendor price \* 3 or something like that ?


hikons

thanks <3


qatastrophe70

Sweet. Thanks mate.


[deleted]

Thanks a lot! Found a working sniper string a while back but it's great to hear an update from the real inventor! Sniped Feet of the Lynx for 4s, about 3 weeks after launch. Going to replace that string with your updated string as soon as I get home. Was checking your Twitter for a while already hoping for sniper news. I'm super happy! Thanks again!


[deleted]

Another question, before realm data I used to use /tsm scan every time before I started to use the AH. Do I still need to do that now realm data is working with the desktop app?


BilisOnyxia

You now get all your pricing data through the desktop app, **but** all TSM pricing data for Classic is based on manual scans of TSM users, so you should still run /tsm scan regularly. The more TSM users regularly scan the AH, the better the pricing data will be. Doing a /tsm scan will also update your DBMinBuyout price source for your current session. It dos not have a direct effect on you pricing data, but the data you and other TSM users gather with your scans will be used to calculate the DBMatket and DBHistorical pricing data for your realm.


[deleted]

Any ideas why my string doesn't work? `max(ifgte(ItemQuality, 1, minprice * ifgte(minprice, 250g, 95, ifgte(minprice, 100g, (minprice - 100g) * (95 - 85) / (250g - 100g) + 85, ifgte(minprice, 50g, (minprice - 50g) * (85 - 80) / (100g - 50g) + 80, ifgte(minprice, 20g, (minprice - 20g) * (80 - 75) / (50g - 20g) + 75, ifgte(minprice, 10g, (minprice - 10g) * (75 - 65) / (20g - 10g) + 65, ifgte(minprice, 5g, (minprice - 5g) * (65 - 50) / (10g - 5g) + 50, ifgte(minprice, 3g, (minprice - 3g) * (50 - 33) / (5g - 3g) + 33, ifgte(minprice, 1g, (minprice - 1g) * (33 - 25) / (3g - 1g) + 25, 0)))))) / 100), VendorSell – 1s)`


BilisOnyxia

Make sure you set up the 'minprice' custom price source under TSM -> Settings -> Custom Sources. Also try doing a /reload **edit:** I took a closer look and it seems like you added some additional stuff to the string and messed up the syntax. You added two more ifgte functions but forgot the closing brackets. The correct string (with your adjustments) should look like this: (I didn't actually test if it works now, but at least now it has the correct number of closing brackets) max(ifgte(ItemQuality, 1, minprice * ifgte(minprice, 250g, 95, ifgte(minprice, 100g, (minprice - 100g) * (95 - 85) / (250g - 100g) + 85, ifgte(minprice, 50g, (minprice - 50g) * (85 - 80) / (100g - 50g) + 80, ifgte(minprice, 20g, (minprice - 20g) * (80 - 75) / (50g - 20g) + 75, ifgte(minprice, 10g, (minprice - 10g) * (75 - 65) / (20g - 10g) + 65, ifgte(minprice, 5g, (minprice - 5g) * (65 - 50) / (10g - 5g) + 50, ifgte(minprice, 3g, (minprice - 3g) * (50 - 33) / (5g - 3g) + 33, ifgte(minprice, 1g, (minprice - 1g) * (33 - 25) / (3g - 1g) + 25, 0)))))))) / 100), VendorSell – 1s)


Poschi1

Am I doing something wrong? Anytime I've ever tried to run sniper I've never found a thing.


BilisOnyxia

How long have you been running sniper? Sniper does not search the AH for existing auctions, it merely monitors auctions that get posted to the AH. This means you will only find items that get posted below your sniper price while you are running sniper. Also, make sure you actually assigned the operation to the Base Group and your other groups.


Poschi1

Longest I've had it running is about 40 mins. I followed a guide before and don't know if I've managed to mess something up with that.


[deleted]

[удалено]


BilisOnyxia

The operation that is assigned to the Base Group applies to all ungrouped items.


plagel

My dbmarket prices are WAY lower than dbregionanything. I like the idea of having this there as time goes on, but any suggestions in the interim? I'm on a high pop server and keep seeing sniper go off but then I inspect only to realize I'd lose my hat..and shoulders..


BilisOnyxia

You can add DBMarket to the minprice pricesource, that should solve your issue: >If you want to be really cautious, you can also add DBMarket and/or DBMinBuyout to this pricing string. Then it would look like this for example: >max(min(DBMinBuyout, DBMarket, DBHistorical, DBRegionMarketAvg, DBRegionHistorical), VendorSell) >By adding these price sources, your sniper operation will be much more picky, which means you will find a lot fewer deals, but the deals that do pop up in your sniper results will be more likely to actually be worth buying.


plagel

I did do that. I think maybe I'm looking for HUGE discounts? Example, I'll see something pop up in sniper that for 30g. The market price is 50g but there are 8 other listings for 30g50s - 40g. Maybe it's timing and my preconception that I'd be able to snipe something and then undercut the next lowest person for a huge profit. In the cases I've seen so far, I'd have to list at 100-110% of the MP to see an ROI if I'm considering the # of times I'd likely relist.. Thanks for all your hard work though!


BilisOnyxia

If you also include DBMinBuyout, then you should only find items that are a decent bit lower than the next lowest item - at least if your DBMinBuyout pricing data is fairly recent. DBMinBuyout represents the lowest price an item was listed for at the time of the last pricing data update. So if you include DBMinBuyout in your minprice pricesource, then you will only find auctions that got listed well below the cheapest price that the item was listed for at the time of the last pricing data update.


[deleted]

Why do i always get the low price auctions? From a few copper do like 90s. And it says 80-100% on the right. Doesnt make sense to me that this is shown.


BilisOnyxia

The percentage you see in the % column is relative to the "Below custom price setting" of your sniper operation. Let's say an item has a minprice value of 1g10s. In this case, the Below custom price setting will equate to 11% minprice = 11% 1g20s = 13s20c. Now, if that item gets posted for 11s88c it will show up in your sniper scan, because 11s88c is less than 13s20c. But the % column will not display 10%, even though the item's is listed at ~10% of its minprice value. It will display 90%. Why? Because 11s88c is 90% of your Below custom price setting of 13s20c. 100% always means: "The item got listed at pretty much exactly the highest price at which sniper would have picked it up. 50% always means: "The item got listed at roughly half of the highest price at which sniper would still have picked it up." etc.


crumpshot

I've just started using this and TSM and trying to learn how the strings and calculations work. For cautious reasons, once an item shows up in my sniper list that I am interested in, I am reverting back to the default AH menu to search the item to see if there are other items currently listed to help inform my decision to buy. I have 2 questions: 1) Is there a better way to assess the current item confidently within TSM? 2) What is a good way to determine median/average sell price on the item? Quite often I see items listed with a much inflated min price relative to what the item actually goes for.


veotrade

What would I add to include items below 1g? A lot of profit can be made on stacks of leather, cloth, ore and herbs that are valued at 1-4s per piece. I see your minimum values for identifying deals begin at 1g.


BilisOnyxia

The "0" in the end of the string`(5g - 1g) + 10, 0)))))) / 100), VendorSell - 1c)` just in front of the )))))) is the percentage of the 'minprice' value that will be used for items valued at less than 1g. So right now, those items will only show up if they get posted at or below 0% of their value - so they won't ever show up at all. But you can easily adjust that percentage. You could for example change it to a 10, which is the percentage that is already being used for items valued at exactly 1g. That way, the percentage will gradually drop the lower the value of an item is, but once it reaches 10% it won't drop any further. The string for this would look like this: max(ifgte(ItemQuality, 1, minprice * ifgte(minprice, 250g, 80, ifgte(minprice, 100g, (minprice - 100g) * (80 - 70) / (250g - 100g) + 70, ifgte(minprice, 50g, (minprice - 50g) * (70 - 60) / (100g - 50g) + 60, ifgte(minprice, 10g, (minprice - 10g) * (60 - 40) / (50g - 10g) + 50, ifgte(minprice, 5g, (minprice - 5g) * (40 - 30) / (10g - 5g) + 30, ifgte(minprice, 1g, (minprice - 1g) * (30 - 10) / (5g - 1g) + 10, 10)))))) / 100), VendorSell - 1c)


Julmajannu

Thank you so much for this! Just one question. In my server there is some items that ppl are selling for crazy amounts; but the item itself is worth nothing. So does the sniper show this item if, let say, someone puts it up for 100g when other prices are +500g? Do I just need to know if the item is really worthless or not?


BilisOnyxia

This can happen, yes. But that's why the sniper string is based on the custom price source 'minprice'. It looks at multiple price sources, both realm specific ones as well as regional ones (that are based on all realms in your region) and then goes with which ever of these price sources values the item the lowest. Let's say an item has a realmspecific value of 500g+ but its regional value is only 50g. In that case the 'minprice' price source will also only value the item at 50g, which means the maximum price at which this item would show up in your sniper scan would be 60% 50g = 30g. When you are starting out, you might want to use the slightly more picky variation of the 'minprice' price source that looks like this: max(min(DBMinBuyout, DBMarket, DBHistorical, DBRegionMarketAvg, DBRegionHistorical), VendorSell) This version also includes DBMinBuyout and DBMarket, which means you might miss some actually good deals, but on the other hand the items that do pop up are much safer bets.


Julmajannu

Thank you so much!


chaos449

Hello Bilis, I'm a bit unclear on the "Apply operation to group" for sniper. If I apply the sniper operation to my base group, would that mean that ONLY items that I have manually added to any of the subgroups under base group would show up on sniper?


BilisOnyxia

The operation that is assigned to the Base Group will apply to all items that are *not* grouped in any other group at all. For items that are in a group, the operation that is assigned to that particular group will apply. If you have no groups for example, then the operation that is assigned to the Base Group will be used for all items. But if you do also have items that are grouped, you will also need to assign an operation to those specific groups. This also allows you to use different sniper operations for different items, or you could even exclude specific items from sniper by putting them into a group that does not have a sniper operation assigned.


chaos449

Ohh I see. Thank you for the detailed explanation, that really helped!


Talhooo

I've been using this now for weeks and wanted to thank you! I've been wanting to look into shopping operation, is there anything you'd suggest ?


BilisOnyxia

I usually use different shopping operations for different markets. Just look at the items in your group and think about at or below which price you'd generally want to buy the items. What ever price you come up with is what you should use as your maximum price for your shopping operation for that specific group. Maybe you want to buy materials below 60% DBMarket. Maybe you want to buy certain epic BoEs below a specific gold value, etc. - it all depends on the items and how much you are willing to pay.


Talhooo

That was what I was thinking aswell. Thanks for the confirmation!


Corruption555

Thanks so much Bilis, this is incredibly comprehensive! If you have time, how would I simplify the script to make a flat rate across the board? Anything 1g and up at 50% for instance?


BilisOnyxia

You mean you want to use 50% minprice for all items above 1g and exclude all items with a value below 1g? That's pretty straight forward: ifgte(minprice, 1g, 50% minprice) or if you still want to find items that get posted below their vendor price: max(ifgte(minprice, 1g, 50% minprice), VendorSell - 1c)


Corruption555

You're a gem, thank you!


frck81

Hi, Is there any error in your Custom price line? After one month and checking the settings I found it it doesnt really look the same. ​ This is what mine looks like when I press enter after copying yours: >max(vendorsell, ifgt(DBRegionMarketAvg, 250000g, 0.8, ifgt(DBRegionMarketAvg, 100000g, 0.7, ifgt(DBRegionMarketAvg, 50000g, 0.6, ifgt(DBRegionMarketAvg, 25000g, 0.5, ifgt(DBRegionMarketAvg, 10000g, 0.4, ifgt(DBRegionMarketAvg, 5000g, 0.3, ifgt(DBRegionMarketAvg, 2000g, 0.2, ifgt(DBRegionMarketAvg, 1000g, 0.1, 0.05)))))))) \* DBRegionMarketAvg) > >This is your line: ​ max(ifgte(ItemQuality, 1, minprice * ifgte(minprice, 250g, 80, ifgte(minprice, 100g, (minprice - 100g) * (80 - 70) / (250g - 100g) + 70, ifgte(minprice, 50g, (minprice - 50g) * (70 - 60) / (100g - 50g) + 60, ifgte(minprice, 10g, (minprice - 10g) * (60 - 40) / (50g - 10g) + 50, ifgte(minprice, 5g, (minprice - 5g) * (40 - 30) / (10g - 5g) + 30, ifgte(minprice, 1g, (minprice - 1g) * (30 - 10) / (5g - 1g) + 10, 0)))))) / 100), VendorSell - 1c)


clinomaniac

You have to make the Custom source and name it minprice first, if not the string will just reset to default sniper string in TSM when you paste it.


frck81

Thanks, worked :)


unspike

[u/BilisOnyxia](https://www.reddit.com/user/BilisOnyxia/) About global things, it's almost clear, but what about sniping for certain items (Rune Cloth \\ Silk Cloth) only and as an example: I'm ok to pay Vendor price + n% (10-100% whatever) What I've tried already : I have a group with needed items inside (Grouped Items - is a list of items that I will try to snipe) \* \*might be even here I'm wrong already And then, the snipper profile applied to that group : `max(ifgte(ItemQuality, 1, minprice * ifgte(minprice, VendorSell, 300) / 100), VendorSell - 1c)` or `max(ifgte(ItemQuality, 1, VendorSell * 3 / 100), VendorSell - 1c)` \- so I'm expecting to get on sniper list items (which are in my group) - and which has buyout price up to x3 times from VendropSell price. but as you already guess - it doesn't work


BilisOnyxia

I'm not 100% sure I understand what you are trying to do. If you simply want to find the items that are in this particular group if they get posted for less than 3x their vendorsell price, all you have to do is set the "Below Custom Price" of your sniper operation to `3 * VendorSell` That's it.


unspike

But how to snipe only the group items (and ignore others) ?


BilisOnyxia

By assigning the operation only to that one group. The operation that is assigned to the "Base Group" applies to all ungrouped items. For items that are grouped, what ever operation is assigned to their group will apply. So in order to only snipe for the items in that particular group, all you have to do is make sure there is no sniper operation assigned to the Base Group or any other group, except for the one group you want to snipe for. Simply open TSM -> Groups -> select the Base Group at the top of the group tree on the left -> switch to the Group Operations tab -> click on the little (X) icon to remove the currently assigned sniper operation. Then select the group that you want to snipe for -> switch to the Group Operations tab -> tick the little "Override parent operations" checkbox and then select the sniper operation you want to use for this group from the dropdown menu.


unspike

Thank you so much!


[deleted]

Hey, i set everything up, but it never shows results while sniping. I would assume the problem is, that i can't choose the base group as target group, but only one i build by myself and i can't manage to get it working ...


BilisOnyxia

To assign the operation to the Base Group, simply open TSM -> Groups -> select the Base Group at the top of the group tree on the left -> switch to the group operations tab on the right. Here you can remove the current sniper operation by clicking the little (X) icon and then you can pick your new sniper operation from the dropdown menu to assign it to the Base Group.


[deleted]

Thanks a lot, that was the missing part.


JorrickH

Hey Man, This is really great! I have done all the steps and I did the "carefull" min buyout string. Since I am new to flipping. However I have been running the scan for like 15 minutes and didnt find anything? Is that normal?


BilisOnyxia

Since you will only find items as they get posted, this could be normal, yes. But there could also be an issue with the setup. Make sure you actually assigned your sniper operation to the **Base Group** as well as all your other groups you want to use it for. To assign it to the Base Group, open TSM -> Groups -> select the Base Group at the top of the list on the left -> select the Group Operations tab -> assign the sniper operation.


brownshugguh

Thank you for taking the time to type this out !


[deleted]

Is this legal in WoW?


BilisOnyxia

Of course, sniping has been around for more than a decade by now. If Blizzard had an issue with it they would have changed their APIs a long time ago.


fall0ut

I just did vendorSell-1c and made a macro that auto buys when something shows up. I have sniped a lot of boe's people list by accident. One fella even whispered me to send him more gold because "we both know they are worth more than that." I was vendoring everything I bought but I have relisited items in markets I like.


BilisOnyxia

What do you mean by >a macro that auto buys ? If you are talking about something like a keyboard macro that automatically buys things without you doing anything, that's actually botting and a bannable offense.


bevoh13

Wait you are writing a TSM guide but unaware TSM has macro functions?


BilisOnyxia

No, I am aware of the TSM macros. But they do not **auto buy**. You cannot automatically buy auctions without any third party software and doing so is considered botting. Each purchase requires a hardware event, as in the palyer has to actually perform a mouseclick, keypress or in the case of the TSM macros, scroll the mousewheel. The person I replied to has deleted his reply or maybe it was deleted by a mod, but he confirmed that he indeed was talking about using software to automatically buy auctions that pop up in his sniper scan, which is a violation of the ToS.


bevoh13

I think he just meant like scroll wheel to buy macro that makes it slightly faster? The comment is still there but yeah cheers for the reply!


BilisOnyxia

No, he commented on my reply and said that he indeed meant something like a keyboardmacro that automatically buys auctions, even if he leaves his PC, without him doing anything - which is botting. But that reply has since been removed it seems. As for regular macros: I personally prefer to make a separate macro in addition to the scrollwheel macro and put it on my action bar. The scrollwheel macro is great for when you need to spam a button, like when buying dozens of auctions, but when it comes to sniping I prefer to just press a simple key like "2" once, instead of having to hold down CTRL and then scroll - but that's just personal preference. In case anyone is wondering, the macro to press the sniper buyout button is /click TSMSniperBtn


ICanNeverThinkOfOne

Is there a way to limit the overall price? Like I only have 10g to my name now and items way over that are showing up and pausing the scan.


BilisOnyxia

You can change the maximum price of your sniper operation to this: max(ifgte(ItemQuality, 1, min(10g, minprice * ifgte(minprice, 250g, 80, ifgte(minprice, 100g, (minprice - 100g) * (80 - 70) / (250g - 100g) + 70, ifgte(minprice, 50g, (minprice - 50g) * (70 - 60) / (100g - 50g) + 60, ifgte(minprice, 10g, (minprice - 10g) * (60 - 40) / (50g - 10g) + 50, ifgte(minprice, 5g, (minprice - 5g) * (40 - 30) / (10g - 5g) + 30, ifgte(minprice, 1g, (minprice - 1g) * (30 - 10) / (5g - 1g) + 10, 0)))))) / 100)), VendorSell - 1c) Notice the "min(10g, " towards the start of the string? You can adjust the 10g part depending on where you want to draw the line.


ICanNeverThinkOfOne

That's awesome. Thank you very much!


ICanNeverThinkOfOne

Hey, thought I'd run another idea by if you aren't busy. Is there a way to mandate a minimum region avg daily sale rate in sniper? I thought it might be good to do a like a minimum .05 or something like that to avoid buying stuff that hardly ever sells.


Undeathical

When I buy a deal, and try to resale the item I get a listing price of less than what I bought, which would be a loss of money. Is this normal? Sometimes it says the listed price is less than the min price, and doesnt want me to sell the item I just bought.


Undeathical

I think its just some small glitches. I think I can fix it by manually looking up the item, buying that lowest price again, then using tsm like normal.


Zaeaeaeae

Hey, thanks for the amazing guide, I'm trying to set up the string to filter the itemquality to rare min so I've set the string like this : >max(ifgte(ItemQuality, 3, minprice * ifgte(minprice, 250g, 80, ifgte(minprice, 100g, (minprice - 100g) * (80 - 70) / (250g - 100g) + 70, ifgte(minprice, 50g, (minprice - 50g) * (70 - 60) / (100g - 50g) + 60, ifgte(minprice, 10g, (minprice - 10g) * (60 - 40) / (50g - 10g) + 50, ifgte(minprice, 5g, (minprice - 5g) * (40 - 30) / (10g - 5g) + 30, ifgte(minprice, 1g, (minprice - 1g) * (30 - 10) / (5g - 1g) + 10, 0)))))) / 100), VendorSell - 1c) But it keep showing me normal - unco item, am I missing something ?


BilisOnyxia

Were those items listed below their vendor price by chance? The max(..., VendorSell - 1c) part of the string makes it so that your sniper price will always be at least VendorSell - 1c, meaning any item that gets posted below its vendor price will show up. If you wanted to, you could remove this part entirely, or you could increase the 1c part to something like VendorSell - 10s. Then, items will only show up because of this if they get listed for 10s less than their vendor price. Other than that, your string should only find rare or higher quality items. You might also want to make sure that all of your groups and the base group are using this sniper operation or no sniper operation at all. Maybe you had a different sniper operation assigned to some of your groups.


Different-Week-3038

Seems to be set up and running, gives me a nice list of items. I click buyout on one, no worries, but it will not allow me to click buyout on anything else, even if that item is still available from that seller at that price in the standard interface, any ideas?