3 months ago*

Comment has been collapsed.

Just a FYI.
It's not correct all the time, sadly.. For example, app/301540 has steam trading cards. Also this app/467000 and there's more like these.
Only way to know I guess would be store page where there's badge progress. (or using something like steamcardexchange.net)

3 months ago*
Permalink

Comment has been collapsed.

Deleted

This comment was deleted 2 months ago.

3 months ago
Permalink

Comment has been collapsed.

You can use either the SteamCardExchange page (ex: https://www.steamcardexchange.net/index.php?gamepage-appid-730) or the Steam badge page (ex: https://steamcommunity.com/id/raggart/gamecards/730) to determine if a game has cards or not. You'll probably still run into a few exceptions, because Steam is full of exceptions.

3 months ago
Permalink

Comment has been collapsed.

That's your link id/raggart if you don't have the game it redirects to your badges page, i.e. try with 1938010
there's also this page https://steamcommunity.com/stats/610180/achievements but I think it would give same info as the steam api script is using.

3 months ago*
Permalink

Comment has been collapsed.

Since you already made the color picking option, is there any reason not to include the ability to pick color for cards / no cards? Red and green can look pretty similar for some people.

3 months ago
Permalink

Comment has been collapsed.

Deleted

This comment was deleted 2 months ago.

3 months ago
Permalink

Comment has been collapsed.

Deleted

This comment was deleted 2 months ago.

3 months ago
Permalink

Comment has been collapsed.

Deleted

This comment was deleted 2 months ago.

3 months ago
Permalink

Comment has been collapsed.

I use opera gx, together with ESGST - nothing works for me, there are no icons.

3 months ago
Permalink

Comment has been collapsed.

Some games for example https://www.steamgifts.com/game/dldgj/moonstone-island say that don't have trading cards.

I changed the detection to use SteamCardExchange and search the tittle of the HTML (the website doesn't have an API)

  // Returns: true / false / null (null = unknown/error)
  async function fetchHasCards(appid){
    return await new Promise(resolve=>{
      GM_xmlhttpRequest({
        method:'GET',
        url:`https://www.steamcardexchange.net/index.php?gamepage-appid-${appid}/`,
        timeout:15000,
        onload:(res)=>{
          try{
            resolve(res.responseText.search("<title>Showcase :: Game not found!</title>") == -1 ? true : false);
          }catch{ resolve(null); }
        },
        onerror:()=>resolve(null),
        ontimeout:()=>resolve(null),
      });
    });
  }

Also changed this two lines in Cache to use the value from LS.cachePrefix instead of the hard coded 'sgc_app_'

  const keyFor = (appid) => LS.cachePrefix + appid;
  function clearCache(){ Object.keys(localStorage).forEach(k => { if (k.startsWith(LS.cachePrefix)) localStorage.removeItem(k) }); }
3 months ago
Permalink

Comment has been collapsed.

Sign in through Steam to add a comment.