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