Ir al contenido

Conector de texto

Conector de texto

En Wired Code: extra.var_text_connector

Le pone un nombre a cada valor de una variable, para que en los mensajes salga una palabra en vez de un número.

Es una tabla de traducción. Escribes qué texto le corresponde a cada valor —0=rojo, 1=verde, 2=azul— y a partir de ahí, cuando esa variable aparezca en un mensaje, sale la palabra y no la cifra.

Eso resuelve un problema que aparece siempre: por dentro, todo lo que guarda una variable acaba siendo un número, pero al jugador hay que contarle las cosas con palabras. Sin esto, tu marcador dice “Equipo 2” y con esto dice “Equipo verde”.

Y puedes añadir una línea de texto de reserva —_=texto— que sale para todos los valores que no tengan su propia línea, sin tener que escribirlos uno a uno.

Va en la misma baldosa que la caja de la variable, no en la pila donde se usa; ni siquiera hace falta que quede justo encima, basta con compartir la baldosa. La tabla se queda pegada a esa variable y vale para todos los sitios donde la enseñes.

Puedes apilar varios conectores sobre una misma caja. Todos los conectores que compartan baldosa con la caja se aplican a esa variable, como si fueran una sola tabla: cada uno aporta sus valores. No repitas un mismo número en dos conectores: solo uno de los dos textos saldrá, y cuál no está definido. Con la línea de reserva pasa igual: si dos conectores traen _=, vale una sola de las dos. Apilarlos es la forma de superar el tope de 30 líneas por conector, o de repartir una tabla larga en trozos legibles. Y al revés: si en esa baldosa hay dos cajas de variable, los conectores valen para las dos.

En el catálogo aparece como Wired variable, aunque se comporta como un complemento.

Ventana de configuración de Conector de texto

Conectar texto con la variable, un cuadro de texto con una pareja por línea, en el formato valor=texto:

0=Sin empezar
1=En juego
2=Terminada

En Wired Code la tabla entera va en una sola cadena, con las parejas separadas por los dos caracteres \n (barra invertida y ene), nunca por un salto de línea real: table = "0=Sin empezar\n1=En juego\n2=Terminada" — ver Escapes dentro de las comillas. Los saltos de línea de verdad son solo para la ventana.

Caben 1000 caracteres en total —no por línea, todo el cuadro junto— y como mucho 30 líneas: el cuadro no te deja escribir más. Los dos topes se agotan más o menos a la vez, así que si tus textos son de tamaño normal te quedarás sin líneas y sin caracteres casi al mismo tiempo. Si una tabla de más de 1000 caracteres llegara por otro camino, no se guarda y el conector se queda como estaba.

Línea Qué hace
0=rojo El valor 0 sale como «rojo»
-1=sin dato El valor puede llevar signo
_=desconocido Texto de reserva: sale para cualquier valor que no tenga su propia línea
_= Reserva vacía: esos valores salen en blanco en vez de salir como número
  • Lo que va antes del primer = es la clave: un número entero, con signo si quieres, o un _. Sin espacios: 0 = rojo y 1=uno no valen y la línea se ignora. Escribe 0=rojo.
  • Lo que va detrás del primer = es el texto, tal cual: con sus espacios y con más signos = si los lleva. 0= rojo sale con un espacio delante y 1=a=b sale como «a=b».
  • Si repites una clave, gana la última línea. También con _.
  • Una línea que no tiene esa forma —sin =, o con una clave que no es un número— se ignora sin avisar y el resto de la tabla se guarda igual. Las líneas en blanco se ignoran, pero ocupan sitio en las 30 del cuadro.

Un marcador que dice el color del equipo en vez de su número. La variable global equipo_lider tiene su caja puesta en la sala; en esa misma baldosa dejas el conector con esta tabla:

1=rojo
2=verde
3=azul
4=amarillo

Y luego, en la pila del panel:

Pila A
│
├─ Complemento: Marcador de posición de variable
│ ├─ Nombre del identificador ................ lider_txt
│ ├─ Escoge una variable ..................... equipo_lider (ámbito global)
│ └─ Escoge el tipo de visualización ......... Textual
│
├─ Causante: Periodos Largos
│ └─ Configurar tiempo ....................... 10 segundos
│
├─ Selector: Usuarios en Área
│ └─ Selección de zona ....................... la sala entera
│
└─ Efecto: Mensaje
├─ ¿Cuál es el mensaje? .................... "Va ganando el equipo $(lider_txt)"
├─ Visibilidad del mensaje ................. Solo el usuario desencadenante
└─ Seleccionar la fuente de usuarios ....... Usar usuarios del Selector

Detrás de un causante periódico no hay desencadenante, así que el mensaje necesita el selector y la fuente puesta en “Usar usuarios del Selector”: sin eso no le sale a nadie. Y la variable tiene que ser global —no de contexto—, porque cada pasada del causante empieza una ejecución nueva y las de contexto no sobreviven a la anterior.

Los valores que no estén en la tabla salen como el número, salvo que haya texto de reserva: entonces sale ese texto. No hace falta cubrirlos todos: pon los que te importen y deja el resto al número o a la reserva.

La reserva no cubre a quien no tiene la variable. Si el furni o la persona todavía no tiene valor, el mensaje enseña null, haya o no línea _=.

Solo cuenta en modo Textual. Un Marcador de posición de variable en modo Numérica enseña siempre el número, tenga o no conector la variable.

Los valores no tienen que ir en orden ni ser consecutivos. 0, 7 y 250 en ese orden valen igual que 0,1,2. Es una tabla de búsqueda, no una lista: aprovéchalo para etiquetar solo los valores que significan algo y dejar el resto en crudo.

Muchas variables internas ya traen su tabla de fábrica. @direction, @gender, @team.color, @dance… no necesitan que les pongas nada. Para ver qué palabra le corresponde a cada número, mira la ficha de la variable en la pestaña Variables de :wired.

También lo ves en la Inspección. Un valor con texto se enseña con su palabra entre paréntesis —«1 (rojo)»—, y con texto de reserva también los valores sin línea propia. En la pestaña Variables de :wired, la tabla de textos de una variable acaba con una fila «_» cuando tiene reserva.

No compone textos ni concatena nada. Si lo que buscas es meter el valor de una variable dentro de una frase, eso lo hace Marcador de posición de variable. Este solo decide cómo se lee ese valor cuando salga.