Untitled Document
mIRC in Italiano - Script - Forum - Imposta come Home Page - Aggiungi ai Preferiti - Home - Chat
Utenti connessi: - Visitatori oggi: - Visitatori totali: - Pagine viste oggi:


NewsLetter


localmirc
-
----
-
----
-
----
-
----
-
----
-
----
-
----
-
----
-
----
-
----
-
----
-
----
-
----
-
----
-
----
-
----
-
----
-
----
-
----

-
----
-
-
-
-
-
----
-
----
-
----
-
----
-
----
-
----
-
----
-
----
-
----
-
----
-
----
-
----
-
----
-
----
-
----
-
----
-
----
-
----
-
----
-
----
-
----
-
----
-
----
-
----
-
----
-
----
-
----
-
----
-
----
-
----
-
----
-
----
-
----
-
----
-
----
-
----
-
----

----
If Then Else

Con l'uso di if, then ed else è possibile far eseguire una parte dello script in base alla realizzazione di un determinata condizione.

La configurazione di base è:
if (v1 operatore v2) { comandi }
elseif (v1 operatore v2) { comandi }
else { comandi }

Le parentesi () includono quindi i paragoni, mentre quelle {} i comandi che saranno eseguiti quando quella condizione risulterà vera. Si ricorda che per ogni parentesi aperta, qualunque essa sia, ne deve seguire una chiusa.

Operatori

== uguale a
=== uguale a (case sensitive, quindi con maiuscole e minuscole)
!= non uguale a
< minore di
> maggiore di
>= maggiore o uguale a
<= minore o uguale a
// è un multiplo di
\\ non è un multiplo di

Condizione
Spiegazione
isin
la stringa v1 è contenuta nella stringa v2
isincs
Come sopra ma case sensitive
iswm
la stringa jolly v1 corrisponde a stringa v2
isnum
il numero v1 è un numero nell'intervallo v2 che è nella forma n1-n2 (v2 è opzionale)
isletter
la lettera v1 è presente nelle lettere di v2
isalnum
il nick è composto da lettere e numeri
isalpha
il nick è composto da sole lettere
ison
il nick è presente nel canale specificato
isop
il nick è op nel canale specificato
ishop
il nick è halfop nel canale specificato
isvoice
il nick ha il voice nel canale specificato
isreg
il nick è un normale nick nel canale specificato
ischan
il canale è un canale in cui siamo
isaop
il nick è auto-op nel canale specificato
isavoice
il nick è auto-voice nel canale specificato
isignore
il nick è nella lista di ignore
isprotect
il nick è nella protect list
isnotify
il nick è nella notify list

Per negare le voci precedenti basta aggiungere il prefisso !.

if ($nick !ison #tuttoirc) { /echo $nick non è nel canale #tuttoirc }

L'identificatore $ifmatch restituisce il primo parametro espresso nella condizione; quindi se fosse: if (ero isin Guerrjero) {…} $ifmatch restituirà ero.
Per combinare più condizioni si usa && che sta per "e", e ||, che sta per "o":
numero {
if (($1 > 0) && ($1 < 10)) {
if ($1 < 5) echo il numero è più piccolo di 5
else echo il numero è più grande di 5
}
else echo Sono ignorante e non conosco questo numero :(
}

Da notare la prima parte: if (($1 > 0) && ($1 < 10)). Letteralmente sarebbe se il numero espresso ($1) è maggiore di 0 e (&&) minore di 10, ecc ecc.

Il prefisso ! posto davanti a variabili e identificatori riguardanti contesti if-then-else indica che questi non hanno valore; quindi scrivere

if (%x == $null) echo la variabile x non ha valore

oppure

if (!%x) echo la variabile x non ha valore

è la stessa cosa.

Vediamo qualche esempio:
il seguente è uno script che crea una lista degli utenti op presenti nel canale. Si poteva alleggerire di molto semplicemente usando $opnick al posto di $nick, ma in questo modo ci possiamo rendere conto dell'uso di isop ed $null.

listaops {
echo 4 * Lista Ops del canale #
set %i 1
:next
set %nick $nick(#,%i)
if %nick == $null goto done
if %nick isop # echo 3 %nick è un Op!
inc %i
goto next
:done
echo 4 * Lista Ops terminata
}

Quest'altro invece darà lo stato di operatore a tutti gli utenti selezionati nella listbox del canale attivo:

DareOps {
%i = 0
%nicks = ""
:nextnick
inc %i
if ($snick(#,%i) == $null) { if ($len(%nicks) > 0) mode # +oooo %nicks | halt }
%nicks = %nicks $snick(#,%i)
if (4 // %i) { mode # +oooo %nicks | %nicks = "" }
goto nextnick
}

E come ultimo esempio riportiamo un massinvite:

/massinvite { echo 4 * Mass-inviting # | set %i $nick(#,0) | :next | if $nick(#,%i) != $me invite $nick(#,%i) $1 | dec %i | if %i > 1 goto next | echo 4 * Mass-invite # eseguito }

Utilizzare questo alias con "/massinvite #vostrocanale".(Si ricorda che il massinvite è considerata una azione molto maleducata!).




  Ultime dal forum mIRC Scripting

Vai al forum
Ultimi script e addon inseriti
Diablo III (14032)
Fancazzista Scr... (18042)
Sensuality scri... (7498)
Grand Theft Aut... (5046)
Stealth Script ... (8196)
-SagittarioScri... (17891)
Paradise Script (13432)
Trivia Game 200... (11621)
Ircap Script 8.... (5079)
RawScript 2.0 (8295)


 

 



Cerca nel sito

Le ultime news:



Sondaggio
Cosa vorresti di nuovo?

Risultati | Archivi

Statistiche Download
Database:
283 Files
241 Mb
Scaricati:
2632634 Files
Totale: 5556634Mb

Upload
Hai realizzato uno Script? Una addon? Una tcl? Un articolo? Qualsiasi cosa? Mandacelo ora! Utilizza il form upload per inviarci il tuo materiale e se lo riteniamo idoneo lo vedrai pubblicato nel portale!
[ Upload ]

Chat
Inserisci il tuo nick:



| Contattaci | Pubblicità | Staff |
Il presente materiale è Copyright TuttoIRC.it 2005. Leggi il Disclaimer