├── .github └── FUNDING.yml ├── Animated-Avatar ├── Animated-Avatar.meta.js └── Animated-Avatar.user.js ├── Applying-Custom-Tags-to-Guides.user.js ├── Badge-Autocraft-2 ├── Badge-Autocraft-2.meta.js ├── Badge-Autocraft-2.user.js └── README.md ├── Batch-Keys-Activator ├── Batch-Keys-Activator.meta.js ├── Batch-Keys-Activator.user.js └── README.md ├── Consume-Knick-Knacks ├── Consume-Knick-Knacks.meta.js ├── Consume-Knick-Knacks.user.js └── README.md ├── Extended-Activity-Feed ├── Extended-Activity-Feed.user.js └── readme.md ├── Extended-Guide-Editing.user.js ├── Game-Inventories-Count.user.js ├── Grind-Sale-Items-Into-Gems ├── Grind-Sale-Items-Into-Gems.meta.js ├── Grind-Sale-Items-Into-Gems.user.js ├── README.md └── fetch-class-ids.js ├── README.md ├── Sale-Badge-Faster-Crafting ├── Sale-Badge-Faster-Crafting.meta.js └── Sale-Badge-Faster-Crafting.user.js └── libs └── msToTimeStr.js /.github/FUNDING.yml: -------------------------------------------------------------------------------- 1 | # These are supported funding model platforms 2 | 3 | github: # Replace with up to 4 GitHub Sponsors-enabled usernames e.g., [user1, user2] 4 | 5 | ko_fi: zeokku 6 | patreon: zeokku 7 | 8 | open_collective: # Replace with a single Open Collective username 9 | 10 | tidelift: # Replace with a single Tidelift platform-name/package-name e.g., npm/babel 11 | community_bridge: # Replace with a single Community Bridge project-name e.g., cloud-foundry 12 | liberapay: # Replace with a single Liberapay username 13 | issuehunt: # Replace with a single IssueHunt username 14 | otechie: # Replace with a single Otechie username 15 | custom: # Replace with up to 4 custom sponsorship URLs e.g., ['link1', 'link2'] 16 | -------------------------------------------------------------------------------- /Animated-Avatar/Animated-Avatar.meta.js: -------------------------------------------------------------------------------- 1 | // ==UserScript== 2 | // @name Animated Avatar 3 | // @version 5.1 4 | // ==/UserScript== -------------------------------------------------------------------------------- /Animated-Avatar/Animated-Avatar.user.js: -------------------------------------------------------------------------------- 1 | // ==UserScript== 2 | // @name Animated Avatar 3 | // @icon https://store.steampowered.com/favicon.ico 4 | // @namespace steam 5 | // @version 5.1 6 | // @description Makes your profile picture animated using standard game avatars on Steam 7 | // @author Lutymane 8 | // @match https://steamcommunity.com/id/* 9 | // @homepageURL https://github.com/Lutymane/Steam-Scripts 10 | // @supportURL https://github.com/Lutymane/Steam-Scripts/issues 11 | // @updateURL https://github.com/Lutymane/Steam-Scripts/raw/master/Animated-Avatar/Animated-Avatar.meta.js 12 | // @downloadURL https://github.com/Lutymane/Steam-Scripts/raw/master/Animated-Avatar/Animated-Avatar.user.js 13 | // @require https://ajax.googleapis.com/ajax/libs/jquery/3.3.1/jquery.min.js 14 | // ==/UserScript== 15 | 16 | var timeout = 3000; //!Dont modify this value or you will get VAC and community banned! As well SWAT will break into your house in few minutes 17 | var isRunning = false; 18 | var button = ` 19 | 20 | 21 | Enable Animated Avatar 22 | 23 | `; 24 | 25 | const presetsData = [ 26 | [526800, 5, ["https://steamcdn-a.akamaihd.net/steamcommunity/public/images/avatars/db/db0d01b70afa148924acd3f391e3bd542ba000d1_medium.jpg", "https://steamcdn-a.akamaihd.net/steamcommunity/public/images/avatars/54/542d3bf2beea870c0e01ca3a2ed24ff47e3a3fc4_medium.jpg", "https://steamcdn-a.akamaihd.net/steamcommunity/public/images/avatars/92/92e6de9a111fb84b88dfb2ee7007c7cd1f03a0a3_medium.jpg", "https://steamcdn-a.akamaihd.net/steamcommunity/public/images/avatars/81/811d913ac1ed8e24f488069be50980ef2c6fccef_medium.jpg", "https://steamcdn-a.akamaihd.net/steamcommunity/public/images/avatars/6e/6e3e77e2007453543efbac19079ec072552e457e_medium.jpg",]], 27 | [269570, 7, ["https://steamcdn-a.akamaihd.net/steamcommunity/public/images/avatars/0f/0f3ca8d724eaec3170564493b9d1a7860463778d_medium.jpg", "https://steamcdn-a.akamaihd.net/steamcommunity/public/images/avatars/03/034415e73b0dbeb6fa4619073d77361d93e1f733_medium.jpg", "https://steamcdn-a.akamaihd.net/steamcommunity/public/images/avatars/2c/2c5e6a8a0266e5f8f006327f95732c054f296b07_medium.jpg", "https://steamcdn-a.akamaihd.net/steamcommunity/public/images/avatars/f4/f4cc140b1c3536a0472f3f20109eb24bc32f0958_medium.jpg", "https://steamcdn-a.akamaihd.net/steamcommunity/public/images/avatars/8b/8be2745538b66356aaded140723d4f1db8291473_medium.jpg", "https://steamcdn-a.akamaihd.net/steamcommunity/public/images/avatars/8e/8e90795d6c41f51e0d0f859324ce3d89c72144a6_medium.jpg", "https://steamcdn-a.akamaihd.net/steamcommunity/public/images/avatars/95/95cf157ccf12e3bf362419e4c9add5bdc5e748a6_medium.jpg", "https://steamcdn-a.akamaihd.net/steamcommunity/public/images/avatars/27/2755c003813c860db3186e0491db326f6cef0fc9_medium.jpg",]], 28 | [453830, 7, ["https://steamcdn-a.akamaihd.net/steamcommunity/public/images/avatars/b5/b59d15a18eb78d702573aa5694ba0fced7109b42_medium.jpg", "https://steamcdn-a.akamaihd.net/steamcommunity/public/images/avatars/32/32089cf605720a3328c9c2baecd0295d759352ed_medium.jpg", "https://steamcdn-a.akamaihd.net/steamcommunity/public/images/avatars/2f/2f7707e81810c0c937c5311bf81582515a1abf34_medium.jpg", "https://steamcdn-a.akamaihd.net/steamcommunity/public/images/avatars/57/57559138b5de3d814a548115426b01027deae5a8_medium.jpg", "https://steamcdn-a.akamaihd.net/steamcommunity/public/images/avatars/99/9901a21662cc5ec034d4d6c3457f440204bb16b8_medium.jpg", "https://steamcdn-a.akamaihd.net/steamcommunity/public/images/avatars/8e/8ea44219ba9fc8adbfed8225260f5baa52a90fe5_medium.jpg",]], 29 | ['NinjasPlusPlus', 11, ["https://steamcdn-a.akamaihd.net/steamcommunity/public/images/avatars/7d/7df9c118ef15066ee406993651769849a8d2769b_medium.jpg", "https://steamcdn-a.akamaihd.net/steamcommunity/public/images/avatars/25/25131075b333078c10d78d4d27ac6e66a93c70f3_medium.jpg", "https://steamcdn-a.akamaihd.net/steamcommunity/public/images/avatars/01/018b94c330cb94c253f37dba04bffeee97db87d2_medium.jpg", "https://steamcdn-a.akamaihd.net/steamcommunity/public/images/avatars/90/90b1b8e57830f1e5a362bf882b32c855cf814c70_medium.jpg", "https://steamcdn-a.akamaihd.net/steamcommunity/public/images/avatars/f8/f8036b713307b711391bf6d95fed91a8d22ffc96_medium.jpg", "https://steamcdn-a.akamaihd.net/steamcommunity/public/images/avatars/b8/b836ca804e0f338e7a35617ee54c20915333a8f4_medium.jpg", "https://steamcdn-a.akamaihd.net/steamcommunity/public/images/avatars/7c/7ce0fd2d433817699113d97d787b48d2eba610e6_medium.jpg", "https://steamcdn-a.akamaihd.net/steamcommunity/public/images/avatars/d4/d43d28584a79403796fa9fa1302af75f90a2b4fc_medium.jpg", "https://steamcdn-a.akamaihd.net/steamcommunity/public/images/avatars/2c/2c6be004f0539bec65e48ced70e9dab9592421ca_medium.jpg", "https://steamcdn-a.akamaihd.net/steamcommunity/public/images/avatars/ee/eeb76270e0a8e69d9f93212865f65aa882bdee46_medium.jpg", "https://steamcdn-a.akamaihd.net/steamcommunity/public/images/avatars/76/76202d1cce80dabfaeb5a927c88659a61ca5163b_medium.jpg", "https://steamcdn-a.akamaihd.net/steamcommunity/public/images/avatars/4d/4d84830db36b8002f9a4c0c3cd39f1ec6af4876b_medium.jpg",]], 30 | ['SuperDistro', 8, ["https://steamcdn-a.akamaihd.net/steamcommunity/public/images/avatars/36/36ff338d8015e08121451ba0d8faf873cd521b5d_medium.jpg", "https://steamcdn-a.akamaihd.net/steamcommunity/public/images/avatars/03/03d9f5588297dc94bd5aef555b606f8e0a2982de_medium.jpg", "https://steamcdn-a.akamaihd.net/steamcommunity/public/images/avatars/eb/eb02205ec5dc61031c03c98076e2ff162fc6067a_medium.jpg", "https://steamcdn-a.akamaihd.net/steamcommunity/public/images/avatars/b5/b5e256d411a1f2a346784747f999578454c3aa06_medium.jpg", "https://steamcdn-a.akamaihd.net/steamcommunity/public/images/avatars/81/819965f3e186e7a34fb656c76de4f925654e8365_medium.jpg", "https://steamcdn-a.akamaihd.net/steamcommunity/public/images/avatars/0f/0fa25b420a165d8ab5e832f1cc33009d3731bbc7_medium.jpg", "https://steamcdn-a.akamaihd.net/steamcommunity/public/images/avatars/6b/6b412a5d9f88dc13bb83bc0146e65beae7cb3d58_medium.jpg",]], 31 | [471220, 4, ["https://steamcdn-a.akamaihd.net/steamcommunity/public/images/avatars/89/894b255f35eb6a5b8081603d507c12893f0cf075_medium.jpg", "https://steamcdn-a.akamaihd.net/steamcommunity/public/images/avatars/42/4252370ebe55dabc4a4ab171d67289f872bf8c54_medium.jpg", "https://steamcdn-a.akamaihd.net/steamcommunity/public/images/avatars/7b/7bbba49627e3a20838214eef6f1580e96bfd30b6_medium.jpg", "https://steamcdn-a.akamaihd.net/steamcommunity/public/images/avatars/4e/4eeb15b84113a67648bc6bc1c6316531b18a90b9_medium.jpg",]], 32 | [536470, 4, ["https://steamcdn-a.akamaihd.net/steamcommunity/public/images/avatars/c8/c82709d2b38665004703da19a7f1e7f486e6aed2_medium.jpg", "https://steamcdn-a.akamaihd.net/steamcommunity/public/images/avatars/e5/e5b457e0fd3a7b7c0673a66cab9a937b1c1f5bfb_medium.jpg", "https://steamcdn-a.akamaihd.net/steamcommunity/public/images/avatars/03/0362f51df0665562d4b2c98e9c9de30c06a71b02_medium.jpg", "https://steamcdn-a.akamaihd.net/steamcommunity/public/images/avatars/eb/eb81e26a4c4d928b614e78313d5b3bae0892ac65_medium.jpg",]], 33 | [432330, 20, ["https://steamcdn-a.akamaihd.net/steamcommunity/public/images/avatars/ea/eafd7cec83089c5f5d6abd1b87bcfa44e0b86800_medium.jpg", "https://steamcdn-a.akamaihd.net/steamcommunity/public/images/avatars/04/04ab8776488961ae0fb356b5715ea15b3350ef1c_medium.jpg", "https://steamcdn-a.akamaihd.net/steamcommunity/public/images/avatars/12/12e22bcb24a53ed56bd4a4b7711ae5bd25611c73_medium.jpg", "https://steamcdn-a.akamaihd.net/steamcommunity/public/images/avatars/b2/b22126a65988020b5644e1cfb11d8af054a0e4a3_medium.jpg", "https://steamcdn-a.akamaihd.net/steamcommunity/public/images/avatars/d4/d4de9b51abd545617d22f5a1375628235d3cba32_medium.jpg", "https://steamcdn-a.akamaihd.net/steamcommunity/public/images/avatars/e3/e37933d9a1be8e262bed4e8abb279f94e367ba79_medium.jpg", "https://steamcdn-a.akamaihd.net/steamcommunity/public/images/avatars/df/dfa74392dcfd2bf536bec5af475065902336ba18_medium.jpg", "https://steamcdn-a.akamaihd.net/steamcommunity/public/images/avatars/65/6551a9a2a36756db34edda090d94bb03a4c88eac_medium.jpg", "https://steamcdn-a.akamaihd.net/steamcommunity/public/images/avatars/3e/3ee5b662623b549a649518c147ae7d53ef4c4bc2_medium.jpg", "https://steamcdn-a.akamaihd.net/steamcommunity/public/images/avatars/a8/a86605fb74483e71a308905b57036aba2c086a65_medium.jpg", "https://steamcdn-a.akamaihd.net/steamcommunity/public/images/avatars/c4/c4414ddb3d262bcdd7428759e71055871e5cdaea_medium.jpg", "https://steamcdn-a.akamaihd.net/steamcommunity/public/images/avatars/67/67a601c7048e887369edb399970801b371124019_medium.jpg", "https://steamcdn-a.akamaihd.net/steamcommunity/public/images/avatars/d9/d93a7d16d55ed9c818f770bc6fc046e7ed7ba771_medium.jpg", "https://steamcdn-a.akamaihd.net/steamcommunity/public/images/avatars/02/02f7d9953823b6ced8b624985b43f8038ffed1cb_medium.jpg", "https://steamcdn-a.akamaihd.net/steamcommunity/public/images/avatars/dd/ddfdcea0e707631a68237b094735c2e1be05188e_medium.jpg", "https://steamcdn-a.akamaihd.net/steamcommunity/public/images/avatars/18/181dceda89e2242f99a22b740bb8131046e008b5_medium.jpg", "https://steamcdn-a.akamaihd.net/steamcommunity/public/images/avatars/47/4765bd0199ffa12a7b1bb7f8e2bfec766b572de5_medium.jpg", "https://steamcdn-a.akamaihd.net/steamcommunity/public/images/avatars/6d/6d4c30600974946366c30bfb0cae86af5b41854c_medium.jpg", "https://steamcdn-a.akamaihd.net/steamcommunity/public/images/avatars/80/80ad7639369a5f8bd65280906c2e88d03811a41a_medium.jpg", "https://steamcdn-a.akamaihd.net/steamcommunity/public/images/avatars/4f/4f02586e0e587879bf0d51102326d3e620a6bfa7_medium.jpg",]], 34 | ['sentris', 28, ["https://steamcdn-a.akamaihd.net/steamcommunity/public/images/avatars/b6/b60b4612f7053c08e961b9fba2ddb0bbbf6df94d_medium.jpg", "https://steamcdn-a.akamaihd.net/steamcommunity/public/images/avatars/92/9242ab9a702c3054cb4d15b9f3c32505a53b687d_medium.jpg", "https://steamcdn-a.akamaihd.net/steamcommunity/public/images/avatars/a1/a11966cdcea7144bd5cd441c093c347245be84cc_medium.jpg", "https://steamcdn-a.akamaihd.net/steamcommunity/public/images/avatars/5f/5ff77f23c4ed6a4c907e325be62d753aad8417c6_medium.jpg", "https://steamcdn-a.akamaihd.net/steamcommunity/public/images/avatars/f3/f317aad3e9d52d89b1593a3128ae4b3e445cb095_medium.jpg", "https://steamcdn-a.akamaihd.net/steamcommunity/public/images/avatars/32/3265e4e75d518bc10a589e6833da05d73afcf21e_medium.jpg", "https://steamcdn-a.akamaihd.net/steamcommunity/public/images/avatars/56/56694c30bb60c00bcf76703a52f54aa74b4e0428_medium.jpg", "https://steamcdn-a.akamaihd.net/steamcommunity/public/images/avatars/07/07f2c40851434e3678dbc40403fb531ce6b26e2d_medium.jpg", "https://steamcdn-a.akamaihd.net/steamcommunity/public/images/avatars/96/961ffbb477f8cc91f5a25ef78f2113598b901bf6_medium.jpg", "https://steamcdn-a.akamaihd.net/steamcommunity/public/images/avatars/98/985c9782e248664b920a4b6e587de8aecc5e90ea_medium.jpg", "https://steamcdn-a.akamaihd.net/steamcommunity/public/images/avatars/22/222a3f38391d53382e24de253f5939a4f1b30f88_medium.jpg", "https://steamcdn-a.akamaihd.net/steamcommunity/public/images/avatars/c7/c71471e82d2deb3e1333231d3e09fcf9ef49e8cb_medium.jpg", "https://steamcdn-a.akamaihd.net/steamcommunity/public/images/avatars/ff/ffaea0f09d13cba47364393946cdc529f1e5e7c6_medium.jpg", "https://steamcdn-a.akamaihd.net/steamcommunity/public/images/avatars/8b/8b3f055c43a67babe4049874cebd1c07400dcf98_medium.jpg", "https://steamcdn-a.akamaihd.net/steamcommunity/public/images/avatars/ac/ac460a33f76aeb77375c3955f7eb7c5355fef91f_medium.jpg", "https://steamcdn-a.akamaihd.net/steamcommunity/public/images/avatars/49/49d6ec912579644c149d5ca0e61d3c5e5935eca9_medium.jpg", "https://steamcdn-a.akamaihd.net/steamcommunity/public/images/avatars/c9/c9cebbf02b48af361ff82144c14b7bb5ae55ee0d_medium.jpg", "https://steamcdn-a.akamaihd.net/steamcommunity/public/images/avatars/2c/2c3d1ee1888832f756ae1ae90c488ac631509fd0_medium.jpg", "https://steamcdn-a.akamaihd.net/steamcommunity/public/images/avatars/fe/fecfa55fca04f51b59614eca8442e0b224843a89_medium.jpg", "https://steamcdn-a.akamaihd.net/steamcommunity/public/images/avatars/8e/8eceb16c3c17e64d8652c2c86762ec0edece6cb6_medium.jpg", "https://steamcdn-a.akamaihd.net/steamcommunity/public/images/avatars/46/4690960b5f5fd1059ecca387ceee4e0a687e0281_medium.jpg", "https://steamcdn-a.akamaihd.net/steamcommunity/public/images/avatars/92/923fa024e8ccd4132ab2c63c490d980e8869c014_medium.jpg", "https://steamcdn-a.akamaihd.net/steamcommunity/public/images/avatars/f6/f640860794400c4062a729d74226b60f61c3b111_medium.jpg", "https://steamcdn-a.akamaihd.net/steamcommunity/public/images/avatars/3a/3a63f85b9d765ee5880ec4b3a263c39f038fdf99_medium.jpg", "https://steamcdn-a.akamaihd.net/steamcommunity/public/images/avatars/d5/d5809070eeee7b8f717138804a525f05a4b190e3_medium.jpg", "https://steamcdn-a.akamaihd.net/steamcommunity/public/images/avatars/fe/fe8f0286d99c60a184d107bea6666376899a8d6c_medium.jpg", "https://steamcdn-a.akamaihd.net/steamcommunity/public/images/avatars/50/505e004b6989509312fe0882ffd794cb357344b6_medium.jpg", "https://steamcdn-a.akamaihd.net/steamcommunity/public/images/avatars/0a/0a1052f22066ee2e2cfe8f3fad0c47439600a6a2_medium.jpg",]], 35 | [538410, 6, ["https://steamcdn-a.akamaihd.net/steamcommunity/public/images/avatars/c3/c33aae92270c2a52d15d828f7733025758555a71_medium.jpg", "https://steamcdn-a.akamaihd.net/steamcommunity/public/images/avatars/91/9161ac3da504edae89db110c9620190baa5a99e1_medium.jpg", "https://steamcdn-a.akamaihd.net/steamcommunity/public/images/avatars/45/450060a43699113a2652365c21eff1a1986e55ee_medium.jpg", "https://steamcdn-a.akamaihd.net/steamcommunity/public/images/avatars/48/48043e4053bdee9c9c9ccff03f22f444c6c661fa_medium.jpg", "https://steamcdn-a.akamaihd.net/steamcommunity/public/images/avatars/b0/b09c314ae784fbf278bea4b2308bda82ffd08921_medium.jpg", "https://steamcdn-a.akamaihd.net/steamcommunity/public/images/avatars/b4/b49e848439166c3e3a95b7e97bb3648a685cf5b4_medium.jpg",]], 36 | [1025050, 5, ["https://steamcdn-a.akamaihd.net/steamcommunity/public/images/avatars/7e/7ea490f5d317a556db7f49634708ed8aebdc4862_medium.jpg", "https://steamcdn-a.akamaihd.net/steamcommunity/public/images/avatars/e7/e7882c764a22e957a326bcf578c66e142dbb289c_medium.jpg", "https://steamcdn-a.akamaihd.net/steamcommunity/public/images/avatars/81/81361e671ea2e7c93cd81507cfdad2c539c981c9_medium.jpg", "https://steamcdn-a.akamaihd.net/steamcommunity/public/images/avatars/5d/5d5eb973591f22633e6960ee69d0789ba3736aea_medium.jpg", "https://steamcdn-a.akamaihd.net/steamcommunity/public/images/avatars/6d/6d26d6ea9335d3ecd7a6ca81a18381ff69defc30_medium.jpg",]], 37 | ]; 38 | /* 39 | const presets = [ 40 | [471220, 4], 41 | [269570, 8], 42 | [526800, 5], 43 | ['NinjasPlusPlus', 12], 44 | ['SuperDistro', 8], 45 | [453830, 7], 46 | ['sentris', 29], 47 | [538410, 6], 48 | [536470, 4], 49 | [432330, 20] 50 | ]; 51 | 52 | var arrayStr = ''; 53 | var loaded = 0; 54 | 55 | function fetchAvatars(current) { 56 | if (current < presets.length) { 57 | $J.get(`https://steamcommunity.com/games/${presets[current][0]}/Avatar/List`).done(data => { 58 | var imgs = $J(data).find('#mainBodySingle').find('img'); 59 | 60 | var preset_arr = '['; 61 | 62 | for (var i = 1; i < presets[current][1] * 3; i += 3) { 63 | preset_arr += '"' + imgs.eq(i).attr('src').substr(69) + '", '; 64 | } 65 | 66 | preset_arr += ']'; 67 | 68 | arrayStr += `[${presets[current][0]}, ${presets[current][1]}, ${preset_arr}],\n`; 69 | 70 | loaded += 1; 71 | 72 | if (loaded == presets.length) { 73 | console.log(arrayStr); 74 | } 75 | }); 76 | 77 | fetchAvatars(current + 1) 78 | } 79 | } 80 | 81 | fetchAvatars(0); 82 | */ 83 | 84 | function selectAvatar(preset, num) { 85 | if (isRunning) { 86 | $.post(`https://steamcommunity.com/games/${presetsData[preset][0]}/selectAvatar`, 87 | { 88 | sessionid: g_sessionID, 89 | selectedAvatar: num 90 | }).done(data => { }).fail(data => { }); 91 | 92 | setTimeout(() => { 93 | selectAvatar(preset, (num + 1) % presetsData[preset][1]); 94 | }, timeout); 95 | } 96 | } 97 | 98 | function runProcess(id) { 99 | isRunning = true; 100 | 101 | ShowAlertDialog('Your avatar is being animated', 'Click "Stop" to finish the process', 'Stop').done(e => { 102 | isRunning = false; 103 | updatePresetAnimations(0); 104 | }); 105 | 106 | selectAvatar(id, 0); 107 | } 108 | 109 | var previewImgs = null; 110 | 111 | function updatePresetAnimations(counter) { 112 | if (!isRunning) { 113 | for (var i = 0; i < presetsData.length; i += 1) { 114 | previewImgs.eq(i).attr('src', presetsData[i][2][counter % presetsData[i][1]]); 115 | } 116 | 117 | setTimeout(() => { 118 | updatePresetAnimations(counter + 1) 119 | }, timeout); 120 | } 121 | } 122 | 123 | function openAvatarsModal() { 124 | var innerContent = ''; 125 | 126 | for (var i = 0; i < presetsData.length; i += 1) { 127 | innerContent += ``; 128 | 129 | if (i % 5 == 0 && i > 0) { 130 | innerContent += '
'; 131 | } 132 | } 133 | 134 | ShowAlertDialog('Choose preset', innerContent); 135 | 136 | $('[data-preset]').click(e => { 137 | var presetID = $(e.currentTarget).data('preset'); 138 | 139 | if (presetID < presetsData.length) { 140 | runProcess(presetID); 141 | } 142 | }); 143 | 144 | previewImgs = $J('.newmodal_content').find('img'); 145 | 146 | updatePresetAnimations(0); 147 | } 148 | 149 | $(() => { 150 | $('.profile_header_actions').append(button); 151 | $('#enable_anim').click(openAvatarsModal); 152 | }); 153 | -------------------------------------------------------------------------------- /Applying-Custom-Tags-to-Guides.user.js: -------------------------------------------------------------------------------- 1 | // ==UserScript== 2 | // @name Applying Custom Tags to Guides 3 | // @icon https://store.steampowered.com/favicon.ico 4 | // @namespace steam 5 | // @version 1.1 6 | // @description It allows you to apply custom tags to guides, as well as multiple language tags 7 | // @author Lutymane 8 | // @match *://steamcommunity.com/sharedfiles/editguide/* 9 | // @grant none 10 | // ==/UserScript== 11 | 12 | var AddTagButton = '
Add Tag
', 13 | TagInput = '
'; 14 | 15 | 16 | $J(document).ready(function () { 17 | $J('input.inputTagsFilter[type=radio]').each(function () { 18 | $J(this).attr('type', 'checkbox'); 19 | }); 20 | 21 | $J('#checkboxgroup_0 div').click(function () { 22 | var tag = $J(this); 23 | tag.find('input').attr('type', 'text'); 24 | tag.contents().filter(function () { 25 | return this.nodeType === 3; 26 | }).remove(); 27 | }); 28 | 29 | $J('#checkboxgroup_0').append(AddTagButton); 30 | 31 | $J('#AddTag').click(function () { 32 | $J('#checkboxgroup_0 div').eq($J('#checkboxgroup_0 div').index($J(this)) - 1).after(TagInput); 33 | }); 34 | }); 35 | -------------------------------------------------------------------------------- /Badge-Autocraft-2/Badge-Autocraft-2.meta.js: -------------------------------------------------------------------------------- 1 | // ==UserScript== 2 | // @name Badge Autocraft 2 3 | // @version 2.6.1 4 | // ==/UserScript== -------------------------------------------------------------------------------- /Badge-Autocraft-2/Badge-Autocraft-2.user.js: -------------------------------------------------------------------------------- 1 | // ==UserScript== 2 | // @name Badge Autocraft 2 3 | // @icon https://store.steampowered.com/favicon.ico 4 | // @namespace steam 5 | // @version 2.6.1 6 | // @description Thanks to Psy0ch and MrSteakPotato for testing! Inspired by 10101000's Steam-AutoCraft. Allows you to craft remaining badges in one click. Works much more faster, takes much less resources. 7 | // @author Lutymane 8 | // @match https://steamcommunity.com/*/*/badges 9 | // @match https://steamcommunity.com/*/*/badges/ 10 | // @match https://steamcommunity.com/*/*/badges/?p=* 11 | // @homepageURL https://github.com/Lutymane/Steam-Scripts 12 | // @supportURL https://github.com/Lutymane/Steam-Scripts/issues 13 | // @updateURL https://github.com/Lutymane/Steam-Scripts/raw/master/Badge-Autocraft-2/Badge-Autocraft-2.meta.js 14 | // @downloadURL https://github.com/Lutymane/Steam-Scripts/raw/master/Badge-Autocraft-2/Badge-Autocraft-2.user.js 15 | // @require https://ajax.googleapis.com/ajax/libs/jquery/3.1.1/jquery.min.js 16 | // ==/UserScript== 17 | 18 | var NumberOfBadgesToCraftOnPage = 0, 19 | DataButtons = '
Toggle Autocraft
', 20 | ModalBlockData = '', 21 | BlackListAppIDs = [], 22 | ModalInfo = null, 23 | BadgeNumber = 0, 24 | LevelsCrafted = 0, 25 | BadgesSkipped = 0, 26 | CurrentAppID = 0, 27 | Border = 0, 28 | IgnoreFoils = false, 29 | IgnoreNormal = false, 30 | PageNumber = 1, 31 | PostURL = ''; 32 | 33 | function CleanArray(Source) { 34 | var CleanedArray = []; 35 | for (var i = 0; i < Source.length; i++) { 36 | if (Source[i]) { 37 | CleanedArray.push(Source[i]); 38 | } 39 | } 40 | return CleanedArray; 41 | } 42 | 43 | function ApplySettings() { 44 | BlackListAppIDs = CleanArray($('#BlackList').val().replace(/\s+/g, '').split(',')); 45 | 46 | if ($('#IgnoreFoilBadges').prop('checked')) { 47 | window.localStorage.setItem('IgnoreFoils', 'true'); 48 | IgnoreFoils = true; 49 | } 50 | else { 51 | window.localStorage.setItem('IgnoreFoils', 'false'); 52 | IgnoreFoils = false; 53 | } 54 | 55 | if ($('#IgnoreNormalBadges').prop('checked')) { 56 | window.localStorage.setItem('IgnoreNormal', 'true'); 57 | IgnoreNormal = true; 58 | } 59 | else { 60 | window.localStorage.setItem('IgnoreNormal', 'false'); 61 | IgnoreNormal = false; 62 | } 63 | 64 | window.localStorage.setItem('BlackList', BlackListAppIDs); 65 | 66 | $('#ModalBlock').css('display', 'none'); 67 | } 68 | 69 | function ResetSettings() { 70 | window.localStorage.setItem('BlackList', ''); 71 | window.localStorage.setItem('IgnoreFoils', 'false'); 72 | window.localStorage.setItem('IgnoreNormal', 'false'); 73 | 74 | BlackListAppIDs = []; 75 | $('#BlackList').val(''); 76 | 77 | IgnoreFoils = false; 78 | $('#IgnoreFoilBadges').prop('checked', false); 79 | 80 | IgnoreNormal = false; 81 | $('#IgnoreNormalBadges').prop('checked', false); 82 | } 83 | 84 | function SettingsModal() { 85 | $('#ModalBlock').css('display', 'block'); 86 | 87 | $('#BlackList').val(window.localStorage.getItem('BlackList')); 88 | 89 | if (window.localStorage.getItem('IgnoreFoils') == 'true') { 90 | $('#IgnoreFoilBadges').prop('checked', true); 91 | } 92 | else { 93 | $('#IgnoreFoilBadges').prop('checked', false); 94 | } 95 | 96 | if (window.localStorage.getItem('IgnoreNormal') == 'true') { 97 | $('#IgnoreNormalBadges').prop('checked', true); 98 | } 99 | else { 100 | $('#IgnoreNormalBadges').prop('checked', false); 101 | } 102 | } 103 | 104 | function IsInBlackList(id) { 105 | 106 | for (var i = 0; i < BlackListAppIDs.length; i++) { 107 | if (id == BlackListAppIDs[i]) { return true; } 108 | } 109 | 110 | return false; 111 | } 112 | 113 | function ToggleAutocraft(i) { 114 | 115 | BadgeNumber = i + 1; 116 | ModalInfo = ShowBlockingWaitDialog("Crafting on a current page...", "Badge " + BadgeNumber + "/" + NumberOfBadgesToCraftOnPage + " is being processed!
Earned during the session: " + LevelsCrafted * 100 + "XP
Badges skipped: " + BadgesSkipped + ""); 117 | 118 | CurrentAppID = $('.badge_craft_button').eq(i).attr('href').split('/')[6].split('?')[0]; 119 | 120 | if ($('.badge_craft_button').eq(i).attr('href').includes("?border=1")) Border = 1; else Border = 0; 121 | 122 | if (IsInBlackList(CurrentAppID) || (Border == 1 && IgnoreFoils == true) || (Border == 0 && IgnoreNormal == true)) { 123 | BadgesSkipped++; 124 | 125 | if (BadgeNumber < NumberOfBadgesToCraftOnPage) { 126 | ModalInfo.Dismiss(); 127 | ToggleAutocraft(++i); 128 | } 129 | else { 130 | ModalInfo.Dismiss(); 131 | 132 | window.localStorage.setItem('PageFlag', '1'); 133 | window.localStorage.setItem('Skipped', BadgesSkipped); 134 | window.localStorage.setItem('LevelsCrafted', LevelsCrafted); 135 | 136 | window.location.reload(); 137 | } 138 | } 139 | else { 140 | 141 | $.post(PostURL, { 142 | appid: CurrentAppID, 143 | series: 1, 144 | border_color: Border, 145 | sessionid: g_sessionID 146 | }).done(function (data) { 147 | 148 | console.log('AppID: ' + CurrentAppID + ' | XP: ' + data.Badge.xp); 149 | 150 | window.localStorage.setItem('LevelsCrafted', ++LevelsCrafted); 151 | 152 | if ((data.success == 1) && (Border != 1) && (data.Badge.xp != "500")) { 153 | ModalInfo.Dismiss(); 154 | ToggleAutocraft(i); 155 | } 156 | else { 157 | if (BadgeNumber < NumberOfBadgesToCraftOnPage) { 158 | ModalInfo.Dismiss(); 159 | ToggleAutocraft(++i); 160 | 161 | } 162 | else { 163 | ModalInfo.Dismiss(); 164 | 165 | window.localStorage.setItem('PageFlag', '1'); 166 | window.localStorage.setItem('Skipped', BadgesSkipped); 167 | 168 | window.location.reload(); 169 | } 170 | } 171 | }).fail(function (data) { 172 | try { 173 | switch (data.responseJSON.success) { 174 | case 42: 175 | console.log('AppID: ' + CurrentAppID + " | You don't own all cards to craft a badge!"); 176 | break; 177 | case 11: 178 | console.log('AppID: ' + CurrentAppID + " | Badge's maximum level has been reached!"); 179 | break; 180 | default: 181 | console.log('AppID: ' + CurrentAppID + " | Unknown error code: " + data.responseJSON.success); 182 | } 183 | } 184 | catch (e) { 185 | console.log(data); 186 | console.log(e); 187 | } 188 | 189 | if (BadgeNumber < NumberOfBadgesToCraftOnPage) { 190 | ModalInfo.Dismiss(); 191 | ToggleAutocraft(++i); 192 | } 193 | else { 194 | ModalInfo.Dismiss(); 195 | 196 | window.localStorage.setItem('PageFlag', '1'); 197 | window.localStorage.setItem('Skipped', BadgesSkipped); 198 | 199 | window.location.reload(); 200 | } 201 | }); 202 | } 203 | } 204 | 205 | $(document).ready(function () { 206 | 207 | if (location.href.includes("/badges")) { 208 | PostURL = window.location.href.split('?')[0].replace("badges", 'ajaxcraftbadge'); 209 | 210 | $('.badge_details_set_favorite').append(DataButtons); 211 | $('.responsive_page_frame.with_header').after(ModalBlockData); 212 | 213 | $('#ToggleAutocraft').click(function () { 214 | if (confirm('Do you want to toggle autocraft?')) { 215 | if (IgnoreFoils && IgnoreNormal) { 216 | ShowAlertDialog("Info", "Oops... You can't ignore normal badges and foil badges at the same time!
Check your settings, please"); 217 | return; 218 | } 219 | else { 220 | if (NumberOfBadgesToCraftOnPage == 0) { 221 | window.localStorage.setItem('PageFlag', '0'); 222 | window.localStorage.setItem('Skipped', '0'); 223 | ShowAlertDialog("Info", "There are no badges to craft!"); 224 | return; 225 | } 226 | else { 227 | ToggleAutocraft(0); 228 | } 229 | } 230 | } 231 | }); 232 | $('#Settings').click(function () { SettingsModal(); }); 233 | $('#ApplySettings').click(function () { ApplySettings(); }); 234 | $('#ResetSettings').click(function () { ResetSettings(); }); 235 | $('.newmodal_close').click(function () { $('#ModalBlock').css('display', 'none'); }); 236 | 237 | NumberOfBadgesToCraftOnPage = $('.badge_craft_button').length; 238 | 239 | if (window.localStorage.getItem('BlackList') == null || window.localStorage.getItem('IgnoreFoils') == null || window.localStorage.getItem('IgnoreNormal') == null) { 240 | alert("Badge Autocraft script can't read settings values! It may occur because of the script got an update. Please set up script's settings again, since they are cleared now"); 241 | return; 242 | } 243 | 244 | if (window.localStorage.getItem('BlackList') != '') { 245 | BlackListAppIDs = window.localStorage.getItem('BlackList').split(','); 246 | } 247 | 248 | if (window.localStorage.getItem('IgnoreFoils') == 'true') { 249 | IgnoreFoils = true; 250 | } 251 | 252 | if (window.localStorage.getItem('IgnoreNormal') == 'true') { 253 | IgnoreNormal = true; 254 | } 255 | 256 | if (window.localStorage.getItem('PageFlag') == '1') { 257 | window.localStorage.setItem('PageFlag', '0'); 258 | 259 | LevelsCrafted = parseInt(window.localStorage.getItem('LevelsCrafted')); 260 | 261 | if (NumberOfBadgesToCraftOnPage > window.localStorage.getItem('Skipped')) { 262 | ToggleAutocraft(0); 263 | } 264 | else { 265 | if (window.localStorage.getItem('Skipped') == '150') { 266 | window.localStorage.setItem('Skipped', '0'); 267 | 268 | if (window.location.href.split('?')[1] == null) { 269 | window.location = window.location.href.split('?')[0] + "?p=2"; 270 | } 271 | else { 272 | PageNumber += parseInt(window.location.href.split('?')[1].split('&')[0].split('=')[1]); 273 | window.location = window.location.href.split('?')[0] + "?p=" + PageNumber; 274 | } 275 | } 276 | else { 277 | window.localStorage.setItem('PageFlag', '0'); 278 | window.localStorage.setItem('Skipped', '0'); 279 | window.localStorage.setItem('LevelsCrafted', '0'); 280 | 281 | if (LevelsCrafted == 0) { 282 | ShowAlertDialog('Info', 'No badges have been crafted! It seems, that you\'ve set up the script wrong. Please, check the settings'); 283 | LevelsCrafted = 0; 284 | } 285 | else { 286 | ShowAlertDialog('Info', 'Crafting is done!
Earned during the session: ' + LevelsCrafted * 100 + " XP"); 287 | LevelsCrafted = 0; 288 | } 289 | } 290 | } 291 | } 292 | } 293 | }); 294 | -------------------------------------------------------------------------------- /Badge-Autocraft-2/README.md: -------------------------------------------------------------------------------- 1 |

