Novedades LumiMUD

0 comentarios


Pues como prometí, voy informando de los progresos.
En el poco tiempo que he podido dedicarle he rehecho la creación de fichas y el login, todos los canales y algunos comandos básicos. Ya se nota la mejora de la base de gestión de personajes y ahora los comandos son casi 100 veces mas rápidos de ejecutar en el servidor.

El siguiente paso obvio es rehacer el movimiento y otros comandos como coger y dejar, pero aquí me he visto detenido de nuevo por otra decisión relevante, la capacidad y la carga.

Las entidades tienen un volumen y un peso, el peso que se podrá mover dependerá de la fuerza del personaje, pero el volumen también es un factor a tener en cuenta. Por ejemplo en el numero de cosas y personajes que entrarán en un bote, o en una room.

Por el momento la solución que va en cabeza en mi brainstorming personal es la de valorar todos los objetos con un valor de referencia para su volumen, pero entonces entra el problema jugabilidad vs realismo. Me explico, fastidia querer coger algo y no poder cargarlo, pero también es una tontería que un personaje pueda cargar 10 mochilas llenas de oro o 35 armas diferentes y trepar por ahí ágilmente.
Una solución es hacer que una persona no pueda cargar nada (lo agarrado con las manos o en la espalda, se considera "vestido") y el inventario del personaje se guarde en sus "bolsillos" los contenedores que lleve cargados. De esta manera el inventario tendría la capacidad de los contenedores vestidos, y un personaje desnudo solo podría llevar lo que agarrara con sus manos y algo colgado del hombro.

Muchos jugadores no gustarán de un juego en el que no pueden cargar todo el tesoro, o llevar un arma de cada tipo para cada ocasión...pero creo que los juegos sin limitaciones acaban en hastío,  y tampoco me parece mal que tengas que dejar parte del oro porque no puedes con todo. Si quieres llevarte todo el tesoro, trae mas gente y reparte el botín (mas colaboración entre personajes) o haz muchos viajes.

Y siempre se puede cambiar después, recordemos que este MUD está plagado de ideas bizarras. No tengo ni idea de como será de divertido, Pero original, un rato.

Estado de LumiMUD

0 comentarios

Actualmente LumiMUD tiene implementados en su código:

Servidor de Telnet: acepta múltiples conexiones simultáneas, colores, y caracteres españoles como la ñ y las tildes (incluso los signos ¿ e ¡, casi nunca usados antes en MUDs, creo).

Módulo de gestión de conexiones: fusionado con el anterior módulo recepcionista, inicia el registro o la recepción de los clientes, atiende los comandos entrantes y expulsa a los jugadores inactivos.

Base de datos: al final después de probar varias, me he quedado con SQLite por razones prácticas. He usado una base de datos en vez de almacenamiento directo porque, aunque es mas lento, facilita tareas como la de exponer datos en la web y actualizar en tiempo real las entidades del MUD (rooms, jugadores, movs...todo lo que no es código, vamos)

Módulo adaptador para la base de datos: Gestiona el almacenamiento en la base de datos y hace de intermediario para las consultas SQL que sean necesarias desde el código (no era obligatorio, pero necesario para simplificar al máximo los futuros cambios).

Módulo reload: Permite recargar el código de manera automática y sin tener que desconectar a nadie (hasta la fecha sin problemas).

Módulo logger: en vez de imprimir por terminal las advertencias y errores, este módulo registra el nivel (debug, información, advertencia, error o error crítico) y el módulo donde se produce y lo imprime por pantalla. Además si es un error, añade a un archivo log con la fecha actual y los últimos mensajes para poder seguir el rastro a los posibles bugs que sucedan en el futuro.

Módulo comandos: con submódulos para cada categoría de comandos (generales, salidas, ayuda, de administrador...) y un analizador que recibe un string y extrapola el comando y los argumentos e intenta ejecutar el apropiado.

Novedades LumiMUD

0 comentarios

Un nuevo cambio, he añadido un módulo logger que se encarga de llevar cuenta de los avisos según niveles.

