// ==UserScript== // @name Com'back // @namespace http://tampermonkey.net/ // @version 0.5 // @description Ajoute un choix pour le type (écrit, audio, vidéo...) de message envoyé. // @author DarKobalt, Naugriim(♥) // @match http://www.dreadcast.net/Main // @grant none // @downloadURL none // ==/UserScript== //DEBUT DE L'INITIALISATION DES BOUTONS //IMPORTANT: N'ESSAYEZ PAS DE RAJOUTER DES LIGNES POUR L'INSTANT. Sérieusement. Ca ne marche pas. //Initialisation des caractères affichés sur les boutons. NE PAS METTRE PLUS D'UN CARACTERE. SI L'AFFICHAGE BUGUE, UTILISER LE CODE UNICODE (Ressemble à ça: 📝). var vButton = []; vButton.push("?"); vButton.push("?"); vButton.push("?"); vButton.push("?"); vButton.push("?"); vButton.push("▶️"); //Initialisation des messages ajoutés par les boutons. var dataAnnexes = []; dataAnnexes.push('【? Pièce jointe: ""】\n\n'); dataAnnexes.push('【? Accusé de réception】\n\n'); dataAnnexes.push('【? Envoi de données en cours: ""】\n\n'); dataAnnexes.push('【? Chargement en cours, veuillez patienter.】\n\n'); dataAnnexes.push('【? Fichier: ""】\n\n'); dataAnnexes.push('【▶️ Lecture: ""】\n\n'); //FIN DE L'INITIALISATION DES BOUTONS //A partir d'ici, toute modification est (encore plus qu'avant) à vos risques et périls. var listeTypes = []; //Liste des introductions de message. listeTypes.push(""); listeTypes.push("\n                    【? \/ Message écrit】\n\n\n"); listeTypes.push("\n                    【? \/ Message audio】\n\n\n"); listeTypes.push("\n                    【? \/ Message vidéo】\n\n\n"); listeTypes.push("\n                    【? \/ Depuis un deck】\n\n\n"); listeTypes.push("\n                     【❌ \/ Message HRP】\n\n\n"); var init = false; //évite de dédoubler l'interface nm à chaque ouverture... function mainf() { //Fonction principale pour nouveau message if(!init) { var strTypeList = '
'; $("#db_new_message > div.content").append(strTypeList); //Ajout du menu déroulant. var strButton = '
'; $("#db_new_message > div.content").append(strButton); //Ajout du bouton imitant le bouton d'envoi. Il a les mêmes propriétés que le bouton d'envoi classique. //Initialisation du code des boutons. var strAnnexes = ''; $("#db_new_message > div.content").append('
' + strAnnexes + '
'); //Ajout des boutons annexes pour ajouter des bouts de texte (pièce jointe, etc) $(".cb_annexes").css({"background-color": "#ACABAB", "height": "30px", "width": "30px", "font-size": "20px"}); //Ajout du CSS des boutons. init = true; } //INTRO DE MESSAGE var addIntro = function() { //Ajoute l'intro PUIS envoie le message. $(".message_nouveau > #nm_texte > textarea").val(listeTypes[document.getElementById("listeTypes").selectedIndex] + $(".message_nouveau > #nm_texte > textarea").val()); nav.getMessagerie().sendMessage($(this).parent().parent()); //Envoi du message, fonction native du site dans l'inline css du bouton original. }; document.getElementById("button_listeTypes").addEventListener('click', addIntro, true); //AJOUT BOUTONS ANNEXES var arrayBoutons = []; arrayBoutons = document.getElementsByClassName("cb_annexes"); arrayBoutons[0].addEventListener('click', function(){$(".message_nouveau > #nm_texte > textarea").val($(".message_nouveau > #nm_texte > textarea").val() + dataAnnexes[0]);}, false); arrayBoutons[1].addEventListener('click', function(){$(".message_nouveau > #nm_texte > textarea").val($(".message_nouveau > #nm_texte > textarea").val() + dataAnnexes[1]);}, false); arrayBoutons[2].addEventListener('click', function(){$(".message_nouveau > #nm_texte > textarea").val($(".message_nouveau > #nm_texte > textarea").val() + dataAnnexes[2]);}, false); arrayBoutons[3].addEventListener('click', function(){$(".message_nouveau > #nm_texte > textarea").val($(".message_nouveau > #nm_texte > textarea").val() + dataAnnexes[3]);}, false); arrayBoutons[4].addEventListener('click', function(){$(".message_nouveau > #nm_texte > textarea").val($(".message_nouveau > #nm_texte > textarea").val() + dataAnnexes[4]);}, false); arrayBoutons[5].addEventListener('click', function(){$(".message_nouveau > #nm_texte > textarea").val($(".message_nouveau > #nm_texte > textarea").val() + dataAnnexes[5]);}, false); console.log("Com'back started: nouveau message"); //Debug } $("div.btnTxt.link").click(mainf); //Activation du script à l'ouverture de la fenêtre de nouveau message. Merci à Naugriim! function filcomf() { //Fonction principale pour fil de com' déjà existant $("#liste_messages").ajaxComplete(function(){ //Naugriim, je t'aime. ♥ (Attendre le chargement de la fenêtre avant d'envoyer la sauce) $("#liste_messages").unbind('ajaxComplete'); //Moi aussi, je m'aime. ♥ (Evite de renvoyer à chaque requête ajax du jeu et donc de dupliquer la fonction) $("div.content > div.message > div.btnTxt").click(function() { //Création et affichage lors du clic sur l'un des boutons en bas de la fenêtre if(document.getElementById("dccb_div_fc") === null) { //Ne recrée pas l'interface du script si elle existe déjà: REND IMPOSSIBLE L'OUVERTURE DE PLUSIEURS COMS SANS BUGS. var strTypeListfc = '
'; $("div.content > div.message").append(strTypeListfc); //Ajout du menu déroulant. var strButtonfc = '
Envoyer
'; $("div.content > div.message").append(strButtonfc); //Ajout du bouton imitant le bouton d'envoi. Il a les mêmes propriétés que le bouton d'envoi classique. //Initialisation du code des boutons. var strAnnexesfc = ''; $("div.content > div.message").append('
' + strAnnexesfc + '
'); //Ajout des boutons annexes pour ajouter des bouts de texte (pièce jointe, etc) $(".cb_annexesfc").css({"color": "#397D94", "background-color": "#FFFFFF", "height": "30px", "width": "30px", "font-size": "15px", "border-color": "#207695"}); //Ajout du CSS des boutons. var addIntrofc = function() { //Ajoute l'intro PUIS envoie le message. $(".zone_reponse > .texte > #nm_texte > textarea").val(listeTypes[document.getElementById("listeTypesfc").selectedIndex] + $(".zone_reponse > .texte > #nm_texte > textarea").val()); nav.getMessagerie().sendMessage($(this).parent().parent().parent().parent()); //Envoi du message, fonction native du site dans l'inline css du bouton original. }; document.getElementById("button_listeTypesfc").addEventListener('click', addIntrofc, false); var arrayBoutonsfc = []; arrayBoutonsfc = document.getElementsByClassName("cb_annexesfc"); arrayBoutonsfc[0].addEventListener('click', function(){$(".zone_reponse > .texte > #nm_texte > textarea").val($(".zone_reponse > .texte > #nm_texte > textarea").val() + dataAnnexes[0]);}, false); arrayBoutonsfc[1].addEventListener('click', function(){$(".zone_reponse > .texte > #nm_texte > textarea").val($(".zone_reponse > .texte > #nm_texte > textarea").val() + dataAnnexes[1]);}, false); arrayBoutonsfc[2].addEventListener('click', function(){$(".zone_reponse > .texte > #nm_texte > textarea").val($(".zone_reponse > .texte > #nm_texte > textarea").val() + dataAnnexes[2]);}, false); arrayBoutonsfc[3].addEventListener('click', function(){$(".zone_reponse > .texte > #nm_texte > textarea").val($(".zone_reponse > .texte > #nm_texte > textarea").val() + dataAnnexes[3]);}, false); arrayBoutonsfc[4].addEventListener('click', function(){$(".zone_reponse > .texte > #nm_texte > textarea").val($(".zone_reponse > .texte > #nm_texte > textarea").val() + dataAnnexes[4]);}, false); arrayBoutonsfc[5].addEventListener('click', function(){$(".zone_reponse > .texte > #nm_texte > textarea").val($(".zone_reponse > .texte > #nm_texte > textarea").val() + dataAnnexes[5]);}, false); } }); }); console.log("Com'back started: fil de com"); //Debug } $("li.message").click(filcomf); $("#folder_list > .folder").click(function() { //Replacer les events sur les li.message lors d'un changement de dossier (ceux-ci semblent être effacés) $("#liste_messages").ajaxComplete(function(){ $("#liste_messages").unbind('ajaxComplete'); $("li.message").click(filcomf); console.log("Changement de dossier - Actualisation des events"); }); }); console.log("Com'back initialisé!");