MIRC scripting
Il linguaggio di scripting del mIRC è un linguaggio per alcuni versi simile ad alcuni linguaggi di programmazione e tramite questo linguaggio è possibile creare anche strumenti abbastanza avanzati. Bisogna però dire che non è potente come il c o il c++ quindi un antivirus scritto con mIRC si limiterà a controllare se le porte sono occupate o libere, quindi non funzionerebbe con i firewall, siccome alcuni di questi tengono occupate le porte non utilizzate. Gli script hanno estensione *.mrc o *.ini
Usi principali
Il mIRC scripting viene utilizzato per
Altri usi
Si possono anche scrivere:
- Lettori Mp3, Firewall o antivirus
- Giochi per mIRC
Caratteristiche del linguaggio
Principali "categorie"
- Aliases servono per abbreviare un comando lungo o complesso una stringa semplice scelta dall'utente
- Popup invece si utilizzano per definire i menu, si può sostituire qualsiasi comando presente nei menu staus, comandi, lista dei nick, canale ed nel menu della finestra query
- nei Remote si scrive lo script vero e proprio.
Identificatori e variabili
$nick usato sopra è un identificatore. Gli identificatori (sia personali che già presenti nel mIRC) sono preceduti da $, un altro identificatore è $replace che serve per sostituire il testo in una stringa con altro testo. Le variabili binarie sono precedute da & mentre le altre (sia locali che globali) da %.
Limitazioni
- Ogni riga di script può contenere al massimo 947 caratteri.
- Le stringhe non sono sintatticamente chiuse, ciò comporta ambiguità nel codice dove i caratteri indicano sia stringhe sia parti della sintassi del linguaggio.
Esempi di codice
Notare che questi codici funzionano solo nei remote, se si volessero mettere negli aliases andrebbe tolto l'alias iniziale
Questo codice serve per mostrare alla digitazione di /hello nella finestra attiva (come specifica -a) del mIRC la celeberrima frase Hello, world!.
alias hello { echo -a hello world }
Mostra, al comando /dieci i primi dieci numeri, sempre nella finestra attiva
alias dieci { var %i = 1 while (%i <= 10) { echo -a %i inc %i } }
Il codice seguente va necessariamente messo nei remote in quanto contiene l'evento on 1:TEXT:, serve per ricambiare il saluto, funziona solo su #canale
on 1:TEXT:ciao:#canale { /msg #canale ciao $nick }
Questo codice è l'inizio di un semplice antivirus, che controlla, al comando /virus se le porte utilizzate dal virus WinCrash sono occupate e quindi mostra nella finestra attiva un messaggio.
alias virus { if ($portfree(5742) != $true) { echo -a Il computer può essere infetto da WinCrash } if ($portfree(5741) != $true) { echo -a Il computer può essere infetto da WinCrash } if ($portfree(5714) != $true) { echo -a Il computer può essere infetto da WinCrash } if ($portfree(4090) != $true) { echo -a Il computer può essere infetto da WinCrash } if ($portfree(2583) != $true) { echo -a Il computer può essere infetto da WinCrash } if ($portfree(21) != $true) { echo -a Il computer può essere infetto da WinCrash } }
Qui di seguito un semplice script che fa uso dell'identificatore replace per sostituire le lettere con in numeri, in pieno stile leet. Questo script si attiva automaticamente ad ogni input, funziona solo se messo nei remote
on 1:INPUT:*: { if (/* !iswm $1-) { var %testo = $1- if (l isin %testo) { var %testo = $replace(%testo,l,1) } if (e testo %testo) { var %testo = $replace(%testo,e,3) } if (a testo %testo) { var %testo = $replace(%testo,a,4) } if (s isin %testo) { var %testo = $replace(%testo,s,5) } if (g isin %testo) { var %testo = $replace (%testo,g,9) } }
I codici qui presentati non hanno la pretesa di essere i migliori, sono stati ideati solo per scopo illustrativo. --Alchimista di Cristallo 21:59, 21 lug 2007 (CEST)