Abandoned

2 | -------------------------------------------------------------------------------- /Batch-Keys-Activator/Batch-Keys-Activator.meta.js: -------------------------------------------------------------------------------- 1 | // ==UserScript== 2 | // @name Batch Keys Activator 3 | // @version 2.5.2 4 | // ==/UserScript== -------------------------------------------------------------------------------- /Batch-Keys-Activator/Batch-Keys-Activator.user.js: -------------------------------------------------------------------------------- 1 | // ==UserScript== 2 | // @name Batch Keys Activator 3 | // @icon https://store.steampowered.com/favicon.ico 4 | // @namespace steam 5 | // @version 2.5.2 6 | // @description Activate a bunch of keys at once. Many thanks to Delite for helping with some css stuff, motivation and testing 7 | // @author Lutymane 8 | // @match https://store.steampowered.com/account/registerkey* 9 | // @match https://www.indiegala.com/profile?user_id=* 10 | // @match https://www.indiegala.com/gift?gift_id=* 11 | // @match https://www.gogobundle.com/latest/bundles/order/show/cid-* 12 | // @match https://www.gogobundle.com/account/order/show/cid-* 13 | // @match https://otakubundle.com/latest/bundles/order/show/cid-* 14 | // @match https://otakubundle.com/account/order/show/cid-* 15 | // @match https://www.fanatical.com/*/orders/* 16 | // @match https://www.humblebundle.com/downloads?key=* 17 | // @match https://groupbundl.es/buy/* 18 | // @homepageURL https://github.com/Lutymane/Steam-Scripts 19 | // @supportURL https://github.com/Lutymane/Steam-Scripts/issues 20 | // @updateURL https://github.com/Lutymane/Steam-Scripts/raw/master/Batch-Keys-Activator/Batch-Keys-Activator.meta.js 21 | // @downloadURL https://github.com/Lutymane/Steam-Scripts/raw/master/Batch-Keys-Activator/Batch-Keys-Activator.user.js 22 | // @require https://ajax.googleapis.com/ajax/libs/jquery/3.3.1/jquery.min.js 23 | // ==/UserScript== 24 | var keys = []; 25 | var alreadyOwnedGame_keys = []; 26 | var unprocessed_keys = []; 27 | var otherFailed_keys = []; 28 | var bLimitExceeded = false; 29 | var keysAmount = 0; 30 | var keysActivatedSuc = 0; 31 | var keysFailed = 0; 32 | var keysTextarea = null; 33 | var logDisplay = null; 34 | //Settings 35 | var settingsModal = ` 36 | `; 90 | 91 | var settings = 92 | { 93 | parse_method: 'rgx', 94 | log_level: 'ext', 95 | output_opt: 'trad', 96 | auto_agree: 0, 97 | auto_activate: 0 98 | } 99 | 100 | var timestamp = 0; 101 | //Collect Keys from bundle sites here 102 | var keysData = []; 103 | //Fancy Console 104 | var consoleCSS = 'color:#FFE4E1; font-size: 15px; font-family: raleway, sans-serif; background-color: #F14D39'; 105 | 106 | function registerFailure(ePurchaseResult, receipt, key) { 107 | keysFailed++; 108 | 109 | var sErrorMessage = ''; 110 | 111 | switch (ePurchaseResult) { 112 | case 14: 113 | sErrorMessage = 'The product code you\'ve entered is not valid. Please double check to see if you\'ve mistyped your key. I, L, and 1 can look alike, as can V and Y, and 0 and O.'; 114 | break; 115 | 116 | case 15: 117 | sErrorMessage = 'The product code you\'ve entered has already been activated by a different Steam account. This code cannot be used again. Please contact the retailer or online seller where the code was purchased for assistance.'; 118 | break; 119 | 120 | case 16: 121 | sErrorMessage = 'Batched request timeout'; 122 | break; 123 | 124 | case 53: 125 | sErrorMessage = 'There have been too many recent activation attempts from this account or Internet address. Please wait and try your product code again later.'; 126 | break; 127 | 128 | case 13: 129 | sErrorMessage = 'Sorry, but %1$s is not available for purchase in this country. Your product key has not been redeemed.'.replace(/\%1\$s/, GetGameNameForFailure(receipt)); 130 | break; 131 | 132 | case 9: 133 | sErrorMessage = 'Product: "%1$s"

