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.