En vez de imprimir por terminal las advertencias y errores, este módulo registra el nivel (debug, informacion, advertencia,error o error crítico) y el módulo donde se produce y lo imprime por pantalla. además si es un error, añade a un archivo log con la fecha actual y los últimos mensajes para poder seguir el rastro a los posibles bugs que sucedan en el futuro.

Así puedes configurar que nivel de advertencias se muestran por pantalla al arrancar el MUD (los print siempre aparecían) con cambiar una simple variable. Poner el modo debug para tener toda la información rastreando un error, poner el modo info para tener solo notificaciones o errores, o incluso poner el modo en errores con lo que no se imprime nada por pantalla que no sea un error.

Mucho mejor que llenar el código con prints, y el volcado de un buffer en un archivo vendrá de perlas en el futuro.

Novedades LumiMUD

0 comentarios

Lo prometido es deuda, aquí tenéis la primera entrada sobre los avances en el LumiMUD.

He rehecho la mitad del código, pero por motivos prácticos. La parte mala de tener tanta creatividad aparece cuando has programado bastante y, de repente, se te ocurre una manera mejor. Sé que la norma es "no optimices el código hasta que lo hayas terminado, a veces, ni siquiera entonces", pero en un MUD creo que los cambios y añadidos son parte de la vida útil del código y cualquier cosa que los simplifique en un futuro debe estar en las bases del código.

El código sigue basándose en entidades, pero ahora se gestionan con clases. Lo que hace mucho mas sencillo su uso en otras partes del código como en los comandos.
El acceso a la base de datos ahora es mixto, lo que me permite cambiar varios parámetros en una sola instrucción y consulta.

En vez de establecer la fuerza y la destreza de un personaje a 10 (pongamos a zaroos como ejemplo) con:

Personaje('zaroos').fuerza = 10
Personaje('zaroos').destreza = 10

Ahora se puede hacer:

Personaje('zaroos'). Establecer({fuerza : 10, destreza : 10})
o
Personaje('zaroos'). Establecer(todos_los_nuevos_valores_que_quieras)

Esto que parece una trivialidad, permite cargar diccionarios enteros de modificaciones en una sola línea de código, o utilizar un diccionario de un solo elemento para hacer lo mismo que con los comandos anteriores.

Ademas, ahora el código carga los cambios de la base de datos al arrancar el MUD, así que si el día de mañana se añade o cambia una habilidad o atributo a la base de datos, el MUD la carga sin cambiar código y puedes usarla directamente en los comandos sin problema.

Con esto doy por finalizado por el momento los módulos de la Base de datos y del servidor de Telnet.

Actualización

0 comentarios

Comencé este blog como alternativa mas accesible que el foro anterior. Nunca he sido blogger, y no he actualizado este tanto como debería.

Intentaré escribir más a menudo para aquellos interesados, aunque no seáis muchos.

Cambiando de tema...he vuelto a CallandorMUD, como muchos de vosotros ya habréis notado. Esta vez soy un bardo, por motivos prácticos -para mapear- aunque, según mis amigos, es la clase que mas me pega en la vida real. Intentaré actualizar el mapa y a Lumi proximamente.

En cuanto al LumiMUD, entre el trabajo, los estudios, la novia y los amigos... no me queda mucho tiempo para programar. Pero sigo dedicándole alguna hora suelta de vez en cuando.

Escribiré entradas sobre el progreso del LumiMUD etiquetadas y con titulo Novedades LumiMUD, para quien pueda interesar.

Servidor listo

3 comentarios

Lo normal al crear un MUD es coger alguno de base y hacerle las modificaciones pertinentes.

Pero como soy de la opinión de que es mejor empezar un lienzo nuevo que retocar la obra de otro, pues decidí escribir de 0 el MUD.
Me llevó un par de tardes tener un servidor de Telnet al que conectarse, y aunque solo valía para charlar, ya era algo.
La pega de escribir el código de 0 es que tienes bastante mas trabajo, la ventaja que puedes diseñar hasta el último detalle. Tengo cientos de ideas (la mayoría disparatadas) que voy implementando a medida que escribo.

Una semana después, ya tenía un pequeño ejemplo. Tiene un recepcionista creador de fichas, un par de rooms para probar el movimiento, se puede decir y charlar (probar canales), e incluso un Mov con sus propios comandos.

