Aula Macedonia


Curso de Programación de Scripts para mIRC


Artículo realizado por
David García "Gato".





Identificadores del mIRC 5.02

Los identificadores son una serie de comandos que devuelven un valor específico, y ya definido, al mIRC. Por ejemplo, $time debería devolver la hora actual. Cuando el mIRC encuentra un identificador en su comando lo sustituye por su valor actual deforma automática. Muchos identificadores también pueden desempeñar funciones sobre los datos que usted proporcione y devolver un resultado. También hay identificadores remote para usuarios con script remote (como son los clones/bots).

Los identificadores no pueden ser evaluados o evaluar a ningún valor devuelto por el valor $null. Éste valor puede ser usado en comparaciones con declaraciones if-then-else para controlar las bifurcaciones.

Todos los identificadores siguientes pueden ser sustituidos por identificadores o variables dentro del paréntesis.

Identificadores de Tiempo y Fecha

$ctime.
Devuelve el número total de segundos transcurridos desde las 00:00:00 GMT del 1 de enero de 1970 (Ni idea de para qué demonios vale esto).

$asctime(N).
Convierte los valores de tiempo devueltos por $ctime en una fecha completa en formato texto.

$date.
Devuelve la fecha actual según el formato día/mes/año.

$adate.
Los mismo que $date pero en formato americano (US).

$day.
Devuelve el nombre del día actual (en ingles).

$duration(N). Devuelve el número especificado de segundos en el formato semana/día/hora/minuto/segundo.

$fulldate. Devuelve la fecha actual en el formato: Día de semana Mes Día Hora Año. Ejemplo: Wed Jun 26 19:34:03 1997

$idle. Devuelve su tiempo actual de idle (idle = tiempo de inactividad).

$online. Devuelve el número de segundos transcurridos en el apartado del cronómetro del mIRC. (el cronómetro está en la barra de herramientas del mIRC)

$ticks. Devuelve el número de tic/tas que se han producido desde que su sistema operativo fue iniciado por primera vez.

$time. Devuelve la hora actual en el formato hora:minutos:segundos.

$timer(N).
Devuelve la ID (identificación) del cronómetro número N de la lista de cronómetros activa.
Propiedades del $timer (N): com, time, reps, delay, tipe
$timer(0). Devuelve el número de cronómetros activos.
$timer(1). Devuelve la ID del primer cronómetro.
$timer(1) .com . Devuelve el comando para el primer cronómetro de la lista.
$timer(3) .type. Devuelve el estado del tercer cronómetro de la lista.

Un ejemplo de cronómetro activo es:

/timer1 120 /say Estoy navegando ahora.
Su ID es 1
Su comando es /say Estoy navegando
Se activa su comando cada 120 segundos

$timestamp. Devuelve la hora actual en el formato [xx:xx]

Identificadores de Texto y Números

$abs(N).
Devuelve el valor absoluto del número N.
Por ejemplo:
$abs(5).
Devuelve 5 $abs(-1) devuelve 1
$asc(C).
Devuelve el número ASCII del carácter C
$asc(A).
Devuelve 65 $asc(*) devuelve 42


$chr(N).
Devuelve el carácter con el número ASCII N.
Por ejemplo:
$chr(65).
Devuelve A $chr(42) devuelve *


$count(ristra, subristra).
Devuelve el número de veces que la subristra está incluida en la ristra.
Por ejemplo:
$count(hola, ol).
Devuelve 2 ya que tanto la O como la L están incluidas.


$left(texto, N).
Devuelve los N caracteres a la izquierda del texto.
Por ejemplo:
$left(adivinanza, 4).
Devuelve adiv


$len(texto).
Devuelve la longitud del texto.
Por ejemplo:
$len(hola).
Devuelve 4 $len(mi casa) devuelve 7


$lower(texto).
Devuelve el texto en minúsculas.
Por ejemplo:
$lower(HOLA)
. Devuelve hola


$mid(texto, S, N).
Devuelve los N caracteres que empiezan en la posición S del texto.
Por ejemplo:
$mid(otholapf, 3, 4)
. Devuelve hola


$pos(ristra, subristra).
Devuelve un número que indica la posición de la subristra en la ristra.
Por ejemplo:
$pos(hola, la).
Devuelve 3 $pos(hola, le) devuelve $null


$longip(IP).
Convierte una dirección IP en un valor grande y viceversa.
Por ejemplo:
$longip(158.152.50.239) devuelve 2660774639
$longip(2660774639) devuelve 158.152.50.239


$rand(v1, v2).
Esto funciona de dos formas:
A.- Si usted proporciona dos números a v1 y v2, le devolverá un número aleatorio situado entre v1 y v2.
B.- Si le proporciona una letra a v1 y v2, devolverá una letra aleatoria entre v1 y v2.
Por ejemplo:
$rand(a, z).
Devuelve una letra cualquiera entre la a y la z
$rand(A, Z).
Devuelve una letra cualquiera entre la A y la Z
$rand(0, N).
Devuelve un número situado entre 0 y N


$remove(ristra, subristra).
Quita la subristra de la ristra.
Por ejemplo:
$remove(abcdefg, cd) devuelve abefg


$replace(ristra, subristra, xxx).
Sustituye cualquier subristra en la ristra por el valor de xxx
Por ejemplo:
$replace(123456, 34, AB).
Devuelve 12AB56


$right(texto, N).
Devuelve los N caracteres derechos del texto.
Por ejemplo:
$right(othola, 4).
Devuelve hola


