What exactly does it do

A lot of users check Rachel's bundle threads for the info she offers in her charts. This script enhances the charts by showing you which games you already own from the ones in it. If you own it, the row will be highlighted with a green color. If it's a package and the script is unable to check you own every game/dlc in the package, but can confirm at least one or more, the row will be highlighted with an orange color, meaning that you have at least one item in the package and that you could possibly own them all but the script was unable to verify it because Steam didn't return that information. The script also highlights now if a certain game is on your wishlist or if your marked it as ignored on Steam if you have the checkbox for the store method in the interface activated.

In case you are using Mullins' Dark Theme or Dark Blue Theme or SquishedPotatoe's Dark Theme there are some checkboxes you can click in the interface to use better-suited colors for those themes. If you change it, the valid rows will still show as green, only a little darker. And the "maybe-valid" rows will show as a gray/dark blue or a red/orange color depending on the checkbox you click. For more information about the interface check the How to use it section below.

Download

To use it you need either Tampermonkey in Chrome, Greasemonkey in Firefox or Violentmonkey in Opera.
If you already have it, it should be as easy as to click here and the code should appear in your Tampermonkey or Greasemonkey asking you if you want to install it. It should also update automatically.

How to use it

Some useful images and gifs that can help you with this are below as links and as attached images.

  1. You need to request an API key from Steam. This can be easily done from their own website. You just need to log in to your account, write a domain (can be whatever you want as long as it's not taken already) and click the request button. Your key will be shown immediately after that.
  2. You need to get your Steam ID64. If you haven't set a custom link for your account then you just have to go to your Steam profile and your link will look something like http://www.steamcommunity.com/profile/76561198058891020. You just need to take that long number at the end. If you set a custom link, you'll have to use some website or service that shows you the Steam ID64. SteamRep does this, you paste in your custom link and it will give you back the Steam ID64 among other things.
  3. Copy those two things and click on the arrow of the Discussions box at the header. You will see there is a new row called RaChart™ Enhancer. Click it and you'll enter the options for the script. Simply submit the Steam ID64 and Steam API key.

Those are the basics. In case you are using some of the userstyles for SG, you must know that this script supports three of them, both Dark and Dark Blue styles from Mullins' and also SquishedPotatoe's Dark style. This means that the color set will change to provide better-suited colors using that skin. To activate any of those different color sets you must check the checkbox for it in the interface. If you are not sure of how, check some of images and gifs below.

You can also set your own colors. To set your own colors just click on the bars and the color picker should show up.

Useful links, images and gifs:

On the first comment you can find the Known Issues, ToDo List and Changelog sections. On the first reply to that comment you can find the FAQ, please, do read it if you have any problem, as it could help me a lot when giving you support. Also, do you want to know what other scripts there are for SG and who made them? If so then take a look at the SG Add-Ons Registry!

The images and gifs will also be linked at the bottom, even though SG will probably make them smaller in the attached version.
REQUEST AN API KEY FROM STEAM: This is necessary, check the first step.
GET STEAM ID64 FROM STEAMREP: This is also necessary in case you changed your default profile link to a customURL, check step two.
OPEN THE RACHART™ INTERFACE: This is necessary as well to set the Steam API key and Steam ID64, check step three for more info.
GIF OF THE SCRIPT IN ACTION
GIF OF THE SCRIPT IN ACTION WITH MULLINS' DARK THEME
GIF OF THE SCRIPT IN ACTION WITH SQUISHEDPOTATOE'S DARK THEME
GIF OF HOW TO UPDATE: It is as easy as left clicking the Tampermonkey or Greasemonkey icon and then clicking the update button. It should update automatically either way.

View attached image.
View attached image.
View attached image.
View attached image.
View attached image.
View attached image.
View attached image.
2 years ago*

Comment has been collapsed.

Known issues

Some games have multiple appIDs, even when they are technically the same game. It won't work for those ones since there is no equivalence table right now, so it will only be highlighted if the appID/subID on the chart is the same as the one you own.

ToDo List

  • Add reset button for PrimaryColor and SecondaryColor values. TOP
  • Create new color sets for Mullins' Blue Theme and SquishedPotatoe's Dark Theme. Primary color is fine, they probably just need a different secondary color. Both need to be in the settings popup. TOP
  • Majoki suggested another way of fetching owned items, apparently it returns not only every appID but also subIDs and items in wishlist. TOP
  • Implement a cache to save the owned appIDs and make as little requests to Steam as possible.
  • Implement wishlist and a tertiary color for it.
  • Implement an option to highlight the games you don't own and maybe some option to invert how the script works, highlighting just the ones you don't own.

Changelog

2018/09/11 - [ADDED] - 0.40.0: Added experimental bundle detection. Added caches for subs and bundles.
2018/09/09 - [CHANGED] - 0.31.0: Bunch of refactoring changes. Very minimal front changes, other than not being able to check multiple themes at once, being able to drag the settings dialog, and showing (or trying to) the current colors used. Check the GitHub commits before v0.30.4 and v0.31.0 if you are interested in how the code has changed exactly. Mainly using promises to get rid of the previous callback hell and a lot of ES6 stuff.
2018/09/01 - [FIXED] - 0.30.4: https://www.steamgifts.com/go/comment/hvz0aUe
2017/05/08 - [FIXED+CHANGED] - 0.28: https://www.steamgifts.com/go/comment/QajMNMv
2016/09/17 - [CHANGED] - 0.27.7: Changed the confirmAuthor function from being whitelist based to blacklist based. Changed confirmRow function to return true when the game link isn't bold. Changed color inputs from textarea to color.
2016/09/11 - [CHANGED] - 0.27.5: Since Rachel won't be making any more bundle threads I've whitelisted devotee and myself as valid authors for the charts. I won't be actively making bundle threads, but just in case I'm ever asked to/I need to.
2016/09/03 - [FIXED] - 0.27: Fixed a lot of users had been reported for the past months, now it should work all fine.
2016/05/16 - [FIXED] - 0.25: Finally merged the test branch version with the original, applying all the fixes, now the branch test version is my own DEV/DEBUG version, you should not install it. I think I fixed every incompatibility with Firefox and Opera, and added a bunch of features and improvements. Mainly new style for the buttons that hopefully won't cause as much confusion now, a reset value for the PrimaryColor and SecondaryColor values and new checkboxes in the interface for SquishedPotatoe's Dark Theme and Mullins' Dark Blue Theme. I also fixed incompatibilities with other scripts, especially SGLinkies and Extended Steamgifts that would mess around with the header, causing the row to be injected in the Sales box.
2016/05/15 - [RELEASE] - 0.1(test): Made a branch of the original script and sent it to some people who were having problems with the original to test it. It should handle most of the heavy/known scripts here in SG.
2016/05/14 - [RELEASE] - 0.1: Released the script.

2 years ago*
Permalink

Comment has been collapsed.

FREQUENTLY ASKED QUESTIONS (FAQ)

The script isn't working, what should I do? How should I report a problem?

First of all, the place to report problems is this same thread. If you have a problem, please, give me the following info:

  1. Let me know what you were doing exactly when you noticed the problem.
  2. What exactly were you expecting the script to do and what didn't do.
  3. The thread or link to the place in which you noticed the problem.
  4. A full list of Add-Ons you are using.
  5. What browser you are using, and any plugin you think that may interfere in any way with SG's scripts.
  6. Console log if you do have it. In Chrome is as easy as right-clicking>Inspect and then clicking on the Console tab and copying the log. In Firefox is almost the same only that instead of Inspect is called Inspect Element.

DO NOT type your Steam API key when asking for support, I don't need it, and you shouldn't share it with anyone else, be it Steam's API key or any other site's API key. Treat an API key as a second password and do not share it.


The script isn't working, is not saving the data, once I refresh is gone.

It is supposed to be like that, it doesn't bring back the API Key and Steam ID64 back again once you refresh, although it is saved once you push the button. The only things that come back again are the checkboxes if you did check any of them. The reason for that? I find it annoying when I have to change the ID64 or the API Key that I must first erase what's in the input box and then paste in the new value, especially when I just want to change it don't care about what's the old value. Also because having some function that returns the old values you wrote and puts them back again in the input boxes in every refresh would create more load for your browser, maybe just 1 millisecond more, but even then, it's a feature I don't care about, so I can save up that millisecond.


I know some programming, can I offer support to other users who may be having problems? Can I develop a new feature for your script?

Of course to both, help is always appreciated, especially because I can't be here all day to help users. And for the second, I don't have a GitHub repo set up, so you'll need to download it, made any changes you may consider for the feature and then upload it and show it to me. If you are fine with that then you are free to do it, I will review any feature you may introduce just in case and if it looks fine I'll probably merge it and add it with the next update.


I have a suggestion, what should I do?

As with problems, you can post them directly on this thread. I take suggestions and if I feel like they are worth I'll probably develop and implement them. If I don't, I'll tell you the reason why I'm not doing it.


I have an idea for a script, could you develop it?

I'm not for hire, but you are free to type it down in a comment here in this thread, if I feel like that script could be useful to me or simply worthy of my time I'll probably do it. Do not get mad if I don't want to do it, if that's the case I'll try to explain why not.


Donations?

Sorry, I do not accept donations. I, however, appreciate the thought. And if there are any artists or any kind of person that does something you enjoy for free you should consider donating, even a small amount is always appreciated ^^

2 years ago*
Permalink

Comment has been collapsed.

var reservedRpl2 = "Reserving this one just because, may be useful in the future";

2 years ago
Permalink

Comment has been collapsed.

You know those charts are popular when people specifically develop an add-on for it! Great work ^^

2 years ago
Permalink

Comment has been collapsed.

Well, I always see MilleW's and other people's comments saying stuff like "I miss X from this", so I figured I could make a script to enhance Rachel's charts by letting you know instantly what games you own from the bundle, instead of having to do it yourself manually. But yeah, they really are popular, everyone relies on Rachel to make up those charts, even myself that I don't buy bundles, I just like seeing the charts xD

2 years ago*
Permalink

Comment has been collapsed.

Cool idea.. I tried it, but it doesn't seem to work properly for me? For https://www.steamgifts.com/discussion/cFYTp/groupees-bundle-in-a-box-8-live# it makes The Deer God green and I own that.. Maybe I messed up somewhere

EDIT: OH whoops it works the other way around :-D sorry!

2 years ago
Permalink

Comment has been collapsed.

A lot of users check Rachel's bundle threads for the info she offers in her charts. This script enhances the charts by showing you which games you already own from the ones in it.

Read the What exactly does it do section, it pretty much explains everything you need to know, how it works, what are the two colors and what they mean and a little info about using it with Mullins' Dark Theme and what changes in that case. Anyway, hope is useful ^^

2 years ago*
Permalink

Comment has been collapsed.

Yeah I figured it out :-) Very useful! Thanks a lot! :-)

