MIRC scripting: differenze tra le versioni

Contenuto cancellato Contenuto aggiunto
Redirect a MIRC FA SCHIFO
Rl89 (discussione | contributi)
LiveRC : Annullata la modifica di 87.20.119.223; ritorno alla versione di 87.21.6.198
Riga 1:
{{titolo errato|titolo=mIRC scripting}}
#REDIRECT[[MIRC_FA_SCHIFO]]
Il '''mIRC scripting language''' è un linguaggio di scripting 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|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 *.[[File INI|ini]]
 
== Usi principali ==
Il mIRC scripting viene utilizzato per
* Fare in modo che i [[bot]] espellano automaticamente il nick che sta [[flood (informatica)|floodando]] il canale oppure che ad un certo comando, per esempio !tv, dia l'informazione richiesta
* Comandi che permettono di risparmiare tempo, come l'auto-identificazione per l'utente o il correttore delle parole
== Altri usi ==
Si possono anche scrivere:
* Lettori [[Mp3]], [[Firewall]] o [[antivirus]]
* Giochi
* Clients basati sui sockets. Ad esempio, [[FTP]] Clients, [[HTTP]] Clients, [[Email]] Clients.
 
== 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 ===
Gli identificatori (sia personali che già presenti nel mIRC) sono preceduti da '''$''', un identificatore è '''$replace''' che serve per sostituire il testo in una stringa con altro testo, un altro è '''$nick''' che intende il nick che esegue l'azione precendentemente specificata. 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!]].
 
<pre><nowiki>alias hello {
echo -a hello world
}</nowiki></pre>
 
Mostra, al comando '''/dieci''', i primi dieci numeri, sempre nella finestra attiva
<pre><nowiki>alias dieci {
var %i = 1
while (%i <= 10) {
echo -a %i
inc %i
}
}
</nowiki></pre>
 
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
<pre><nowiki>
on 1:TEXT:ciao:#canale {
/msg #canale ciao $nick
}
</nowiki></pre>
 
Questo codice è l'inizio di un semplice antivirus, che controlla, al comando '''/virus''' se le porte utilizzate dal [[Virus (informatica)|virus]] [[WinCrash]] sono occupate e quindi mostra nella finestra attiva un messaggio.
<pre><nowiki>
alias virus {
var %pcvirus echo -a Il computer può essere infetto da WinCrash
if (!$portfree(5742)) && (!$portfree(5741)) && (!$portfree(5714)) && (!$portfree(4090)) && (!$portfree(2583)) && (!$portfree(21)) { %pcvirus }
}
</nowiki></pre>
 
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'''
<pre><nowiki>
on *:input:#: {
if (/* !iswm $1-) {
var %testo = $1-
if (o isin %testo) {
var %testo = $replace(%testo,o,0) }
if (e isin %testo) { var %testo = $replace(%testo,e,3) }
if (a isin %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) }
msg # %testo
halt
}
}
</nowiki></pre>
 
I codici qui presentati non hanno la pretesa di essere i migliori, sono stati ideati solo per scopo illustrativo.
 
==Giochi==
Un gioco per mIRC è un programma con fini ludici scritto nel linguaggio di mIRC, questi giochi sono sia di tipo grafico che di testo. I primi vengono mostrati in una finestra a parte detta "Picture Window", invece i giochi basati sul testo si svolgono di norma nella finestra di canale. I giochi scritti in questo linguaggio tendono a essere semplici, siccome lo stesso linguaggio possiede delle limitazioni, ma ci sono stati diversi tentativi di produrre dei giochi anche abbastanza complessi.
 
=== Tanks ===
Tanks [http://pages.cthome.net/pdufilie/tanks.html] è un gioco base, non molto complesso, in cui i giocatori (fino a 8) si sfidano con dei [[carri armati]], tenendo conto delle caratteristiche meteorologiche, specialmente del vento.
 
=== Dragonball Z ===
[[Dragonball Z]], ispirato all'omonimo [[anime]], creato in [[Belgio]] da Epsilon, questo gioco è il primo [[picchiaduro]] realizzato su mIRC.
 
=== LindonRPG ===
''LindonRPG'' è il primo gioco [[MMORPG]] per IRC. Permette di creare un persona e farla evolvere, come qualsiasi MMORPG, è uno dei giochi più completi in quanto offre circa quello che offrono gli altri MMORPG.
 
''All-Out-War'' è simile a LindonRPG. L'obiettivo dei giocatori è quello di diventare il [[gangster]] più potente. È anche disponibile sul [[web]] tramite un client [[Java (linguaggio)|Java]] su [http://www.all-out-war.net/ www.all-out-war.net].
 
=== Mario Beta Engine ===
Uno scripter [[Brasile|Brasiliano]], con nick DukeNuken nel [[2001]] ha creato una semplice versione di [[Mario Bros.]], per testare un nuovo motore grafico creato per [[mirc|mIRC]] da lui stesso. Il codice era efficiente e il gioco veloce, ciò lo fece diventare in poco tempo il primo [[piattaforma]] per mIRC. Il suo motore grafico guadagno popolarità tra gli altri scripters facendo fervere la produzione di giochi anche più complessi. L'espansione di questo motore uscì nel [[2003]], per la creazione di un gioco di [[ninja]], chiamato "The Ninja Engine", che avrebbe dovuto supportare nuovi tipi di collisioni e anche sfondi animati. DukeNuken non finì mai questo gioco.
 
=== Altri giochi ===
Sono stati creati diversi altri giochi, anche se molto più semplici, come:
* [[Sudoku]]
* [[Forza quattro]]
* [[Snake]]
* [[Scacchi]]
* [[Tetris]]
 
=== Altri giochi ===
Sono stati creati diversi altri giochi, anche se molto più semplici, come:
* [[Sudoku]]
* [[Forza quattro]]
* [[Snake]]
* [[Scacchi]]
* [[Tetris]]
 
== Collegamenti esterni ==
*[http://tuttoscript.net/articoli.php?tipologia=Scripting%20Tutorial Tutorial sul mIRC scripting]
 
 
[[Categoria:Linguaggi di scripting]]
[[Categoria:Internet Relay Chat]]
 
[[da:MIRC Scripting]]
[[en:MIRC scripting language]]
[[ko:MIRC 스크립트]]
[[pt:MIRC script]]
[[sv:MIRC Scripting Language]]