SG Train Navigation Assistant is a lightweight userscript which loads quickly, and allows easy manoeuvrability through trains on SteamGifts!

Some backstory as well as the train can be found at the bottom of this post.


Installation

Follow this link and click 'Install this script': SG Train Navigation Assistant (Greasyfork)

If you've never installed a userscript before and need some help, follow these instructions: How to install user scripts (Greasyfork)


Usage

To use this userscript, simply use your arrow keys when in a train, the current available controls are as follows:

  • Left Arrow (←) - Go to the previous train cart
  • Right Arrow (→) - Go to the next train cart
  • Up Arrow (↑) - Open/ Close game screenshots

Note: When writing a comment or changing the description (i.e. when your cursor is active inside a textbox) the shortcut keys will not work.


Issues?

  • If the script doesn’t work, ensure:
    • Tampermonkey is enabled in your browser.
    • The script is active and running when on a giveaway page (such as this).
  • Check the console for errors (Press F12 → Console tab).

Feel free to post any issues in the comments below. As this is my first 'official' public userscript release, please do bear with me if there are any issues.
If there are any other 'Forward' or 'Backward' keywords, please feel free to pop them in this thread also, and I can add them to the script.


So where is the promised sample train?!?!?

Alright, alright, here is the link to the train (Just RemoveThis_ :P). Please feel free to test it out and let me know if you find any issues. I've tried to mix up some of the wagon terminology to really put it to the test.

For some backstory, I made this userscript since my primary method of interaction with Steamgifts is through a trackpad. As such, when there is a large community train, I quickly lose motivation to click through each link.

This poses a problem, especially when I want to contribute, as I need to be able to get to the last cart in the train to add my contribution.

So, through my own laziness, and determination to contribute, I decided to make a small userscript to automatically identify the previous/ next links in the cart, and then allow for keyboard shortcuts to be used to navigate through.

After making a v1 (read as: v0.001) I quickly found that it was a pain to switch between arrow keys and mouse when I wanted to check the screenshots for a game, so I added a shortcut for bringing those up too!

Initially I did consider just using ESGST/ seeing if I could add this to the extension, however it is a fairly heavy plugin, and on the device I use (very old chromebook) takes a while to load, and also loads quite late. This means it takes me several seconds before I can use the hotkeys. My goal with making this a separate userscript was to allow it to load very quickly, and be very lightweight as well (which, from my testing I seem to have achieved!).

At the current stage, I have some other QoL ideas that I may look at adding in the future, such as tracking the cart number to deal with pesky derailments. But currently I think this is at a solid enough stage to maybe (hopefully?) be useful to some.

Thanks for reading!

tldr; I hope this helps people navigate trains.

2 months ago*

Comment has been collapsed.

Thanks for the nice script and massive train!

2 months ago
Permalink

Comment has been collapsed.

Thank you!

2 months ago
Permalink

Comment has been collapsed.

happy cakeday! thanks for the never-ending train :)

2 months ago
Permalink

Comment has been collapsed.

It definitely felt never ending when I was making it...

Thank you and best of luck in the giveaways!

2 months ago
Permalink

Comment has been collapsed.

bump

2 months ago
Permalink

Comment has been collapsed.

Happy cake day, b00p

2 months ago
Permalink

Comment has been collapsed.

Thanks Mayanaise! <3

2 months ago
Permalink

Comment has been collapsed.

Happy Cakeday Alpha 🎂 Your script worked perfectly. It's a good lightweight choice for those who don't use ESGST.

And how is that a "sample" train exactly? It felt like a 7 course meal!

2 months ago
Permalink

Comment has been collapsed.

Yes... I think I may have gone a little off the rails when making it...

Thank you PoeticKatana and best of luck in the giveaways!

2 months ago
Permalink

Comment has been collapsed.

Happy Cakeday 🎂
Bump!

2 months ago
Permalink

Comment has been collapsed.

Thank you <3

2 months ago
Permalink

Comment has been collapsed.

Thank you very much for the script, the train, the games, and all the time you put into it!

Happy cake day!

2 months ago
Permalink

Comment has been collapsed.

Thank you Keka!

2 months ago
Permalink

Comment has been collapsed.

happy cakeday and thank you for the userscript bumpo!

2 months ago
Permalink

Comment has been collapsed.

Happy Cakeday!

2 months ago
Permalink

Comment has been collapsed.

Thanks a lot for such incredible train!

2 months ago
Permalink

Comment has been collapsed.

Happy Cakeday!

2 months ago
Permalink

Comment has been collapsed.

Happy Cake Bump!

2 months ago
Permalink

Comment has been collapsed.

Thanks for this interesting script, tested it late last night in desktop Firefox and it seemed to work perfect, though I only tested it in the first 10 cars back and forth, I'll give it a bigger test later. Thanks for such a QoL enhancement (I can really see it useful in large "event" trains like the community or Xmas trains, especially if you can't keep up regularly!) and also thanks for the Snowpiercer length train 🙀 and hope you had a great cake day!

2 months ago
Permalink

Comment has been collapsed.

Thanks Mhol!

Looking forward to see if you have any feedback when you give it a bigger test!

I hope the train has enough inertia to pierce some snow :P. Best of luck in the giveaways!

2 months ago
Permalink

Comment has been collapsed.

A bit more feedback (and a well earned bump!)

I've finished a trip to the star system next to ours to the end of the train and back again and it worked flawlessly, I was very impressed how it was able to handle the changes in text and format! It was quite responsive and quick, about a second (or less if I didn't want the game image to load).