2 years ago
Permalink

Comment has been collapsed.

Yeah. Don't be me. LOL!

(I had a total dork moment earlier today when trying to get the script to work...)

2 years ago
Permalink

Comment has been collapsed.

that options popup doesn't appear when using extended steamgifts addon

2 years ago
Permalink

Comment has been collapsed.

Didn't ever try those Add-Ons, I'll check it right now and try to figure out why it's not working.

2 years ago
Permalink

Comment has been collapsed.

Hey, back, I just tried it with that Add-On installed and everything work as expected, the new row in the Discussions box in the header is inserted and when clicked the options popup appears. I also tried having both running on one of Rachel's threads, the popup still opens and the rows with games I own are still highlighted, are you sure it's not something on your end?

So, please, read the What exactly does it do and How to use it sections, and if after doing that it still not works give me a full list of Add-Ons you are using ^^

2 years ago
Permalink

Comment has been collapsed.

there's just no option button under discussions. when disabling extended steamgifts, button appears.
in addidtion to extended steamgifts i have sg++, sglinkies, blacklist indicator and thanks filter

2 years ago
Permalink

Comment has been collapsed.

Chrome or Firefox? Because I'm using Chrome and it doesn't seem to be any problems. I thought maybe SGLinkies would mess up since it also injects stuff on that tab, but it works perfectly for me, using all your Add-Ons + UraniumFalconPunch's below all at the same time.

