Ana səhifə

Guida allo Scripting su mirc


Yüklə 378.5 Kb.
səhifə6/14
tarix25.06.2016
ölçüsü378.5 Kb.
1   2   3   4   5   6   7   8   9   ...   14

Le Flags

Guardando i codici sorgente di alcuni scripts/addons vi sara'

capitato di leggere nell'evento "strani segni" davanti al

numero 1 o addirittura sostituiti a quest'ultimo. Non spaventatevi,

partiamo dall'inizio. Un evento di questo tipo:
on 1:JOIN:#:{ echo EVENTO JOIN }
Scrive EVENTO JOIN nella finestra attiva ogniqualvolta un utente

entra in un canale qualsiasi. Alcune teorie dicono che niente

e' stato fatto per l'inutilita', e infatti l'1 non e' messo li' a

caso! Quel numero e' il livello di un utente. L'uno raggruppa

tutti gli utenti
Ma esistono altre "flags" (vengono cosi' chiamate le sostituzioni ai livelli) che permettono di eseguire diverse esclusioni su un evento.

Primo esempio:

escludiamoci noi stessi.

Nel primo se entriamo nel canale ci scrive nella finestra attiva EVENTO JOIN, inserendo il punto esclamativo "!"

davanti all'uno non funzionera' piu'. Un altro esempio non puo' essere

associato a questo tipo di evento, magari ad un on TEXT:


on 1:TEXT:*:#:{ echo $1- }
Questo riporta tutto quello che un utente scrive in un qualsiasi canale.

Inserendo la @ davanti all'1 riportera' SOLO quello che scrivono gli Operatori,

e con il + davanti all'1 riportera' SOLO quello che scrivono gli utenti

con il Voice (per non dimenticarsi ricordate che i segni sono uguali a quelli nella nicklist).


Prima abbiamo parlato di livelli. L'1 e' un livello, ma se ne possono creare altri? Certamente, con i gusers che verranno spiegati negli articoli piu' avanti, ma ora continuiamo ad occuparci delle flags.
Ora affronteremo l'argomento della Traduzione degli eventi. Come funziona: non c'e' bisogno di un editor di file EXE, di un hacker in parte a noi che ci dica come comportarci, e' sufficiente aggiungere davanti al numero 1 il simbolo ^ (shift ì). Con questo simbolo noi scriviamo qualcosa (con il comando echo) e mettendo HALT (fermati)

alla fine non gli facciamo riportare le risposte di default. Ma facciamo una prova in modo di capire meglio:


on ^1:JOIN:#:{

echo 3 # *** JOIN: $nick è entrato nel canale $chan alle $time in punto!

halt

}
Queste 4 semplici righe, nel momento in cui qualcuno entra in un canale,



scrivono la frase da noi impostata, e con HALT facciamo in modo che non riporti quella originale.


Eventi

COSA SONO GLI EVENTI?

Noi sappiamo benissimo che tutto quello che accade durante la nostra chattata può essere controllato dal mirc grazie ai remote.... ma come possiamo fare in modo che tutto quello che succede durante le nostre felici ore di conversazione puo' essere controllato anche da noi?

Proprio per questo motivo esistono gli "Eventi", grazie ad essi si puo' comandare al mirc di far eseguire un'azione quando si verifica un determinato evento in un determinato posto...

Quando un utente entra in un canale, quando esce da un canale, quando scrive, quando manda un file, quando oppa, quando banna.... in poche parole noi possiamo controllare tutto grazie agli eventi.
COME FUNZIONANO?

Il funzionamento degli eventi e piu' o meno sempre uguale per tutti gli eventi esistenti...

Tutti gli eventi incominciano con "on".

Incominciamo a fare qualche esempio di riscaldamento...


on 1:CONNECT: {

join #tuttoscript

}
Questo è uno degli eventi piu' usati e significa che quando un utente si connette al server deve entrare nel canale #tuttoscript.

1 = qualsiasi utente (tanto puoi essere solo tu che ti connetti ;) )

CONNECT = quando ti connetti

join #tuttoscrit = entra nel canale #tuttoscript


Facciamo un secondo esempio:
on 1:JOIN:#tuttoscript: {

if ($nick != me) { .msg $nick ciao $nick benvenuto su #tuttoscript. }

}
quando una persona qualsiasi entra nel canale #tuttoscript gli manderemo il messaggio " ciao pippo benvenuto su #tuttoscript "

NB: SOLO se il nick appena entrato è diverso da me... cioè non sono io ;) (if ($nick != me))


In poche parole gli eventi sono formati da:

on "flag":"evento":"testo":"luogo" { comando }


on 1:TEXT:ciao:#: {