This Steam account already owns the product(s) contained in this offer. To access them, visit your library in the Steam client.'.replace(/\%1\$s/, GetGameNameForFailure(receipt)); 134 | break; 135 | 136 | case 24: 137 | sErrorMessage = 'The product code you\'ve entered requires ownership of another product before activation.\n\nIf you are trying to activate an expansion pack or downloadable content, please first activate the original game, then activate this additional content.'; 138 | break; 139 | 140 | case 36: 141 | sErrorMessage = 'The product code you have entered requires that you first play %1$s on the PlayStation®3 system before it can be registered.\n\nPlease:\n\n- Start %1$s on your PlayStation®3 system\n\n- Link your Steam account to your PlayStation®3 Network account\n\n- Connect to Steam while playing %1$s on the PlayStation®3 system\n\n- Register this product code through Steam.'.replace(/\%1\$s/g, GetGameNameForFailure(receipt)); 142 | break; 143 | 144 | case 50: 145 | sErrorMessage = 'The code you have entered is from a Steam Gift Card or Steam Wallet Code. Click here to redeem it.'; 146 | break; 147 | 148 | case 4: //??? 149 | sErrorMessage = 'An error has occurred. Code (4). No Description Provided by Valve!'; 150 | break; 151 | 152 | default: 153 | sErrorMessage = 'An unexpected error has occurred. Your product code has not been redeemed. Please wait 30 minutes and try redeeming the code again. If the problem persists, please contact Steam Support for further assistance.'; 154 | break; 155 | } 156 | 157 | switch (ePurchaseResult) { 158 | case 53: 159 | bLimitExceeded = true; 160 | break; 161 | case 9: 162 | try { 163 | alreadyOwnedGame_keys.push( 164 | { 165 | name: receipt.line_items[0].line_item_description, 166 | key: key 167 | }); 168 | } 169 | catch 170 | { 171 | alreadyOwnedGame_keys.push( 172 | { 173 | name: '[error] (name undefined)', 174 | key: key 175 | }); 176 | } 177 | break; 178 | default: 179 | try { 180 | otherFailed_keys.push( 181 | { 182 | name: receipt.line_items[0].line_item_description, 183 | key: key 184 | }); 185 | } 186 | catch 187 | { 188 | otherFailed_keys.push( 189 | { 190 | name: '[error] (possibly invalid key)', 191 | key: key 192 | }); 193 | } 194 | break; 195 | } 196 | 197 | if (settings.log_level == 'short') { 198 | logDisplay.append('
' + key + " | Failed!
"); 199 | } 200 | else { 201 | logDisplay.append('
' + key + "

