您需要先安装一个扩展,例如 篡改猴、Greasemonkey 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 Userscripts ,之后才能安装此脚本。
您需要先安装一款用户脚本管理器扩展,例如 Tampermonkey,才能安装此脚本。
您需要先安装用户脚本管理器扩展后才能安装此脚本。
track daily stats
- // ==UserScript==
- // @name Track daily takepoint stats
- // @namespace http://tampermonkey.net/
- // @version 0.5
- // @description track daily stats
- // @author Tobi
- // @match https://stats.takepoint.io/gameState
- // @match https://takepoint.io/*
- // @grant none
- // ==/UserScript==
- (function() {
- 'use strict';
- var maxReq = 100; //number of requests, 100 for reliable results
- var scores = [];
- var stats = [];
- var num = [];
- var state = [];
- var hiScoresReq = new XMLHttpRequest();
- function send(){
- hiScoresReq.open('GET', 'https://stats.takepoint.io/gameState');
- hiScoresReq.send();
- }
- function processor(){
- stats.sort();
- state.sort();
- var z = 0
- for(var i = 0; i < state.length; i++){
- z = i + 1;
- if(state[i] == state[z]){
- stats.splice(z, 1);
- state.splice(z, 1);
- i--;
- }
- }
- for(var x in stats){
- console.log(stats[x]);
- }
- /* only if you wanna download
- if(confirm("Wanna download the daily facts?")){
- var blob = new Blob([stats.toString()],
- { type: "text/plain;charset=utf-8" });
- saveAs(blob, "scores.txt"); //save data to file, filesave.js library required, just add this to the top: // @require https://raw.githubusercontent.com/eligrey/FileSaver.js/master/src/FileSaver.js
- }
- */
- }
- for(var i = 0; i < maxReq; i++){ //do %maxReq% requests at a speed of 1/3 request per second (fastest reliable one)
- setTimeout(send, i*300);
- }
- hiScoresReq.onreadystatechange = function(){
- if(this.readyState == 4){
- scores = JSON.parse(this.response);
- /* only for highscores
- for(var i = 1; i <= 5; i++){
- console.log(i + ". " + scores[i-1].username + " - " + scores[i-1].score);
- }
- */
- for(var n in scores){
- if(!scores[n].username){
- //console.log(scores[n] + " " + n.toLocaleString() + " today!"); print out gamefact immediatly
- stats.push(n.toLocaleString() + " " + scores[n]);
- num.push(scores[n]);
- state.push(n.toLocaleString());
- }
- }
- }
- }
- //console.log(num);
- //console.log(state);
- console.log(stats);
- setTimeout(processor, maxReq * 300 + 5000); //takes 35 seconds with maxReq = 100 to display facts
- // Your code here...
- })();