Avatar : 200*400 max

Partagez | 
 

 Script ChatBox

Voir le sujet précédent Voir le sujet suivant Aller en bas 
AuteurMessage
Slicker Shift
avatar
Lunar Republic

Messages : 301
Age : 21

• Votre personnage •
Race: Licorne
Niveau: 17
Expérience:
12/170  (12/170)

MessageSujet: Script ChatBox   Sam 16 Avr - 0:11

Heya o/

Une adaptation du script fournit par ForumActif pour ajouter une alarme qui retentit glorieusement lorsque vous recevez un message en ChatBox. Une petite checkbox (à coté du bouton Archive) permet d'activer/désactiver rapidement
Fonctionne seulement en mode ChatBox séparée (pas sur la PA).

* Mise en place:
1) Ajoutez GreaseMonkey (Mozilla, Chrome; si vous utilisez autre chose je vous présente mes plus sincères condoléances et vous souhaite de bien vouloir mourir du cancer ♥)
2) Créez un script et copiez-collez le code suivant.
Code:
// ==UserScript==
// @name       Equestria Nation PoneBox audio alert
// @version 0.0
// @author Shift
// @description Ajoute un bouton pour désactiver l'alarme. Un son est joué à chaque fois qu'un nouveau message arrive en PB.
// @match       http://equestrianations.forumgratuit.be/chatbox/index.forum
// @match       http://equestrianations.forumgratuit.be
// @grant none
// @require https://code.jquery.com/jquery-2.1.1.min.js
// ==/UserScript==



