您需要先安装一个扩展,例如 篡改猴、Greasemonkey 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 Userscripts ,之后才能安装此脚本。
您需要先安装一款用户脚本管理器扩展,例如 Tampermonkey,才能安装此脚本。
您需要先安装用户脚本管理器扩展后才能安装此脚本。
Changes your skin in agarplus using imgur album.
// ==UserScript== // @require https://ajax.googleapis.com/ajax/libs/jquery/2.1.4/jquery.min.js // @name Gif Skin AgarplusV2 Update // @namespace v2 Fix // @version 2.3 // @description Changes your skin in agarplus using imgur album. // @author master2500 |v2 fix Ezybro |v2 Update Fix Zephyr // @match http*://agar.io // @include http://*agar.io/agarplus.io // @grant none // ==/UserScript== //variables var sideContainer = '.side-container.left-side'; //container to append skin changer menu var leftContainer = '.level'; //used to find left container var loadCheckInterval = 100; //interval to check if container has loaded var isPlaying = '#overlays'; //to check if player is playing var customSkin = 'input#skin_url.form-control'; //agarplus skin url field var playButton = 'button[data-itr="play"]'; //agarplus play button var skinChangerButton = '#skinChangerButton'; //button start/stop skin chanage var albumField = '#albumField'; //imgur skin album field var intervalField = '#intervalField'; //interval (ms) var imgurClientID = 'Client-ID 3d3ef891ffc63d7' //imgur application authentication id var current = 0; //current skin var mainInterval; //skin changer interval //check if page loaded var ci = setInterval(function() { if ($(sideContainer).has(leftContainer).length) { clearInterval(ci); //inject skin changer panel $(sideContainer).has(leftContainer).append('<div class="agario-panel agario-side-panel agarioProfilePanel level"><input id="albumField" type="text" placeholder="Imgur skins album ID" class="form-control"></input><input id="intervalField" type="text" placeholder="Interval (ms)" class="form-control"><button id="skinChangerButton" class="btn btn-primary">Start</button></div>'); //fill fields from storage $(albumField).val(localStorage.getItem('album')); $(intervalField).val(localStorage.getItem('interval')); //add event listener to button $(skinChangerButton).on('click', this, function() { //if start start if stop stop if ($(skinChangerButton).text() == 'Start') { //get images using imgur api $.ajax( { url: 'https://api.imgur.com/3/album/' + $(albumField).val() + '/images', type: 'GET', dataType: 'json', beforeSend: function(xhr) { xhr.setRequestHeader('Authorization', imgurClientID); }, success: function(data) { //set to stop $(skinChangerButton).text('Stop'); $(skinChangerButton).attr('style', 'background-color : red'); //preload images into cache for (var i = 0; i < data.data.length; i++) { var img = new Image(); img.src = data.data.link; } //save values to local storage for later use localStorage.setItem('album', $(albumField).val()); localStorage.setItem('interval', $(intervalField).val()); //set main interval for changing skin mainInterval = setInterval(function() { //loop trough the skins $(customSkin).val(data.data[current].link); if ($(isPlaying).css('display') == 'none') { $(playButton).trigger('onclick'); } current++; if (current == data.data.length) { current = 0; } }, parseInt($(intervalField).val())); }, error: function() { //log if ajax request fails console.log('Failed to fetch images from imgur.'); } }); } else { //set to start clearInterval(mainInterval); $(skinChangerButton).text('Start'); $(skinChangerButton).attr('style', ''); } }); } }, loadCheckInterval);