Script di mIRC completo per la gestione dei suoni di sistema

Questo script fa tutto il lavoraccio di gestire gli eventi che in mIRC sono programmati per generare dei suoni. Li intercetta, e, se avete attivato i suoni, suonerà il WAV che avete scelto (nello ZIP ci sono anche i WAV che uso io).

Se volete scaricare lo ZIP, eccolo qui. Tutte le istruzioni per avviarlo sono include nel file TXT, mentre qui potete vedere come personalizzarlo, e sapere come funziona. I WAV sono stati fatti perlopiù con MS Talkit, che potete trovare nella sezione Downloads/AudioVideo, nel caso vogliate farne degli altri voi stessi; ho incluso le istruzioni per creare file WAV con Talkit nel menù inglese (attivate il menu inglese e cercate nella sezione HowTo’s.

Segue il listato dello script:

alias sounds {
  //if ($1 == on) { /set %Soundon 1 | echo -a  $+ $color(info text).dd $+ *** Sounds have been activated }
  //if ($1 == off) { /set %soundon 0 | echo -a  $+ $color(info text).dd $+ *** Sounds have been disabled }
}

alias checkquery //if (($query($1).addr != $null) && (%Soundon == 1)) /splay query.wav

CTCP *:DCC:*:{
  if (($2 == send) && (%soundon == 1)) /splay dcc send.wav
}

on *:GETFAIL:*.*:{
  //if (%Soundon == 1) /splay dcc failed.wav
}

on *:FILERCVD:*.*:{
  //if (%Soundon == 1) /splay dcc finished.wav
}


on 1:OPEN:?:*:{
  //if (($pos($strip($1-),Matches for,1) == 1) && (%Soundon == 1)) /splay locator.wav
  else /timer 1 1 checkquery $nick
}

on *:NOTICE:*:*:{
  //if ((($pos($strip($1-),Requested File's on its way! Low CPS Limit:,1) != $null) || ($pos($strip($1-),is on its way.,1) != $null)  || ($pos($strip($1-),Now Sending!,1) != $null)) && (%Soundon == 1)) { /splay File Arriving.wav | goto bother }

  //if ((($pos($strip($1-),is on its way.,1) != $null) || ($pos($strip($1-),Now Sending!,1) != $null)) && (%Soundon == 1)) { /splay File Arriving.wav | goto bother }

  //if ((($pos($strip($1-),You are in que now with number,1) != $null) || (($pos($strip($1-),I have added,1) != $null) && ($pos($strip($1-),in my que,1) != $null)) && (%Soundon == 1))) { /splay Queued.wav | goto bother }

  //if ((($pos($strip($1-),You are already in my que list with,1) != $null) || ($pos($strip($1-),Sorry I am totally maxed out even in que list,1) != $null)) && (%Soundon == 1)) { /splay Queue Finished.wav | goto bother }

  //if ((($pos($strip($1-),Password accepted for,1) != $null) && ($nick == NickServ)) && (%Soundon == 1)) { /splay Identified.wav | goto bother }

  //if ($pos($1-,server flood protection activated,1) != $null) goto bother
  //if ($pos($1-,has opped,1) != $null) goto bother
  //if ($pos($1-,has deopped,1) != $null) goto bother
  //if ($poscs($1-,DCC Send,1) != $null) goto bother

  //if (%Soundon == 1) /splay notice.wav

  :bother
}

on *:TEXT:*:#:{
  //if ($pos($1-,$me,1) != $null) {//if (%Soundon == 1) /splay chimes.wav//if ($window(@calls,1) == $null) /window -n @calls//aline -hp @calls 11 $chan 9 [ $time ] 7 < $nick > 8 $1-
  }
}

on *:CONNECT://if (%Soundon == 1) /splay Connected.wav

on *:DISCONNECT://if (%Soundon == 1) splay Disconnected.wav

E segue anche la spiegazione.

I primi tre eventi (CTCP, on FILERCVD, on GETFAIL) si attivano rispettivamente quando un file arriva per DCC, quando il trasferimento viene completato, e quando si interrompe.

Il trigger on OPEN si avvia quando si apre una finestra di query. Prima controlla che non si tratti del risultato di ricerca di uno script per condivisione MP3, e se no, fa partire il suono dopo 1 secondo; questo succede per dare tempo al mio script antispam (controllate nella sezione IRC per scaricare anche quello) di chiudere la finestra se si tratta di spam.

L’evento on NOTICE controlla molte cose. Se NickServ ha ricevuto la vostra password, se la vostra richiesta di un MP3 è stata accodata o se sta per essere inviata (compatibile solo con SpR e SDFind), ignora molti messaggi inutili come op, deop, flood protection, e se nessun dei casi precedenti è verificato, avvia un suono generico di "notice".

L’ultimo, on TEXT, fa quello che mi piace di più: controlla se qualcuno scrive il vostro nick nel canale, e avvia il suono chimes.wav, mettendo in una finestra a parte la riga incriminata per permettervi di leggerla più tardi. Due cose: primo, potreste volerlo disabilitare per ragioni specifiche (esempio, siete un op, date il voice a qualcuno, ed il suo stupidissimo script vi ringrazia in automatico – questo sì che è inutile!!) e allora o staccate il suono del tutto (cancellando la linea che contiene "chimes.wav") o aggiungete qualche filtro per quelle evenienze (ma dovete essere un pò pratici di scripting); secondo, il log nella finestra separata per me è molto utile, ma se a voi non piace, potete rimuoverlo cancellando le due righe che contengono "@calls". Considerazione finale, questa parte può essere "inefficiente", nel senso che controlla tutto quello che viene scritto in tutti i canali, e occupa la CPU (poco, comunque). Io ho un singolo, grande on TEXT che controlla molte cose, ma se voi avete già altri script installati, aggiungere questo vi farebbe usare ancora più CPU.

 

Ora, come usarlo? Semplice, dopo averlo caricato cone le istruzioni presenti nel TXT, scrivete il comando /sounds on per inizializzarlo, e sarà pronto a suonare i WAV. Volete vedere un film o giocare? Scrivete il comando /sounds off e mIRC non vi disturberà.

How to cutomize it? Basically, you can change the name ot location of the WAVs, delete some parts you’re not interested in, but mostly, add other handlers, if you can, and care. Only thing: mIRC will continue to beep if someone writes other lines in a query after the first one, even if sounds are off. I could change that, but I was too lazy in that moment; I don’t even plan to do it in the future… taje it as a good excercise on scripting .
Come personalizzarlo? Fondamentalmente, potete cambiare il nome o la posizione dei WAV, concellare qulce parte in cui non siete interessati, ma principalmente, aggiungendo altri controlli, se ne siete capaci. L’unica pecca è che mIRC continuerà a fare BIP se ci sono messaggi in una query dopo la prima riga, anche se i suoni sono stati disattivati. Potrei correggerlo, ma non ne ho voglia.

Leave a Reply

Your email address will not be published. Required fields are marked *