MIRC scripting: differenze tra le versioni

Contenuto cancellato Contenuto aggiunto
m Annullate le modifiche di 151.77.154.74 (discussione), riportata alla versione precedente di Rei-bot
m + wikilink, + chiarire
 
(53 versioni intermedie di 40 utenti non mostrate)
Riga 1:
{{F|linguaggi di programmazione|gennaio 2012}}
Il [[linguaggio di scripting]] di 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|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]]
{{titolo minuscolo}}
Il '''mIRC scripting language''' è un linguaggio di scripting sviluppato per [[mIRC]]. Non è potente come il [[C]] o il [[C++]], ma si possono comunque sviluppare script abbastanza avanzati. Gli script hanno [[estensione (file)|estensione]] <code>.mrc</code> o .[[File INI|ini]]
 
== Usi principalidel linguaggio ==
Il mIRC scripting viene utilizzato principalmente per automatizzare compiti ripetitivi, bannare utenti che [[flood (informatica)|floddano]] sul canale{{Chiarire|2=Canale?! Al limite chat, visto che mIRC è un programma per char IRC}}, imporre policy di protezione (ad esempio determinati permessi a un gruppo di indirizzi IP), aggiungere comandi utili (come l'aiuto per il canale o un comando per cambiare nickname oppure il controllo dell'[[ortografia]]).
Si possono anche scriverecreare:
* Lettori di file multimediali [[MP3]], [[WAV]], [[Audio Video Interleave|AVI]], [[Shockwave Flash|SWF]]
* Giochi
* Clients basati su sockets, come clients [[File Transfer Protocol|FTP]], [[Hypertext Transfer Protocol|HTTP]] oppure clients per le [[Email]].
 
== Usi principali ==
Il mIRC scripting viene utilizzato per
* Fare in modo che i [[bot]] espellano automaticamente il nick che sta [[flood|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 per mIRC]]
== Caratteristiche del linguaggio ==
=== Principali "categorie" ===
* '''Aliases''' servono per abbreviare uncomandi comandolunghi lungoe ocomplessi complessoin unaaltri stringapiù semplice scelta dall'utentesemplici;
* '''Popup''' invece si utilizzano per definire i menu,. Tramite i popup si puòpossono sostituiremodificare qualsiasii comandocomandi presentepresenti nei menu stausstatus, comandi, lista dei nick, canale ed nel menu della finestra query;
* nei '''Remote''' sipossiamo scrivescrivere lo scriptun vero e proprio script, anche richiamando aliases.
 
=== 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 precendentementeprecedentemente specificata. Le variabili binarie sono precedute da & mentre le altre (sia locali che globali) da %.
 
== Limitazioni ==
Line 23 ⟶ 24:
 
== 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 {
Line 41 ⟶ 42:
</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
}
Line 51 ⟶ 52:
<pre><nowiki>
alias virus {
var if ($portfree(5742) != $true) {%pcvirus echo -a Il computer può essere infetto da WinCrash }
if (!$portfree(57415742)) !=&& (!$trueportfree(5741)) {&& echo(!$portfree(5714)) -a&& Il(!$portfree(4090)) computer&& può(!$portfree(2583)) essere&& infetto(!$portfree(21)) da{ WinCrash%pcvirus }
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 }
}
</nowiki></pre>
Line 62 ⟶ 59:
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 1*:INPUTinput:*#: {
if (/* !iswm $1-) {
var %testo = $1-
if (lo isin %testo) {
var %testo = $replace(%testo,lo,10) }
if (e testoisin %testo) { var %testo = $replace(%testo,e,3) }
if (a testoisin %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>
Riga 79:
I codici qui presentati non hanno la pretesa di essere i migliori, sono stati ideati solo per scopo illustrativo.
 
==Giochi==
[[Categoria:Linguaggi di scripting]]
Un gioco per mIRC è un programma con fini ludici scritto nel linguaggio di mIRC. Questi giochi possono essere sia di tipo grafico sia di testo. I primi vengono mostrati in una finestra a parte detta "Picture Window", mentre i giochi testuali 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 ===
[[da:MIRC Scripting]]
Tanks [https://web.archive.org/web/20080121064936/http://pages.cthome.net/pdufilie/tanks.html] è un gioco non molto complesso, in cui i giocatori (massimo 8) si sfidano con dei [[carri armati]], tenendo conto delle caratteristiche meteorologiche, specialmente del vento.
[[en:MIRC Scripting Language]]
 
[[ko:MIRC 스크립트]]
=== Dragon Ball Z ===
[[pt:MIRC script]]
[[Dragon Ball Z]], ispirato all'omonimo [[anime]] è stato creato in [[Belgio]] da Epsilon. È il primo [[picchiaduro]] realizzato su mIRC.
[[sv:MIRC Scripting Language]]
 
=== LindonRPG ===
''LindonRPG'' è il primo gioco [[MMORPG]] per IRC. Permette di creare un personaggio virtuale e farlo evolvere. Nonostante le limitazioni del linguaggio ha molte delle funzioni di un 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 di programmazione)|Java]] su [https://web.archive.org/web/20071224121137/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]] da lui stesso. Il codice era efficiente e il gioco aveva un buon framerate. Ciò lo fece diventare in poco tempo il miglior [[platform]] 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 usigiochi ===
Sono stati creati diversi altri giochi, anche se molto più semplici, come:
* [[Sudoku]]
* [[Forza quattro]]
* [[Snake]]
* [[Scacchi]]
* [[Tetris]]
 
== Collegamenti esterni ==
* {{Collegamenti esterni}}
 
[[Categoria:Linguaggi di scripting]]
[[Categoria:Internet Relay Chat]]