Como siempre en la programación, mi mayor problema hasta la fecha son los pequeños errores. Esas tildes y erratas que hacen que el programa no funcione y te quitan mucho tiempo buscando el error en algo que ya funcionaba.

Pero en fin, que voy programando en mis ratos libres -que no son muchos-.

Script para zMUD de tiradas de Callandor 2.0

0 comentarios

Como veo que hay quien tiene problemas con el script, pues saco una versión nueva:

(@Fue=18)AND(@Car>15)OR(@Total>95) serían las condiciones de una ficha buscada, para este ejemplo, Fuerza 18 y Carisma mayor de 15 o que todos los atributos sumen mas de 95.
Si quisierais por ejemplo, podríais poner solo (@Total>100) (@Fue=18)AND(@Des=15), cualquier combinación de las variables @Fue, @Des, @Int, @Sab, @Con, @Car y @Total (que es la suma de las seis anteriores) con los operadores AND (y) y OR (o).
Además, STAT, crea una barra de estado con un resumen de las tiradas. Si no la veis se tiene que activar en Ver -> Preferencias -> General -> ver barra de estado.

Hay dos maneras de poner el generador, una es copiando el texto del final de esta entrada y pegándolo tal cual en el zMud (a veces da problemas si se ponen retornos de carro interrumpiendo las lineas), la otra es bajando este archivo e importándolo desde la ventana de Opciones -> menú de archivo -> importar texto...

IMPORTANTE: Una vez "instalado" el generador, hay que escribir Nombre=elnombrequequieresparaelpersonaje y después Password=lacontraseñaparaelpersonaje en el zMud para que el script sepa que poner en esas preguntas.

Como novedad, he solventado el problema de que el zMud se autoreconecta solo 20 veces. Mucha gente se había quejado de esto. Lo he evitado con los alias atconnect y atdisconnect para que cuando no quiera autoreconectarse espere 10 segundos y siga haciendo su trabajo.

#VAR Nombre sinnombre
#VAR Password sinpassword
#TRIGGER {%sFuerza%s(%d)%sDestreza%s(%d)%sConstitución%s(%d)} {#Var Fue %1;#Var Des %2;#Var Con %3}
#TRIGGER {%sInteligencia%s(%d)%sSabiduría%s(%d)%sCarisma%s(%d)} {#Var Int %1;#Var Sab %2;#Var Car %3;#MATH Total (@Fue+@Des+@Int+@Sab+@Con+@Car);#If ( (@Fue=18)AND(@Car>15)OR(@Total>95)) {N;#Beep} {S};#show Sumaron: @total (El record esta en: @Record);#Co 7;#If @Total>@Record {Record=@Total};#Add intentos 1;#Add sumadetotales @Total;#Math Media (@sumadetotales/@intentos)}
#TRIGGER {Con que nombre vas a ser conocido?} {@Nombre;S} {nocr|prompt}
#TRIGGER {Escribe el password que quieres para %x} {@Password;@Password}
#TRIGGER {Has agotado tus tiradas. Tu personaje se queda con los últimos atributos.} {#Di;#Con;#ADD Reconexiones 1;#SH @Reconexiones}
#TRIGGER {Felicidades! Estas preparado para empezar a jugar en el mundo real} {save}
#ALIAS atconnect {#DELCLASS "Reconectar"}
#ALIAS atdisconnect {#ALARM +10 {#CONNECT} "Reconectar"}
#STAT {Record: @Record (Media: @Media) Fue:@Fue Des:@Des Con:@Con Int:@Int Sab:@Sab Car:@Car}

Historia de un Mapeador

0 comentarios

Puede que algunos ya lo sepáis, pero mis comienzos MUDeros se deben a un amigo y compañero de carrera que me dejó en su día los tomos de la Rueda del Tiempo y, posteriormente,  me sugirió probar CallandorMUD.

El juego me convenció, no tenía gráficos ni complicación. era el súmmun del rol y con una gente maravillosa.

