Ir al contenido

Marcador de posición de variable

Marcador de posición de variable

En Wired Code: extra.text_output_variable

Permite escribir el valor de una variable dentro de los mensajes de la pila.

Es lo que convierte las variables en algo que el jugador puede ver. Sin él, una puntuación guardada en una variable existe pero no se puede enseñar; con él, el mensaje dice el número.

Con esta pieza se montan los marcadores, los “te quedan N intentos”, los “llevas N puntos” y cualquier texto que tenga que reflejar el estado de la partida.

Ventana de configuración de Marcador de posición de variable

Escoge una variable y Escoge la fuente de la variable: cuál se muestra y de quién es. Los cuatro iconos de la derecha eligen el ámbito —furni, usuario, global o contexto—; con furni y con usuario la caja de abajo elige a cuál de ellos mirar, y con global o contexto no hay nada que elegir porque el valor es único.

Nombre del identificador, el nombre que tú le pones. En el texto del efecto se escribe entre $( y ), no a secas:

Nombre del identificador: puntos_txt
En el mensaje escribes: "Llevas $(puntos_txt) puntos"
El jugador lee: "Llevas 40 puntos"

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

Escoge el tipo de visualización, con dos modos: Numérica o Textual. La textual solo se deja elegir si la variable lleva un Conector de texto en su baldosa. En textual, un valor que tenga su línea en el conector sale con ese texto; uno que no la tenga, con el texto de reserva (_=) si lo hay y, si no, como número.

Tipo de identificador, Individual o Múltiple, y Establecer delimitador para cuando son varios valores. Múltiple se apaga con los ámbitos global y contexto, donde el valor es uno solo.

Un marcador personal:

Pila A
│
├─ Complemento: Marcador de posición de variable
│ ├─ Nombre del identificador ................ puntos_txt
│ ├─ Escoge una variable ..................... puntos (ámbito usuario)
│ ├─ Escoge la fuente de la variable ......... Usar usuario desencadenante
│ ├─ Escoge el tipo de visualización ......... Numérica
│ └─ Tipo de identificador ................... Individual
│
├─ Causante: Click en Furni
│ └─ Elige Furni ............................. Interruptor de Suelo 1
│
└─ Efecto: Mensaje
├─ ¿Cuál es el mensaje? .................... "Llevas $(puntos_txt) puntos"
└─ Visibilidad del mensaje ................. Solo el usuario desencadenante

Es la pieza que saca una variable a un texto. Todo lo demás del sistema de variables trabaja por dentro; esta es la ventana.

El identificador congela su valor y sobrevive a la cadena de señales. Se resuelve cuando corre su pila, y las pilas que reciban señales después siguen viendo ese mismo texto aunque la variable haya cambiado por el camino. Solo lo pisa otra pila que declare un identificador con el mismo nombre.

Con una excepción: un efecto con Retraso (segundos) de la misma pila vuelve a leer sus marcadores cuando por fin corre, así que un mensaje retrasado enseña el valor que tenga la variable en ese momento, no el que tenía al dispararse la pila. Los marcadores declarados por otras pilas de la cadena sí le llegan congelados.

Dentro de una misma pila, la foto se toma después de los efectos de variable. Dar variable, cambiar valor y retirar variable van por delante del congelado, así que un marcador puesto junto a un “cambiar valor” enseña el valor ya cambiado, no el de antes. Si quieres el de antes y el de ahora en la misma frase, el marcador del “antes” tiene que estar en una pila anterior de la cadena: esa pila lo declara y manda la señal, y la que recibe cambia la variable y declara el segundo. Sobre cómo viaja una ejecución por la cadena, mira Hasta dónde llega una variable de contexto.

Si el mensaje sale con el identificador sin sustituir, es que el complemento no está en la misma pila que el efecto, o que el nombre no coincide exactamente: las mayúsculas cuentan.

Y si sale la palabra null, es que esa persona o ese furni todavía no tienen valor en la variable. No sale en blanco: sale null tal cual, que en un mensaje al jugador queda fatal. Asegúrate de darles la variable antes, o filtra con Contiene variable.