$str(texto, N).
Devuelve el texto repetido N veces.
Por ejemplo:
$str(ja, 3).
Devuelve jajaja


$strip(texto).
Devuelve el texto sin negrita, subrayado, invertido o códigos de control.
Por ejemplo:
$strip( 12 ]GaTo[ Script 4v1.4)
Devuelve ]GaTo[ Script v1.4


$upper(texto).
Devuelve el texto en mayúsculas.
Por ejemplo:
$upper(hola)
Devuelve HOLA

Identificadores de Archivos y Directorios

$dir, $file, $hfile.
Le permite seleccionar un nombre de archivo que será insertado dentro de un alias. El identificador $dir hace aparecer un completo menú con archivos y directorios. $file hace aparecer un menú igual que el anterior pero más pequeño. $hfile es igual que $file con la única diferencia que el menú aparece horizontal.
De esta forma tendríamos lo siguiente:

$dir="Mensaje" <ubicación y tipo de archivo>
$dir="Selecciona un dibujo" c:/mirc/ascii/*.txt
$dir="Selecciona un archivo" $mircdirdocumentos/*.*


$file="Mensaje" <ubicación y tipo de archivo>
$file="Seleccona una canción" c:/sonidos/*.mid
$file="Seleccona un sonido" $mircdirsonido/*.wav


$hfile="Mensaje" <ubicación y tipo de archivo>
$hfile="Seleccona un archivo" c:/fotos/*.*
$hfile="Escoge un archivo" $mircdirrecog/*.*

NOTA: no se debe utilizar $file o $dir con el comando /dcc send ya que ya está incluidos en un DCC SEND $exists(nombre_archivo).
Devuelve $true si el archivo exixte y $false si no existe.
Por ejemplo:
$exists(c:/mirc/mirc32.exe)
Devuelve $true si existe y $false si no existe.


$findfile(dir, extensión, N).
Busca en el directorio especificado (dir) y en todos sus subdirectorios el N archivo deacuerdo con el tipo de archivo especificado y devuelve su ubicación completa si lo encuentra.
Por ejemplo:
$findfile(c:/mirc, *.exe, 1)
Devuelve c:/mirc/mirc32.exe


$getdir.
Devuelve el directorio DCC GET especificado en las opciones DCC.

$lines(nombre_archivo).
Devuelve el número total de lineas que hay en el archivo de texto especificado. $lof(nombre_archivo).
Devuelve la longitud del archivo especificado en bytes.
Por ejemplo:
$lof(c:/mirc/mirc32.exe) devuelve 757000


$logdir. Devuelve el directorio de almacenamiento de las conversaciones indicado en el apartado "logging" del apartado opciones del mIRC.

$mididir.
Devuelve el directorio MIDI especificado en la sección "sound" del apartado opciones del mIRC.

$nofile(nombre_archivo).
Devuelve la ubicación del archivo sin decir al final el nombre del archivo.
Por ejemplo:
$nofile(c:/mirc/mirc32.exe)
Devuelve c:/mirc


$nopath(nombre_archivo).
Devuelve el nombre del archivo sin la ubicación.
Por ejemplo:
$nopath(c:/mirc/mirc32.exe)
Devuelve mirc32.exe


$mircdir. Devuelve el directorio actual del programa mIRC.

$mircini. Devuelve el archivo INI principal del mIRC. Normalmente es mirc.ini

$read. Lee una línea al azar de un archivo y la inserta en la posición actual en un comando alias. El formato es $read[-nl# -stexto] <nombre_archivo>
$read insertará cualquier texto, incluso comandos e identificadores, y ellos funcionarán como un comando normal.

Ejemplos:

/say $read c:/chistes.txt
Lee una línea aleatoria del archivo "chistes.txt"
/say $read -l24 c:/chistes.txt
Lee la línea 24 del archivo "chistes.txt"
/kick # $1 $read kick.txt
Expulsa a un nick del canal actual y le manda una línea al azar del archivo "kick.txt" como motivo de la expulsión.
/say $read -smirc info.txt
Examina el archivo info.txt en busca de alguna línea que empiece por "mirc" y usa el resto de la línea en el alias.
Si se especifica la opción -n entonces la linea será leida pero no será evaluada y será tratada como si fuese texto normal.


NOTA: Si la primera línea del archivo es un número, este debe representar el número total de líneas que hay en el archivo. Esto acelerará la búsqueda considerablemente. Si no se especifica el número de líneas que hay en el archivo, entonces el mIRC necesitará contar todas las líneas lo cual podría ralentizar el proceso. En los archivos pequeños, no habrá mucha diferencia.

$readini.
Lee información de un archivo INI y la inserta entro de la posición actual en el comando alias. Esto funciona junto con el comando /writeini para leer información de archivos INI. El formato es $readini <-n> <nombre_archivo> <sección> <artículo>

/echo $readini mirc.ini mIRC nick.
Lee su nick del archivo mirc.ini Con la opción -n la línea será leída pero no será evaluada y será tratada como si fuese texto normal.

$wavedir.
Devuelve el directorio WAV especificado en la sección "opciones" en el apartado "sound"

Hasta aquí todos los identificadores que tiene el mIRC 5.02 para tiempo, fechas, archivos, directorios, texto y números. Espero que te sean útiles ;).



Nota del autor
Todos los comandos han sidos sacados del manual de Ramírez sobre el mIRC.




AULA MACEDONIA
a
MACEDONIA Magazine