window.localStorage && $(window).load(function() {
  
 var chatbox_script = function() {
 var sounds = {
 'future': 'http://illiweb.com/fa/fdf/future.mp3',
 'hal': 'http://illiweb.com/fa/fdf/hal.mp3',
 'secret': 'http://illiweb.com/fa/fdf/secret.mp3',
 'zelda': 'http://illiweb.com/fa/fdf/zelda.mono.mp3',
 'sans':'https://iutdoua-webetu.univ-lyon1.fr/~p1402828/SansAlarm.wav'
 };
 var default_sound = sounds['zelda'];
 var default_freq='new';
        var default_when='always';
 var default_volume = 100;
 
 // Modifie la page pour ajouter le bouton.
 var _options=document.getElementById('chatbox_display_archives');
 _options.innerHTML = '<input type="checkbox" style="border:none;padding:0 3px;vertical-align: middle;" id="active_alarm" checked="false"/> <label for="active_alarm">Activer alarme</label> | ' + _options.innerHTML;
 
 
  if(localStorage.cb_sound && !localStorage.cb_sound.indexOf('https://dl.dropboxusercontent.com/u/181621985/')) localStorage.removeItem('cb_sound');
 var a = document.createElement('audio');
 if(!a.canPlayType) return;
 a.volume = Math.min(1, Math.max(0, localStorage.cb_volume||(default_volume/100)));

 var origin_send = Chatbox.prototype.send;
 Chatbox.prototype.send = function(params) {
 var m = $.trim($("#message").val());
 if(m.indexOf('/sound') && m.indexOf('/soudn'))
 return origin_send.call(this, params);
 m = $.trim(m.substr(6)).split(/\s+/,3);
 var bad_apple = false;
 switch(m[0].toLowerCase()) {
 case "":
 if(!a.src) {
 a.src = localStorage.cb_sound||default_sound;
 a.load();
 }
 a.play();
 break;
 case "all":
 case "new":
 localStorage.cb_freq = m[0]; break;
 case "always":
 case "off":
 case "on":
 case "once":
 case "never":
 localStorage.cb_when = m[0]; break;
 case "stop":
 if(!a.paused) a.pause();
 if(!a.ended && a.readyState > 0) a.currentTime = 0;
 break;
 case "pause":
 if(!a.paused) a.pause();
 break;
 case "volume":
 if(m.length>1) {
 localStorage.cb_volume = Math.min(1, Math.max(0, parseFloat(m[1].replace(',','.'))/100));
 a.volume = localStorage.cb_volume;
 break;
 }
 default:
 bad_apple = true;
 };
 if(bad_apple) {
 if(m[0] in sounds) {
 m[0]= sounds[m[0]];
 }
 if(m[0]=="default") {
 m[0]=default_sound;
 localStorage.removeItem('cb_sound');
 localStorage.removeItem('cb_freq');
 localStorage.removeItem('cb_volume');
 localStorage.removeItem('cb_when');
 a.volume = Math.min(1, Math.max(0, default_volume/100));
 }
 if(/^https?:\/\/.+/.test(m[0])) {
 localStorage.cb_sound = m[0];
 a.pause();
 a.src = m[0];
 a.load();
 a.play();
 } else {
 var message = $('#message').val();
 alert('/sound [all | new]\n/sound [always | off | on | once | never]\n/sound [stop | pause]\n/sound default\n/sound volume 0-100\n/sound ['+$.map(sounds,function(_,k){return k}).join(' | ')+']\n/sound [http://* | https://*]');
 setTimeout(function(){ $("#message").val(message).select().focus(); }, 100);
 return;
 }
 }
 return $("#message").val('').focus();
 };

 $(window).on("focus", function(){ Console.log("focus");localStorage.removeItem('cb_once'); localStorage.removeItem('cb_blurred') }).on("blur", function(){ localStorage.cb_blurred=1; });

 var play_sound = function(){
 if(document.getElementById('active_alarm').checked==false)
 return;
 if(a.paused || a.ended) {
 if(a.readyState > 0) a.currentTime=0;
 if(!a.src) {
 a.src = localStorage.cb_sound||default_sound;
 a.load();
 }
 a.play();
 }
 };
 
 
 var overrided = Chatbox.prototype.refresh;
 Chatbox.prototype.refresh = function(data) {
 if (data.messages && data.messages.length) {
 var lm = data.messages.slice(-1)[0];
 var last_message = lm.time+','+lm.action+','+lm.msg;
 if(this.last_message_sound != last_message) {
 var user = $.grep(data.users, function(v){return v.id==chatbox.userId});
 user = user.length ? user[0] : [{}];
 if(this.last_message_sound!==undefined) {
 var freq = (localStorage.cb_freq||default_freq);
 var when = (localStorage.cb_when||default_when);
 if(when != "never" && (when != "off" || localStorage.cb_blurred) && (when != "on" || !localStorage.cb_blurred) && (when != "once" || (localStorage.cb_blurred && !localStorage.cb_once))) {
 if(freq =="all" || (lm.userId!=chatbox.userId && user.username!=lm.username)) {
 if(when!="once" || !localStorage.cb_once) {
 play_sound();
 localStorage.cb_once = 1;
 }
 }
 }
 }
 this.last_message_sound = lm;
 }
 }
 overrided.call(this, data);
 };
 };
  
 var s=document.createElement('script');
 s.text="("+chatbox_script.toString()+")();";
  
    document.getElementsByTagName("head")[0].appendChild(s);
  
 /*$('window').each(function(){
 try {
 $(this.contentDocument||this.contentWindow.document).find("#chatbox").closest("html").find("head").first().each(function() {
 this.appendChild(s.cloneNode(true));
 });
 } catch (a) {}
 });*/
});
3) Activez le script pour la page de la PoneBox.

Et c'est tout o/
Spoiler:
 

_____________________________________________
Spoiler:
 
Revenir en haut Aller en bas
 
Script ChatBox
Voir le sujet précédent Voir le sujet suivant Revenir en haut 
Page 1 sur 1
 Sujets similaires
-
» CHATBOX DE SECOURS.
» Chatbox: Mode d'emploi
» Chatbox..
» Les Secrets de la ChatBox
» Gages de la chatbox

Permission de ce forum:Vous ne pouvez pas répondre aux sujets dans ce forum
 :: Hors RP :: Coin détente :: Autre-
Sauter vers: