您需要先安装一个扩展,例如 篡改猴、Greasemonkey 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 Userscripts ,之后才能安装此脚本。
您需要先安装一款用户脚本管理器扩展,例如 Tampermonkey,才能安装此脚本。
您需要先安装用户脚本管理器扩展后才能安装此脚本。
Attempts to make airconsole playable on PC. Expect bugs and shitty experience.
当前为
// ==UserScript== // @name AirconsolePC // @namespace Danielv123 // @version 1.0 // @description Attempts to make airconsole playable on PC. Expect bugs and shitty experience. // @author Danielv123 // @match https://www.airconsole.com/ // @match https://storage.googleapis.com/com.airconsole.store.cdn.airconsole.com/*/controller.html // @match https://game.airconsole.com/com.bighutgames.*.cdn.airconsole.com/*/controller.html // @match https://game.airconsole.com/ch.dnastudios.towerofbabel.cdn.airconsole.com/*/controller.html // @grant none // @require https://greasyfork.org/scripts/7927-mousetrap/code/Mousetrap.js?version=35548 // ==/UserScript== games = { racingWars: { active: function(){ if(window.rate_limiter && rate_limiter.airconsole){ console.log("Playing racingWars!"); return true; } else return false; }, stop: function(){ if(this.active()){ rate_limiter.message(undefined, {right:{pressed:false, message:{}},left:{pressed:false, message:{}}});console.log("stopping"); } }, reverse: function(){ if(this.active()){ rate_limiter.message(undefined, {right:{pressed:true, message:{}},left:{pressed:true, message:{}}});console.log("reversing"); } }, right: function(){ if(this.active()){ rate_limiter.message(undefined, {right:{pressed:true, message:{}},left:{pressed:false, message:{}}});console.log("going right"); } }, left: function(){ if(this.active()){ rate_limiter.message(undefined, {right:{pressed:false, message:{}},left:{pressed:true, message:{}}});console.log("going left"); } }, fire: function(){ if(this.active()){ rate_limiter.message(undefined, {fire:{pressed:false, message:{}}});console.log("Attempting to fire weapon/press start"); } }, }, towerOfBabel: { active: function(){ if(window.app && window.app.sendMessageToScreen){ console.log("Playing towerOfBabel!"); return true; } else return false; }, drop: function(){ if(this.active()){ console.log("Dropping object/activating thing/hitting the big button"); app.sendMessageToScreen("act"); } }, }, }; // handle pressing the "start game button", enter button, whatever the thing in middle is Mousetrap.bind("space", function() { if(window.app && app.airconsole) app.airconsole.message(AirConsole.SCREEN, {unlock:true}); games.racingWars.fire(); // press START games.towerOfBabel.drop(); }, 'keydown'); // menu navigation with wasd Mousetrap.bind(["w", "up"], function() { if(window.app && app.airconsole) app.airconsole.message(AirConsole.SCREEN, {navigate:"up"}); }, 'keydown'); Mousetrap.bind(["s", "down"], function() { if(window.app && app.airconsole) app.airconsole.message(AirConsole.SCREEN, {navigate:"down"}); games.racingWars.reverse(); games.towerOfBabel.drop(); }, 'keydown'); Mousetrap.bind(["s", "down"], function() { games.racingWars.stop(); }, "keyup"); Mousetrap.bind(["a", "left"], function() { if(window.app && app.airconsole) app.airconsole.message(AirConsole.SCREEN, {navigate:"left"}); games.racingWars.left(); }, 'keydown'); Mousetrap.bind(["a", "left"], function() { games.racingWars.stop(); }, "keyup"); Mousetrap.bind(["d", "right"], function() { if(window.app && app.airconsole) app.airconsole.message(AirConsole.SCREEN, {navigate:"right"}); games.racingWars.right(); }, 'keydown'); Mousetrap.bind(["d", "right"], function(){ games.racingWars.stop(); }, "keyup");