// ==UserScript== // @name Com'back // @namespace https://greasyfork.org/fr/scripts/17200-com-back // @version 2.1.6 // @description Ajoute un choix pour le type (écrit, audio, vidéo...) de message envoyé. // @author DarKobalt, Naugriim(♥), Solon, Harlinde // @match https://www.dreadcast.net/Main // @match https://www.dreadcast.eu/Main // @grant GM_setValue // @grant GM_getValue // @grant GM_deleteValue // @grant GM_listValues // @license http://creativecommons.org/licenses/by-nc-nd/4.0/ // @downloadURL none // ==/UserScript== //Un jour, j'aurai le courage pour un vrai refactoring. ;_; //********************************************** // PARAMETRAGE (EDITION A VOTRE PROPRE RISQUE, UTILISEZ PLUTÔT LE MENU D'OPTIONS!) //********************************************** //(A) Valeurs par défaut //====================== //Dictionnaire des paramètres var params = {}; //Icônes disponibles params.icons = { CLIP: "📎", ACKN: "📨", UPLD: "📤", DWLD: "🔃", FILE: "📄", PLAY: "▶️", WRIT: "📝", AUDI: "🔊", VIDE: "🎥", DECK: "💻", NORP: "✖", ININ: "【", INOU: "】", }; //Textes informatifs. params.infotexts = { CLIP: "Pièce jointe", ACKN: "Accusé de réception", UPLD: "Envoi de données en cours", DWLD: "Chargement en cours, veuillez patienter", FILE: "Fichier", PLAY: "Lecture", WRIT: "Message écrit", AUDI: "Message audio", VIDE: "Message vidéo", DECK: "Depuis un deck", NORP: "Message HRP", }; //Boutons disponibles : params.actionList = ['CLIP', 'ACKN', 'UPLD', 'DWLD', 'FILE', 'PLAY']; //Items de la liste déroulante : params.typeList = ['WRIT', 'AUDI', 'VIDE', 'DECK', 'NORP']; //Valeur fixée pour le menu déroulant params.list_defaultID = 'NONE'; //Choix entre valeur fixée ou dernière valeur pour le menu déroulant (true = valeur fixée, false = dernière valeur choisie) params.b_alwaysDefault = false; //Dernière valeur choisie params.list_lastID = params.list_defaultID; //Nombre de boutons par face de carrousel params.carousel_facesize = 6; //Nombre d'items "utilisateur" params.user_typeList = []; params.user_itemsNumber = 5; //maximum for (var i = 0; i < params.user_itemsNumber; i++) { var user_item = "list_userItem_" + i.toString(); params.user_typeList.push(user_item); } //Nombre de boutons "utilisateur" params.user_actionList = []; params.user_actionsNumber = 6; //maximum for (var i = 0; i < params.user_actionsNumber; i++) { var user_action = "list_userAction_" + i.toString(); params.user_actionList.push(user_action); } //Couleur du texte placé entre "*". params.emoteColor = "#58dcf9"; //(B) Sauvegarde des paramètres par défaut //======================================== var default_params = $.extend(true, {}, params); //copie profonde //(C) Récupération locale de paramètres //================================= //Valeur fixée pour le menu déroulant if (GM_getValue("list_defaultID") !== undefined) { params.list_defaultID = GM_getValue("list_defaultID"); } //Choix entre valeur fixée ou dernière valeur pour le menu déroulant if (GM_getValue("b_alwaysDefault") !== undefined) { params.b_alwaysDefault = GM_getValue("b_alwaysDefault"); } //Dernière valeur choisie dans le menu déroulant if (GM_getValue("list_lastID") !== undefined) { params.list_lastID = GM_getValue("list_lastID"); } //Items "utilisateur" for (var i = 0; i < params.user_itemsNumber; i++) { var user_item = params.user_typeList[i]; if (GM_getValue(user_item) !== undefined) { //l'user_item existe en mémoire var user_item_icon = user_item + '_icon'; var user_item_text = user_item + '_text'; if (GM_getValue(user_item_icon) !== undefined) { //récupération de l'icône params.icons[user_item] = GM_getValue(user_item_icon); } if (GM_getValue(user_item_text) !== undefined) { //récupération du texte params.infotexts[user_item] = GM_getValue(user_item_text); } //Ajout aux types de messages params.typeList.push(user_item); } } //Boutons "utilisateur" for (var i = 0; i < params.user_actionsNumber; i++) { var user_action = params.user_actionList[i]; if (GM_getValue(user_action) !== undefined) { //l'user_action existe en mémoire var user_action_icon = user_action + '_icon'; var user_action_text = user_action + '_text'; if (GM_getValue(user_action_icon) !== undefined) { //récupération de l'icône params.icons[user_action] = GM_getValue(user_action_icon); } if (GM_getValue(user_action_text) !== undefined) { //récupération du texte params.infotexts[user_action] = GM_getValue(user_action_text); } //Ajout aux types d'actions params.actionList.push(user_action); } } //Nombre de faces de carrousel à créer params.carousel_facesnumber = carouselFacesNumber(); //Couleur du texte placé entre "*". if (GM_getValue("emoteColor") !== undefined) { params.emoteColor = GM_getValue("emoteColor"); } //********************************************** //FIN PARAMETRAGE //********************************************** //********************************************** //INTERFACE DE CONFIGURATION UTILISATEUR //********************************************** var $databox = $('#zone_dataBox'); //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ //Constructeur de fenêtre de configuration //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ var DCCB_ConfigurationWindow = function () { var window_width = '560px'; var window_height = '450px'; var $config_window = $('
'); $config_window.draggable(); $config_window.addClass('dataBox focused ui-draggable'); $config_window.css({ width: window_width, "margin-left": '-185px', display: 'block', position: 'absolute', "z-index": '2', }); for (var i = 1; i <= 8; i++) { $('
').appendTo($config_window); } var $config_head = $('
').appendTo($config_window); $('