Failed! " + sErrorMessage + '


'); 202 | } 203 | } 204 | 205 | function activateKey(i) { 206 | $.post('https://store.steampowered.com/account/ajaxregisterkey/', 207 | { 208 | product_key: keys[i], 209 | sessionid: g_sessionID 210 | }).done(function (result) { 211 | if (result !== null) { 212 | if (result.success == 1) { 213 | keysActivatedSuc++; 214 | 215 | if (settings.log_level == 'short') { 216 | logDisplay.append('
' + keys[i] + '| Success!
'); 217 | } 218 | else { 219 | logDisplay.append('
' + keys[i] + '

Success! Product: "' + (result.purchase_receipt_info.line_items.length ? result.purchase_receipt_info.line_items[0].line_item_description : '[error] (undefined name)') + '" has been added to your account.


'); 220 | } 221 | } 222 | else if (result.purchase_result_details !== undefined && result.purchase_receipt_info !== undefined) { 223 | registerFailure(result.purchase_result_details, result.purchase_receipt_info, keys[i]); 224 | } 225 | else { 226 | registerFailure(0, null, keys[i]); 227 | } 228 | 229 | logDisplay.animate({ 230 | scrollTop: logDisplay[0].scrollHeight 231 | }, 1000); 232 | 233 | if (bLimitExceeded || keysActivatedSuc == 50 || keysFailed == 10 /*|| (KeysActivatedSuc + KeysFailed == 40)*/) { 234 | timestamp = (new Date).getTime() + 3600000;//+ 1 hour 235 | window.localStorage.setItem('bka_timestamp', timestamp); 236 | 237 | bLimitExceeded = true; 238 | 239 | for (var j = i; j < keysAmount; j++) { 240 | unprocessed_keys.push(keys[j]); 241 | } 242 | 243 | onActivationProcessFinished(); 244 | 245 | return; 246 | } 247 | 248 | if (++i < keysAmount) { 249 | activateKey(i); 250 | } 251 | else { 252 | onActivationProcessFinished(); 253 | return; 254 | } 255 | } 256 | }).fail(function () { 257 | logDisplay.css('background-color', 'rgba(230, 10, 22, 0.3)');//red 258 | logDisplay.append('



