Cominciamo a vedere qualche esempio.
Apriamo il nostro mIRC Editor e negli aliases digitiamo:
/tuttoirc /join #tuttoirc
Scrivendo /tuttoirc entreremo nel canale #tuttoirc.
/j /join $1
Scrivendo /j #tuttoirc entreremo nel canale tuttoirc. $1
indica in sostanza la prima parola indicata (parametro).
Per capire meglio le proprietà di $N ($1, $2, $3,
ecc.). Analizziamo il seguente esempio:
/saluto /say $2 $1
Scrivendo quindi /saluto ragazzi ciao vedremo visualizzare
il nostro alias in Ciao ragazzi. In quanto $2 indica la
seconda parola scritta ed $1 la prima.
/entra /join $?
Il punto interrogativo dopo $ indica allo script che serve
un'informazione per proseguire. Alla realizzazione di questo
apparirà un dialog ("finestra di dialogo")
che ci chiederà di inserire l'informazione richiesta.
Quindi inserendo #tuttoirc all'interno del
Dialog entreremo nel canale #tuttoirc.
/entra /join $?="In quale canale vuoi entrare?"
Aggiungendo ="text" dopo il $? Nel dialog sopra
detto sarà inserita la nostra domanda, ossia: In
quale canale vuoi entrare?
/entra /join #$?
Aggiungendo il # prima di $? la parola scritta sarà
interpretata come un canale.
/via /away $?="Inserisci il messaggio
di away" | /say $!
La novità in quest'esempio è $!, che memorizza
ed utilizza il parametro inserito nella prima richiesta
di informazioni, quindi il messaggio di away.
/give /me gives $$1 a $$2
Il doppio $$ fa in modo che il comando sia eseguito solo
se tutti i parametri sono inseriti.
/picchiare /me picchia $1 con $2-
Aggiungendo - dopo $N si fa in modo che il parametro contenga
la N parola scritta e tutto quello che segue. Quindi scrivendo
/picchiare Sir_Drake un'immensa mazza chiodata, otterremo:
Guerrjero picchia Sir_Drake con un'immensa mazza chiodata.
Scrivendo invece $2-4 saranno usati solo i
parametri 2 e 4.
/silly /say Cia $+ o raga $+ zzi $+ !
I parametri sono generalmente separati da uno spazio. Ma
per fare in modo che il mIRC combini i diversi parametri
si usa l'identificatore $+. Quindi la frase sopra scritta
apparirà come Ciao ragazzi!
/p /part #
Il simbolo # indica il canale dove si risiede attualmente.
Quindi trovandoci su #tuttoirc e scrivendo /p usciremo dal
canale detto.
/op /mode # +o $1
Scrivendo /op nick opperemo l'utente citato, risparmiandoci
l'intera sintassi (naturalmente se siamo op).
/dop /mode #-ooo $1 $2 $3
Scrivendo per esempio /dop Attila {lost} Sir_Drake deopperemo
in una volta sola i 3 operatori citati.
Per usare comandi multipli si deve utilizzare
il carattere | (realizzabile usando i tasti Shift + \),
che viene posto in mezzo a questi per separarli:
/dkb /kick # $1 | /mode # +b $1
Le parentesi [ ]
Per avere un controllo maggiore sull'ordine di valutazione
degli identificatori, si possono usare le parentesi [].
Gli identificatori al loro interno saranno letti e valutati
da sinistra verso destra.
/say % [ $+ [ $1 ] ]
Usando più parentesi quadre è
possibile forzare la lettura di un identificatore per più
volte.
/set %x %y
/set %y Ciao!
//echo [ [ %x ] ]
Le parentesi { }
Per creare un comando su + linee vengono usati i brackets
{ }, realizzate attraverso la combinazione di AltGr+Shift+è
oppure +. Con il loro utilizzo anche un alias può
essere più complesso.
/riflessione {
/msg $1 Oggi è sabato ed io che faccio
/msg $1 Scrivo tutorials
No comment
}
If-then-else
L'uso di if-then-else viene usato per "imporre"
allo script quale parte del codice utilizzare:
/località {
if ($1 == Roma) echo La mia città
elseif ($1 == Italia) echo Il mio paese
else echo Luogo sconosciuto
}
In questo caso l'alias creato esamina il parametro
inserito; se questo è uguale a Roma scriverà
La mia città, se è uguale a Italia scriverà
Il mio paese; se è diverso da tutti e due, Luogo
sconosciuto.
Questa sezione sarà comunque approfondita in un altro
tutorial.
Il comando GOTO
Il comando goto serve per "saltare" da una parte
e l'atra di un determinato script. Riproponiamo l'esempio
di prima:
/località {
if ($1 == Roma) goto roma
elseif ($1 == Italia) goto italia
else goto altro
:roma echo La mia città
halt
:italia echo Il mio paese
halt
:altro echo Luogo sconosciuto
}
Usando erroneamente goto si potrebbe creare
un ciclo infinito. Per interrompere questo ciclo usare Control+Break.
Nota. Il prefisso / si può anche omettere
all'interno di uno script, in quanto si considera che ogni
linea inizi con un comando. È invece obbligatorio
nella linea di comando.
While
Attraverso while è possibile eseguire delle operazione
fino a quando una determinata condizione risulta vera. Per
capire come questo funziona creiamo uno script che kicka
e banna tutti gli utenti non op.
masskb {
var %i = 1
while ($nick(#,0) > %i) {
inc %i
if ($nick(#,%i) != $me) { /mode # +b $nick(#,%i) | /kick
# $nick(#,%i) }
}
}
(Analizzate bene questo script, modificando
poco si possono creare buoni massdeop, massmsg, massinvite,
ecc. Per questi ultimi due però consiglio di usare
/.msg o /.invite al posto di /msg o /invite. Il perché
è spiegato avanti.)
Si possono usare i comandi /break, per interrompere il ciclo,
e /continue per ripartire dall'inizio.
Il comandi /return
Il comando /return blocca l'esecuzione dello script in uso,
consentendo alla procedura iniziale di continuare a lavorare.
Si può anche specificare il valore di return, che
verrà immagazzinato nell'identificatore $result.
Quest'ultimo può essere usato nella procedura.
/return [valore]
Il comando /halt
Questo comando serve per bloccare un determinato script,
impedendogli quindi di continuare nel suo processo. Per
esempio può essere utilizzato per bloccare le risposte
ai CTCP, od un singolo alias, un remote, ecc.
on ^1:JOIN:#:echo $chan $nick entra nel canale
$chan| halt
In questo modo si impedirà l'esecuzione
del messaggio standard on join del mIRC.
Identificatori
Un identificatore restituisce il valore di una variabile
automatica contenuta nel mIRC. Ogni qual volta che il mIRC
trova identificatori all'interno dei suoi comandi, li sostituisce
con il valore corrente. Per esempio $time restituirà
l'ora attuale, $server il server in uso, ecc..
Per avere un elenco degli identificatori visitare l'apposita
sezione.
Costruire un identificatore
Non è altro che un alias con il compito di restituire
un determinato valore. Nel suo utilizzo però dovrà
essere preceduto dal prefisso $ come qualsiasi altro identificatore.
Vediamo l'esempio:
addizione {
%x = $1 + $2
return %x
}
Ora usate il comando:
//echo il totale è: $addizione(1,2)
In questo caso lo script effettua solo addizioni
tra 2 parametri.
Nota. Gli identificatori automatici con lo
stesso nome di quelli costruiti hanno la priorità.
Remote
È possibile costruire aliases anche da remote scripts.
Basta inserire il prefisso alias prima del nome che lo contraddistingue:
alias addizione {
%x = $1 + $2
return %x
}
Usando lo switch -l nella sintassi, l'alias
diviene accessibile solo dallo script in considerazione,
ed invisibile alla linea di comando e dagli altri script.
alias -l addizione {
%x = $1 + $2
return %x
}
Funzione dei tasti
È possibile assegnare ad una combinazione di tasti
o a tasti singoli il compito di effettuare un'operazione
(aprire un dialog, un file, ecc.) ridefinendoli come segue:
/F1 /say Ciao!
/sF2 /query $1
/cF3 /ctcp $1 version
La lettera c rappresenta il tasto Ctrl, mentre
s Shift.
Nota. Un alias di questo genere si comporterà
differentemente a seconda di dove viene usato; per esempio,
se la finestra attiva è una query, $1 indicherà
il nickname della persona con cui è stabilita la
query; se ci troviamo in un canale, con il nickname selezionato
nella listbox; se nessun nickname è selezionato,
si riferirà al canale stesso.
Prefissi
Iniziamo col prefisso /. Per capire meglio il suo utilizzo
poniamo che il nick in uso sia Guerrjero, e ricordiamo che
$me è l'identificatore che restituisce come valore
il nostro nickname.
Scrivendo solo /echo Il mio nick è $me
Il mIRC non farebbe altro che copiare il tutto com'è,
ossia: Il mio nick è $me. Volendo fargli leggere
il valore dell'identificatore, dobbiamo forzare la lettura
usando il prefisso // come segue:
//echo Il mio nick è $me
ottenendo così: Il mio nick è Guerrjero.
Il . dopo / serve per non far apparire il
messaggio che segue il comando. Esempio:
/nick Guerrjero
Scrivendo questo, il mio nick diventerebbe Guerrjero e nello
status uscirebbe di default il messaggio *** Your nickname
is now Guerrjero. Scrivendo invece:
/.nick Guerrjero
Il cambio di nick avviene lo stesso, ma il messaggio viene
omesso.
Commenti
Attraverso ; è possibile inserire commenti all'interno
dei nostri script; ogni linea infatti, preceduta da quel
carattere, non verrà letta dal mIRC.
L'identificatore $&
È usato per dividere una singola linea molto lunga
in più linee, in modo da rendere più facile
la stesura dello script.
linealunga {
echo Spero che la guida sia stata chiara, io ce l'ho $&
messa tutta. Comunque questo è solo un esempio $&
per farvi capire l'uso di questo identificatore. Grazie
$&
per aver letto questo tutorial da Guerrjero e l'intero $&
Staff di Tuttoirc.it
|