2 years ago
Permalink

Comment has been collapsed.

chrome

2 years ago
Permalink

Comment has been collapsed.

I just made a new version that should handle most of the heavy/most known scripts here in SG. Please, give it a try and let me know of your feedback. If everything works fine I will push the update to the main branch soon. This version should update automatically too once I push the update since I didn't change the updateURL.

By the way, I think the problem wasn't that the row from my script wasn't being injected, it was, only that since some other Add-Ons mess up the order of the boxes in the header it would end up in other boxes, like Trades, Sales, etc.

2 years ago*
Permalink

Comment has been collapsed.

That's awesome!

2 years ago
Permalink

Comment has been collapsed.

Not sure why, but I'm not getting the options thing either. Clicking on Rachart Enhancer from the discussions tab is doing nothing.

Running SG GameTags and Steamgifts++ at the same time in Firefox with Greasemonkey.

2 years ago
Permalink

Comment has been collapsed.

I tell a lie, it's not doing nothing - it's sending me to the opening post of this thread.

2 years ago
Permalink

Comment has been collapsed.

Sending you to the opening post is normal, I haven't figured out a way to get rid of that, I will later.

And just those two Add-Ons? I'm trying to install all the Add-Ons you who have problems use to see if it happens to me too, so as I said to ozo2003 up there could you give me a full list of the Add-Ons you are using?

2 years ago
Permalink

Comment has been collapsed.

Yeah, just those two. Knowing me, it will be something I've done wrong, but I don't think I have.

Going to have a play in Chrome and see how it is on that browser.

2 years ago
Permalink

Comment has been collapsed.

Well, I'm just using Chrome to test it, but it should work the same in Firefox using GreaseMonkey, I didn't use anything that would make the script incompatible between those two plugins.

Right now I have your Add-Ons + ozo2003's ones all running at the same time and it still works. I'll try with Firefox in a bit after I install all the scripts there too.

2 years ago
Permalink

Comment has been collapsed.

to get options, disabling addons ain't a problem here but that script isn't doing anything, same as for Uranium

2 years ago
Permalink

Comment has been collapsed.

I'm trying it on Firefox and for some reason the function that is supposed to unhide the dialog box with the options is simply not executing, no error or anything, simply not executing when you click it for some reason. Trying the function manually on the console works.

And what do you mean by "not doing anything"? You need to set an API key and Steam ID64 in the options first, and then when you look at Rachel's threads the charts will have some rows highlighted with the games you own.

2 years ago
Permalink

Comment has been collapsed.

i did set api key and 64id. nothing changes in rachel's threads, no colors or anything, despite some times of loading for a bit longer than normal

2 years ago
Permalink

Comment has been collapsed.

I just made a new version that should handle most of the heavy/most known scripts here in SG. Please, give it a try and let me know of your feedback. If everything works fine I will push the update to the main branch soon. This version should update automatically too once I push the update since I didn't change the updateURL.

I did try it in Firefox without Add-Ons and after changing some stuff, mainly the functions in charge of opening the popup, closing it and setting all the options and how they are handled, and it worked, this way apparently works in both browsers and not just in Chrome. But as I say, I haven't tried it with all those Add-Ons yet, so give it a try and please give me feedback, thanks ^^

Edited to remove the link, that version is now the DEV/DEBUG version that shouldn't be used unless I give it out personally, as it's where I test new features and could break at any moment.

2 years ago*
Permalink

Comment has been collapsed.

Uncaught SyntaxError: Unexpected token u in JSON at position 0 appears in console but looks like everything works now

2 years ago
Permalink

Comment has been collapsed.

I thought I fixed that. That's because the script is trying to access the API Key and Steam ID64 values from the local storage before you set them (once you set them through the popup they are saved there). But either way, that only happens when you haven't set those two things yet, and without those two things the script wasn't going to work either way, so it's low in my priority list right now.

2 years ago
Permalink

Comment has been collapsed.

The ones without links yeah, that's a known "bug", if you want to call it like that. Basically, searching through the full Steam's appIDs JSON is a pain, it's huge, and it would cause too much load on people's browsers, that's why my script doesn't work on those old threads that had no store link. On top of that, not every game there has the same title as they do on the store page, so it's even trickier to find them. Right now my script uses Regex to get the appID or subID from the link directly.

About the Slitherine one, could you tell me the games you own from that bundle? I'll check that tomorrow when I come back home.

2 years ago
Permalink

Comment has been collapsed.

I just checked it manually, Steam is simply not giving back any information about those games. Steam is all spaghetti code, it's almost a miracle for it to be working at all, because as I say, it's just a mess. Especially their API, and the whole games/dlcs/packages you own. However, Madjoki told me of another way of getting the info of what stuff you own, once I implement that my script should work perfectly, without having to rely on Steam's API that most of the times is missing information.

