Dreadcast Chat Enhancer

Améliore le chat de Dreadcast.

当前为 2016-07-29 提交的版本,查看 最新版本

  1. // ==UserScript==
  2. // @name Dreadcast Chat Enhancer
  3. // @namespace https://greasyfork.org/scripts/21359-dreadcast-chat-enhancer/
  4. // @version 1.3.5
  5. // @description Améliore le chat de Dreadcast.
  6. // @author MockingJay
  7. // @match http://www.dreadcast.net/Main
  8. // @grant GM_setValue
  9. // @grant GM_getValue
  10. // @grant GM_deleteValue
  11. // @grant GM_listValues
  12. // ==/UserScript==
  13.  
  14. //Lit les variables dans GM à la demande. A utiliser pour chaque déclaration de variable qui est copiée en mémoire.
  15. //initValue: Valeur par défaut de la variable, qu'on lui donne à la déclaration et qu'elle garde si pas d'équivalent en mémoire. localVarName: Valeur GM locale.
  16. function initLocalMemory(defaultValue, localVarName) {
  17. if (GM_getValue(localVarName) === undefined) {
  18. GM_setValue(localVarName, defaultValue);
  19. return defaultValue;
  20. } else {
  21. return GM_getValue(localVarName);
  22. }
  23. }
  24.  
  25. function rgb2hex(orig){
  26. var rgb = orig.replace(/\s/g,'').match(/^rgba?\((\d+),(\d+),(\d+)/i);
  27. return (rgb && rgb.length === 4) ? "#" +
  28. ("0" + parseInt(rgb[1],10).toString(16)).slice(-2) +
  29. ("0" + parseInt(rgb[2],10).toString(16)).slice(-2) +
  30. ("0" + parseInt(rgb[3],10).toString(16)).slice(-2) : orig;
  31. }
  32.  
  33. $(document).ready(function() {
  34.  
  35. //Fix sale pour Jaqen ♥
  36. $("body").css({
  37. "overflow-x": 'hidden'
  38. });
  39.  
  40. //**********************************************
  41. // DECLARATION DES VARIABLES
  42. //**********************************************
  43.  
  44. //CONSTANTES
  45. var W_ZONE_CHAT = 317; //Largeur de base des différents éléments du chat.
  46. var W_MSG = 290;
  47. var W_CHATCONTENT = 308; //Valeur pas d'origine, mais nécessaire pour le script.
  48. var W_CHAT = 328;
  49. var W_ONGLETS_CHAT = 254;
  50. var W_CHATFORM = 288;
  51.  
  52. var DEFAULT_CHAT_COLOR = rgb2hex($("#zone_chat .zone_infos").css("color"));
  53.  
  54. var DEFAULT_ZONE_DROITE_BG = $("#zone_droite").css("background"); //Permet de restituer le fond d'origine (ou de skin) de la zone droite lorsque le chat est à sa largeur initiale.
  55. var DEFAULT_SCRIPT_ZONE_DROITE_BG = 'http://i.imgur.com/kPzRqS2.png';
  56. var DEFAULT_SCRIPT_ZONE_CHAT_BG = 'http://i.imgur.com/0J3wOK0.png';
  57.  
  58. //Initialisation variables de préférences
  59. var autoScroll = initLocalMemory(false, "DCCE_autoScroll");
  60. var scrollBar = initLocalMemory(true, "DCCE_scrollBar");
  61. var typePredict = initLocalMemory(true, "DCCE_typePredict");
  62. var chatExtend = initLocalMemory(0, "DCCE_chatExtend");
  63.  
  64. var scriptZoneDroiteBG = initLocalMemory(DEFAULT_SCRIPT_ZONE_DROITE_BG, "DCCE_scriptZoneDroiteBG");
  65. var scriptZoneChatBG = initLocalMemory(DEFAULT_SCRIPT_ZONE_CHAT_BG, "DCCE_scriptZoneChatBG");
  66.  
  67.  
  68. var chatWidthStyle = $('<style id="chatWidthStyle">').appendTo("head"); //Utilisation d'une règle CSS car objets créés dynamiquement.
  69.  
  70. //**********************************************
  71. // DECLARATION DES FONCTIONS, MISE EN PLACE DU CSS
  72. //**********************************************
  73.  
  74. $("#chatContent").css({
  75. "overflow-x": 'hidden',
  76. "overflow-y": 'scroll',
  77. height: '313px', //width traitée dans setChatCSS
  78. });
  79.  
  80. //Applique la barre de défilement en fonction des préférences, et règle la largeur des lignes dans le chat.
  81. function setChatContentScroll() {
  82. if(scrollBar) {
  83. $("#chatContent").css({"padding-right": '0px'});
  84. chatWidthStyle.text('#zone_chat .zone_infos .msg{width:' + (W_MSG + chatExtend) + 'px}');
  85. $("#zone_chat").css({width: (W_ZONE_CHAT + 5 + chatExtend) + 'px'}); //Assure d'avoir le fond derrière la scrollbar lorsque le chat est étendu.
  86. }
  87. else {
  88. $("#chatContent").css({"padding-right": '15px'});
  89. chatWidthStyle.text('#zone_chat .zone_infos .msg{width:' + (W_MSG + 7 + chatExtend) + 'px}');
  90. $("#zone_chat").css({width: (W_ZONE_CHAT + chatExtend) + 'px'});
  91. }
  92. }
  93.  
  94.  
  95. var $dcce_background = $('<div id="dcce_background"></div>').prependTo($("#zone_page")).css({left: '907px', top: '142px', height: '461px'});
  96.  
  97. function setZoneChatBackground() {
  98. if(chatExtend > 0) {
  99. $dcce_background.css({background: 'url("' + scriptZoneChatBG + '")',
  100. "background-size": '100% 100%',
  101. width: (W_ZONE_CHAT + 13 + chatExtend) + 'px'});
  102. $("#zone_droite").css({background: 'url("' + scriptZoneDroiteBG + '")'});
  103. } else {
  104. $dcce_background.css({background: 'none'});
  105. $("#zone_droite").css({background: DEFAULT_ZONE_DROITE_BG});
  106. }
  107. }
  108.  
  109. function setChatCSS() {
  110. setChatContentScroll(); //Comprend déjà #ZONE_CHAT et .MSG
  111. setZoneChatBackground();
  112. //Fixer les largeurs restantes
  113. $("#chatContent").width(W_CHATCONTENT + chatExtend);
  114. $("#zone_chat .zone_infos .chat").width(W_CHAT + chatExtend);
  115. $("#zone_chat #onglets_chat").width(W_ONGLETS_CHAT + chatExtend);
  116. $("#chatForm").width(W_CHATFORM + chatExtend);
  117. }
  118.  
  119. setChatCSS(); //Appliquer à l'initialisation.
  120.  
  121. //Initialisation du bouton d'alerte, utilisé quand l'autoScroll est désactivé.
  122. var $newMessageAlert = $('<div />').appendTo($('#zone_chat'));
  123. $newMessageAlert.text("⚠ Nouveau message! ⚠");
  124. $newMessageAlert.css({
  125. display: 'none',
  126. top: '45px',
  127. "text-align": 'center',
  128. cursor: 'pointer',
  129. background: '#fff',
  130. border: '1px solid #fff',
  131. color: '#0296bb',
  132. "margin-top": '2px',
  133. "-webkit-box-shadow": '0 0 4px 2px #329bc2',
  134. });
  135. $newMessageAlert.attr('onmouseover', 'this.style.backgroundColor=\"#0b9bcb\";this.style.color=\"#FFFFFF\";');
  136. $newMessageAlert.attr('onmouseout', 'this.style.backgroundColor=\"#FFFFFF\";this.style.color=\"#0296bb\";');
  137.  
  138. //Initialisation bandeau latéral
  139. var $toggleAutoScroll = $('<li id="toggleAutoScroll" class="couleur5" ></li>'+'<li class="separator"></li>').prependTo($('#bandeau ul.menus'));
  140. if(autoScroll) {
  141. $("#toggleAutoScroll").text("AS on");
  142. } else {
  143. $("#toggleAutoScroll").text("AS off");
  144. }
  145. $("#toggleAutoScroll").css({
  146. cursor: 'pointer',
  147. });
  148. $("#toggleAutoScroll").attr('onmouseover', 'this.style.color=\"#0073d5\";');
  149. $("#toggleAutoScroll").attr('onmouseout', 'this.style.color=\"#999\";');
  150. //Changer l'autoscroll au clic sur le bandeau latéral.
  151. $("#toggleAutoScroll").click(function(){
  152. if(autoScroll) {
  153. autoScroll = false;
  154. $("#toggleAutoScroll").text("AS off");
  155. } else {
  156. autoScroll = true;
  157. $("#toggleAutoScroll").text("AS on");
  158. }
  159. GM_setValue("DCCE_autoScroll", autoScroll);
  160. });
  161.  
  162. //Fait défiler le chat jusqu'en bas.
  163. function scrollChat(){
  164. $('#chatContent').stop().animate({
  165. scrollTop: $('#chatContent')[0].scrollHeight
  166. }, 800);
  167. $newMessageAlert.stop().fadeOut(500);
  168. }
  169.  
  170. var colorTagStyle = $('<style id="colorTagStyle">').appendTo("head"); //Utilisation d'une règle CSS car objets créés dynamiquement.
  171.  
  172. function chatChangeColor(id) {
  173. /*var persoName = GM_getValue("dcce_name_" + id);
  174. console.log(persoName);*/
  175. }
  176.  
  177. function initChatColor() {
  178. localValues = GM_listValues();
  179. for(var i = 0; i < localValues.length; i++) {
  180. /*if(localValues[i].includes("dcce_ctb_")) {
  181. chatChangeColor(localValues[i].slice(9));
  182. }*/
  183. if(localValues[i].includes("dcce_name_") || localValues[i].includes("dcce_ctb_")) {
  184. GM_deleteValue(localValues[i]);
  185. }
  186. }
  187. }
  188. initChatColor();
  189.  
  190.  
  191. //**********************************************
  192. //INTERFACE DE CONFIGURATION UTILISATEUR
  193. //**********************************************
  194. var $databox = $('#zone_dataBox');
  195. //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  196. //Constructeur de fenêtre de configuration
  197. //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  198. var DCCE_ConfigurationWindow = function () {
  199. var window_width = '560px';
  200. var window_height = '450px';
  201. var $config_window = $('<div id="dcce_configwindow" onclick="engine.switchDataBox(this)"/>');
  202. $config_window.draggable();
  203. $config_window.addClass('dataBox focused ui-draggable');
  204. $config_window.css({
  205. width: window_width,
  206. "margin-left": '-185px',
  207. display: 'block',
  208. position: 'absolute',
  209. "z-index": '2',
  210. });
  211. for (var i = 1; i <= 8; i++) {
  212. $('<div class="dbfond' + i + '" />').appendTo($config_window);
  213. }
  214. var $config_head = $('<div class="head ui-draggable-handle" ondblclick="$(\'#dcce_configwindow\').toggleClass(\'reduced\');" />').appendTo($config_window);
  215. $('<div title="Fermer la fenêtre (Q)" class="info1 link close" onclick="engine.closeDataBox($(this).parent().parent().attr(\'id\'));" />').appendTo($config_head);
  216. $('<div title="Reduire/Agrandir la fenêtre" class="info1 link reduce" onclick="$(\'#dcce_configwindow\').toggleClass(\'reduced\');" />').appendTo($config_head);
  217. $('<div class="title">Configuration DC Enhanced Chat</div>').appendTo($config_head);
  218. $('<div class="dbloader" />').appendTo($config_window);
  219. var $config_content = $('<div class="content" style="height:' + window_height + '; overflow: auto"/>').appendTo($config_window);
  220. //----------------------------------------
  221. //Widgets internes
  222. //----------------------------------------
  223. var $config_interface = $('<div />').appendTo($config_content);
  224. $config_interface.css({
  225. "margin-left": '3px',
  226. "font-variant": 'small-caps',
  227. color: '#fff',
  228. height: '100%',
  229. width: '98%',
  230. });
  231. //----------------------------------------
  232. //Configuration du défilement, auto-scroll
  233. //----------------------------------------
  234. var $autoconfig = $('<div />').appendTo($config_interface);
  235. var $autoconfig_title = $('<h2 class="couleur4 configTitre" />').appendTo($autoconfig);
  236. $autoconfig_title.text('Options de défilement du texte');
  237. $autoconfig_title.css({
  238. "margin-bottom": '5px',
  239. "border-bottom": '1px solid',
  240. display: 'block',
  241. "font-size": '17px',
  242. "-webkit-margin-before": '0.83em',
  243. "-webkit-margin-after": '0.83em',
  244. "-webkit-margin-start": '0px',
  245. "-webkit-margin-end": '0px',
  246. "font-weight": 'bold',
  247. position: 'relative',
  248. });
  249. var $autoconfig_container = $('<div class="ligne"/>').appendTo($config_interface);
  250. $autoconfig_container.text('Défilement automatique : ');
  251. $autoconfig_container.css({
  252. display: 'inline-block',
  253. "margin-bottom": '15px',
  254. });
  255. var $autoconfig_radio_activate = $('<input type="radio" name="typeAutoRadio" value="false">Activer</input>').appendTo($autoconfig_container);
  256. $autoconfig_radio_activate.css({
  257. margin: '0 5px',
  258. });
  259. $autoconfig_radio_activate.attr('checked', autoScroll);
  260. $autoconfig_radio_activate.change(function(){
  261. autoScroll = true;
  262. GM_setValue("DCCE_autoScroll", autoScroll);
  263. $("#toggleAutoScroll").text("AS on");
  264. });
  265. var $autoconfig_radio_deactivate = $('<input type="radio" name="typeAutoRadio" value="true">Désactiver</input>').appendTo($autoconfig_container);
  266. $autoconfig_radio_deactivate.css({
  267. margin: '0px 5px 0 25px',
  268. "padding-left": '20px',
  269. });
  270. $autoconfig_radio_deactivate.attr('checked', !autoScroll);
  271. $autoconfig_radio_deactivate.change(function(){
  272. autoScroll = false;
  273. GM_setValue("DCCE_autoScroll", autoScroll);
  274. $("#toggleAutoScroll").text("AS off");
  275. });
  276. //----------------------------------------
  277. //Configuration de l'affichage de la barre de défilement
  278. //----------------------------------------
  279. var $scrconfig_container = $('<div class="ligne"/>').appendTo($config_interface);
  280. $scrconfig_container.text('Barre de défilement : ');
  281. $scrconfig_container.css({
  282. display: 'inline-block',
  283. "margin-bottom": '15px',
  284. });
  285. var $scrconfig_radio_activate = $('<input type="radio" name="typeScrRadio" value="false">Afficher</input>').appendTo($scrconfig_container);
  286. $scrconfig_radio_activate.css({
  287. margin: '0 5px',
  288. });
  289. $scrconfig_radio_activate.attr('checked', scrollBar);
  290. $scrconfig_radio_activate.change(function(){
  291. scrollBar = true;
  292. GM_setValue("DCCE_scrollBar", scrollBar);
  293. setChatContentScroll();
  294. });
  295. var $scrconfig_radio_deactivate = $('<input type="radio" name="typeScrRadio" value="true">Masquer</input>').appendTo($scrconfig_container);
  296. $scrconfig_radio_deactivate.css({
  297. margin: '0px 5px 0 25px',
  298. "padding-left": '20px',
  299. });
  300. $scrconfig_radio_deactivate.attr('checked', !scrollBar);
  301. $scrconfig_radio_deactivate.change(function(){
  302. scrollBar = false;
  303. GM_setValue("DCCE_scrollBar", scrollBar);
  304. setChatContentScroll();
  305. });
  306. //----------------------------------------
  307. //Configuration de l'affichage de la barre de défilement
  308. //----------------------------------------
  309. var $predconfig_container = $('<div class="ligne"/>').appendTo($config_interface);
  310. $predconfig_container.text('Défiler le chat à l\'écriture : ');
  311. $predconfig_container.css({
  312. display: 'inline-block',
  313. "margin-bottom": '15px',
  314. });
  315. var $predconfig_radio_activate = $('<input type="radio" name="typePredRadio" value="false">Oui</input>').appendTo($predconfig_container);
  316. $predconfig_radio_activate.css({
  317. margin: '0 5px',
  318. });
  319. $predconfig_radio_activate.attr('checked', typePredict);
  320. $predconfig_radio_activate.change(function(){
  321. typePredict = true;
  322. GM_setValue("DCCE_typePredict", typePredict);
  323. });
  324. var $predconfig_radio_deactivate = $('<input type="radio" name="typePredRadio" value="true">Non</input>').appendTo($predconfig_container);
  325. $predconfig_radio_deactivate.css({
  326. margin: '0px 5px 0 25px',
  327. "padding-left": '20px',
  328. });
  329. $predconfig_radio_deactivate.attr('checked', !typePredict);
  330. $predconfig_radio_deactivate.change(function(){
  331. typePredict = false;
  332. GM_setValue("DCCE_typePredict", typePredict);
  333. });
  334. this.$window = $config_window;
  335.  
  336. //----------------------------------------
  337. //Configuration de la largeur du chat
  338. //----------------------------------------
  339. var $xtdconfig = $('<div />').appendTo($config_interface);
  340. var $xtdconfig_title = $('<h2 class="couleur4 configTitre" />').appendTo($xtdconfig);
  341. $xtdconfig_title.text('Largeur du chat');
  342. $xtdconfig_title.css({
  343. "margin-bottom": '5px',
  344. "border-bottom": '1px solid',
  345. display: 'block',
  346. "font-size": '17px',
  347. "-webkit-margin-before": '0.83em',
  348. "-webkit-margin-after": '0.83em',
  349. "-webkit-margin-start": '0px',
  350. "-webkit-margin-end": '0px',
  351. "font-weight": 'bold',
  352. position: 'relative',
  353. });
  354. var $xtdconfig_container = $('<div class="ligne"/>').appendTo($config_interface);
  355. //$xtdconfig_container.text('Défilement automatique : ');
  356. $xtdconfig_container.css({
  357. display: 'inline-block',
  358. "margin-bottom": '15px',
  359. });
  360. var $xtdconfig_range = $('<input type="range" name="typeXtdRange" value="' + chatExtend + '" min="0" max="300" step="1"></input>').appendTo($xtdconfig_container);
  361. $xtdconfig_range.css({
  362. margin: '0 5px',
  363. width: '500px'
  364. });
  365. $xtdconfig_range.change(function(){
  366. chatExtend = Number($xtdconfig_range.val());
  367. GM_setValue("DCCE_chatExtend", chatExtend);
  368. setChatCSS();
  369. });
  370.  
  371. //----------------------------------------
  372. //Configuration des fonds de zone droite/chat customs
  373. //----------------------------------------
  374. var $bgconfig = $('<div />').appendTo($config_interface);
  375. var $bgconfig_title = $('<h2 class="couleur4 configTitre" />').appendTo($bgconfig);
  376. $bgconfig_title.text('Fonds de zone customisés (pour réinitialiser, effacer la ligne)');
  377. $bgconfig_title.css({
  378. "margin-bottom": '5px',
  379. "border-bottom": '1px solid',
  380. display: 'block',
  381. "font-size": '17px',
  382. "-webkit-margin-before": '0.83em',
  383. "-webkit-margin-after": '0.83em',
  384. "-webkit-margin-start": '0px',
  385. "-webkit-margin-end": '0px',
  386. "font-weight": 'bold',
  387. position: 'relative',
  388. });
  389. var $bgconfig_container = $('<div class="ligne"/>').appendTo($config_interface);
  390. $bgconfig_container.css({
  391. display: 'inline-block',
  392. "margin-bottom": '15px',
  393. });
  394. var $bgconfig_pzonedroite = $('<div>Fond messagerie:</div>').appendTo($bgconfig_container);
  395. $bgconfig_pzonedroite.css({
  396. margin: '0 5px',
  397. width: '500px'
  398. });
  399. var $bgconfig_zonedroite = $('<input type="url" name="typeBGzonedroite" value="' + scriptZoneDroiteBG + '" style="background-color: antiquewhite;"></input>').appendTo($bgconfig_container);
  400. $bgconfig_zonedroite.css({
  401. margin: '0 5px',
  402. width: '500px'
  403. });
  404. $bgconfig_zonedroite.keyup(function(){
  405. if($(this).val() === DEFAULT_SCRIPT_ZONE_DROITE_BG || $(this).val() === "") {
  406. GM_deleteValue("DCCE_scriptZoneDroiteBG");
  407. scriptZoneDroiteBG = DEFAULT_SCRIPT_ZONE_DROITE_BG;
  408. } else {
  409. scriptZoneDroiteBG = $(this).val();
  410. GM_setValue("DCCE_scriptZoneDroiteBG", scriptZoneDroiteBG);
  411. }
  412. setZoneChatBackground();
  413. });
  414. var $bgconfig_pzonechat = $('<div> </div><div>Fond chat:</div>').appendTo($bgconfig_container);
  415. $bgconfig_pzonechat.css({
  416. margin: '0 5px',
  417. width: '500px'
  418. });
  419. var $bgconfig_zonechat = $('<input type="url" name="typeBGzonechat" value="' + scriptZoneChatBG + '" style="background-color: antiquewhite;"></input>').appendTo($bgconfig_container);
  420. $bgconfig_zonechat.css({
  421. margin: '0 5px',
  422. width: '500px'
  423. });
  424. $bgconfig_zonechat.keyup(function(){
  425. if($(this).val() === DEFAULT_SCRIPT_ZONE_CHAT_BG || $(this).val() === "") {
  426. GM_deleteValue("DCCE_scriptZoneChatBG");
  427. scriptZoneChatBG = DEFAULT_SCRIPT_ZONE_CHAT_BG;
  428. } else {
  429. scriptZoneChatBG = $(this).val();
  430. GM_setValue("DCCE_scriptZoneChatBG", scriptZoneChatBG);
  431. }
  432. setZoneChatBackground();
  433. });
  434. };
  435. //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  436. //FIN Constructeur de fenêtre de configuration
  437. //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  438.  
  439.  
  440. //---------------------------------------------------
  441. //Ajout d'un item au menu bandeau "Paramètres" de DC
  442. //---------------------------------------------------
  443. var $params_menu = $('.menus > .parametres > ul');
  444. var $dcce_config = $('<li />').appendTo($params_menu);
  445. $dcce_config.text("Configuration du Chat");
  446. $dcce_config.addClass('link couleur2 separator');
  447.  
  448. $dcce_config.click(function () {
  449. //Fermeture des autres instances de paramétrage ouvertes
  450. engine.closeDataBox('dcce_configwindow');
  451. var $config_window = new DCCE_ConfigurationWindow();
  452. $databox.append($config_window.$window);
  453. });
  454.  
  455. //**********************************************
  456. // FIN INTERFACE DE CONFIGURATION UTILISATEUR
  457. //**********************************************
  458.  
  459. //**********************************************
  460. // DEBUT MAIN
  461. //**********************************************
  462.  
  463. //SCROLLING
  464. scrollChat(); //Place le chat au chargement du jeu.
  465. $newMessageAlert.click(scrollChat); //Scroll au clic du bouton d'alerte de nouveau message.
  466. $(".text_chat").keydown(function(key){ //Si en préférence, scroller le chat automatiquement quand on commence à écrire.
  467. if(typePredict && key != 13) scrollChat(); //Ne pas le faire avec la touche entrée car déjà fait quand la ligne apparaît dans le chat.
  468. });
  469. var lastChat = $('#chatContent').text(); //Sert à comparer pour voir si le chat a changé.
  470. setInterval(function(){ //Scrolle ou alerte à la réception d'un message.
  471. if(lastChat != $('#chatContent').text()) {
  472. lastChat = $('#chatContent').text(); //Actualiser la copie local du chat.
  473.  
  474. if(autoScroll) {
  475. scrollChat();
  476. }
  477. else {
  478. $newMessageAlert.stop().fadeIn(500);
  479. }
  480. }
  481. }, 1000);
  482.  
  483. //COLOR TAG
  484. /*$(document).on("click", "span.perso.link", function(){
  485. var idPerso = $(this).attr('id').slice(9);
  486. $(document).one("ajaxSuccess", {idPerso: idPerso}, function(e){ //Permet d'attendre le chargement de la fenêtre, one() pour éviter un duplicata.
  487. var idctb = '#colorTagBox_' + e.data.idPerso;
  488. var colorTagBox = $('<div style="margin-top: 15px; text-align: center;">' + 'Couleur chat: ' +
  489. '<input type="color" id="' + idctb.slice(1) + '" value="' + DEFAULT_CHAT_COLOR + '"/>' +
  490. '<input type="button" id="' + idctb.slice(1) + '_reset" value="Reset" style="background-color: buttonface; margin-left: 5px; height: 16px; font-size: 12px;"/>' +
  491. '</div>').appendTo($("#ib_persoBox_" + e.data.idPerso + " .fakeToolTip"));
  492.  
  493. GM_setValue("dcce_name_" + e.data.idPerso, $("#ib_persoBox_" + e.data.idPerso + " .titreinfo").contents().filter(function(){
  494. return this.nodeType == 3;
  495. })[0].nodeValue); //Récupère le nom du personnage, utilisé dans le nommage de la classe du pseudo.
  496.  
  497. if(GM_getValue("dcce_ctb_" + e.data.idPerso) !== undefined) { //Récupère et applique au bouton couleur la couleur enregistrée
  498. $(idctb).val((GM_getValue("dcce_ctb_" + e.data.idPerso)));
  499. }
  500. $(idctb).on("change", {idPerso: e.data.idPerso}, function(e) { //Enregistre en mémoire la nouvelle couleur
  501. GM_setValue("dcce_ctb_" + e.data.idPerso, $(this).val());
  502. chatChangeColor(e.data.idPerso);
  503. });
  504. $(idctb + "_reset").on("click", {idPerso: e.data.idPerso}, function(e) { //Reset de la couleur
  505. GM_deleteValue("dcce_ctb_" + e.data.idPerso);
  506. $(idctb).val(DEFAULT_CHAT_COLOR);
  507. chatChangeColor(e.data.idPerso);
  508. });
  509. });
  510.  
  511. });*/
  512. });