I popups non sono altro che i menu a comparsa che ci faciliteranno nell'utilizzo
dello script velocizzando operazioni che richiederebbero, altrimenti,
molto tempo e molta memoria ;o)
Questi menu vengono attivati tramite la pressione del tasto destro del
mouse in una finestra di canale, in una finestra di query, di DCC, nella
nicklist dei canali e nella finestra di status.
Alcuni popups sono predefiniti nel file mirc.ini, ma tali popups sono
completamente personalizzabili.
I comandi popups funzionano esattamente come i comandi degli aliases..
Tutte le stringhe trattate nelle sessioni precedenti sono abilitate per
funzionare nei popups.
Se non hai letto le sessioni precedenti, fallo ORA!!
Devi conoscere tutte le informazioni prima di poter andare avanti in questo
tutorial.
Ricorda: più esempi ti studi, maggiori possibilità avrai
di conoscere meglio il funzionamento dello scripting, quindi datti pure
un'okkiata all'help del mIRC che è pieno zeppo di piccoli esempi
semplici e molto carini.
Facciamo un esempio sull'utilizzo dei popups.
Immaginiamo che tu frequenti normalmente il canale IRC #sesso1.
Se così fosse, tutte le volte che ti colleghi ad un server scrivi
/join #sesso1, giusto?
E se volessi mettere una scorciatoia nel popups dello status per evitare
di usare troppo la tastiera con il risultato di far peggiorare l'artrosi?
Il popups seguente è stato scritto proprio per voi poveri vecchietti
con le dita a puttane.
Semplicemente entra in Tools/Popups e, nel popups relativo allo status,
aggiungi questa riga:
Entra su #sesso1:/join #sesso1
Dai OK e fai un click con il tasto destro nella finestra
dello Status.
Comparira una nuova voce: "Entra su #sesso1".
Se clickate, il vostro script entrerà nel canale #sesso1.
Facciamo altri esempiuzzi.
Entra in Away:/ame è in AWAY ( $?="motivo dell'away?"
) | /away Non ci sono più: $! !!
Torna dall'Away:/ame è tornato dall'AWAY| /away
Nota come queste due voci di popups utilizzano comandi multipli.
Questo è possibile perchè i vari comandi sono separati dal
carattere | (pipe).
E' possibile creare dei menu con un ordine gerarchico.
Come? Mo ve lo faccio vedere.
Consideriamo l'esempio precedente e facciamo questa modifica:
Gestione dell'AWAY
. Entra in Away:/ame è in AWAY ( $?="motivo dell'away?" ) | /away
Non ci sono più: $! !!
.Torna dall'Away:/ame è tornato dall'AWAY| /away
Volete qualcosa di diverso? Di più complesso? Ok,
vi accontento :o)
Saluti
.Simpatici
..Dolce:/ame saluta tutte i dolci amici che mi hanno tenuto compagnia
:°)°°
..Casinaro:/ame saluta tutti i casinisti che mi hanno fatto morire dal
ridere! :o))
.Antipatici
..Stronzi:/ame se ne va dopo aver capito quale massa di stronzi siete!!
:oþ
..Brutti:/ame non si abbassa a stare con certi cessi! Me ne vado!!!!
Come potrai ben vedere, puoi scegliere di organizzarti i
menu in modo più o meno complesso.
A te il divertimento di cominciare a farti qualche popups a misura delle
tue esigenze.
Ricorda che nei popups, possono essere utilizzati richiami ad alias, a
identificatori, possono venir utilizzati combinazioni di tasti funzione,
ecc ecc.
Facciamo un esempio.
Immaginiamo che nella sessione Aliases ci sia questo:
/f1 /run $mircdirhelp\help.txt
Il tasto F1 è stato associato ad un comando.
In questo caso aprirà il file help.txt con il programma che è
stato associato a quell'estensione.
E se volessimo aggiungere una voce di popups che facesse la stessa cosa?
Possiamo fare in due modi.
Help:/run $mircdirhelp\help.txt
oppure
Help:/f1
Il secondo metodo è sicuramente il migliore, non
trovate? :o)
Una novità che ho scoperto da poco è la possibilità
di utilizzare oprazioni logiche per visualizzare o no popups.
In che senso, mi chiederete?
Immaginate di trovarvi in un canale e di non avere l'op.
Se visualizzate il popup della nicklist del canale, normalmente compaiono
le opzioni di kick/ban/op/deop/voice/devoice, giusto?
Ma che senso ha farle visualizzare se non siete op??
Tanto vale che i menu appaiano solamente quando avete la fottuta @ alla
vostra sinistra, no?
Bene, vediamo un po' di scoprire come rendere i menu dinamici.
Facciamo un piccolo listato di esempio.
Provatelo sul vostro mIRC e vedete un po' se vi gusta ;o)
$iif($me isop $chan,Controllo Op)
.Op User: raw -q mode # +o $*
.Deop User: raw -q mode # -o $*
L'utilizzo di $iif permette un controllo per verificare
se ci sono determinate condizioni.
In caso affermativo il menu verrà visualizzato, altrimenti niente
da fare :o)))
E se volessimo fare un menu con molti $iif?
$iif($me isop $chan,Controllo Op)
Op User: raw -q mode # +o $*
.Deop User: raw -q mode # -o $*
$iif($me isop $chan,Controllo Voice)
.Voice User: raw -q mode # +v $*
.Devoice User: raw -q mode # -v $*
Come potete ben vedere l'identificatore $iif va ripetuto
per tutte le voci del menu.
Menu
multipli
E se volessimo utilizzare diversi menu per il popups canale
o query?
Immaginiamo di voler utilizzare 2 tipi di menu per le DCC/Query.
A che scopo, direte voi?
Per esempio, un menu per gli "umani" con cui chattate e uno
per il controllo dei bot.
Entrambi dovrebbero essere nel popups delle query, giusto?
Avete 2 possibilità:
1) fare un popup singolo diviso in due parti con i comandi per i bot e
quelli per gli umani
2) fare due popups distinti
Fare un popup singolo comporta una finestra lunga un kilometro con menu,
sottomenu, sottosottomenu e così via.
E' sicuramente una bella rottuta di @@, non trovate?
Quindi meglio fare un menu doppio :o)
E come si fa a fare un popup multiplo?
Uaz!!!
Andate nella sezione popups e fate il menu delle chat con gli umani.
Salvate il popup con un nome tipo popumani.ini nella dir principale del
mirc. (ex. c:\mirc\)
Deletate tutto, fate il popup per i comandi dei bot e salvatelo con nome
popbot.ini sempre nella stessa dir.
Ora il tocco di classe ;o)
Nel menu dei bot aggiungete alla prima riga questo comando:
Human Menu:/.load -pm $mircdir\popumani.ini
e nel menu degli umani aggiungete
Bot Menu:/.load -pm $mircdir\popbot.ini
Che succede? Che effetto farà questa riga?
Molto semplicemente, alla prima riga del popups delle DCC/Query comparirà
(nel menu umani) la voce Bot Menu e nel menu bot la voce Human Menu.
Cliccando su tali voci i verranno caricati i menu relativi.
|