|
" Hay la misma diferencia entre un sabio y un ignorante que entre un hombre vivo y un cadáver " - Aristóteles - ![]() |
Computerfacil.com |
Chat
Fotos
Últimos Posts
Ayuda
Búsqueda
Miembros
Calendario
|
| Bienvenido, invitado ( Identificarse | Registrarse ) | Reenviar mensaje de validación |
|
|
Forista del Mes: amateos1404
|
![]() ![]() ![]() |
| TvK10 |
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
![]() **Ubuntero** Grupo: Moderadores Mensajes: 1.398 Miembro nº: 22.588 Registrado: 1-May 07 |
Introducción El mIRC es sin duda el programa cliente para IRC más extendido en la actualidad, y no solo por su distribución libre y gratuita, puesto que hay otros muchos que también cuentan con esta ventaja, ni por estar creado para Windows, el sistema operativo más extendido actualmente, puesto que no es ni el mejor sistema ni el más económico; los factores más decisivos son, bajo muestro punto de vista, la gran capacidad del programa para poderlo adaptar a los gustos y necesidades de cada usuario mediante rutinas de script, lo que hace de él una herramienta casi a la medida, así como la gran cantidad de estos scripts, para todos los gustos y necesidades, que se encuentran hoy a disposición de todos los usuarios. Derivado de los anteriores, otro factor fundamental para que mIRC sea el cliente de IRC más popular es la enorme cantidad de documentación sobre este programa que podemos encontrar en la red. En efecto, aunque mIRC cuenta con completo fichero de ayuda en formato .hlp este no es absolutamente completo ni agota todas sus posibilidades, además, tanto esta ayuda como la inmensa mayoría de la información disponible en Internet se encuentra en idioma inglés. La principal razón que podemos alegar para justificar la difusión del programa entre los usuarios de habla española no es otra más que la gran cantidad de scripts en esta lengua que han ido surgiendo en los últimos dos o tres años, gracias al trabajo meticuloso y desinteresado de docenas o centenares de creadores más o menos anónimos. El objetivo de este Tutorial es documenta las herramientas y técnicas necesarias para la creación de scripts para mIRC. De este modo, además de incrementar la escasa información de que se dispone en nuestro idioma, pretendemos poner estos conocimientos al alcance de los nuevos y viejos creadores, y de todos los usuarios que los necesiten, tanto para desarrollar y distribuir su propio script como para aplicarlos a la personalización de las propias sesiones en el IRC. En general podemos decir que un script es una secuencia de instrucciones que un programa es capaz de seguir, interpretar, y ejecutar. Un script puede estar formado por una o más rutinas o grupos independientes de instrucciones. El mIRC dispone de un amplio entorno en el que podemos llevar a cabo la programación de rutinas de script, logrando así que el programa realice las funciones más diversas, permitiéndonos avanzar mucho más allá de las capacidades que este cliente de IRC implementa ya de serie. Prácticamente la totalidad de la configuración básica, tanto la que el programa realiza por sí mismo como la que nosotros especificamos en las distintas ventanas de diálogo, es depositada en ficheros de texto con extensión .ini en el mismo directorio que el fichero ejecutable (mirc16.exe ó mirc32.exe). Es posible por tanto acceder a todos esos parámetros de configuración y editarlos según nuestros deseos. Así mismo, todos los scripts que creemos para el mIRC, con todas sus rutinas e instrucciones, se depositan también en ficheros. La creación, modificación, y carga de estos ficheros se puede hacer directamente desde el propio mIRC en las distintas opciones del menú TOOLS. La creación de scripts para mIRC potentes y útiles exige un buen conocimiento de los comandos generales de IRC, de los comandos propios del mIRC, y de las distintas áreas configurables de este programa. En este manual veremos el uso y utilidad de cada una de esas áreas configurables y como debe de trabajar con ellas; también tocaremos en capítulos aparte el uso de las herramientas imprescindibles para explotar todas las capacidades de este entorno. El siguiente paso lógico es comenzar a crear Alias y Popups, aquí ya descubrirás como, con unos pocos comandos, puedes lograr efectos espectaculares en tu programa. Tanto los alias como los popups se crearán en ficheros de texto independientes y cargados en el mIRC. La capacidad de estos ficheros es grande pero limitada, ahora bien, puedes crear una buena cantidad de ellos si lo necesitas. Popus El mIRC permite también la creación de popups o menús personalizados; cada opción que diseñamos para estos menús ejecutará las órdenes, alias, comandos,...etc. que les introduzcamos, y podrá así mismo hacer uso de identificadores, variables, etc. Disponemos inicialmente de 5 menús que podemos diseñar a muestro gusto con las opciones que deseemos: MenuBar -> Es el tercer menú de la barra principal de menús que se encuentraen la parte superior de la pantalla del mIRC. Channel -> Es el menú emergente que aparece al pulsar con el botón derecho del ratón sobre la pantalla del canal. NickName List -> Es el menú emergente de la lista de nicks del canal. Status -> Es el menú emergente de la ventana de Status del programa. Query -> Es el menú emergente de la ventana de querys y de DCC chat. Accederemos al código que genera los popups desde el menú TOOLS opción "popups". En la ventana que nos aparece tenemos a su vez una barra superior de opciones, si pulsamos "view" podremos elegir, de entre los 5 anteriores aquel popup del que queremos ver las "interioridades". Ahí podremos crearlos, modificarlos o eliminarlos. Terminado el trabajo pulsaremos OK, y desde ese momento ya podremos hacer uso de las modificaciones introducidas. La mejor forma de comprender lo popups es observando el código de los ya existentes, cada línea de este código suele corresponder con una opción del menú, veamos un ejemplo:
Como se puede observar cada línea describe en primer lugar el nombre de la opción de menú con la que aparecerá cuando se despliegue este. Como es sabido cada opción de menú puede tener a su vez otras subopciones, y estas a su vez otras tantas, y así sucesivamente; esto se especifica en el diseño del menú mediante los puntos que preceden a cada una de las líneas: las líneas sin puntos delante son opciones principales que aparecerán nada más desplegarse el menú. Si tienen un punto delante significará que son subopciones de las anteriores, y se desplegarán al pulsar sobre aquella inmediatamente anterior que no tenga punto; si tienen dos puntos serán una subopción de la inmediatamente anterior que solo tuviese uno... y así sucesivamente. En virtud de lo anterior una línea de opción de un popup deberá de tener su nombre (el que queramos) seguido del símbolo ":" y la acción o comando que se ejecutará al hacer click sobre esta opción. Si solo está el nombre, no hay dos pontos y luego un comando, es porque al seleccionarla se desplegará un submenú, así pues deberá de estar seguida de otras líneas de opciones de rango inferior , es decir, con más puntos que ella por delante, que serán las que se desplieguen al seleccionarla. Opcionalmente podemos poner tan solo un guión en lugar del nombre de una opción, esto lo único que hará será insertar una línea de separación en la lista de opciones del menú. Así pues, en el ejemplo anterior, al desplegar el popup observaremos tan solo dos opciones: Canales y Nicks. Si pulsamos la segunda podremos cambiar nuestro nick introduciendo uno nuevo en la ventana que se nos presentará; en cambio, al pulsar la primera se desplegarán a su vez otras cuatro opciones, separadas las dos primeras, por una línea horizontal, de las dos últimas. De estas cuatro las tres primeras ejecutarán ya una acción cada una, sin embargo la cuarta desplegará otras tres nuevas opciones. Este razonamiento quizás pueda parecer complejo en principio, pero con un mínimo de práctica y observación descubrirá que domina las sutilezas de los popups mucho antes que cualquiera de las otras áreas de creación de script para el mIRC. Todo lo dicho para la definición de alias es también válido para construir la definición de opciones de menús, incluido el uso de identificadores. Algunos identificadores (palabras especiales con el símbolo $ delante) cobran un valor especial cuando se usan en un determinado popup; por ejemplo, el identificador posicional $1, cuando se usa en una opción del popup de QUERY/CHAT, se cargará automáticamente con el nick del la persona con la que tenemos abierto el query o DCC Chat; y en el menú NICKNAME LIST con el primer nick que tengamos seleccionado en la lista. Recuerde, para dominar los popups lo mejor es un mínimo de práctica y observar otros que ya están hechos, el mIRC dispone de algunos, y además son muchos los scripts en circulación que nos proporcionarán excelentes ejemplos de la creación y ordenación de esta excelente herramienta. Aliases El mIRC te permite crear aliases y scripts para hacer más rápido tu sesión IRC o para hacer más fáciles y rapidas las funciones del script. Para crear los aliases debes conocer los comandos básicos del mIRC. Un aliases puede ser llamado desde una linia de comandos, desde otro alias, desde un popup y un remote script. Un alias no se puede llamar a si mismo principalmente porque esto parece causar más problemas para los usuarios de los que soluciona. No hay nada mejor para entenderlo que algunos ejemplos: /hola /msg $chan Hola gente, que tal os va? Si ahora tu escribes /hola en un canal, automaticamente es lo mismo que decir: Hola gente, que tal os va? NOTA: El simbolo de doble «$$» significa que el comando no se ejecuta si no se indican los parametros: /j /join $1 o /j /join $$1 Ahora si escribes /j #ayuda_para_novatos es lo mismo que escribir /join #ayuda_para_novatos. El simbolo «$1» se refiere al primer parámetro de la linia que tu escribes. Si el simbolo fuera «$3» se referiria al 3er parámetro que has escrito y asi con cada número. /canal /join $?="En que canal quieres entrar?" El parámetro «$?» sirve para que te pida información que tu debes escribir, para indicar que pregunta quieres hacer debes poner ="La pregunta a hacer". Y si quieres que vuelva a aparecer el texto que ha puesto en la ventana esa, debes poner «$!», mira este ejemplo, que asi te sera más fácil comprenderlo: /canal /join $?="En que canal quieres entrar?" | /echo Ahora entraras en $! NOTA: Este simbolo «|» sirve para separar diferentes comandos que esten en una linia. Goto El comando GOTO, te hace saltar de un punto del alias a otro punto.
Remote Script También puedes escribir los alias en un remote, lo has de hacer poniendo alias delante seguido de la palabra del alias y todos los comandos que ha de ejecutar. Mira este ejemplo:
Teclas de Función Tu puedes redefinir las teclas de funcion, F1, Shift+F2... Mira estos ejemplos de aqui:
El /SF10 es Shift+F10, el /CF1 es Control+F1, /F1, asi a secas es la tecla F1 y asi con las otras teclas. Esto a parte de lo que hemos visto, puedes meter comentarios en los aliases y remotes, ejemplos: ;Esto es un comentario que hago :Te puedes servir para recordar para que sirve cada alias o script en general! ;Para distingir entre protecciones, juegos... El simbolo ;, sirve para esto, para que el mIRC sepa que no son comandos sino comentarios. Variables El uso de variables es el recurso fundamental en programación. Podemos ver una variable informática como un recipiente en el que podemos depositar un valor cualquiera, para después hacer uso de él dentro de una instrucción, de esta forma no será necesario tocar la instrucción cada vez que queremos alterar el valor a manejar, sino tan solo asignar antes un nuevo valor a la variable. Técnicamente una variable no es más que un espacio de nuestra memoria RAM (una dirección de memoria) que queda reservado en el momento en que se crea la variable, e identificado temporalmente con el nombre de esta. Cada vez que asignamos un valor a la variable el programa lo único que hace es depositar ese valor en la dirección reservada. Más adelante, cuando ejecutemos una instrucción que contenga esa variable, el programa irá a ese espacio de memoria y extraerá el valor que contenga, poniéndolo en el lugar del nombre de la variable, dentro de la instrucción en cuestión. Por ejemplo, si en un script para mIRC hemos creado una variable llamada %num, a la que hemos asignado el número 3.14159 ,podemos tener una instrucción como la siguiente:
Esta orden presentará en la ventana activa un mensaje que diga:
Si queremos que el valor que nos presente el mensaje sea diferente, no tenemos más que asignar previamente un valor distinto a la variable. Como se ve el uso de las variables es muy sencillo. En mIRC lo único que hace falta es identificarlas con un nombre de nuestra elección y precederlo del símbolo: %. Pero, ¿Como creamos las variables y les asignamos valores?. El entorno del mIRC provee una manera muy simple de hacerlo mediante el uso de la orden /set, cuya sintaxis es la siguiente:
Por ejemplo:
Es decir, es posible crear la variable (reservar el área correspondiente de memoria) en el mismo momento que le asignamos un valor. Si no especificamos valor la variable se creará, pero no contendrá nada de momento; y si usamos esta orden sobre una variable que ya existe, esta recibirá el nuevo valor especificado. En el mIRC no es necesario preocuparse de qué tipo es la información que depositamos dentro de la variable, es decir, si se trata de una cadena de caracteres, un número entero, o un número con parte entera y parte decimal. Esta distinción la hace el programa en el momento que hagamos uso de ella; en principio todas las variables se consideran como una simple cadena de caracteres, pero si empleamos para manejarlas operadores aritméticos, el programa las transforma internamente en el valor numérico que corresponde; la única limitación en este caso es que solo se tendrán en cuenta los cinco primeros valores decimales, es decir, los cinco primeros dígitos tras la coma decimal. Recursos de asignación Asignar valores a una variable se puede hacer de forma directa, como hemos visto, o de forma indirecta a través de algún recurso del programa. Por ejemplo, si queremos que la variable %MiNick reciba el nick que estamos utilizando en ese momento, sin tener que especificárselo nosotros, podemos recurrir a la función $me, que nos devuelve precisamente nuestro nick actual. La asignación sería pues:
Otro ejemplo, queremos asignar a una variable el contenido de otra variable:
Eliminación de Variables Eventualmente es posible también eliminar la variable, es decir, hacer que desaparezca la reserva de memoria que la creación de esta supuso. La orden a este efecto es la siguiente:
Es posible también utilizar el carácter * para eliminar grupos de variables, por ejemplo:
Esta orden eliminará todas las variables cuyo nombre comience por "nom". Finalmente podemos, si lo deseamos, eliminar todas la variables instaladas son la orden:
Eventos Remotos Se conocen como EVENTOS, en informática, todos aquellos sucesos que se producen a lo largo de una sesión de trabajo de un programa, y que éste es capaz de detectar y controlar. La programación orientada a eventos es aquella en la que podemos definir previamente las acciones que el programa debe de emprender en el momento en que se produzca un evento concreto. Es decir, predisponemos al programa a que preste especial atención a algunos sucesos, y le obligamos a que analice dichos eventos a fin de determinar si se reúnen las circunstancias que hemos establecido, y de ser así, a ejecutar las acciones que para ese caso le hemos programado. El mIRC es un programa altamente configuráble y personalizáble a través de la definición de Alias, Popups, y Remotes. Dentro de este último grupo provee una de sus herramientas más potentes: la posibilidad de programar acciones orientadas a un grupo de eventos propios de una sesión de IRC; es decir, es posible programar de modo sencillo acciones de cierta complejidad como respuesta a algunas situaciones. Existen tres tipos de eventos en el mIRC, los que llamaremos estándar, que son los que se describen aquí, y los eventos CTCP que describiré en un capítulo aparte, y los eventos RAW que se explicarán en el apartado Números Raw. En este manual de referencia se incluyen los eventos descritos para la versión 5.31 del mIRC. Ejemplo: Es muy sencillo hacer que el programa detecte cada vez que, en cualquier canal en el que estemos, alguien escriba nuestro nick (supongamos que es TvK10), y en consecuencia, si lo deseamos, comunicar privadamente a esa persona que no estamos prestando atención en ese momento. No habría más que recurrir al evento "onTEXT", quizás el más importante de todos. Para esto debemos de ir al menú "TOOLS" que se encuentra en la barra de menús de la parte superior de la pantalla y pulsar la opción "REMOTE...". Nos aparece un cuadro con una gran ventana de texto y una nueva barra de menús en la parte superior. Vayamos al menú "VIEW" y seleccionemos la opción "events"; ya podemos escribir en el cuadro de texto nuestras órdenes para el control de eventos (hágalo a ser posible al principio de esta caja de texto). Escribiremos la siguiente línea:
Pulsamos el botón "OK" y trabajo concluido. Al margen de la sintaxis de la línea, que veremos más adelante, la objeción es evidente: ¿Y que pasa si SÍ estamos prestando atención? ¿tenemos que ir otra ver a la ventana de edición de eventos y borrar lo que pusimos?. Bueno, es una posibilidad, pero afortunadamente también tenemos la facilidad de hacer que la acción de los eventos que deseemos se active y desactive a nuestra voluntad. Vayamos de nuevo a la ventana de edición de eventos y escribamos lo siguiente en las líneas anterior y posterior a la que escribimos antes: #ausente off y #ausente end. El bloque total (grupo) quedará de la siguiente forma:
De esta forma podemos crear bloques o grupos de eventos con tantas líneas como deseemos en su interior. Para activar o desactivar su efecto debemos de incluir las instrucciones: .enable #ausente y .disable #ausente dentro de algún alias o de un menú (si esto le causa problemas ahora es el momento que estudiar a fondo las secciones de aliases y popups del mIRC ;)). (el punto delante de las cláusulas enable y disable tiene el único fin de inhibir el mensaje que el programa presenta en pantalla anunciando la activación o desactivación del grupo). Pruebe los efectos de la programación de eventos aplicando los distintos comandos del IRC y del mIRC en su interior (por motivos que desconozco algunos de ellos no funcionan en este contexto, como por ejemplo /me, /ame, /say, ... etc). También puede hacer uso de alias préviamenre definidos, o de la estructura IF-ELSE, pero, en cualquier caso, si desea incluir varias líneas de órdenes vinculadas a un mismo evento use siempre el separador de comandos (el carácter "|", que se obtiene pulsando las teclas ALTGR y 1). Relación de Eventos ON TEXT Este evento se produce al recibirse un mensaje especificado, bien en un privado, o bien en un canal en el que nos encontramos.
Ejemplo:
El texto del mensaje que deseamos que produzca el evento se puede especificar de varias maneras: ![]() Como en el foro no se pueden hacer tablas de esta forma, las hago en word y hago screen. Se puede especificar el lugar donde se controlará el evento de la siguiente forma: [IMG]Relación de Eventos ON TEXT Este evento se produce al recibirse un mensaje especificado, bien en un privado, o bien en un canal en el que nos encontramos.
Ejemplo:
El texto del mensaje que deseamos que produzca el evento se puede especificar de varias maneras: ![]() Como en el foro no se pueden hacer tablas de esta forma, las hago en word y hago screen. Se puede especificar el lugar donde se controlará el evento de la siguiente forma: ![]() El identificador $+ elimina los espacios en blanco que tiene a ambos lados, de ese modo podemos hacer que el nick de la persona que ha dicho "hola" aparezca en nuestra respuesta seguido del símbolo "!", si escribimos directamente este símbolo a continuación de $nick este no será reconocido como un identificador del nick del usuario, sino que aparecerá literalmente como está en la orden. ON ACTION y ON NOTICE Tienen el mismo formato que on TEXT, y se producen a partir de una acción o de una noticia respectivamente. Recordemos que una noticia se produce cuando alguien nos envía un mensaje con el comando /notice, y una acción cuando alguien efectúa una acción de control dentro del canal; por ejemplo:
Esta orden detectará cualquier acción que contenga la cadena "Set mode", y emitirá un mensaje al canal en que se produce.
Esta orden detecta cualquier /notice recibido estando en un privado, y responde con otro /notice al autor. ON BAN y ON UNBAN Estos eventos se producirán cuando un usuario sea baneado o desbaneado en el canal.
ON CHAT y ON SERV Los eventos on CHAT y on SERV se producen cada vez que es enviado un mensaje la una ventana de DCC chat, o a un Fserve respectivamente. Es similar al evento on TEXT, el cual no funciona en un chat ni en un servidor de ficheros.
ON CONNECT y ON DISCONNECT El evento on CONNECT se produce cuando mIRC conecta al server de IRC, después de visualizar el MOTD (mensaje del día del servidor).
ON "Comandos" Son cuando se producen los comandos "op", "deop", "voice"y "devoice".
Deop y Devoice es igual, pero en vez de "OP" es "DEOP" e igual con DEVOICE. ON ERROR Se produce cuando el server envía un mensaje de error, por ejemplo, en una desconexión.
ON JOIN y ON PART Se producen al entrar o salir un usuario de un canal en que nos encontramos.
ON KICK Se produce cuando un usuario es expulsado de un canal en el que nos encontramos.
ON MODE Se produce cuando un usuario cambia los modos del canal (pero no los de usuario).
ON NICK
Podeis imaginarlos la cantidad de cosas que podeis hacer con esto, solo hay que cambiar el nombre, sirve con TODOS.. hay muuuuuchos, pero pasemos a algo más complicado.. If - Else Los “If-Else” no son comandos que se puedan ejecutar automaticamente, como por ejemplo, el /mode #scripting +m. Los “If-Else” deben de ser ejecutados dentro de un alias, popup, o remote, osea, que hay que escribirlos en código. La sintaxis básica de los If-Else es la siguiente:
El comando IF, abre el comando. La comparación que queramos hacer debe de ir entre paréntesis. La comparación, consta de tres partes: El primer objeto a comparar, el comparador y el segundo objeto a comparar. Los objetos a comparar pueden ser cualquier tipo de texto, un número, un nick, el nombre de un archivo… El comparador, es lo que crea la condición. Pueden ser muchos los comparadores, igual que, menor que, esta dentro de… Bueno, no os habreis enterado demasiado y aquí os va un ejemplo sencillo;
Si os habéis fijado, ya hemos incluido un comando. El ELSE. Creo que, lo que he hecho no necesita más explicaciones. Pero bueno, aquí va:
El comando ELSE, no es necesario. Si no lo hubiéramos puesto, y si $$1 no fuera igual que $$2, no hubiera pasado nada. Pero que pasa, cuando queremos hacer que si los números no son iguales, mire si son mayores o menores. ¿Tenemos que poner ELSE y despues seguido IF? Pues no. Para eso esta el comando ELSEIF, que es el unido de los comandos ELSE y IF. Con esto, mejoramos nuestro ejemplo:
Este nuevo ejemplo, mira si el primer número es igual que el segundo, si no es así, mira si es mayor, si no es así, mira si es menor, y si tampoco es así (cosa difícil si son números), dice lo de PERO ¿QUÉ CLASE DE NUMEROS SON ESOS?. mIRC admite comparadores de muchos tipos. Para números, para letras.. Aquí teneis los comparadores que acepta el mIRC 5.41:
El primer grupo, son para los números principalmente, menos los tres primeros. Estos se pueden usar con números y texto. El tercero, es para decir que no es igual, o sea lo contrario del ==. Este es una excepción, puesto que con los demás, si quieres lo contrario del comparador en si, se consigue mediante un ¡ antes del comando, por ejemplo, ¡isop. El segundo grupo es para comparar distintos grupos de textos., menos el isnum. Este es para mirar si el número $$1 esta dentro del rango $$2. Este rango tiene que estar en este formato: N1-N2. Por ejemplo: 1-10. El comando isletter hace lo mismo, pero con letras, en este, el formato de $2 es el siguiente: L1L2L3L4. Por ejemplo: abdgklt. El isin y el isinc son para mirar si un texto esta dentro de otro, por ejemplo, si queremos hacer el juego de “la ruleta de la fortuna” y alguien, dice una palabra, por ejemplo, casa. La condición seria:
El isinc, seria lo mismo, pero si quisieras que también acertar con las mayúsculas. El ison, aunque se parezca mucho al isin, es para mirar si alguien esta dentro de un canal. El isop, y el isvo se usan de la misma forma, para mirar si alguien tiene op o si tiene voz o esta voice. VENTANAS PERSONALIZADAS El mIRC nos permite la creación de ventanas personalizadas que no son más que "ventanas" con diferentes atributos (que aprenderemos a asignar y modificar) y que pueden ser usadas para cualquier tipo de acción, generalmente para mostrar informacion al usuario, ya que se hace de una manera más limpia y ordenada que mostrando toda la información en la ventana de Status. Después veremos que tambien pueden ser usadas para la creación de GUI's (Interfaces Graficas de Usuario) mediante las picture Windows o ventanas de imagen. Para crear una ventana personalizada usaremos el comando window con la siguente sintaxis:
Por ejemplo:
Introduzca esta orden en mIRC y descubrirá que ha creado una nueva ventana de windows, verá que su nombre es "miventana" (el símbolo @ debe de especificarse siempre al principio del nombre, esto corresponde al argunento <@nombre> en la sintaxis general). Hemos utilizado dos parámetros en esta orden: -a y -d, esto ha supuesto que se ha mostrado como ventana activa de windows y su icono ha aparecido en la barra de tareas de la parte inferior de la pantalla. Observe que al utilizar dos parámetros segidos solo hemos necesitado un símbolo "-" delante de ellos. Los números 10 10 200 100 especifican la ubicación y dimensiones de la ventana (corresponden respectivamente a los parámetros x, y, w, h); los dos prineros deterninan la posición dentro de la pantalla, los dos últimos sus dimensiones (alto y ancho). La posición de la ventana se basa en un sistema de coordenadas que toma como origen la esquina superior izquierda de nuestra pantalla, y sitúa la esquina superior izquierda de la ventana en el punto indicado, en este caso coordenadas 10,10. Volvamos a la sintaxis general del comando window para analizarla más despacio, resulta un poco imponente pero veremos como examinando cada una de sus partes es bastante más asequible de lo que parece. Existen dos grupos de parámetros que podemos emplear, por un lado [-acdeEhkl[N]noprswx] y por otro [+bdelLmnstx]. De inmediato veremos la utilidad de cada elemento de estos grupos. Una vez escritos los parámetros deseados especificaremos el nombre que queremos dar la la ventana (siempre con @ delante). A continuación no queda sino concretar ubicación y tamaño de la ventana, no es necesario especificar ninguno de los dos, en ambos casos se asumen unos valores por defecto. También tenemos la posibilidad de incluir al final del comando el nombre de un fichero de popup's si deseamos que la ventana cuente con sus propios menús emergentes, es decir, aquellos que aparecen pulsando sobre ella con el botón derecho del ratón. A continuacion puede ver una descripcion de para que sirve la primera tanda de parametros del comando window que definiran el estado de la ventana: -a : Activa la ventana. -c : Cierra la ventana. -d: Abre la ventana como ventana de escritorio ( se puede acceder a ella desde la barra de ventanas de Windows). -e : Añade a la ventana un editbox o línea de escritura (como la que tienen en la parte inferior los canales). -E : Añade a la ventana un editbox de múltiples lineas líneas. -h : Esconde la ventana. -k : Esconde el prefijo '@' del nombre de la ventana. -w : Devuelve el prefijo '@' al nombre de la ventana. -l[N] : Añade una listbox (lista de elementos) a la ventana. Si se especifica N (opcional) se crea una listbox con N caracteres de largo. -n : Minimiza la ventana. -o : Si la ventana es una ventana de escritorio, este parametro la pone y mantiene siempre encima de todas las ventanas (on top). -u : Desactiva el poner la ventana encima de todas (on top). -p : Crea una ventana de imagen o "picture window" (esta opción será analizada en un capitulo aparte). -r : Restaura una ventana despues de minimizarla. -s : Organiza por orden alfabético la ventana. -S : Organiza por orden alfabético la listbox de una ventana. -x : Maximiza la ventana. Ahora vamos con la segunda tanda de argumentos del comando, estos definirán la apariencia de la ventana: +b : Dibuja un pequeño borde alrededor de la ventana. +d : Ventana sin borde. +e : Dibuja un borde un poco mas ancho y redondeado. +l : Ventana de utilidades. +n : Boton de minimizar. +s : Se puede cambiar de tamaño. +t : Con barra de titulo. +x : Con boton de maximizar. Después tenemos que indicar el nombre de la ventana a crear/modificar: <@nombre> : Por ejemplo, @mi_ventana Por último indicamos (opcionalmente) las coordinadas de la posición inicial de la ventana ( x y ) así como su longiud y altura (en pixels). w (longitud) h (altura) [ x y [ w h ] ] : por ejemplo, 100 100 300 100 Por ultimo el parámetro [popup] sirve para especificar un archivo que contenga el menú popup de la ventana (que aparecera al hacer click con boton derecho sobre la misma). Se puede especificar un archivo (cuya extension NO sea .ini) o bien el mismo nombre de la ventana (Ej: @mi_ventana) si se quiere implementar el popup dentro de los remotes del script. Ahora que el lector ya sabe las posibilidades del comando window, veremos, ya creada la ventana, que comandos podemos usar para modificar la informacion que se muestre en ella. El parámetro [c] esta presente en todos estos comandos, e indica el color principal de la linea que añadirá, borrará, o modificará . En cualquier caso también se pueden especificar controles de color (ctrl + k + color), negrita (ctrl + Estos comandos se refieren siempre a actuar sobre la ventana principal, en caso de que queramos actuar sobre una listbox a un lado de la ventana, incluiremos el parametro -l entre el nombre del comando y el parametro [c], por ejemplo /aline -l @mi_ventana lo que sea.
Añade la línea <texto> a la ventana <@nombre> Ejemplo: /aline 4 @mi_ventana Hola mundo!!
Cambia el color de la línea número <N> al color número [c] Ejemplo: /cline 4 #ayuda_irc 3
Borra la línea (o el rango de lineas) numero <N> Ejemplo: /dline @nombre 1-10
Inserta una línea (<texto>) en la posicion <N> Ejemplo: /iline @mi_ventana 2 Insertando una linea...
Sustituye la línea <N> por <texto> Ejemplo: /rline @mi_ventana 1 Hasta luegoorr!!
Selecciona la línea numero <N> Ejemplo: /sline @mi_ventana 3
Cambia de nombre la ventana <@nombre> y (opcionalmente) cambia su topic o descripción Ejemplo: /renwin @mi_ventana @tu_ventana Nuevo_topic Ahora que el lector ya conoce todos los comandos que se usan para la creacion/modificacion de ventanas, y antes de entrar en los eventos remotos asociados a las mismas, vamos a hacer un par de ejemplos de crear ventanas, para que se vaya familiarizando con estos comandos y compruebes tú mismo que no es tan complicado como quizás parece en un principio: Ejemplo 1: Crear una ventana para dialogar con el usuario Vamos a crear una ventana que mostrará una informacion al usuario y esperara que éste le responda escribiendo en la editbox de la ventana: Para ello escribimos en la sección "Aliases" del Editor del mIRC:
Si prueba ese ejemplo (escribiendo el alias "/vent" ), verá que se crea una ventana de nombre @dialogo con un editbox abajo y nos aparece en ella el texto "Hola, ¿Cómo te llamas?". En este momento nos tendremos que detener aqui, más adelante veremos como puede hacer que al teclear algo en la editbox y pulsar 'Enter' , el script le responda adecuadamente. Bueno, ya he terminado, espero que os haya sido fácil, queda mucho por ver, pero... TvK10 -------------------- |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
![]() |
![]() ![]() ![]() |
|
|
|