Las aficiones tienden a compaginarse, a atraerse unas a otras, y al final acabé programando en el zMUD y mapeando Callandor. Un mapa que posteriormente cedí a todos los jugadores y que, quiero pensar, que ayudó a que muchos se quedaran en Callandor.

Debido a un error de cálculo, los inmortales (administradores) de Callandor tuvieron que borrar todas las fichas (cuentas) y volver a empezar en lo que se llamó la segunda era. Esto, unido a las exigencias de mi carrera y a la falta de tiempo, propició que dejara de jugar al único MUD al que he jugado.

Terminé la carrera y cuando las ocupaciones mermaron y reapareció algo de tiempo libre, rescaté la idea que había tenido cuando casi cierran Callandor años atrás. ¿Porqué no hacer un MUD?, no parece tan complicado...

La idea ya la tenía, y aunque las ideas son etéreas y cambian de forma caprichosa, me decidí a programar un poco en mis ratos libres con la idea de hacer un MUD y practicar algo de programación.

Y así empieza el proyecto del LumiMUD (que toma su nombre del script para el mapa del zMUD). Espero ir haciendo progresos en mi tiempo libre, que no es mucho debido al trabajo, y ya iré relatando en este Blog los avances para los pocos a los que pueda interesar.

Un Saludo, ZarooS.

Script para zMUD de tiradas de Callandor (simplificado)

0 comentarios

Simplificado, sería algo así:


#TRIGGER {%sFuerza%s(%d)%sDestreza%s(%d)%sConstitución%s(%d)} {#Var Fue %1;#Var Des %2;#Var Con %3}
#TRIGGER {%sInteligencia%s(%d)%sSabiduría%s(%d)%sCarisma%s(%d)} {#Var Int %1;#Var Sab %2;#Var Car %3;#MATH Total (@Fue+@Des+@Int+@Sab+@Con+@Car);#If ( (@Fue=18)AND(@Car=18)OR(@Total>95)) {N;#Beep} {S};#show Sumaron: @total (El record esta en: @Record);#Co 7;#If @Total>@Record {Record=@Total};#Add intentos 1;#Add sumadetotales @Total;#Math Media (@sumadetotales/@intentos)}
#TRIGGER {Con que nombre vas a ser conocido?} {@Nombre} {nocr|prompt}
#TRIGGER {Escribe el password que quieres para %x} {@Password;@Password}
#TRIGGER {Has agotado tus tiradas. Tu personaje se queda con los últimos atributos.} {#Di;#Con}
#TRIGGER {lo has escrito bien? (S/N)} {S} {prompt}
#STAT {Record: @Record (Media: @Media) Fue:@Fue Des:@Des Con:@Con Int:@Int Sab:@Sab Car:@Car}

(@Fue=18)AND(@Car=18)OR(@Total>95) serían las condiciones de una ficha buscada, para este ejemplo, Fuerza y Carisma iguales a 18 (el máximo) o que todos los atributos sumen mas de 95.
Adicionalmente, STAT, crea una barra de estado con un resumen de las tiradas, aunque no creo que sea demasiado accesible para invidentes, es un ejemplo más y aprovecho. ^^

MiniGuia del zMUD

1 comentarios

Mucha gente no usa este programa porque le falta algo que tiene otro o simplemente lo ve complicado. Aunque no pretendo escribir un manual, espero que esta mini guia sirva para comenzar a conocer las casi ilimitadas capacidades de este cliente.

La guia tiene ejemplos tanto en linea de comandos como con los menús desplegables del programa.
Muchas de las opciones son mas sencillas de usar con los menús, así que si podéis os recomiendo que los uséis. Obviamente para la mayoría de los invidentes la linea de comandos es mucho mas sencilla.

Los temas que tratare en esta guia son:

MiniGuia zMUD Ejemplos

0 comentarios

Tengo pendiente poner mas ejemplos, pero para muestra un botón:

Script para zMUD de tiradas de Callandor (simplificado)

MiniGuia zMUD Botones

0 comentarios

Proximamente...

Volver al índice de la Guia

MiniGuia zMUD Barras

0 comentarios

Proximamente...

Volver al índice de la Guia

MiniGuia zMUD Opciones de Trigger

0 comentarios

Proximamente...