Forgot to add, it's either a problem with the Steam API which was to be expected or that you don't own any of those games (maybe you do, but the Steam API shows the same info going to your profile and clicking the "All games" tab in Games shows, so I have no way of really checking if it's just Steam's fault or that you don't own them).

2 years ago*
Permalink

Comment has been collapsed.

ERROR: Execution of script 'RaChart™ Enhancer2' failed! Cannot read property 'href' of undefined for links above

2 years ago
Permalink

Comment has been collapsed.

Hi, getting the same problem as was reported by someone else - the popup is there now, but it's not saving when hitting submit. Will go with the solution you posted.

2 years ago
Permalink

Comment has been collapsed.

New update: Managed to get it to save in local storage. Opened up firebug, went to the "DOM" tab, found "localStorage" and when expanding that menu can see fields for APIKey and SteamID64, both with correct values in.

I think it actually was saving when clicking submit, and that I hadn't noticed? Paying more attention I did catch that the cursor stops blinking when pressing submit.

Now when I got a Rachel thread I'm not seeing anything happen.

Tried messing around with different hexadecimal values for colours, checking to see they saved in firebug where I do see fields for "PrimaryColor" and "SecondaryColor" when I alter them. Been filling the boxes in with the # and the number as you advised and also trying rgb numbers by using the format rgb(0, 0, 0) but nothing seems to want to happen.

2 years ago
Permalink

Comment has been collapsed.

Hmmm... That means the issue isn't with the buttons or the interface but with the highlight functions within the script. I'll install the Add-Ons you use in Firefox soon and try it out soon. Honestly, Firefox is giving me a lot of issues, for some reason it doesn't like most of the stuff I do, even though I'm not doing anything special that would break the compatibility between Greasemonkey and Tampermonkey.

2 years ago
Permalink

Comment has been collapsed.

Hey, good news, I managed to get it to work on Firefox, and keeps working on Chrome, so I just need some people to test the new version in Firefox and let me know if it does work. Try it with more Add-Ons too if it works alone by itself, I didn't have time to install the scripts in Firefox and test it myself.

So please, download it and give me feedback. Beware, this version has way more output to the console, so don't be afraid if you see a lot of lines logged in, I needed them to go step by step knowing what happened in each line. I'll remove them or comment them out once I merge this version with the original one, so your feedback is important right now.

Oh, and by the way, the script has no button to reset the PrimaryColor and SecondaryColor yet, so please, remove those values from the local storage, the commands are very simple, just:

localStorage.removeItem("PrimaryColor");
localStorage.removeItem("SecondaryColor");

Thanks for sticking around and keep trying new versions and giving feedback ^^

Edited to remove the link, that version is now the DEV/DEBUG version that shouldn't be used unless I give it out personally, as it's where I test new features and could break at any moment.

2 years ago*
Permalink

Comment has been collapsed.

Sorry I never got back to you in time. Anyway, just to let you know, as I'm pretty sure you can already guess from the feedback of others that everything's working great for me in 0.25. Really useful script, thanks for putting it together!

2 years ago
Permalink

Comment has been collapsed.

Something changed and addon stoped save api-key and steamID after refreshing page.

2 years ago
Permalink

Comment has been collapsed.

Hey, as I said to ozo2003 up there, what Add-Ons are you using? Give me a full list, please.

And what are you expecting the script to do? Once you click the submit button it's stored in your browser's local storage, it's not supposed to show again if you open up the popup later, but it's still stored, it will only change if you place a new one and click the submit button again. The only thing that comes back in it's the checkbox you click if you are using the Dark Theme.

2 years ago
Permalink

Comment has been collapsed.

This is a great idea, thanks for building it.

I fear that I will still be compulsively clicking every game so I personally won't use it but this should make a lot of people very happy.

I really hope Rachel has an automated way of creating her charts; otherwise that's a lot of work for every bundle.

2 years ago
Permalink

Comment has been collapsed.

I always look for Rachel's topic before buy any bundle... this will be VERY useful!
I'm going to use it in the future (right now I'm making adjustments to use my PC with brazilian judicial system).
I hope it is compatible with SG++ and Extended SG. Have a early thank you for awesomeness.

2 years ago
Permalink

Comment has been collapsed.

Nice idea, but need to adjust the colors for me, since i think green would mean i didn't own it, but it's otherwise. Otherwise works good.

Edit: doesn't work with this theme, though (at least for me): https://www.steamgifts.com/discussion/iO230/userstyle-sgv2-dark-1361

2 years ago*
Permalink

Comment has been collapsed.

I just made a new version that should handle most of the heavy/most known scripts here in SG. Please, give it a try and let me know of your feedback. If everything works fine I will push the update to the main branch soon. This version should update automatically too once I push the update since I didn't change the updateURL.

That was one of the Add-Ons I've made my script handle with this version. Thing was, my script was actually working, it would set the row background color, but the Add-On then would take every cell and set it's background color to black, so it would pretty much hide the background color my script previously set for the row. I think I've fixed it now, so give it a try and let me know.

Edited to remove the link, that version is now the DEV/DEBUG version that shouldn't be used unless I give it out personally, as it's where I test new features and could break at any moment.

2 years ago*
Permalink

Comment has been collapsed.

Thanks for the reply. Enabled the script for the second version and disabled the first, changed the theme back to the one i usually use (the dark one linked by me), and it looks like this one does works fine with it.

View attached image.
2 years ago
Permalink

Comment has been collapsed.

+1 works for me too!

2 years ago
Permalink

Comment has been collapsed.

Yay! Awesome, thanks! ^_^

2 years ago
Permalink

Comment has been collapsed.

Wow, very nicely made script, and extremely handy. :O
Thanks, Sighery. :)
Works very well with Mullins' blue userstyle

2 years ago
Permalink

Comment has been collapsed.

Oh, really? Can I get a screenshot of that? I just tried the dark userstyle one, so I'm not really sure of how it looks in that specific theme. I will probably try it tomorrow.

And in case you don't like one of the colors you can always change it from the settings popup.

2 years ago
Permalink

Comment has been collapsed.

in case of color change, what i need to input? hex wihout #? hex with #? color name?

2 years ago
Permalink

Comment has been collapsed.

Hexadecimal value with the #. Color names also work, but since they are defaults you can't really pick the perfect variation of red, or blue or whatever other colors you may want. Rgb and rgba values also work, the format for them sould be: rgb(0, 0, 0) and rgba(0, 0, 0, 1). The spaces don't really matter though, the rest does.

2 years ago
Permalink

Comment has been collapsed.

View attached image.
2 years ago
Permalink

Comment has been collapsed.

Hmmm... Looks like the primary color is good for that skin, but I think the secondary color won't work as good there. Anyway, thanks for the screenshot, hope the script is being useful ^^

