14 Esempi di ON


Introduzione:
Ora parleremo dei comandi on text, on join, on part etc. etc.

I pricipali sono:
on text, on join, on part, on quit, on op, on deop, on ban, on topic, on mode, on servermode, on invite, on voice, on devoice, on kick, on getfail, on sendfail, on filercvd, on filesent

Esempi:
on text si riferisce al comando che lo script fa’ quando un utente scrive qualche cosa nel canale, in query, o in dcc chat

Iniziamo con un on text nel canale…

on @1!:text:stronzo:#: { kick $chan $nick | .notice $nick stronzo ci sei tu }

In questo caso una persona che scrive la parola “stronzo” nel canale viene kickata e gli viene mandata una notice

il segno @ indica che quella persona scrive la parola “stronzo” in un canale dove tu sei op

il numero 1 indica che è una persona qualunque cioè non è in un livello settato nello script ( tipo amico, shit, auto-op etc etc ). Ricorda che il livello default del mirc è il livello 1, ma se vai in users e poi in options puoi decidere tu che livello assegnare ad un utente normale.

Il punto esclamativo ! dopo 1 indica che l’utente che dice “stronzo” nel canale non sei tu

Il comando text significa che sta scrivendo nel canale ( # ) la parola tra i due puntini ( in questo caso è “stronzo” )

Quello compreso tra le parentesi graffe è il comando che vuoi che lo script faccia quando legge la parola “stronzo” nel canale ( i vari comandi devono essere divisi dal segno | )

Il puntino prima della n di notice serve a mandare una notice ad un utente senza che questa notice ti appaia nella finestra attiva del mirc

La stessa cosa possiamo farla anche in query invece del canale

on @1!:text:stronzo:?: { kick $chan $nick | .notice $nick non mi dire le parolacce in query }

In questo caso abbiamo messo il segno “?” che indica la query al posto del segno # che indica il canale, se poi volevamo farlo in dcc chat bastava mettere il segno “=”

on @1!:text:stronzo:=: { kick $chan $nick | .notice $nick non mi dire le parolacce in dcc chat }

La stessa cosa si può fare con le notice o con le action, basta sostituire alla parola text la parola notice o action

on @1!:action:stronzo:#: { kick $chan $nick }

on @1!:notice:stronzo:#: { kick $chan $nick }

Ora proviamo a fare altri esempi con il comando on join, (cioè quando un utente entra in un canale).

Script Commento:

on *:JOIN:#: {
;Quando chiunque "*" entra "join" in un canale "#"
if ($nick == $me) {
;Se il nick dell'utente è il mio, cioè se sono io che entro nel canale
msg $chan ciao a tutti sono arrivato
;Mando un messaggio nel canale "ciao a tutti sono arrivato"
}
;Chiudiamo il primo caso ( cioè se sono io che entro )
else { .notice $nick ciao $nick
;Invece se non sono io che entro manda una notice a chi entra
}
;Chiudiamo il secondo caso
}
;Chiudiamo tutto

In questo caso ( fatto volontariamente piu’ complesso ) abbiamo preso 2 piccioni con una fava, infatti lo script vede se chi entra nel canale sono io o no e di conseguenza si comporta in modo diverso

Una cosa simile possiamo anche farla con il comando on part

on 1!:part:#: { .notice $nick ciao torna a trovarci }

Se un utente qualsiasi “1” diverso da me “!” esce dal canale “#” noi gli mandiamo una notice

Altre cose possiamo farle con il comando on OP oppure on DEOP o anche con on KICK basta avere fantasia

Script Commento:

on *:OP:#: {
;Se una persona chiunque oppa nel canale
if ($opnick == $me) {
;Se la persona che viene oppata sono io
echo -a $nick ti ha oppato su $chan
;Mi deve spuntare scritto "echo" nella finestra attiva "-a" etc etc
}
;Chiudi il caso che sono io ad essere stato oppato
else { msg $nick beato te che sei stato oppato
;Invece se non sono io manda un msg a chi è stato oppato
}
;Chiudi il secondo caso
}
;Chiudi tutto

Autore: Antani