Aula Macedonia


Curso de Programación de Scripts para mIRC


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





Variables del mIRC 5.02

Las variables son areas de almacenamiento temporal a las cuales se les puede asignar un valor, el cual puede ser usado más tarde en los scripts. Por ejemplo, puede que el nombre de un Bot (como Scytale) varíe cada semana. Para no tener que variar todo un script, podemos asignarle una variable tal y como se enseña más adelante, y el script se configurará solo.

Si usted hace uso de una variable que no existe, esta devuelve el valor $null. El valor $null ser puede ser usado en comparaciones del tipo if-then-else para controlar las bifurcaciones, etc.

Para entender bien este documento hay que saber antes qué es un alias, los comandos de los alias, y todo lo relacionado en general con los alias

Definición de Variables.

Los siguientes comandos le permiten crear y situar los valores de las variables.

  1. Definir una variable: /set <%var> [valor]

    Ejemplo:
    /set %nombrebot Scytale ó /set %nombrebot $$?="¿Nombre del bot?"


    En el primer ejemplo de definición de variables el nombre del bot es fijo, y solo hay que modificarlo en las variables del mIRC para que todo el script sepa que el bot se llama Scytale.
    En el segundo ejemplo solo hay que ejecutar la orden para variar el nombre del bot automáticamente.


  2. Quitar o eliminar una variable: /unset <%var>

    Ejemplo:
    /unset %nombrebot

    Si usted especifica una variable con caracteres comodines (*) entonces todas las variables que coincidan serán eliminadas.


  3. Otras operaciones:

    /unset %test*. Esto quita todas las variables que comiencen con la palabra %test.
    /unsetall. Esto es igual que el /unset pero éste elimina TODAS las variables definidas.
    /inc <%var>[valor]. Esto aumenta el valor de %var por el "valor".
    /dec <%var> [valor]. Esto disminuye el valor de %var por el "valor"


También se puede usar el signo igual (=) para asignar valores a una variable.
%nombrebot = Scytale %i = 5 %count = $1

Y usted puede ejecutar las siguientes operaciones en las variables usando el signo igual (=):

%x=5+1.
Valor de x igual a 5 más 1

%x=5-%y.
Valor de x es igual a 5 menos valor de y.

%x=%x*2.
Valor de x igual a valor de x por 2.

%x=%z/$2.
Valor de x igual a valor de z entre la definición 2 (ver popups del mIRC).

%x=$1%3.
%x=2^%w.
etc.

Por ahora, usted solo puede ejecutar operaciones simples en cada cometido. Ahora entramos en operaciones complejas.

If-then-else Statements (Declaraciones if-then-else)

Las declaraciones if-then-else le permiten comparar valores y ejecutar diferentes partes de un script basándose en la comparación. Ahora explicamos esto un poco mejor.

El formato básico con que nos podemos encontrar es el siguiente:

If (v1 operador v2) { comandos }
Elseif (v1 operador v2) { comandos}
Else (v1 operador v2) {comandos }

El paréntesis () encierra las comparaciones, y las llaves {} encierran los comandos que usted desea que se ejecuten en el caso de que la comparación sea cierta. Debe tener mucho cuidado con el número de paréntesis y llaves que pone para, de este modo, asegurarse de que las comparaciones sean hechas correctamente y que los comandos ejecutados son los correctos.

Usando llaves {} aumentará la velocidad de proceso. Si un alias usa unas pocas llaves {} la declaración podria ser ambigua y el alias podr¡a tardar mucho en realizar la comparación, hacerla mal o incluso no hacerla completa.

Se pueden realizar tantas declaraciones if-then-else como se quiera.

Los operadores que podemos utilizar.

  1. ==.Igual a
  2. !=. No igual a
  3. <. Menor que
  4. >. Mayor que
  5. >=. Mayor o igual que
  6. <=. Menor o igual que
  7. //. Es un múltiplo de
  8. //. No es un múltiplo de
  9. isin. El valor v1 está incluido en el valor v2
  10. iswm. Los comodines del valor v1 coinciden con los de v2
  11. isnum. El número v1 es un número situado en el rango v2 que está el la forma n1-n2 (v2 optativo)
  12. ison. El nick v1 está en el canal v2
  13. isop. El nick v1 es un op del canal v2
  14. isvo. El nick v1 tiene voz en el canal v2
  15. ischan. Si v1 es un canal en el que está usted
  16. isauto. Si v1 es un usuario que está en su lista de auto-op del canal v2 (v2 optativo)
  17. isignore. Si v1 es un usuario que está en su lista de ignorados con la opción de
  18. ignorar. v2 (v2 optativo)
  19. isprotect. Si v1 es un usuario que está en su lista de protección del canal v2 (v2 optativo)
  20. isnotify. Si v1 es un usuario que está en su lista de notificación.
Para negar un operador usted puede anteponerle un signo de exclamación (!).

Combinar comparaciones.

Usted puede combinar comparaciones usando los caracteres && para AND y | | para OR.

Ejemplos de comparaciones:

number {
 if (($1 > 0) && ($1< 10)) {
   if ($1 < 5) echo El número es menor de cinco
   else echo El número es más grande que cinco
 }
 else echo El número está fuera de los l¡mites
}

Este alias comprueba si un número especificado ($1), cuando se escribe " /number <$1> ", se encuentra entre 0 y 10. Este alias se leería así línea a línea:

Si el número que yo digo ($1) está entre 0 y 10 entonces
Si es menor de 5 escribe en la pantalla " El número es menor de cinco "
Para el resto de valores, que entran en el rango 0-10,
escribe " El número es más grande de cinco "
Para todos los valores que no estén entre 0-10
escribe " El número está fuera de los límites "


Otros ejemplos:

Otro ejemplo en los alias de la utilización de las variables es:

/ascii {
  set %i 1
  :otro
  if (%i == 260) goto hecho
  echo 3 El carácter número %i del mIRC es $chr(%i)
  inc %i
  goto otro
  :hecho
  echo Fin del código ASCII del mIRC
}

Aquí definimos la variable %i como 1. Creamos un apartado llamado "otro". La primera línea del apartado "otro" nos dice que si %i es igual a 260, entonces debe ir al apartado "hecho". Esta orden hace que el alias que hemos definido tenga un fin. Se debe tener siempre mucho cuidado de no hacer ordenes "sin fin". En la siguiente línea decimos que nos escriba en la pantalla este mensaje "El carácter número (lo que sea %i) del mIRC es (mostrar el carácter que coincide con el valor de %i). Después sumamos 1 a %i. Seguido a esto le ordenamos que vuelva al principio del apartado "otro". Se repite entonces todas las ordenes. Cuando %i sea igual a 260 se inicia el apartado "hecho" y se muestra el mensaje "Fin del código ASCII del mIRC". Aquí termina el alias.

Eso es todo lo que hay sobre variables en el mIRC 5.02, ahora todo depende de la imaginación de cada uno para usarlos. Espero haberle ayudado a entender un poco mejor el mIRC.

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




AULA MACEDONIA
a
MACEDONIA Magazine