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.
2 comentarios:
Hola, podrías pegar ejemplos de scripts?
no logré levantar las variables del prompt
%v %p y esas cosas
:D
Perdona la tardanza, he puesto un ejemplo en la Mini-guía. Espero que eso te ayude para ir empezando.
Publicar un comentario