Unexpected error! Try to activate later...'); 259 | return; 260 | }); 261 | } 262 | 263 | function printKeys(arr) { 264 | if (settings.output_opt == 'min') { 265 | for (var i = 0; i < arr.length; i++) { 266 | logDisplay.append(arr[i].key + (i + 1 < arr.length ? ',' : '')); 267 | } 268 | } 269 | else { 270 | for (var i = 0; i < arr.length; i++) { 271 | logDisplay.append(arr[i].name + ': ' + arr[i].key + '
'); 272 | } 273 | } 274 | } 275 | 276 | function onActivationProcessFinished() { 277 | logDisplay.append('
'); 278 | 279 | if (unprocessed_keys.length == 0) { 280 | if ((alreadyOwnedGame_keys.length != 0) || (otherFailed_keys.length != 0)) { 281 | logDisplay.css('background-color', 'rgba(253,215,51,0.3)');//yellow 282 | logDisplay.append('Done! All the keys have been processed, but some of the keys have failed to be activated:'); 283 | 284 | if (alreadyOwnedGame_keys.length != 0) { 285 | logDisplay.append('

Already Owned Game Keys:
'); 286 | printKeys(alreadyOwnedGame_keys); 287 | } 288 | 289 | if (otherFailed_keys.length != 0) { 290 | logDisplay.append('

