Los pop ups son los menús que salen al clikear con el botón derecho del ratón al clikear en las ventanas de mIRC. Para ver cómo funcionan clikea con el botón derecho en la ventana del estatus, y te encontrarás con un menú parecido al de la imagen.
Bien tenemos varios popups de este tipo, y les hemos dedicado todo un capítulo en la sección anterior.
Cómo habrás visto todos ellos tienen distintas opciones que te permiten dar órdenes al programa con un simple click del ratón. Además cuando sale el Triangulito negro al quiere decir que si clickeas en esa opción tendrás un submenú con más opciones aún.
Pues bien, estos menús se pueden configurar, puedes añadirles tus propias opciones que te hagan la vida más fácil. Lo primero que vamos a ver es cómo funcionan los ya existentes, y después añadiremos unos cuantos propios.
Para cambiar estos menús hay que hacerlo desde el menú Tools, elegir PopUps y en el menú View Elegir la ventana cuyos menús emergentes queramos cambiar.
Hay otro menú configurable, aunque no es un PopUp,sino que es el menú commands de la barra de herramientas. Es un menú que trae las funciones más generales del mIRC y no se suele utilizar mucho; por eso la mayoría de la gente lo utiliza para hacerse sus propios menús específicos. Todos los scripts utilizan este menú para sus menús y le suelen cambiar el nombre, en vez de llamarse commands, en los scripts (que son mIRCS "Mejorados") este menú suele llevar el nombre del script.
Abrid el Menú tools, seleccionar la pestaña popups, y en el menú View, seleccionad Status, os encontraréis con el siguiente Código:
|| Código: ||
|| Server
.Lusers:/lusers .Motd:/motd---.Time:/time---Names---.#mIRC:/names #mirc
.#irchelp: /names #irchelp
.names ?:/names #$$?="Enter a channel name:"
Join
.#mIRC:/join #mirc
.#irchelp:/join #irchelp
.join ?:/join #$$?="Enter a channel to join:"
Channel
.Try double-clicking in a channel window!:
Other
.Whois ?:/whois $$?="Enter a nickname:"
.Query:/query $$?="Enter a nickname:"
.Nickname:/nick $$?="Enter your new nickname:"
.Away
..Set Away...:/orden $$?="Enter your away message:" ..Set Back:/orden---.List Channels:/list---Finger---.Address?:/finger $$?="Enter an address to finger:"
Edit Notes:/run notepad.exe notes.txt
Quit IRC:/quit Leaving! ||
Bien ahora fijaos bien en la imagen y en el texto, podemos ver varias cosas:
El primer elemento del texto es "server" y el primer elemento del menú, también es "Server".
Si clikeas en el elemento Server del menú verás que te sale un submenú con los elementos: Lusers,Motd y Time. Si te fijas en el texto los tres elementos debajo de server (precedidos por un . son precisamente: Lusers,Motd y Time.
Viendo esto ya podemos deducir la estructura de los popups es la siguiente:
|| Código: ||
||
Menú1
.Submenu1:
..Sub Sub menú1:/orden
..Sub Sub menú2:/orden
..Sub Sub menú3
... Sub Sub Submenú1:/orden
... Sub Sub Submenú1:/orden
Menú 2
.Submenu2.1:/orden
.Submenu2.2:/orden
.Submenu2.3:/orden ||
Asi las Opciones principales del menú no llevan punto, los submenús llevan un punto, el sub menú que cuelga del submenú lleva dos puntos, y así sucesivamente. Es decir los puntos le dicen al mIRC de dónde "pende" ese Popup.
NOTA: A un menú del que vayan a colgar submenús, no le pongas ninguna orden. Si lo haces el resultado será: y por supuesto la orden en cuestión no funcionará en absoluto.
Así la estructura de los popups es:
.Nombre:/orden------¿más claro agua no?
Por otro lado, las órdenes que ejecutes desde los popups son iguales a las de los alias que explicamos en la sección anterior. Y por supuesto tendrás que aprenderte las órdenes del mirc. Todo lo que hemos dicho para los alias, es válido para los popups. Aquí también puedes utilizar variables y demás historias que yo no explico porque de momento no me llega la capacidad (cuando lo entienda yo, no dudéis de que lo haré).
Combinando alias y popups Desde un popup puedes ejecutar un alias. Porque en realidad un alias no es más que una orden más del programa sólo que hecha por ti. Veamos un ejemplo:
Abre Tool/Alias y añade esto:
|| Código: ||
|| /canales {
join #$?="A qué canal quieres entrar?"
join #$?="otro canal?"
join #$?="Un ultimo canal?"
} ||
Ahora abre Tools/popups/View/status y al vinal del todo añade:
|| Código: ||
|| Entrar
.Un canal:/join #$?="¿A qué canal quieres entrar?"
.Hasta 3:/canales ||
Ahora prueba tus habilidades, teclea /canales ¿Qué es lo que pasa? Si no me equivoco te salen tres ventanas preguntándote a qué canales quieres ir. Eso ya lo vimos con lo alias verdad? Ahora abre la ventana del Status y clickea con el botón derecho del ratón Clic en Entrar, y clic en hasta 3 ¡¡¡¡¡¡MILAGRO!!!! ¿A que ocurre exactamente lo mismo? Si no te salen las 3 mismísimas cajas de diálogo, revisa tu trabajo porque te has equivocado, yo lo he comprobado, funciona.
Desde los popups puedes ejecutar cualquier alias, de hecho es una práctica bastante extendida, hacer los alias y ejecutarlos desde los popups para tenerlo todo así más ordenado.
Aunque pueda parecer un poco enrevesado verás cómo en poco tiempo te parece facilísimo.
Scripts Remotos
Puedes hacerte menús popup en tus scripts remotos usando el prefijo menú:
|| Código: ||
|| menu status {
Server
.Links:/links---.Lusers:/lusers---.Motd:/motd---.Time:/time
} ||
Este código añadiría un submenú al popup de la ventana del status. También puedes especificar los menús de canal, query, nicklist y menú bar, lo que añadiría a los popups que ya tienes, lo que te pongas en el remoto.
|| Código: ||
|| menu nicklist {
Slap
.Haddock:/me arrea a $1 con el manual de la impresora.
} ||
Esto añadiría un menú al que ya tengas en la lista de nicks. También puedes añadir popups a las ventanas personalizadas espedificando su nombre:
|| Código: ||
|| menu @test {
dclick:/echo double-click!
} ||
La orden dclick te permite especificar que se ejecute una orden cuando hagas doble click en la lista de una ventana personalizada.
También puedes especificar más de una ventana para los menús, por ejemplo:
|| Código: ||
|| menu @dogs,@cats,@goats {
dclick: /echo double-click in $active
close: window -c $active
} ||
Puedes usar el identificador $menu para referirte al menú que está a punto de emerger o que está asociado con el script que estás ejecutando. Esto te permite modificar la forma del menú, dependiendo de si está en un query, un canal etc.:
|| Código: ||
|| menu query,nicklist {
$iif($menu nicklist,Op):/mode # +o $$1
} ||