2 years ago
Permalink

Comment has been collapsed.

Clicking on the submit buttons in the dialog box for the steam information doesn't save the information. I'm on Firefox, using the 2nd version of your script and am not using any other scripts.

2 years ago
Permalink

Comment has been collapsed.

Are you sure? Could you set the API Key and SteamID64 and click each button just once and then go to some of Rachel's threads? I found out the style I'm using for the buttons doesn't work as good in Firefox, in that browser looks like clicking the button does nothing when actually it does save them. So try that and let me know, thanks for trying the script ^^

2 years ago
Permalink

Comment has been collapsed.

yea I even used the TAB key to move the selection on top of the button and press Space; still didn't save it.
I tried to restart Firefox; disable/enable greasemonkey and still nothing. I'll keep trying, if I succeed I'll let you know what I did
Edit: at least the checkbox for the dark theme works, even though I don't use it

2 years ago
Permalink

Comment has been collapsed.

That's weird, I must do more testing with Firefox. Until then, you can manually set the values, it's just two simple commands:

localStorage.setItem("APIKey", "apikeyhereinbetweenthisquotes");
localStorage.setItem("SteamID64", steamid64herewithoutquotes);

To run then, right-click>Inspect, go to the Console tab and paste them in, one at a time and press enter.

2 years ago
Permalink

Comment has been collapsed.

using those commands I was able to set the variables and they were properly set as I verified with the commands you wrote to other people

localStorage.getItem("APIKey");
localStorage.getItem("SteamID64");

Unfortunately, it still doesn't apply the coloring.

If it helps, it always says "Reached 1st else" in console.

2 years ago
Permalink

Comment has been collapsed.

That doesn't really help, those conditionals are just there to inject the row into the Discussions box, since there are some scripts out there that mess with the order of the elements in the header, and I put those prints there to see which conditional would follow having different scripts running at the same time as mine. Reaching the 1st else just means that you have no other scripts running, or that you have some script or scripts that don't mess with the header.

It seems to be some problem with Firefox though, try checking the console while you open one of Rachel's threads with a chart and that has games you are sure you own. If there are any errors let me know, please. I'll be taking a look at it later anyway, I just need to install some scripts in Firefox first to check if there are any more incompatibilities in that browser.

2 years ago
Permalink

Comment has been collapsed.

I don't have any errors, not even the mixed content one that some people are getting.

2 years ago
Permalink

Comment has been collapsed.

Well. I think I got it, at least it works on Firefox, and it also seems to work on Chrome, so please, download it and let me know if it works.

If it works then it would mean that I just have to include some styling for the buttons to not look static in Firefox and Opera and after that the script should be ready to work in any browser, I'll be able to push the updates to the original version and merge the two versions together, yay! :D

Edited to remove the link, that version is now the DEV/DEBUG version that shouldn't be used unless I give it out personally, as it's where I test new features and could break at any moment.

2 years ago*
Permalink

Comment has been collapsed.

For the other Dark Theme

View attached image.
2 years ago
Permalink

Comment has been collapsed.

I actually like yours better, but Mullins gets mad at me, calls me names, and kicks me whenever I link her a screenshot with it ;_;

2 years ago
Permalink

Comment has been collapsed.

View attached image.
2 years ago
Permalink

Comment has been collapsed.

Sorry, I never tried yours, the only I ever tried with Mullins' Dark one, and not even that much either, just a few times to test out what colors would go well with it.

That being said, I added support for your Dark Theme in the test branch of the script, it was tricky, because my script was working as expected, changing the whole row (<tr>) background color. But then yours would come in and set each cell's (<td>) background color to black, basically hiding the row's highlight. For that I added the following CSS in the style tag I inject for the interface popup:

.markdown td {
    background-color: inherit !important;
}

So I would appreciate if you didn't change your current settings for those <td> cells by including an !important in, because then my script wouldn't work, and would have to loop through every cell in each row and setting the style directly into them, making it take longer.

Either way, try the test branch if you want. Give me some feedback and if you do try it, please do give me some colors to test. I really, really, really suck at designing stuff, so it would be very helpful if you, being the creator of that script give me some colors that you think would go well with it. I need two, the primary one, that should mean "valid", sort of like the green in traffic lights for games you own. And then a secondary one for when the script can't check you own everything in packages, orange is a good pick for that "maybe valid", but I'm not sure if orange will go well with your Dark Theme, I know for a fact that didn't go well with Mullins' one.

Edited to remove the link, that version is now the DEV/DEBUG version that shouldn't be used unless I give it out personally, as it's where I test new features and could break at any moment.

2 years ago*
Permalink

Comment has been collapsed.

I got a chuckle out of it, reminded me of harry potter and the one who should not be named.

Have not thought about any colors yet but i was thinking i should switch to rows.

2 years ago
Permalink

Comment has been collapsed.

Well, I promise I didn't do it on purpose xD I actually like your userstyle more than Mullins' now what I've tried both. I'll be sure to feature you into the What exactly does it do section as soon as I include the new line and checkbox in the interface popup and have a color set that works well with it.

And if you are thinking of switching to rows just because of my script you don't need to, as long as you don't add an !important on that line of your style my script should get along with yours perfectly.

By the way, if you are trying the test branch version, do you mind updating to this one? It's the same link, you just need to click "reinstall it", since this version should be fully compatible now with both Firefox, Chrome and Opera since I fucked up trying to turn the Steam ID64 into an int, apparently it's just one digit bigger than what JS' ints can hold. Firefox has been giving me a lot of trouble lately, I'm guessing it has to do with Greasemonkey, but should be fine now as I say.

Oh, and before I forget, do you know what style do I need to include to imitate Chrome's clicking a button animation? In Firefox and I think in Opera those buttons are totally static, with no animation when clicking or anything, so people think they do nothing when they click them, I would like to fix that but as I said, I suck at design and CSS in general. Thanks for your help anyway ^^

