Avatar : 200*400 max
-40%
Le deal à ne pas rater :
Tefal Ingenio Emotion – Batterie de cuisine 10 pièces (induction, ...
59.99 € 99.99 €
Voir le deal

Partagez
 

 Script ChatBox

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

Messages : 301
Age : 27

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

Script ChatBox Empty
MessageSujet: Script ChatBox   Script ChatBox EmptySam 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:
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

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