Keys failed due to various reasons:
'); 291 | printKeys(otherFailed_keys); 292 | } 293 | } 294 | else { 295 | logDisplay.css('background-color', 'rgba(22, 230, 22, 0.3)');//green 296 | logDisplay.append('Done! All the keys have been processed and activated successfully!'); 297 | } 298 | } 299 | else { 300 | var date = new Date(timestamp); 301 | 302 | if ((alreadyOwnedGame_keys.length != 0) || (otherFailed_keys.length != 0)) { 303 | logDisplay.css('background-color', 'rgba(230, 10, 22, 0.3)');//red 304 | logDisplay.append('Activation limit exceeded! Some of the keys have not been activated! Try again at ' + date.getHours() + ':' + date.getMinutes() + '. Also some of the keys have failed to be activated:'); 305 | 306 | if (alreadyOwnedGame_keys.length != 0) { 307 | logDisplay.append('

Already Owned Game Keys:
'); 308 | printKeys(alreadyOwnedGame_keys); 309 | } 310 | 311 | if (otherFailed_keys.length != 0) { 312 | logDisplay.append('

Keys failed due to various reasons:
'); 313 | printKeys(otherFailed_keys); 314 | } 315 | } 316 | else { 317 | logDisplay.css('background-color', 'rgba(255,174,25, 0.3)');//orange 318 | logDisplay.append('Activation limit exceeded! Some of the keys have not been activated! Try again at ' + date.getHours() + ':' + date.getMinutes()); 319 | } 320 | 321 | logDisplay.append('

Unprocessed keys:
' + unprocessed_keys.join()); 322 | } 323 | } 324 | 325 | function deserializeKeys(source) { 326 | var output = []; 327 | source.forEach( 328 | elm => { 329 | if (elm) { 330 | elm.replace(/\s+/g, '').split(',').forEach( 331 | elm2 => { 332 | if (elm2) { 333 | output.push(elm2); 334 | } 335 | }); 336 | } 337 | }); 338 | return output; 339 | } 340 | 341 | function initializeKeysRegistration() { 342 | logDisplay.css('display', 'inherit'); 343 | logDisplay.text(''); 344 | 345 | if ((new Date).getTime() < timestamp) { 346 | var date = new Date(timestamp); 347 | logDisplay.append('Keys Activation Cooldown has not passed yet!
Try to activate again at ' + date.getHours() + ':' + date.getMinutes()); 348 | return; 349 | } 350 | 351 | if (keysTextarea.val() != "" && $('#accept_ssa').is(':checked')) { 352 | if (settings.parse_method == 'def') { 353 | keys = deserializeKeys(keysTextarea.val().split('\n')); 354 | } 355 | else { 356 | keys = keysTextarea.val().match(/[A-z0-9]{5}(?:(?:-[A-z0-9]{5}){4}|(?:-[A-z0-9]{5}){2})/gi); 357 | } 358 | 359 | keysAmount = keys.length; 360 | logDisplay.append('Processing given keys...


