And I have no idea what I am looking at..
[Thu Mar 31 2016 01:05:36 GMT+0530 (India Standard Time)] SGPP - Steamgifts++ plugin started. SGPP.user.js:19:823
[Thu Mar 31 2016 01:05:36 GMT+0530 (India Standard Time)] SGPP - Module GiveawaysFilter append css. SGPP.user.js:19:823
[Thu Mar 31 2016 01:05:36 GMT+0530 (India Standard Time)] SGPP - Module GiveawaysFilter init() call. SGPP.user.js:19:823
[Thu Mar 31 2016 01:05:36 GMT+0530 (India Standard Time)] SGPP - Module FixedNavbar append css. SGPP.user.js:19:823
[Thu Mar 31 2016 01:05:36 GMT+0530 (India Standard Time)] SGPP - Module FixedNavbar init() call. SGPP.user.js:19:823
[Thu Mar 31 2016 01:05:36 GMT+0530 (India Standard Time)] SGPP - Module ScrollingSidebar append css. SGPP.user.js:19:823
[Thu Mar 31 2016 01:05:36 GMT+0530 (India Standard Time)] SGPP - Module ScrollingSidebar init() call. SGPP.user.js:19:823
[Thu Mar 31 2016 01:05:36 GMT+0530 (India Standard Time)] SGPP - Module UserTags append css. SGPP.user.js:19:823
[Thu Mar 31 2016 01:05:36 GMT+0530 (India Standard Time)] SGPP - Module UserTags init() call. SGPP.user.js:19:823
[Thu Mar 31 2016 01:05:36 GMT+0530 (India Standard Time)] SGPP - Module PopupGiveaway append css. SGPP.user.js:19:823
[Thu Mar 31 2016 01:05:36 GMT+0530 (India Standard Time)] SGPP - Module PopupGiveaway init() call. SGPP.user.js:19:823
[Thu Mar 31 2016 01:05:36 GMT+0530 (India Standard Time)] SGPP - Module GiveawaysFilter render() call. SGPP.user.js:19:823
[Thu Mar 31 2016 01:05:36 GMT+0530 (India Standard Time)] SGPP - Module FixedNavbar render() call. SGPP.user.js:19:823
[Thu Mar 31 2016 01:05:36 GMT+0530 (India Standard Time)] SGPP - Module ScrollingSidebar render() call. SGPP.user.js:19:823
[Thu Mar 31 2016 01:05:36 GMT+0530 (India Standard Time)] SGPP - Module UserTags render() call. SGPP.user.js:19:823
[Thu Mar 31 2016 01:05:36 GMT+0530 (India Standard Time)] SGPP - Module PopupGiveaway render() call. SGPP.user.js:19:823
[Thu Mar 31 2016 01:05:37 GMT+0530 (India Standard Time)] SGPP - Steamgifts++ plugin started. SGPP.user.js:19:823
[Thu Mar 31 2016 01:05:37 GMT+0530 (India Standard Time)] SGPP - Module GiveawaysFilter append css. SGPP.user.js:19:823
[Thu Mar 31 2016 01:05:37 GMT+0530 (India Standard Time)] SGPP - Module GiveawaysFilter init() call. SGPP.user.js:19:823
[Thu Mar 31 2016 01:05:37 GMT+0530 (India Standard Time)] SGPP - Module FixedNavbar append css. SGPP.user.js:19:823
[Thu Mar 31 2016 01:05:37 GMT+0530 (India Standard Time)] SGPP - Module FixedNavbar init() call. SGPP.user.js:19:823
[Thu Mar 31 2016 01:05:37 GMT+0530 (India Standard Time)] SGPP - Module ScrollingSidebar append css. SGPP.user.js:19:823
[Thu Mar 31 2016 01:05:37 GMT+0530 (India Standard Time)] SGPP - Module ScrollingSidebar init() call. SGPP.user.js:19:823
[Thu Mar 31 2016 01:05:37 GMT+0530 (India Standard Time)] SGPP - Module UserTags append css. SGPP.user.js:19:823
[Thu Mar 31 2016 01:05:37 GMT+0530 (India Standard Time)] SGPP - Module UserTags init() call. SGPP.user.js:19:823
[Thu Mar 31 2016 01:05:37 GMT+0530 (India Standard Time)] SGPP - Module PopupGiveaway append css. SGPP.user.js:19:823
[Thu Mar 31 2016 01:05:37 GMT+0530 (India Standard Time)] SGPP - Module PopupGiveaway init() call. SGPP.user.js:19:823
[Thu Mar 31 2016 01:05:37 GMT+0530 (India Standard Time)] SGPP - Module GiveawaysFilter render() call. SGPP.user.js:19:823
[Thu Mar 31 2016 01:05:37 GMT+0530 (India Standard Time)] SGPP - Module FixedNavbar render() call. SGPP.user.js:19:823
[Thu Mar 31 2016 01:05:37 GMT+0530 (India Standard Time)] SGPP - Module ScrollingSidebar render() call. SGPP.user.js:19:823
[ 0.002s] [studio.sdk] Enabler.js:100:255
[ 0.007s] [studio.sdk] Enabler.js:100:255
mutating the [[Prototype]] of an object will cause your code to run very slowly; instead create the object with the correct initial [[Prototype]] value using Object.create index.html:12:9491
[ 0.438s] [studio.sdk] Asset properties have been set by host. Enabler.js:100:255
[ 0.439s] [Enabler] ad visible Enabler.js:100:255
[ 1.047s] [studio.sdk] Using default ad parameters in test environment. Simulating local events.
Comment has been collapsed.
Oh! It started working as soon as I disabled SG++! With SG++ enabled, I get absolutely nothing.
Comment has been collapsed.
Thanks so much for posting this! Userscripts such as this are very useful.
Comment has been collapsed.
You could add this:
if(ratings[index].features.indexOf('Steam Achievements') !== -1){ rating += '\uD83C\uDFC6'; }
Between this:
rating = cleanrating(rating);
And this:
image = geticon(rating);
To show a trophy if you have the required font. (Otherwise change \uD83C\uDFC6 to whatever you like).
Maybe I add something like this natively to the script in future updates.
Comment has been collapsed.
Update and see if it worked. It should appear before the time when the mouse is over the giveaway (unfortunately I think that this is the best place I can put it, without modifying SG++).
Maybe I can try to put it where the level requirement shows up, so it would be visible all time.
You have to manually edit var compatgrid = false; on line 26 to true.
Comment has been collapsed.
So I used this for a day and if you don't mind here are some suggestions
1) Thumbs up and thumbs down can be blue and red respectively
2) Clicking on the ratings opens the steam store page in a new tab instead of the same one
This is just so helpful and amazing! Thanks!
Also, is it possible for the app to show user defined tags or genre when I scroll over it? Is there a line I can add to make it do that? Thanks!
Comment has been collapsed.
They should be blue/red already (look at the pictures). They are black for you?
I can make it open on a new tab easily. I just tough to leave it that way because people can alway click with the middle mouse button to open on new tab. But I'll consider changing it.
I would have to make the script scrape that data to make it possible. But that would be easy. Where would you want that? Below the other features? (Single player, DRM, Cards).
Edit: And I don't mind at all to receive suggestions or feedback of any kind. :)
Comment has been collapsed.
Yeah, all the thumbs are grey. I do see yellow squares but that's it.
If you have the time than sure, below the the other feature would be amazing!
Comment has been collapsed.
What OS and browser do you use? It's weird that the color works for the square and not for the thumbs up/down. Maybe the font that is providing it for you doesn't support it fully. I'll look into it.
Now I'm trying to make it compatible with SG++ gridview, after that I'll add these values.
Comment has been collapsed.
The tags stuff is done. But it have to be enabled manually by changing this to true:
var mouseovergatags = true;
var mouseovergastags = true;
The game genre appears between [] and below it the most popular tags.
I'll try to figure out why the colors aren't working for you, or try to work around it.
Comment has been collapsed.
I installed this last night and I only tried it briefly on one page, but today when I visited SteamGifts, the browser froze and after a while I get the error about an unresponsive script and asks if you want to wait or stop the script.. I'm guessing Steam was a bit slow and the script was waiting for a response because I could see a few items on the first page had the thumbs up/down and some didn't and a more were slowly popping in. I had to go through the stop script box a few more times before I could get control of the browser.
I disabled this script and refreshed and it was fine. This is Firefox 45.0.1 with Grease Monkey. I have Extended Steam Gifts and SGLinkies scripts installed with the auto scroll disabled.
Comment has been collapsed.
But that's actually the icon that i'm using for mixed. ^^
I didn't have a better idea on what to use for it. Any suggestions?
You can edit what to use in:
var icons = [[" "," ","◼"," "," "],["▲","▲","▬ ","▼","▼"],['','','','','']];
To use the first set the iconsid should be 0. To use the second it should be 1. The third one is blank because it is the images.
Comment has been collapsed.
This is my script. It adds "Trading Cards", "Achievement", and "Bundled" below giveaway title.
http://www.steamgifts.com/discussion/l6RDh/userscript-sg-game-tags-new-update-v20-new-looks-more-tags-more-supported-pages
Is it line 356-385 in your code which handles endless scroll??
Comment has been collapsed.
Yep. 358-379. I had to put this inside a Timeout so it can detect when an endless scroll script is active, and only then add the observer.
I'll take a look at your code in a moment. Probably you can do something close to what I did.
But if you don't have it already, it would be nice to create a function(element) that scans the data of a given element kinda like I did with scangas() so you don't have to repeat the code.
Comment has been collapsed.
I suggest you start using YahooQL for linkCard, linkAchievement, linkBundle, linkHidden (I can try to help you with that). So that it would only load the part of the page that it needs. It's WAY faster. But you would have to use GM_xmlhttpRequest for these calls.
I made it compatible with endless scrolling here. Take a look. This will get removed from pastebin in 24 hours.
Edit: I couldn't make the YQL stuff work. And about my script: now you don't have to set the age on steam.
Is that ok if I copy part of your code too? I have been thinking for some time on how to make a settings page.
Comment has been collapsed.
linkCard, linkAchievement is just ordinary href. :D
I use SteamAPI with GM_xmlhttprequest to get trading cards and achievement.
So maybe bundle & hidden data which needs to be optimized. I even just know there is YahooQL.
Sure, it is open source anyway :D
And btw, my setting page checkbox is not from original SG classes. I change it to my class because SG seems to adds a click listener to "form__checkbox" and makes them behave like a radio button.
OK, I'll check your code right away...
Comment has been collapsed.
I have read and tried your code. It works perfectly with SG++ and Ext SG endless scroll, but it doesn't work with Easy SG endless scroll.
CMIIW, you use setTimeout to check if user use SG++ or Ext SG every 20ms?
That means it won't work with another endless scroll script.
Thanks for the code.
I've saved it locally, so it's okay if it gets removed from pastebin.
Hmmm... This is so hard...
I'm looking for more dynamic way, like an event listener which triggered when next page is loaded. So it won't matter which script triggers that.
Comment has been collapsed.
Its a setTimeout not setInterval. It simply delays that part of script for 20ms, so the others scripts can run, and then be detected.
I haven't tested with Easy SG.. Never tried that script. But I will test later then, to try to make it compatible.
But that is what the observer does. The problem is that every script messes with the page in different ways so we have to adjust accordingly. :/
Comment has been collapsed.
Searched Easy SG now.. It's for Chrome.. That's why I never heard of it, haha. ^^
Anyway, I tested it here, and I had to delay the script about 300ms instead of 20 to make it detect it.That's too much IMO, so I don't even tried to write the modifications needed to make the observer detect the elements needed correctly. Later I'll look into this again. Maybe adding a button to toggle EasySG compatibily on/off would be better to workaround this high delay.
Comment has been collapsed.
Any ideas why it stopped working today? I'm using Extended SG, Game tags, AD block, Adsbypasser and this script.
Comment has been collapsed.
It doesn't worked. I even made factory reset and reinstalled it with only your script. Did you tested it with Tampermonkey after updating your script yesterday?
Comment has been collapsed.
Tested now and it worked. Anything unusual on the console? (CTRL + SHIFT + J)
What is the last thing that my script shows on console?
You can fallback to the version that worked until I figure this out.
Comment has been collapsed.
Thanks. Old version works fine. Btw I'm using Slimjet browser but I didn't updated it for a week or so. On new version of script I gets this errors: SG Ratings: Extended SteamGifts using endless scroll
VM867:72 SG Ratings: Starting observer (Endless scroll compatibility)
30VM867:224 Uncaught TypeError: Cannot read property '0' of null
VM867:224 Uncaught TypeError: Cannot read property '0' of null(anonymous function) @ VM867:224(anonymous function) @ VM867:7n.extend.map @ VM867:7n.fn.n.map @ VM867:7processpage @ VM867:224GM_xmlhttpRequest.onload @ VM867:344(anonymous function) @ VM878:2(anonymous function) @ VM885:27.
I think that most problem string of code with 30 errors is: features = $('a.name, div.DRM_notice div:first, div.DRM_notice:not(:has(*))', req.response).map(function() { return (this.href!==undefined?this.href.match(/=([0-9]+)\&/)[1]:'0') + '::' + this.textContent.match(/\b.+/)[0].replace(/\s{2,}/g,''); }).get().join('\n');
Comment has been collapsed.
Nice script!
I skimmed through this whole thread but can't find the difference between the shades of blue for the icons... what do the different shades mean? Light vs dark...
Comment has been collapsed.
Sorry. Should make that more clear.
Applied in that order:
Comment has been collapsed.
Can script get ratings from game pages that asks age without logging in to Steam.
Comment has been collapsed.
How can I hide unneeded (for me) tags for example Mac and Linux?
Comment has been collapsed.
No rating for "gold" editions (with dlc) and etc. Can you make at least to show main game rating or to calculate average rating of main game + dlc's?
Comment has been collapsed.
I know. I say that on the post.
It doesn't scan bundles/packages (games with steam store link /sub/ instead of /app/).
Calculate the average is possible, but it's also impractical. :/
The problem is how to tell what is the main game. For example the Telltales Games Collection.
Comment has been collapsed.
Ok, in that case you can filter collections and bundles (by keywords) and show main game (chosen by highest full price value) rating for game packages with dlc's.
Comment has been collapsed.
Nice script but I don't like the mouseovers. Can you please elaborate what the variables are to be set to disable all of them?
I think those variables are concerned:
GASfeatures:true
GAtags:1
GAStags:true
It is really hard to understand that comment:
"(disabled/1:onmouseover/2:onpage)"
and your choice on variables. Why use "0", "disabled", "false" at the same time?
Example with GAStags, checking /giveaways:
0, 1, 2, false = no change
disabled = script completely off
Comment has been collapsed.
You can use the menu of tampermonkey/greasemonkey to change that more easily without changing the defaults on the script itself (image in the end).
Yes, those are the correct variables.
On the GAS page (pages that show multiple giveaways on a list) the only possible options is true or false. You have to disable (set to false) GAS Features and GAS Tags if you don't want the 'mouseover' on GAS page. By default both are enabled. I haven't made an alternative way to show that info on GAS page yet. Maybe I'll add some icons to represent the features idk.
On GA page (Individual giveaway page. /giveaway/) you can choose between Disabled (everything that isn't 1 or 2, but normaly false), onmouseover (1), directly on page (2). By default the features are 2 on GA pages and the tags are 1. So you have to either disable GA Tags or use it on page (2).
And you probably put "disabled" without double quotes, so it isn't an options that scripts can understand. So it simply stops.
Comment has been collapsed.
What is the last thing my script shows on console? (CTRL + SHIFT + [K on firefox, J on chrome])
Edit: Apparently they updated the script to make it compatible with the changes that SG made (like I had done). SG reversed these changes, so they have to reverse it too (like I did). Could be it.
Comment has been collapsed.
Sounds reasonable. With SG++ deactivated your script still works.
Here is my console report, I don't discover anything from your script though.
http://i.imgur.com/FfhVk1v.jpg
Comment has been collapsed.
Just the "font not found" message which is normal.
There is an error with SG v2 Giveaway Filter related to SG++. So it could really be something with SG++.
There's also a lot of errors in the end. But I'm not sure what script is causing it.
You could try an older version of my script to check if there's something wrong here too. Maybe v1.6.0.14.
Comment has been collapsed.
I tried 1.6.0.14 and 1.6.0.15, the problem remained.
After I went back to the most recent version though, I registered that the rating is back within a GA's profile.
And for the grid view I get lots of errors from your script now (yay! ;-))
Comment has been collapsed.
Make my script run before SG++. That should solve this.
I'm trying to test here. But I can't get SG++ to work here now. Not in firefox, neither in chrome. (SG++ alone). An older version works though.
Edit: I think I might have found something. Just a minute...
Comment has been collapsed.
Great. The problem was with the way my script detect SG++.
My script only checked if SG++ Gridview was active if it detected that SG++ itself was active.
The problem is that since SG++ is partially broken now my script couldn't detect it so it doesn't even tried to check for the gridview. Now I changed it so that it checks for Gridview even if it can't detect SG++.
Comment has been collapsed.
Great. The problem was with the way my script detect SG++.
My script only checked if SG++ Gridview was active if it detected that SG++ itself was active.
The problem is that since SG++ is partially broken now my script couldn't detect it so it doesn't even tried to check for the gridview. Now I changed it so that it checks for Gridview even if it can't detect SG++.
Thanks for informing me of the problem. ;)
Comment has been collapsed.
Fixed it. Update.
But since the script cache the data you'll have to clear the storage on the Greasemonkey/Tampermonkey menu (image at the end, the browser will probably freeze for some seconds) or wait until the games that are already in the cache expire (happens 24 hours after they were first scanned). Without any of those you'll only see the changes for games that aren't cached yet.
Thanks for posting an image, it helped me understand what was happening. :)
Comment has been collapsed.
Thanks, buddy! Awesome job! Just installed it with Ruphine's SG Game Tags and it works very, very well! Will report if something occurs... ;)
Comment has been collapsed.
You're welcome.
Yes, in the Greasemonkey/Tampermonkey menu (image).
On individual GA page (/giveaway/) you can disable it or choose to show it on the page itself. On /giveaways/ pages you only can disable it or enable it. The options you are looking for is Features and Tags, more specifically:
That should do.
Comment has been collapsed.
33 Comments - Last post 32 seconds ago by huynhan842
250 Comments - Last post 33 minutes ago by Zero224
795 Comments - Last post 2 hours ago by FranckCastle
364 Comments - Last post 2 hours ago by Zepy
44 Comments - Last post 3 hours ago by IronKnightAquila
107 Comments - Last post 5 hours ago by LosingMyEdge
94 Comments - Last post 5 hours ago by BarbaricGenie
188 Comments - Last post 6 minutes ago by wigglenose
132 Comments - Last post 10 minutes ago by f300
56 Comments - Last post 13 minutes ago by m0r1arty
9 Comments - Last post 13 minutes ago by Sh4dowKill
28 Comments - Last post 39 minutes ago by orono
531 Comments - Last post 43 minutes ago by Momo1991
598 Comments - Last post 49 minutes ago by Maskitopeludito
TL;DR: See images. For chrome if you don't set age on steam, games that need it will receive a "No ratings available".
~(May 14, 2017) Added a new way to see features/tags on GAs pages (Must be enabled via the greasemonkey/tampermonkey menu) [beta]
(April 04, 2017) I finally added compatibility with ESGST endless scroll. I'm sorry it took so long, my depression hit me hard on these past weeks. I'll try to fix the other incompatibilities with ESGST (like grid view and some other bugs) as quickly as my depression allow me to do so. :/
(March 05, 2017) Todo: Add compatibility with rhSGST endless scroll.
1.6.1 (May 13, 2016): It also shows metascore now on individual GA page when Steam provides it. To show it on GAS pages you have to enable it on the Tampermonkey/Greasemonkey menu.~
I made this script some time ago. A user who was using it tried to convince me to post here, but I was kinda reluctant to do that.
It shows the % of the positive reviews of the game, the total number of reviews and a thumbs up/down visual aid.
Meaning of the colors of the icons:
If you leave the mouse on top of a giveaway it also show some details of the game. Ex: Cloud, Achievements, Cards, DRM. It can show genre/popular tags if you enable it
manually in the variablein the greasemonkey/tampermonkey menu.Oh, and it works with autoscroll (from Extended Steamgifts and SG++).
It doesn't scan bundles/packages (games with steam store link /sub/ instead of /app/).
After 24 hours it was scanned, an entry in the cache is considered outdated and is going to be scanned again when tried to be used.
Download
To run scripts you will need:
I haven't made a config page (yet),
but there's some configuration variables in the start of the script:, but you can configure some thing using your extension (Under "User scripts commands" on Greasemonkey menu, or on Tampermonkey menu)Any problem let me know. You could try this:
Bump maybe?
Comment has been collapsed.