Edited to remove the link, that version is now the DEV/DEBUG version that shouldn't be used unless I give it out personally, as it's where I test new features and could break at any moment.

2 years ago*
Permalink

Comment has been collapsed.

Waiting for new version... currently doesn't work for me. I'm running a shitload of other scripts though, so I'm not terribly surprised. :)

2 years ago
Permalink

Comment has been collapsed.

As I said to other people, can you give me a full list of Add-Ons you are using? Also which version of the script and the browser you are in. And what exactly doesn't work? The interface doesn't appear? Or the buttons in the interface don't appear to do anything? Or those two are fine but it doesn't highlight rows?

If the issues is the buttons please, try these two commands on the console:

localStorage.getItem("APIKey");
localStorage.getItem("SteamID64");

And tell me if they give back the correct values. Using the console is very simple, in Chrome is as easy as: right-click>Inspect, click the Console tab at the top and paste them in one by one and press Enter. In Firefox is almost the same, only that instead of Inspect is called Inspect Element.

2 years ago
Permalink

Comment has been collapsed.

Ok, both commands return the correct values that I input.

Problem is, it still isn't highlighting anything.

I'm in Chrome. I've turned off all scripts in the Tampermonkey dashboard except for the following:
RaChart Enhancer2
SGv2 Dark 1.3.6.1
SGTools Giveaways Helper
Add links to SGtools

I AM getting a lot of mixed content warnings in the console, however, in regards to the script.

Mixed Content: The page at 'https://www.steamgifts.com/discussion/riOvr/userscript-rachart-enhancer#4eY5euM' was loaded over HTTPS, but requested an insecure image 'http://i.imgur.com/ruixEqu.png'. This content should also be served over HTTPS.

That's one example. And on Rachel's master charts thread specifically:

ERROR: Execution of script 'RaChart™ Enhancer2' failed! Cannot read property 'href' of undefined(anonymous function) @ (program):4
(program):4 TypeError: Cannot read property 'href' of undefined
    at scanTable (eval at <anonymous> (eval at <anonymous> (unknown source)), <anonymous>:429:66)

Hope this helps!

2 years ago
Permalink

Comment has been collapsed.

The mixed content error is not my fault. SG is HTTPS now, that means that the standard should be that everything served in the website (including images, not just the text) should be also served through HTTPS, but that isn't possible because we can attach images from pretty much every website out there, and not every of those websites uses HTTPS too. Imgur for example still uses HTTP, so you get a warning for every of those attached images that are served over HTTP.

Now, the second part does seem to be my fault, do you mind telling me what thread were you trying the script on?

2 years ago
Permalink

Comment has been collapsed.

This one specifically:

https://www.steamgifts.com/discussion/cQZrW/master-list-of-ongoing-bundles-revamped-w-racharts-updated-daily