'); 361 | 362 | alreadyOwnedGame_keys = []; 363 | unprocessed_keys = []; 364 | otherFailed_keys = []; 365 | bLimitExceeded = false; 366 | 367 | activateKey(0); 368 | } 369 | else if (!($('#accept_ssa').is(':checked'))) { 370 | logDisplay.html('You must agree to the terms of the Steam Subscriber Agreement!'); 371 | } 372 | else { 373 | logDisplay.text('You must input at least one key!'); 374 | } 375 | } 376 | 377 | function openSettings() { 378 | $('#ModalBlock').css('display', 'block'); 379 | 380 | $('#parse_method').val(settings.parse_method); 381 | $('#log_level').val(settings.log_level); 382 | $('#output_opt').val(settings.output_opt); 383 | $('#auto_agree').val(settings.auto_agree); 384 | $('#auto_activate').val(settings.auto_activate); 385 | } 386 | 387 | function saveSettings() { 388 | settings.parse_method = $('#parse_method :selected').val(); 389 | settings.log_level = $('#log_level :selected').val(); 390 | settings.output_opt = $('#output_opt :selected').val(); 391 | settings.auto_agree = $('#auto_agree :selected').val(); 392 | settings.auto_activate = $('#auto_activate :selected').val(); 393 | 394 | window.localStorage.setItem('bka_settings', JSON.stringify(settings)); 395 | 396 | if (settings.auto_agree) { 397 | $('#accept_ssa').prop('checked', true);//You agree to the terms of the SSA https://store.steampowered.com/checkout/ssapopup 398 | } 399 | 400 | $('#ModalBlock').css('display', 'none'); 401 | } 402 | 403 | $(document).ready(function () { 404 | var href = location.href.toLowerCase(); 405 | 406 | if (href.includes("indiegala.com")) { 407 | indieGalaProcess(); 408 | } 409 | else if (href.includes("gogobundle.com") || href.includes("otakubundle.com")) { 410 | otakuGogoProcess(); 411 | } 412 | else if (href.includes("fanatical.com")) { 413 | fanaticalProcess(); 414 | } 415 | else if (href.includes("humblebundle.com")) { 416 | humbleBundleProcess(); 417 | } 418 | else if (href.includes("groupbundl.es")) { 419 | groupBundlesProcess(); 420 | } 421 | else//registerkey 422 | { 423 | setTimeout(function () { 424 | if ($('#es_activate_multiple').length) { 425 | console.log('%c Batch Keys Activator | Enhanced Steam extension detected. Removing ES stuff... ', consoleCSS); 426 | $('#es_activate_multiple').remove(); 427 | } 428 | 429 | //adding nice scrollbars. strange that it's not used everywhere on steam .-. 430 | $('head').append(''); 431 | 432 | $('#product_key').replaceWith($('