MIRC Scripting - Arrays y Técnicas con Variables Dinamicas Por Ntd

8 - Arrays y Técnicas con Variables Dinamicas Por Ntd

[editar]
Tutorial creado por t0m|ta. Extraido de: http://www.tomatoma.ws/subsecciones.php?forum_id=18&catid=20&todos=1
08 de Marzo de 2006
Las respuestas a lgunos problemas muy comunes cómo ¿Cómo hacer un array de variables? o ¿cómo configuro y establezco una variable para un nick? están en la ayuda del mIRC, pero muy bien escondidas!

|| Código: ||
|| /say % [ $+ [ $1 ] ] ||


Ahí está, no parece mucho, pero de hecho es la base de los arrays (y del tema relacionado de guargar información sobre cada nick). Desgraciadamente, Khaled no se paró a explicar la utilidad de este código así que aquí está. Lo que se consigue con este código es añadir el símbolo % delante de lo que sea $1 para conseguir una variable, evaluarlo y "decirlo". Así que si $1 hubiera sido "test", mIRC "diría" lo que estuviera en %test. No diría "%test" (esta distinción es importante). Prueba este código, tecleándolo en cualquier ventana:

|| Código: ||
|| /set %message hello
/set %test message
echo -a % [ $+ [ %test ] ] ||


La doble barra inclinada es importante. Porque hemos escrito el código en una "editbox", si hubiéramos utilizado una sola barra, mIRC nos hubiera mandando el echo: "% [ $+ [ %test ] ". La doble barra le obliga a evaluar la expresión con lo que nos manda el echo "hello". La doble barra es necesaria cuando damos órdenes con identificadores, desde un editbox (dónde escribimos en las ventanas), pero no cuando escribimos el script en la sección de alias o remotes (que es en realidad dónde deben estar). El fichero de ayuda del mIRC dice:
"En los scripts, se asume que todas las líneas comienzan con una orden, por lo que no es necesario utilizar el prefijo / que indica una orden"
De hecho en estas secciones, todo se trata cómo si comenzase con una doble barra
. Las variables y los identificadores se evaluan (casi)siempre cuando están en un script. Ocasionalmente, tendrás que forzar al mIRC a evaluarlos "más" u "otra vez" y para eso es para lo que están los [ ] en el ejemplo que hemos visto. [ ] son paréntesis de evaluación.
Es un concepto extraño, este de las variables de variables, dónde la variable que se utilice depende del contenido de otra variable. Pienso en ello cómo una característica muy avanzada, algo similiar a los punteros, pero asumiendo que lo has comprendido, debería ser obvio cómo utilizar esta técnica para crear simulacros de arrays. Este alias nos hace una demostración:

|| Código: ||
|| /testarray {
set %array-1 first
set %array-3 second
%choice
$$?="Enter 1 or 2:"
echo -s You chose the array- [ $+ [ %choice ] ] element of the array.
} ||

Esta técnica se puede utilizar para muhas cosas útiles, por ejemplo, para guardar información sobre diferentes nicks en un canal:

|| Código: ||
|| set %swear [ $+ [ $nick ] ] $1 ||


Este código, básicamente establece una variable que está basada en el nick name. Aquí un ejemplo que guarda el mensaje del quit de un usuario que se va, y luego lo expone cuando vuelve al canal.

|| Código: ||
|| ON *:QUIT:{---set %quitmsg. [ $+ [ $nick ] ] $1
}
ON *:JOIN:{---echo 6 $chan * $nick las quit- %quitmsg. [ s+ [ $nick ] ]
} ||

Este ejemplo debería ayudarte a crear tus propias informaciones basadas en nicks (y todo tipo de construcciones similares.
Artículo Original: http://www.pairc.com/cgi-bin/a-view.cgi?user=0&code=24
[editar]

4 opiniones

busco un remote

hola .. estoy buscando un remote o un alias que sea capaz de grabar en un determinado lugar, por ejemplo un .txt , lo que se le diga que guarde, por ejemplo.... si alguien dice algo en determinado canal .. ke lo guarde en un .txt ke .. gracias...
Alguien que me ayude es urgente.

Tengo un gran problema y quisiera que alguien me ayudara esque me dejaran hacer un programa con la estructura if then else y este programa tiene que realizar busqueda de unos votantes espero que me puedan ayudar por que lo tengo que entregar mañana.
El mejor y mas directo manual de scripting.

Me ha costado encontrarlo pues esta un poco escondido pero me ha sorprendido por su sencillez. Mu bueno. Gracias, lo recomendare siempre que tenga ocasion. Gracias de nuevo.
Siguen siendo.

Lo mejor... Regards.

Tutoriales relacionados con 'MIRC Scripting'

MIRC dispone de un lenguaje de programación propio, que permite convertirlo en una de las... Más »
Este artículo está basado en "A Scripting Guide to mIRC 6. 0" de blue-elf belf@mircscripter.... Más »
Estudiamos una por una las posibilidades de personalización del mIRC, los sonidos, las grabaciones, las... Más »
Estudiamos los diferentes menús del mIRC, y vemos algunas opciones de configuración sencillas que nos... Más »

Autor y licencia de 'MIRC Scripting'

Este contenido ha sido recopilado por el equipo de Wikilearning. Todo el contenido recopilado se ha obtenido respetando y comunicando en nuestro site la licencia de cada fuente.
Wikilearning tiene permiso expreso por escrito de los autores para publicar los contenidos que ha extraído de otras webs, incluyendo su uso comercial.