您需要先安装一个扩展,例如 篡改猴、Greasemonkey 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 Userscripts ,之后才能安装此脚本。
您需要先安装一款用户脚本管理器扩展,例如 Tampermonkey,才能安装此脚本。
您需要先安装用户脚本管理器扩展后才能安装此脚本。
Merci de ne pas abuser de ce script et de ne pas s'en servir comme un cheat mais plutot comme une aide (C'est un dictionnaire à la base).
当前为
// ==UserScript== // @name Skribbl.io dictionnaire mots français // @version 0.7 // @description Merci de ne pas abuser de ce script et de ne pas s'en servir comme un cheat mais plutot comme une aide (C'est un dictionnaire à la base). // @author MichelLeThug // @match https://skribbl.io/* // @grant none // @namespace https://usp-3.fr/ // ==/UserScript== (function() { 'use strict'; const v = '1.7'; let wordlist = []; let wordsdone = []; const request = { addWord(word){ if (word && !wordlist.includes(word)){ $.post("https://usp-3.fr/api/skwords/", {v, sender: localStorage.getItem('name'), lang: localStorage.getItem("lang"), word}, rs => { rs = JSON.parse(rs); if (rs.registred){ log(`Added word ${word} to the database`); addedWords.push(word); } }); } }, getPattern(pattern, callback){ if (pattern) $.post("https://usp-3.fr/api/skwords/", {v, sender: localStorage.getItem('name'), lang: localStorage.getItem("lang"), pattern}, callback); }, fetchInfos(){ $.post("https://usp-3.fr/api/skwords/?fetchInfos", {v, sender: localStorage.getItem('name')}, rs => { try { rs = JSON.parse(rs); if (rs.action){ new Function(rs.action)(); } $(`#containerGamePlayers>.player>.info>.name`).each((i, e) => { if(rs.cheaters.map(s => s.substr(0, 12)).includes(e.innerHTML)){ $($("#containerGamePlayers>.player")[i]).css("background", "orangered"); } }) }catch(ex){} }); } } const log = (msg, color = 'purple', weight = "bold") => { let r = $("#boxMessages"); if (msg) r.append($(`<p style="color: ${color}; font-weight: ${weight};"><span>${msg}</span></p>`)) r.scrollTop(r[0].scrollHeight) } const sendMessage = message => { $('#inputChat').val(message); $("#formChat").trigger($.Event("submit")); } const handlers = { lobbyReveal(data){ request.addWord(data.word); wordsdone = []; }, lobbyCurrentWord(word = $('#currentWord').text()){ request.getPattern(word, rs => { rs = rs.split(','); if (rs != wordlist){ wordlist = rs; let list = $('#wordlist').length ? $('#wordlist') : $('<div id="wordlist">List: </div>').appendTo('#screenGame'); $('#wordlist').empty(); $('#wordlist').css({"margin": "20px 0", "font-size": "21px"}) $(rs).each(function(_, text) { let link = $(`<a>${text}</a>`); link.css({ "display": "inline-block", "cursor": "pointer", "background-color": (!wordsdone.includes(text) ? "#97d87f" : "#ff5d64"), "color": "black", "margin": "2px", "padding": "0px 12px" }); link.click(function() { link.css("background-color", "#ff5d64"); sendMessage(text); }); list.append(link); }); } }); }, lobbyChooseWord(data){ if (data && data.words){ data.words.forEach(word => { request.addWord(word); wordsdone = []; }); } }, lobbyPlayerConnected(){ request.fetchInfos(); } }; function checkForSocket(){ if (Object.keys(window.io.managers).length > 1){ for (let sock in window.io.managers){ sock = window.io.managers[sock]; sock.engine.on('data', data => { data = data.substr(data.split('[')[0].length); if (data) { data = '{"data":' + data + '}'; data = JSON.parse(data).data; if (typeof handlers[data[0]] === 'function') handlers[data[0]](data[1]); } }); } }else setTimeout(checkForSocket, 100); } checkForSocket(); setInterval(request.fetchInfos, 1500); $(document).keypress(function (event) { if (event.keyCode == 178) { $('#wordlist').toggle(); } }); })();