But none of the threads with charts are highlighting. :( (Sorry to be a pain..)

2 years ago
Permalink

Comment has been collapsed.

Well, that thread has no games in it, it just has charts with links to the threads of those other bundles. Try for example this thread. I just tried setting your Steam ID64 and it highlights me Skydift and Alien Breed: Impact with no errors.

2 years ago
Permalink

Comment has been collapsed.

FFS. It should be readily apparent now that I haven't finished my first cup of coffee this morning.

Making self look like idiot: Success.

Now I can move on with the rest of my Sunday. :P

2 years ago
Permalink

Comment has been collapsed.

You always seem to misunderstand what my scripts do :P

Either way, have a nice Sunday ^^

View attached image.
2 years ago
Permalink

Comment has been collapsed.

It's obvious that the script should scan each of the linked threads and color the rows as green/orange, telling us if there's anything we're missing in these bundles. :P

2 years ago
Permalink

Comment has been collapsed.

It doesn't save or do anything when "Submit" is clicked. Other SG-related scripts disabled.

2 years ago
Permalink

Comment has been collapsed.

Hello, could you tell me what browser are you using? Also which version of the script. And after that, could you run these two commands on the console and tell me if it gives back the correct values? The commands are:

localStorage.getItem("APIKey");
localStorage.getItem("SteamID64");

I'm guessing you use Firefox, in that browser the style I'm using for the buttons of the popup don't work as well, and don't have any visual clue of when you press them, so you may think they do nothing while they actually are saving your values. I should fix that soon.

2 years ago
Permalink

Comment has been collapsed.

Opera and Violentmonkey. I'll report back when I get on my PC.

2 years ago
Permalink

Comment has been collapsed.

When I press "Submit", it logs two lines to the console:

<input type="textarea" id="SteamID64" style="margin-left: 10px; width: 240px; line-height: inherit;">
SteamID64: 76561198074850966

And when I run the localStore.getItem lines, it returns the correct values that I submitted before reloading the page. But they don't show up in the textboxes after reloading. And the script doesn't appear to change anything on Rachel's bundle pages. No errors or information is logged on those bundle pages.

2 years ago
Permalink

Comment has been collapsed.

It isn't supposed to show that info again once it's set, it just gets stored in the local storage. The only one that comes back if it was set is the checkbox for Mullins' Dark Theme.

And that's what I'm trying to figure out right now, apparently it works just fine for people using Chrome, but any other browser and for some reason it doesn't work, even though I'm not doing anything that would break compatibility between the GM/TM/VM plugins.

2 years ago
Permalink

Comment has been collapsed.

Good news, I managed to get it to work on Firefox, and keeps working on Chrome, so I just need some people to test the new version in Firefox and let me know if it does work. And I need you to test it in Opera and let me know if it works too, since I don't have that browser and I can't download it either (about 2Gb left in the HDD, I'm trying to download/install only the most necessary).

So please, download it and give me feedback. Beware, this version has way more output to the console, so don't be afraid if you see a lot of lines logged in, I needed them to go step by step knowing what happened in each line. I'll remove them or comment them out once I merge this version with the original one, so your feedback is important right now ^^

Edited to remove the link, that version is now the DEV/DEBUG version that shouldn't be used unless I give it out personally, as it's where I test new features and could break at any moment.

2 years ago*
Permalink

Comment has been collapsed.

On this page, where I own a few and have wishlisted a few:

VM82:136 Reached 1st else
VM82:454 importJSON function. appids_filter is: 234140,300570,293780,329460,362680,300580,314660,373480
VM82:456 importJSON function. intSteamID64 is:76561198074850960and it's type is: number
VM82:458 importJSON function. int_appids_filter is:234140,300570,293780,329460,362680,300580,314660,373480
VM82:463 importJSON function. input_json is: {"steamid":76561198074850960,"appids_filter":[234140,300570,293780,329460,362680,300580,314660,373480]}
VM82:465 importJSON function. link is: https://api.steampowered.com/IPlayerService/GetOwnedGames/v1/?key=REDACTED&input_json={"steamid":76561198074850960,"appids_filter":[234140,300570,293780,329460,362680,300580,314660,373480]}
VM82:473 importJSON function. Reached onload
VM82:474 importJSON function. Reached onload. response.responseText equals:"{\n\t\"response\": {\n\t\t\"game_count\": 0\n\t}\n}"
VM82:476 importJSON function. Reached onload. jsonFile is:{"response":{"game_count":0}}

(redacted api key in case it affects my account security). There are no visible colors.

2 years ago
Permalink

Comment has been collapsed.

I don't think Steam's API has any method that could damage your account, but you shouldn't share it anyway, so it's good that you edited it. I'll add a note to the main post telling people not to post their API keys when they ask for help.

And for the script, I was using JS' parseInt() method to turn the Steam ID64 from localStorage that is a string into an int. Turns out it's just one number bigger than what JS ints can hold, so I reverted those changes and now I'm using it directly as a string without trying to turn it into an int first. To try the new version just reinstall, link is the same as always.

Edited to remove the link, that version is now the DEV/DEBUG version that shouldn't be used unless I give it out personally, as it's where I test new features and could break at any moment.

2 years ago*
Permalink

Comment has been collapsed.

Still no colors.

VM82:136 Reached 1st else
VM82:454 importJSON function. appids_filter is: 234140,300570,293780,329460,362680,300580,314660,373480
VM82:458 importJSON function. int_appids_filter is:234140,300570,293780,329460,362680,300580,314660,373480
VM82:465 importJSON function. link is: https://api.steampowered.com/IPlayerService/GetOwnedGames/v1/?key=REDACTED&input_json={"steamid":76561198074850966,"appids_filter":[234140,300570,293780,329460,362680,300580,314660,373480]}
VM82:473 importJSON function. Reached onload
VM82:474 importJSON function. Reached onload. response.responseText equals:"{\n\t\"response\": {\n\t\t\"game_count\": 3,\n\t\t\"games\": [\n\t\t\t{\n\t\t\t\t\"appid\": 293780,\n\t\t\t\t\"playtime_2weeks\": 127,\n\t\t\t\t\"playtime_forever\": 127\n\t\t\t},\n\t\t\t{\n\t\t\t\t\"appid\": 300570,\n\t\t\t\t\"playtime_forever\": 497\n\t\t\t},\n\t\t\t{\n\t\t\t\t\"appid\": 362680,\n\t\t\t\t\"playtime_2weeks\": 890,\n\t\t\t\t\"playtime_forever\": 890\n\t\t\t}\n\t\t]\n\t\t\n\t}\n}"
VM82:476 importJSON function. Reached onload. jsonFile is:{"response":{"game_count":3,"games":[{"appid":293780,"playtime_2weeks":127,"playtime_forever":127},{"appid":300570,"playtime_forever":497},{"appid":362680,"playtime_2weeks":890,"playtime_forever":890}]}}
VM82:478 importJSON function. Reached onload. Entered the if. Game count of jsonFile is:3
VM82:389 Reached the highlight function, the row element I'm supposed to highlight is: app/293780
VM82:391 Highlight if
VM82:389 Reached the highlight function, the row element I'm supposed to highlight is: app/300570
VM82:391 Highlight if
VM82:389 Reached the highlight function, the row element I'm supposed to highlight is: app/362680
VM82:391 Highlight if
2 years ago
Permalink

Comment has been collapsed.

Did you set the primary color and secondary color in the interface? If so, you should run this two commands on the console:

localStorage.removeItem("PrimaryColor");
localStorage.removeItem("SecondaryColor");

At least that's what it means reaching that first if in the highlight function, that the PrimaryColor and SecondaryColor in the localStorage don't equal null. Being null means they weren't set, but if you didn't set them yet then maybe Opera gives back an undefined instead of null for values that aren't set yet. If that's the case I'll update the script again and send you the new version adding that code for Opera browsers.

2 years ago
Permalink

Comment has been collapsed.

Oh, crap yeah, I apparently had them set to "sdf" and "sdf". It works now. Very nice. Thanks for doing this.

2 years ago
Permalink

Comment has been collapsed.

No problem, thank you for sticking around and keep giving feedback, especially when I made you reinstall the script so many times.

2 years ago
Permalink

Comment has been collapsed.

Tip: You could use http://store.steampowered.com/dynamicstore/userdata/ instead of steam api.

It returns both owned packages and DLC along with appids for logged in user without API key requirement.

2 years ago
Permalink

Comment has been collapsed.

This is great, thanks, I wanted to add another color for wishlisted items in the future, so this will come very handy. Any way of checking if the user is logged in, though? I would like to implement this but having the API request as backup option, so in the case that the user isn't logged in Steam then the script can use the API instead.

2 years ago
Permalink

Comment has been collapsed.

He checks rgOwnedApps length to see if it is 0.

2 years ago
Permalink

Comment has been collapsed.

Hmmm... I see, I'll probably use it then, I just need to check how long it takes to load, the good thing about the API request I'm using is that you can pass it specific appIDs, so you don't have to retrieve the full user's owned games list and therefore making less load for the browser and waiting less for it to be retrieved.

2 years ago
Permalink

Comment has been collapsed.

Awesome work!

2 years ago
Permalink

Comment has been collapsed.

Bump for v0.25. You should update ASAP if you haven't already, it fixes a lot of issues (check the changelog in the first comment for more info). If you had both the test branch version and the original one Tampermonkey/Greasemonkey/Violentmonkey will update both to the same file, so you should delete one of them after they both have been updated, I'm sorry for any inconvenience this may cause.

2 years ago
Permalink

Comment has been collapsed.

Deleted

This comment was deleted 6 months ago.

2 years ago
Permalink

Comment has been collapsed.

Hmmm... Can you link me the thread from Rachel? I could add something like a conversion table, so if the link was for Check vs Mate it would search your account for the two appIDs, but I'll need to manually do that, so don't expect it to work until I release the updated version with the other features I'm working on.

2 years ago
Permalink

Comment has been collapsed.

Deleted

This comment was deleted 6 months ago.

2 years ago
Permalink

Comment has been collapsed.

I think I got it, it took me a while to implement, but I should have all the needed code to handle those cases. Know I just need to know those cases, and I just asked Knsys, that should have a list of those for SGTools and maybe can help me. Either way, I'll let you know once I upload the script with the updates so you can try it out and tell me if the error is still there.

2 years ago
Permalink

Comment has been collapsed.

That particular game is a weird case because you get redirected to the right page for your region in the Steam store, but you can actually own both versions of the game since they actually have different ids.

2 years ago
Permalink

Comment has been collapsed.

Wow, how did I now know about this before? This deserves a bump!

2 years ago
Permalink

Comment has been collapsed.

Well, it's not that weird, it's pretty new, I released it on the 14th so it's been just two days since I opened the thread :P

2 years ago
Permalink

Comment has been collapsed.

That's true, but I check the discussions page quite a few times a day, so I was a bit surprised :)

2 years ago
Permalink

Comment has been collapsed.

Script rocks! Always wondered if it is possible to have such a list and tried to circumvent with Excel. :)

2 years ago
Permalink

Comment has been collapsed.

Kudos, this script is pure awesomeness.

It seems to work perfectly on every page except this one.
I get a Cannot read property 'href' of undefined error.

2 years ago
Permalink

Comment has been collapsed.

I poked a bit in your script and was able to fix it.

In scanTable() you're looking at elements[i].children[0].children[0].href if the tag is bold, but since Rachel put the "◔w◔" in bold, it confuses it. You need to check if there's actually an elements[i].children[0].children[0] before checking it's url property.

2 years ago*
Permalink

Comment has been collapsed.

Yep, that's one of the things I fixed after releasing v0.25, but I haven't pushed any update for it yet because I want the update to have the "highlight wishlist games" feature from my ToDo list. I created the following function:

function confirmRow(row) {
    if (row.children.length != 1) {
        return false;
    } if (row.children[0].tagName != "STRONG") {
        return false;
    } if (row.children[0].children.length != 1) {
        return false;
    } if (row.children[0].children[0].tagName != "A") {
        return false;
    } if (row.children[0].children[0].hasAttribute("href") === false) {
        return false;
    } if (/store.steampowered.com/.test(row.children[0].children[0].href) === false) {
        return false;
    }
    console.log("confirmRow function. All the if conditionals succesfully passed, returning true, the element was: " + JSON.stringify(row));
    return true;
}

And that function is executed with each elements[i] in scanTable(). If it's true then it executes all the code needed to add it to the appIDs array and setting the class with the correct id in the row and all that. Thanks for reporting it, though, and trying to help me fix it, that's always welcomed, even more when my code is a mess overall xD

EDIT: Forgot to add that I took a screenshot of that exact thread with your SteamID64 set, it works:

View attached image.
2 years ago*
Permalink

Comment has been collapsed.

I need something like this for HB's site.

2 years ago
Permalink

Comment has been collapsed.

I'm not for hire.

Besides, as far as I know the games in the HB bundles have no direct link to the store, so you pretty much have to rely on the name that game has in the bundle, which sometimes doesn't equal the name that has in the store (stuff like missing an : or - or having them when the game in the store hasn't in the title, etc). Basically, a huge pain to develop, and something I really don't want to and don't have the time to do.

