Lex's SG Chart Maker helps you create charts for bundles to post on SG. On the Steam Store, use the button in the upper right to add games to the chart maker. Drag and drop games to reorder them. Click Load Bundle Info to load the bundled column from ITAD.


Installation

👉 https://greasyfork.org/en/scripts/32567-lex-s-sg-chart-maker

Never installed a Userscript before? Read this https://greasyfork.org/en/help/installing-user-scripts

This script requires an IsThereAnyDeal API key. To get one, go to https://isthereanydeal.com/dev/app/. Once you have one on the site, visit My Apps to get your API Keys (not OAuth. The OAuth client secret is something different).


📑 Other Scripts by Lex


View attached image.
7 years ago*

Comment has been collapsed.

Looks like some charts have issue with special characters in title interpreted as Markdown.

This is my fix:

title.replace(/[-\[\]|\\#_+*()>`~]/g, '\\$&');
6 years ago
Permalink

Comment has been collapsed.

Fetching the ratings of a game will fail with certain languages as steam adds an extra space before the % sign:

e.g. for Tribal Pass - this is what my browser displays:
<div class="user_reviews_summary_row" onclick="window.location='#app_reviews_hash'" style="cursor: pointer;" data-tooltip-text="78 % der 118 Nutzerreviews für dieses Spiel sind positiv." itemprop="aggregateRating" itemscope itemtype="http://schema.org/AggregateRating">

vs.
<div class="user_reviews_summary_row" onclick="window.location='#app_reviews_hash'" style="cursor: pointer;" data-tooltip-text="78% of the 118 user reviews for this game are positive." itemprop="aggregateRating" itemscope itemtype="http://schema.org/AggregateRating">

As you can see: language is german, BUT: it seems like there is an extra space behind where regex group one should be, so the regex fails for German just because of ONE space.

I suggest something like this as regex pattern:

(\d+) *%[^\d]*([\d,]*).*

6 years ago
Permalink

Comment has been collapsed.

The script doesn't work on https URLs.
This is my fix:

// @match        *://store.steampowered.com/app/*
// @match        *://store.steampowered.com/sub/*
// @match        *://store.steampowered.com/bundle/*
6 years ago
Permalink

Comment has been collapsed.

Thank you for this! I was wondering where the Chart button went.

6 years ago
Permalink

Comment has been collapsed.

  • The script need to be updated for https
  • When Enhanced Steam is enabled, the support for sub/bundle pages doesn't work
6 years ago
Permalink

Comment has been collapsed.

I updated it to work with HTTPS.

6 years ago
Permalink

Comment has been collapsed.

Here is an example of how the card farming profits are estimated.

Pain Train has 10 cards costing a total of $0.43. https://www.steamcardexchange.net/index.php?gamepage-appid-576560
Average card price: $0.043. For cards costing $0.22 or less, the script estimates the profit to be the price minus 2 cents, so average profit per card is $0.023. Multiply by the 5 cards you receive and the script estimates you'll get $0.11 from farming Pain Train.

For cards with few market listings or outlier prices, the script will fail miserably.

6 years ago
Permalink

Comment has been collapsed.

I would love to see the Operating System on which the game can run in the chart. Is it possible to add this?

6 years ago
Permalink

Comment has been collapsed.

Done!

4 years ago
Permalink

Comment has been collapsed.

Hello. As you may know, Steam recently started to "learn" about new games in store before making them visible in API. Problem is that after sync on SG those games stay unowned and it's still possible to enter giveaways from them. Is it possible to add a new column that would link to SG search for this game to make it easier to find and hide those games manually? Something like this - Giveaways for this game on SG

6 years ago
Permalink

Comment has been collapsed.

Done!

4 years ago
Permalink

Comment has been collapsed.

Hey Lex

Is it possible to put the two following things

  1. A achievements column addition.
  2. A SG giveaway column page, so that people who are giving away that particular game on SG could be redirected anyways

And thanks for this awesome tool. Wish i could know scripting to do these myself. but i don't :(

Hope to see those changes soon

With love,
Abrix

6 years ago
Permalink

Comment has been collapsed.

I've added an achievements column! I'm not entirely sure what #2 is. Could you elaborate?

4 years ago
Permalink

Comment has been collapsed.

Hello! The script isn't working anymore with Firefox and Tampermonkey. The Chart button is here, but nothing happens when I click it. It was working fine 1 month ago. Can somebody confirm this?

5 years ago
Permalink

Comment has been collapsed.

+1 Just noticed the same issue in Chrome + Tampermonkey..

5 years ago
Permalink

Comment has been collapsed.

data-tooltip-text is now data-tooltip-html on the steam page

5 years ago
Permalink

Comment has been collapsed.

Ah, that fixed it :) Thanks!

5 years ago
Permalink

Comment has been collapsed.

Thanks for the fix! I updated the script.

4 years ago
Permalink

Comment has been collapsed.

New version released! Now includes achievements, details, and platforms columns!

4 years ago*
Permalink

Comment has been collapsed.

I fixed the no CV checking and greatly improved the handling of bundles and subpackages (like Special Editions).

4 years ago
Permalink

Comment has been collapsed.

  1. Can I request a feature to disable/enable the different columns, such as if we don't want the platforms column or the price column we can disable it. I don't know if we can do that already or not but right no I need to manually go through all the text and delete the column I don't want.
  2. Also, idk why but in this thread the CV details are "NaN" (which I think is supposed to be N/A). Why is that? Is it something I did wrong?
  3. And for the prices, do you know any way to get the prices in US$ instead of my local currency/regional pricing other than manually looking through SteamDB?
    Thanks again!
4 years ago
Permalink

Comment has been collapsed.

I've updated the script to add toggles for all the columns. The reason #2 and #3 are failing for you is because you must input your IsThereAnyDeal API key and click Load Bundle Info. That will trigger it to download the US price data and properly display the CV.

4 years ago
Permalink

Comment has been collapsed.

How do you get the IsThereAnyDeal API key? It says to register an app which I can't seem to do (I already linked my Steam account to it as well)

Edit: Nvm, managed to get an API key now, thanks for the extremely fast response and the inhumanly fast update! (srsly, how do you get an update this fast?!)

4 years ago*
Permalink

Comment has been collapsed.

Also, for cheevos is it possible for it to show instead something like a ❗ for the games that doesn't have achievements?

Edit: Nevermind again, the games that I am adding to the chart have an "undefined achievement" which I think means that it's not updated on the astats website yet since the games were just released. If possible, could you do something like a N/A instead for "undefined achievements"? Thank you so much again!

4 years ago*
Permalink

Comment has been collapsed.

And... another thing (sorry I'm asking for a lot of features that no one seems to really use/want)
Can I request a feature for the retail price to include the percentage discount of the games and the maybe the full and discounted price as well (maybe make this feature optional? (can be turned on and off)). Thank you... again! 😅

4 years ago
Permalink

Comment has been collapsed.

I've added columns for Discount percentage and current price. When I add those games to the Chart, the achievements columns all show "-".

Game Cheevos Retail Price Discount Current Price
Mirror's Edge Catalyst - $19.99 -50% $9.99

Chart created with Lex's SG Chart Maker

4 years ago
Permalink

Comment has been collapsed.

Mine shows this:

Game Ratings Cards Cheevos Details Platforms Retail Price
Mirror's Edge™ Catalyst 96% of 30 reviews 🏆 3.00 CV app/1233570 W M L $19.99
Burnout™ Paradise Remastered 61% of 72 reviews 🏆 3.00 CV app/1238080 W M L $19.99
Need for Speed™ Heat 68% of 41 reviews - 10.50 CV app/1222680 W $69.99
Crysis® 3 93% of 44 reviews - 🏆 4.50 CV app/1282690 W M L $29.99
Dragon Age II 86% of 7 reviews - 3.00 CV app/1238040 W $19.99

Chart created with Lex's SG Chart Maker

4 years ago
Permalink

Comment has been collapsed.

On the store page for one of the games, in the details block (where it shows if it has cards, Single-player, controller support, etc) does it show the game as having achievements? For me those games do not show on the store page as having achievements.

I've changed the achievement detection method. Update the script and give it a shot.

4 years ago
Permalink

Comment has been collapsed.

Updated to version 0.2.9.1and still shows the same thing.

On the store page for one of the games, in the details block (where it shows if it has cards, Single-player, controller support, etc) does it show the game as having achievements?

Nope.

View attached image.
4 years ago
Permalink

Comment has been collapsed.

Did you remove the game and add it back? Maybe try a different browser? When I access Steam not logged in via a Thai proxy it works for me, so I'm not really sure what's going on here that is causing the platforms and achievements to not detect properly for you.

4 years ago
Permalink

Comment has been collapsed.

That's wierd. It also shows for me in the Steam store that there are no achievements available for any of the games but the chart says it does. I don't think it's the region problem, but I'll have a look. It may also be helpful to add a 'refresh game data' button to update the current prices and all the other stuff as well? Just a thought.

4 years ago
Permalink

Comment has been collapsed.

Also, for the platforms idk why but all the games are available only on Windows but it says it's available on all W M L. Is it something I did wrong?

4 years ago
Permalink

Comment has been collapsed.

Is this script somehow broken? Haven't used it for several months and right now I can't see any button to add games. Tried Chrome and Firefox, also reinstalled the script.

3 years ago
Permalink

Comment has been collapsed.

Try the new version 0.2.12

3 years ago
Permalink

Comment has been collapsed.

Thanks, that fixed the problem. :)

3 years ago
Permalink

Comment has been collapsed.

Hi Lex,

I've been using your useful tool for quite some time now and since the changes to isthereadeal website migrating to a new UI and such I've started to have issues Loading Bundle Info from my API from isthereadeal.

I've asked around one source that I knew that she is well-educated in the matter and that is sensualshakti aka Lilly for it, but it seems to be something she might not be able to help unless maybe you can.

What can I do to make this feature work? I'm using it for Steamtrades mostly and I'd like to be able to reuse it again.

Lastly, I'd like to ask if it's possible to maybe add a feature to make things much easier to determine the lowest price of a game. The same way it indicates Retail Price, if it's possible to generate at that point, the lowest price point for that game listed, just like the image below.

View attached image.
View attached image.
View attached image.
8 months ago
Permalink

Comment has been collapsed.

Were you able to fix it? I've been modifying a couple of things, but I don't know much about it and doesn't work.

4 months ago
Permalink

Comment has been collapsed.

No. I didn't figure it out and I kinda left it as it was. Idk why the API doesn't do much. I found out how to obtain it, but other than that I can't seem to make it work.

4 months ago
Permalink

Comment has been collapsed.

Welp, thanks anyway!

4 months ago
Permalink

Comment has been collapsed.

I'll try to find out from sensualshakti as she is using something else or something like that. I'd like a functional one with any website really.

4 months ago
Permalink

Comment has been collapsed.

Did you read the ITAD API migration guide?
I don't use the chart maker, but I suspect that one of the things broken is that the script uses the old version of the ITAD API.
So in the code, check all occurrences of "api.isthereanydeal.com" and apply the migration guide if possible.
The docs link at ITAD's app page seems wrong, it points to GitHub. Should probably be https://docs.isthereanydeal.com/ .

"esapi" (for Enhanced Steam probably) is used as well. When visiting a page like
https://esapi.isthereanydeal.com/v01/prices/?cc=US&appids=70&subids=&bundleids=&coupon=true
the response is a blank page. Maybe it doesn't work any more. The following archived documentation for above mentions "api.isthereanydeal.com/v01/game/overview" in the response. So it might have been a redirect to the regular ITAD API.
https://github.com/IsThereAnyDeal/AugmentedSteam_Server/blob/5db77e776c3230e4160873582e9079780c284d74/api/prices.v01.php
According to the migration guide, the overview is now at "/games/overview/v2".
https://docs.isthereanydeal.com/#tag/games/operation/games-overview-v2
So in short, "esapi.isthereanydeal.com/v01/prices" possibly can be replaced with "api.isthereanydeal.com/games/overview/v2". The latter is a "POST" though (expects data to be sent).

4 months ago*
Permalink

Comment has been collapsed.

Found the old API's blue print, this might help with porting:
https://github.com/IsThereAnyDeal/API/blob/2c36c285e10f55b7b997704e2ce3db3a8c4239ca/blueprint.md

The chart maker uses "plains", these aren't updated any more. From the migration guide:

Plain is no longer used as an identifier of games, instead in API 2 we use UUIDs. Legacy endpoints will still work with plains, but these map of plain:uuid is a snapshot. No new plains will be computed. This means that either you won't be able to find some games, or endpoints will return empty string or null when a new game is encountered.

So every line of code containing the word "plain" needs to be rewritten.

4 months ago*
Permalink

Comment has been collapsed.

Sign in through Steam to add a comment.