I then picked a spot in the middle of Icaio's memorial train and rode the rails for about 250 carts (only forward this time) and encountered only 2 occasions where the script failed

  1. https://www.steamgifts.com/giveaway/21EPz/roguebook From my (very limited) understanding of the working of the script I don't think anything can be done about this one, using cart numbers rather than words or symbols is something I don't think can be anticipated.

  2. https://www.steamgifts.com/giveaway/V0BuV/dread-x-collection This one is more straightforward and obviously can't be overcome by the script. If someone forgets to update their train links in the description then that will cause a break. I dare say I had to use my finger (shock!) to click my mouse forward (oh the humanity! 😭)

I stand by my opinion, this is a great little add-on for the community which will really shine in long trains but especially IMO in community crafted trains. Many have pointed out that EGST does something similar but as someone who was initially overwhelmed by the number of options there (and since removed it, I'll get back to it one day 😉) I find this incredibly useful. Thanks again for this neat add-on and the train!

2 months ago
Permalink

Comment has been collapsed.

Thank you for the very detailed feedback Mhol!

I actually think both those cases can be fixed. Especially, since the first is actually already implemented, and should be working...

1) There is already functionality in the script to identify cart numbers, as this was an issue I stumbled upon when testing. Using cart numbers seemed fairly common in large trains.
(See examples of this working: here and here)

I've had a very quick look just now, it looks like the reason it failed in the above linked giveaway is because the current cart number is in a h2 format tag, rather than just in a standard paragraph 'p' tag. So very good catch as that is a bug with the script I haven't caught or come across myself yet!

2) I have come across samples like this also, so far my solution has been just horrifying which includes using a mouse...

But, I have considered also adding a check (if no cart links can be found in the main description) to see if there is any 'Next' associated with a URL in the comments. Be it either a Next: [LINK] format, or a Next format.

Thank you for the kind words, as I mentioned in the post above I did consider using ESGST initially, however my primary issue with it was the fact that to function, it requires ESGST to have loaded, which often takes at least several seconds. This meant that I simply ended up just not using it and clicking (which in a lot of cases was faster, as the links and page would have already loaded by the time ESGST had finally loaded). So my primary goal with this script was just making it robust and reliable, as well as making it lightweight, and load as early as possible, so as soon as you see the links on the page, the script can too!

Once again thank you for the kind words, and I wish you the best of luck in the giveaways!

2 months ago*
Permalink

Comment has been collapsed.

Just to update, I've fixed the first issue now, the number identification now also works for headings (h1 and h2), I can't think of other tag types that may be required at this point, but we will see it when we come to it!

Feel free to give that a shot on your original linked giveaway after updating the script! (To update, your script manager may prompt you, or you may need to visit the userscript page again, and click 'reinstall')

2 months ago*
Permalink

Comment has been collapsed.

Another (rather bug-less) update, camouflaging a rather unsubtle bump for the last 20hrs or so of the mammoth train. Using the updated script I took a ride on the last 300 cars of Icaio's memorial train forward and back, then plunked myself in the middle thereabouts of the 2022 community train & 2023 Xmas train, rode the rails for about 400 cars on each train and am happy to say never encountered a single derailment.

Empirically speaking I could have just been lucky but it seems this script is able to overcome pretty much every conventional and not-so-conventional linking scheme favoured on SG. I've personally found it so useful that while I do most of my routine SG stuff on my mobile browser, it's definitely something I'll switch to desktop for with the long event trains! Thank you again!

1 month ago
Permalink

Comment has been collapsed.

Thank you Mhol!

Wonderful news.

Thank you also for the bump!

Best of luck in the giveaways!

1 month ago
Permalink

Comment has been collapsed.

Bump!

2 months ago
Permalink

Comment has been collapsed.

Happy cakeday!

2 months ago
Permalink

Comment has been collapsed.

Happy cake day Alpha!

Some words:
>>>
Onward

Edit: I see these are already caught by the plugin :)

2 months ago*
Permalink

Comment has been collapsed.

Thank you RePlayBe!

I have spent some time going through the massive community trains to try to catch any oddball links, so I'm glad those work!

If you come across any that don't work, please do let me know!

Best of luck in the giveaways

2 months ago
Permalink

Comment has been collapsed.

Happy (late) Cakeday!

2 months ago
Permalink

Comment has been collapsed.

Thanks Orionid!

2 months ago
Permalink

Comment has been collapsed.

Bumpie! And happy cakeday!

2 months ago
Permalink

Comment has been collapsed.

Thank you Muzo!

2 months ago
Permalink

Comment has been collapsed.

bump

2 months ago
Permalink

Comment has been collapsed.

bump

2 months ago
Permalink

Comment has been collapsed.

This is great stuff. I'm gonna use it. Thanks a lot!

2 months ago
Permalink

Comment has been collapsed.

Thank you Vasharal! I'm glad to hear you like it!

2 months ago
Permalink

Comment has been collapsed.

Thanks and bumps :)

2 months ago
Permalink

Comment has been collapsed.

Happy cakeday!

2 months ago
Permalink

Comment has been collapsed.

Thank you ChimChakMan!

2 months ago
Permalink

Comment has been collapsed.

Bump

2 months ago
Permalink

Comment has been collapsed.

bump!

ESGST is very heavy and not just in resources but with how much it changes to the site, even when saying "no" when setting up. I usually have ESGST turned off unless I'm making a train or joining a train so this could be a neat alternative.

2 months ago
Permalink

Comment has been collapsed.

Thanks! Great to hear you can make some use of this!

I do agree, I love ESGST, but I feel like by default it's too much. It does take a while to set it up how you want it...
As I mentioned my largest problem with the ESGST train hotkey implementation is that you need to wait for ESGST to load to use them.
My main goal with this was to load it as early as possible (a lot of the time even before the page content loads), so as soon as you can see the page, the script can too!

Best of luck with the giveaways

2 months ago
Permalink

Comment has been collapsed.

Sign in through Steam to add a comment.