Ir al contenido

Capturador de variables

Capturador de variables

En Wired Code: extra.text_input_variable

Guarda en una variable lo que el usuario escriba en el chat.

Es la única forma que tiene el sistema de recibir algo que el jugador teclee. Todo lo demás reacciona a lo que hace; esto reacciona a lo que dice, y además se lo queda.

Con él se montan contraseñas, apuestas con cantidad, encuestas, formularios y máquinas que piden un número.

Va de la mano del causante Clave, que es quien dispara la pila cuando alguien habla.

Ventana de configuración de Capturador de variables

Capturar nombre, el nombre que tú le pones al hueco. Aquí el token no va en el mensaje del efecto sino en el patrón del causante Clave, y lleva # en vez de $:

Capturar nombre: apuesta
En el patrón de Clave pones: "apostar #(apuesta)"
El jugador escribe: "apostar 250"
En la variable queda: 250

La propia ventana te lo recuerda debajo de la casilla, en amarillo.

Escoge una variable, dónde se guarda lo capturado. La lista solo ofrece variables de contexto: lo capturado vive mientras dure esa ejecución de la pila y se pierde en cuanto termina. Si tiene que durar más, cópialo desde ahí a una de usuario, de furni o global.

Variable de entrada, con dos tipos: Numérica o Textual. La textual solo se deja elegir si la variable lleva un Conector de texto; entonces lo que se captura son las palabras de esa tabla y no cifras. No distingue mayúsculas de minúsculas, y la línea de reserva (_=) del conector no cuenta: solo se capturan las palabras de las líneas con número.

Una apuesta con la cantidad que diga el jugador:

Pila A
│
├─ Complemento: Capturador de variables
│ ├─ Capturar nombre ......................... apuesta
│ ├─ Escoge una variable ..................... apuesta (variable de contexto)
│ └─ Variable de entrada ..................... Numérica
│
├─ Causante: Clave
│ ├─ Mensaje desencadenante .................. "apostar #(apuesta)"
│ ├─ Escoge el tipo .......................... Coincidencia exacta
│ └─ Opciones ................................ Ocultar el mensaje desencadenante
│
└─ Efecto: Mensaje
├─ ¿Cuál es el mensaje? .................... "Apuesta aceptada"
└─ Visibilidad del mensaje ................. Solo el usuario desencadenante

Quien escriba “apostar 50” deja un 50 en la variable.

Cuando el patrón lleva un token, quien decide si el causante dispara es el capturador. El patrón deja de compararse tal cual y pasa a funcionar como un molde: el mensaje tiene que encajar en él y el hueco tiene que traer algo válido. Con Coincidencia exacta el molde cubre el mensaje entero; con Contiene la palabra clave basta con que aparezca en alguna parte.

Puedes poner varios capturadores en la misma pila y varios tokens en el mismo patrón —“mover #(x) #(y)”—: se resuelven de una vez y todos tienen que encajar para que la pila arranque.

El nombre del capturador no distingue mayúsculas. #(Apuesta) y #(apuesta) son el mismo hueco. Los identificadores de mensaje, los de $( ), sí las distinguen.

Si la captura falla, la pila entera no se ejecuta. No es que la variable se quede como estaba: el causante se corta antes de los efectos. Con tipo numérica, quien escriba una palabra donde esperabas una cantidad no dispara nada — ni siquiera el mensaje de error, si lo tenías en la misma pila. Ponlo en una pila aparte con otra clave.

Valida siempre lo que llegue. El jugador puede escribir lo que quiera, incluidos números enormes o negativos; una condición de Valor de variable detrás te ahorra el disgusto.