2 years ago
Permalink

Comment has been collapsed.

I wasn't soliciting; just expressing a desire aloud. Were I soliciting, I would be direct, not oblique.

2 years ago
Permalink

Comment has been collapsed.

Well, I need something like this for HB's site sounded pretty direct to me, but I may be wrong, I'm not a native English speaker after all, so if that's the case you have my apologies.

2 years ago
Permalink

Comment has been collapsed.

Yes it is direct. A direct expression of desire and interest. I expressed that particular sentiment because though Rachel's charts are quite informative, the thing I actually have a minor interest in are store links on sites like HB that for some reason do not consider such a link to be useful to their users. I appreciate what you have done for the benefit of other users with your code here but seeing your script reminded me of what I'd like (and allowed me to lightly imply a minor gripe about an aspect of HB's site that they continue to overlook), and I expressed as much. However, it is not a direct request--as I said, if I were going to make such a request I'd be straightforward and ask.

However, I do see your perspective on it. What is lost in mere text is tone. I just wanted to be clear in my response that I wasn't soliciting since you were clear in yours that you are not interested in being solicited.

No need to apologize. You were firm in response to what you thought was a request and then went on to explain part of the reason you have no interest in the effort. The latter was more than generous and the former was an appropriate response to what you perceived to be a request.

All is well.

2 years ago
Permalink

Comment has been collapsed.

Awesome work man! I would whitelist you again if I could ;-)

2 years ago
Permalink

Comment has been collapsed.

Oh, yeah, that, I always wondered why I was in your whitelist, as far as I remember we haven't really talked.

Either way, thanks, if I didn't thank you earlier is because I was a bit embarrassed to go to one of your whitelist giveaways and say it basically, since I don't really know you. Hope the script is being useful ^^

2 years ago
Permalink

Comment has been collapsed.

Sign in through Steam to add a comment.