Volver al índice de la Guia

MiniGuia zMUD Triggers de Varios Estados

0 comentarios

Proximamente...

Volver al índice de la Guia

MiniGuia zMUD Variables

0 comentarios

Las variables nos permiten almacenar valores. Palabras, números e incluso frases enteras que no se borraran aunque cerremos el zmud (si se cuelga o le pasa algo puede que perdamos algunos cambios).

Vamos a ver un ejemplo en este trigger (que almacenara nuestro saldo bancario del mud):
Norma: '%x, tu cuenta ahora contiene (%d) monedas,'
Valor: #VAR SaldoBanco %1

Este trigger almacenara en la variable @SaldoBanco el numero de monedas que tenemos en el banco, y cada vez que salte borrara el numero anterior y pondrá el nuevo.

Examinemos como funciona, como %x no esta entre paréntesis es un comodín que no cuenta para coger variables, en cambio %d esta entre paréntesis, y como es el primero de la norma con paréntesis su valor quedara almacenado temporalmente en %1 (hasta que el estado del trigger acabe) luego es almacenado en la variable SaldoBanco, y si no existía antes del trigger la crea y le da el valor %1.

Si por ejemplo la norma fuera: '(%x), tu cuenta ahora contiene (%d) monedas,' %1 seria la palabra que representa el comodín %x y %d pasaría a ser %2. (Podéis ver y comprobar que %numero corresponde a cada comodín entre paréntesis en la pestaña test del trigger.

Las variables pueden contener números, palabras, frases e incluso LISTAS de palabras o números. Así que usad los comodines correctos para limitar los valores de las variables. Si, por ejemplo, queréis que una variable solo contenga números, usad (%d) para capturar su valor (recordad que %d solo captura números).

Los valores de las variables simples se pueden cambiar de varias maneras:

Con el comando #VAR => #VAR variable valor (almacena valor en la variable y borra lo que tuviera antes)
Variable=Valor (un sistema mucho mas sencillo, y equivalente al #VAR)

Para las variables tipo lista tenemos:

#AddItem VariableTipoLista valor (añade valor a la lista)
#Delitem VariableTipoLista valor (quita valor de la lista)

Esto es muy práctico, porque nos permite almacenar con triggers o a mano (escribiendo nombredelavariable=loquequeremosquevalga en la línea de comandos) valores que les podemos pasar a otros triggers, a botones, mostrarlos por pantalla….

Por ejemplo: si tenemos el trigger:
Norma: ^Blandes * (%x).
Valor: ArmaManoBuena=%1
Cuando blandamos una lanza cantada, por ejemplo, en la variable @ArmaManoBuena quedara la palabra “cantada”.
Si luego tenemos el trigger:
Norma: {te resbala de las manos!| te DESARMA!}
Valor: coger @ArmaManoBuena;Vestir @ArmaManoBuena
Y nos desarman, el trigger enviara al MUD: coger cantada;vestir cantada.

Hay cientos de posibilidades, pero lo mas importante de las variables es que nos dejan almacenar datos que después podemos cambiar o usar con otros triggers que, de esta manera, pueden adaptarse a cambios controlados por otros triggers o por nosotros. Y que los datos perduran aunque se cierre el mud.

Volver al índice de la Guia

MiniGuia zMUD Comandos

0 comentarios

Hay cientos, sino miles de comandos del zMUD. Si alguien busca alguno para algo concreto le recomiendo la ayuda del zMUD (aunque esta en ingles). Yo voy a poner aquí los mas comunes (es decir, los que mas he usado yo). todos ellos los puedes usar como valor en triggers macros y alias, por ejemplo. Son comandos del zMUD, no afectan directamente al MUD a no ser que los uses de esa manera.

#Beep emite un bip (aunque tengas música y sonidos del MUD apagados)

#Loop x,y {accion} realiza la acción desde x hasta y (por ejemplo: #LOO 1,3 {Coger Todo %{i}.cadaver} mandaría al MUD Coger Todo 1.cadaver;Coger Todo 2.cadaver;Coger Todo 3.cadaver)

#numero accion envía acción al MUD numero de veces.

#If (condiciones) {comandos si se cumplen las condiciones} EL COMANDO mas importante de todos con diferencia, si se cumplen las condiciones se ejecuta lo que este entre corchetes, si no se cumple la condición se ignora. (el colmo cuando lo controlas un poco, los triggers no volverán a ser lo mismo.)

#Walk numeroderoom es equivalente a hacer doble-click en el mapa sobre la room con ese numero (cuidado con los trayectos largos o a través de zonas peligrosas)

#Show algo Muestra lo que sea sin enviarlo al MUD (útil para mostrar variables #show @variable o para escribir frases en pantalla que no quieres enviar al mud)

#GAG Borra la linea recibida del MUD (no aparece en tu pantalla)

#Add variable numero suma numero a la variable (vigila que sea una variable numérica)

#Math variable cuentas realiza las cuentas y guarda su valor en la variable

#Untrigger {norma} Elimina el trigger que saltaba con esa norma

#Unalias norma Elimina el alias que saltaba con esa norma

#UnKey tecla Elimina la macro de esa tecla

#Co numerocolor Colorea la linea del color numero (los hay que parpadean y todo. probad 12-rojo, 15-blanco, 1551...hay muchísimos)

#CW nombreopalabra numerocolor hace que ese nombre o palabra se coloree a partir de ese momento de ese color

#Win nombre abre una nueva ventana llamada nombre (recomiendo probar a moverla y usar multiples pestañas)

#Cap nombre copia la ultima linea a la ventana nombre (si no existía la crea), si queréis moverla añadid un #gag a continuación y listo

#C+ nombre y #C- #C+ inicia la captura de lo que venga a continuación en la ventana nombre. y #C- le dice cuando parar de copiar

#Clr nombre de ventana borra el contenido de la ventana con ese nombre

Y hay muchos mas...

Volver al índice de la Guia

MiniGuia zMUD Comodines

2 comentarios

En el apartado de triggers vimos como hacer que al aparecer una palabra o frase en el MUD el zMUD enviara una serie de comandos al MUD, pero hay ocasiones en las que nos interesa que el trigger reaccione a mas de una frase o a frases parecidas….o todo lo contrario, que haya excepciones a dichas frases. Aquí entra la magia de las variables (que también valdrán para los botones y las barras, pero vamos poco a poco).

Supongamos que queremos que un trigger salte en varias ocasiones, por poner un ejemplo: “una (el arma que uses) te resbala de las manos!” y “un (el enemigo que sea) te DESARMA!”, en ambos casos querrás coger el arma y blandirla, por ejemplo.

Puedes hacer 2 triggers, uno para cada frase y que los 2 hagan lo mismo, o puedes hacer un único trigger que tenga como norma: {te resbala de las manos!| te DESARMA!}.

Otro ejemplo. cuando abres algún objeto o puerta no pasa nada mas, pero cuando los desbloqueas siempre tienes que abrirlos también a continuación. si haces un trigger:

#ONINPUT {^Desbloquear (%x)} {Desbloquear %1;Abrir %1} "" {notrig}

cuando escribas desbloquear algo, enviaras al MUD desbloquear algo;abrir algo.

Esto y mucho más se hace con las wild cards, o comodines. Estas son, a grosso modo:

*
sustituye cualquier número (incluso ninguno) de caracteres o espacios en blanco.
? un solo carácter (número o letra o signo)
%d cualquier conjunto de números (0-9)
%n un numero que empieza con el signo + o -
%w cualquier numero de caracteres alfabéticos (una palabra, vamos)
%a cualquier numero de caracteres (a-z,0-9) (yo uso mas %x, pero bueno)
%s cualquier numero de espacios en blanco
%x
cualquier numero de caracteres que no sean espacios
%y lo mismo que %x pero empieza por la derecha en vez de por la izquierda
%p signos de puntuación
%q lo mismo que %p pero empieza por la derecha en vez de por la izquierda
%t
comandos de dirección
%e
el carácter ESC en ansi
[range] cualquier numero de caracteres en el rango (por ejemplo [1-5]=1 2 3 4 y 5
^ comienzo de la linea
$ final de la linea
(pattern) salva el comodín como parámetro (van del %1 hasta el %99)
~ se pone antes de los caracteres como % para que no los pille como un comodín sino como una letra normal del MUD. ( ~%x no es %x)
{val1|val2|val3|...}
cualquiera de las frases entre | (pero no puedes tener otros comodines dentro de los corchetes)
@variable
frase o numero contenido en la variable mencionada
{^valor}
cualquier cosa que no coincida con lo que pongas de valor
&nn
que coincidan exactamente nn caracteres
&VarName guarda esa sección como la variable VarName (sustituyendo el valor actual)

No os asustéis. Yo solo he usado %w, %d, %x, %s, ^, $, {|}, * y %1 %2... con esas y un poco de maña, podéis hacer cientos de combinaciones (creedme). Es importante que aprendáis a usar por lo menos las 8 que os he puesto arriba en algún caso. (recordad que podéis probar si un trigger saltaría o no escribiendo frases en su cuarta pestaña, test)

ánimo…esto es lo mas difícil de dominar, y es útil a mas no poder.

Volver al índice de la Guia

MiniGuia zMUD Triggers

0 comentarios

Un trigger o disparador es una utilidad que espera a que una frase aparezca en el zMUD (porque sale del MUD o porque la escribes tu) y cuando sale hace algo que le has indicado previamente (por ejemplo cuando te desarmen, que recoja y vista el arma automáticamente).


Vamos a hacer un trigger muy sencillo de ejemplo con el comando #beep (sonido bip).

Hacer un disparador desde la línea de comandos.

Basta con usar : #TRIG nombre {valor} o #TRIGGER nombre {valor}

Por ejemplo, #TRIGGER {Tunombre} {#BEEP} pitara cada vez que salga tu nombre en el zMUD, aunque no venga del MUD y lo escribas tu.

Hacer un disparador con los menús desplegables.

*Pulsa en cualquier imagen para ampliarla

Para ver los disparadores, pulsa en Disparadores:


Para hacer uno nuevo pulsa en Nuevo:


Ahora ponemos la frase que deseamos que sea el disparador en Norma y el efecto (o efectos) que queremos que se dispararen en Valor. Para nuestro ejemplo pondremos Norma: hola y Valor: #beep.

Esto provocara que cada vez que salga la palabra hola en la ventana del zmud se dispare el trigger y se oiga un bip. (aunque estén los sonidos apagados en el config).


Si pulsas en el icono de la pistola junto al reloj apagaras temporalmente TODOS los disparadores (no saltara NINGUNO). Para rehabilitarlos tan solo vuelve a pulsar en el icono.

Los triggers se pueden desactivar-activar también haciendo clic derecho sobre ellos en la ventana de triggers y dándoles a activado o a la luz de la ventana de edición de triggers.

Si un trigger esta desactivado no saltara y su descripción se vera mas clara.

Volver al índice de la Guia

MiniGuia zMUD Macros

0 comentarios

Una Macro es una relación entre teclas y comandos. de tal manera que al pulsar un solo botón de nuestro teclado podemos mandar de 1 a infinidad de comandos al MUD (cuidado con el exceso de comandos u os echará del MUD)
Las macros básicas y las que usaremos de ejemplo son las de desplazarse.

Hacer una macro desde la línea de comandos.

Basta con usar : #KEY tecla {valor}

Por ejemplo, #KEY F1 {Mirar} hace que al pulsar F1 mandemos el comando mirar al MUD.

Hacer una macro con los menús desplegables.

*Pulsa en cualquier imagen para ampliarla

Pulsad en el boton Opciones o Ctrl+G:

O directamente en Macros:

Luego en Nuevo:

Y luego clic con el ratón en Nueva Macro, pulsad en el campo trecla y luego la tecla que queráis como macro. En este caso la flecha derecha del teclado. Y poned Este en el campo Valor.

De esta manera al pulsar la tecla derecha en el teclado enviaremos este al mud. Podéis hacer lo mismo con las demás teclas de dirección: arriba=norte izquierda=oeste…
Podéis poner también varios comandos en una macro, por ejemplo:

Haced pruebas y ya veréis que practicas son las macros. ^^

Volver al índice de la Guia