.msg $chan ciao anche a te $nick

}
Ora scritto che quando una persona scrive "ciao" in un qualsiasi canale lo script deve rispondere con: "ciao anche a te pippo".
Potete anche usare il carattere jolly "*" nel testo:
on 1:TEXT:ciao*:#: {

.msg $chan ciao anche a te $nick

}
Ora lo script entra in funzione quando un utente scrive qualsiasi cosa che inizia con ciao.
Potete far compiere anche molte piu' di una sola azione al mirc quando si verifica un evento.. basta scrivere i vari comandi uno sotto l'altro o separati dal segno "|"
on :1:START: {

echo -s welcome!!!!

.splay $mircdirwave\avvio.wave

}
oppure


on :1:START: {

echo -s welcome!!!! | .splay $mircdirwave\avvio.wav

}
In questo modo quando avvierete lo script vi apparirà un messaggio nello status con la scritta "welcome!!!!" e inizierà a suonare un wave di nome "avvio.wav" che si trova nella cartella "wave" del vostro script..
Q
ui c'è una lista degli eventi che potete usare:


IF - THEN - ELSE

If, then, else... come la lingua inglese ci insegna sono delle restrizioni ad un evento.


Il formato piu' elementare per incominciare è:
if (pippo isop #tuttoscript) { commands }

elseif (pluto isop #tuttoscript) { commands }

else { commands }
Le parentesi ( ) servono a contenere una condizione " se pippo è operatore nel canale #tuttoscript". Le parentesi { } servono a contenere un comando: se pippo è operatore su #tuttoscript fai questo.

Bisogna sempre stare attenti a quante parentesi aprite ed a quante ne chiudete... le finestre aperte devono sempre essere uguali a quelle chiuse ....

if = se

elseif = invece se



else = invece se (o se non è ne l'uno ne l'altro)
Traducento la prima stringa che abbiamo scritto sopra:

se (pippo è operatore su #tuttoscript) { comando da fare }

invece se (pluto è operatore su tuttoscript) { comando da fare }

altrimenti ( comando da fare }


== uguale a

=== uguale a (con minuscole e maiuscole comprese M è diverso da m)

!= non uguale

< piu' piccolo di

> piu' grande di

>= piu' grande o uguale a

<= piu' piccolo o uguale a

// è un multiplo di

\\ non è un multiplo di

isin la stringa V1 è nella stringa V2

isincs la stringa V1 è nella stringa V2 (con minuscole e maiuscole)

isnum numero v1 è un numero del rango v2 nella forma n1-n2 (v2 facoltativo)

isletter V1 è una lettere che si trova nella lista di lettere V2 (v2 facoltativo)

isalnum il testo contiene solo lettere e numeri

isalpha il testo contiene solo lettere

ison nickname V1 è nel canale V2

isop nickname V1 è un operatore del canale V2

isvo nickname V1 ha voce nel canale V2

ishelp nickname V1 è un helper del canale V2

isreg nicknameV1 è un utente normale del canale V2

ischan Se V1 è un canale do tu ti trovi.

isban Se V1 è un indirizzo bannato nella ban list

isauto Se V1 è un utente in auto-op nel canale V2 (v2 facoltativo) isignore Se V1 è un utente da te ignorato

isprotect Se V1 è un utente da te protetto nel canale V2 (v2 facoltativo)

isnotify Se V1 è un utente nella tua notify list.
Per il contrario... cioè per le necazioni ( non è op del cnale, non è nel cnale) bisogna far precedere il segno " ! "

!= , !isop , !isvo , !=


Questi comandi scritti sopra si possono usare anche insieme, molte volte infatti c'è la necessità di limitare ancora di piu' lo script usando 2 o piu' di questi comandi tutti insieme.

Quindi useremo:

&& che tradotto sarebbe " e " (congiunzione)

|| che tradotto sarebbe " o " (o questo o quello)


number {

if (($1 > 0) && ($1 < 10)) {

if ($1 < 5) echo Numero minore di cinque

else echo Numero maggiore di cinque

}

else echo Numero fuori



}

Qui sopra abbiamo utilizzato il segno && per fare capire che il numero deve essere sia maggiore di zero sia minore di 10:

se (($1 e maggiore di 0) e ($1 è minore di 10)) {

Il contrario sarebbe stato usando " || " al posto di " && "


invece il codice $1 sarebbe la prima parola scritta.... facciamo un esempio
se io scrivo: pippo gioca con topolino

pippo sarebbe $1

gioca sarebbe $2

con sarebbe $3

etc etc...
Invece per indicare che bisogna prendere tutta la frase intera compresa di spazi bisogna scrivere $1-
Cmq tutto questo lo vedremo meglio quando è il suo turno...

1   2   3   4   5   6   7   8   9   ...   14


Verilənlər bazası müəlliflik hüququ ilə müdafiə olunur ©atelim.com 2016
rəhbərliyinə müraciət