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.
Cómo funciona
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.
Configuración
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=TerminadaEn 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.
Cómo se lee cada línea
| 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 = rojoy1=unono valen y la línea se ignora. Escribe0=rojo. El número puede ser enorme: entre -9223372036854775808 y 9223372036854775807. Uno que se salga de ahí no vale. - Lo que va detrás del primer
=es el texto, tal cual: con sus espacios y con más signos=si los lleva.0= rojosale con un espacio delante y1=a=bsale 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.
La tabla que queda al guardar
Lo que se guarda no es lo que escribiste, sino la tabla que se entendió, ya limpia. Al reabrir la ventana la ves así:
- Ordenada de menor a mayor por el número, también los negativos:
5=cinco,-2=menos dosy1=unovuelven como-2,1,5. La reserva_=va siempre la última. - Sin lo que no valía: las líneas ignoradas y las repetidas desaparecen; de una clave repetida queda la última.
- Con el número escrito como número:
+4=masvuelve como4=masy007=sietecomo7=siete. - Si nada valía, el cuadro vuelve vacío.
Los textos no se tocan: los espacios de delante y de detrás se quedan donde los pusiste.
Ejemplo
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=amarilloY 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 SelectorDetrá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.
Notas
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 valen igual que
0,1,2, y da igual en qué orden los escribas: al guardar se ordenan solos. 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.
Los números muy grandes también tienen su texto. Una variable que vale 10000000000 enseña en el mensaje
el texto de la línea 10000000000=. En la pestaña Variables de
:wired, las claves que pasan de 2147483647 salen como
2147483647, y las que bajan de -2147483648 como -2147483648, porque no caben en lo que enseña la ventana; si
hay varias así, la pestaña enseña solo una. En los mensajes cada valor sigue sacando el texto de su línea.
Para llevar la tabla a otra sala, sobre una variable compartida entre salas, usa Compartir e Importar: una Variable heredada no la trae sola. También le puedes poner a la heredada un conector propio en su baldosa; con los dos, en un mismo valor manda el importado y en el texto de reserva, el de la heredada.
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.