Edad de variable
En Wired Code: condition.var_age_match
Comprueba cuánto tiempo hace que una variable se creó o se modificó por última vez.
Cómo funciona
Sección titulada «Cómo funciona»No mira el valor, mira la antigüedad. Es lo que permite montar tiempos de espera sin contadores: “solo puedes volver a usar esto pasada una hora”, “el pase caduca a los tres días”.
Configuración
Sección titulada «Configuración»
Elegir variable, la que se va a comprobar.
Comparar valor, con dos referencias:
- Fecha de creación – cuánto hace que existe.
- Fecha de última modificación – cuánto hace que cambió.
Elige tipo: Menor que o Mayor que.
Establecer fecha, el plazo contra el que se compara: un número o el nombre de otra variable (Valor o variable), y al lado un desplegable con la unidad: Milisegundos, Segundos, Minutos, Horas, Días, Semanas, Meses o Años. Un mes son 30 días y un año, 365. Si el plazo sale de una variable, su valor se toma en la unidad que hayas elegido: con un 3 y Horas, son tres horas. El botón del campo abre el selector de variables, con la fuente de esa variable de plazo (de qué tipo es y de quién se lee); aquí no hay casilla de «Usar el mismo furni o usuario».
No todas las variables sirven. Solo las que guardan esa fecha:
| Fecha de creación | Fecha de modificación | |
|---|---|---|
| De usuario y de furni | sí | sí, si guardan valor |
| Global | no | sí |
| De referencia | sí | sí, si la fuente guarda valor |
| De contexto | sí | sí, si guardan valor |
Internas (@) y inteligentes (~) |
no | no |
Un Eco no sirve aquí: la ventana te deja elegirlo, pero la condición no se cumple nunca con él. Usa la variable original.
Lo que no esté disponible sale en gris. Si necesitas medir el tiempo de algo que vive en una interna,
cópialo antes a una variable tuya. Y para salir de dudas con cualquier variable, la pestaña
Variables de :wired lo dice en las filas Has creation
time y Has update time.
Las de contexto nacen y mueren dentro de la misma ejecución, así que su edad no llega nunca a más que lo que tarde la pila en terminar: medirlas casi siempre es medir cero.
Cumplir condición si, con dos modos: Todas las variables coinciden —el de fábrica— o Alguna variable coincide. Solo importa cuando el objetivo son varios furnis o varios usuarios.
Escoge la fuente de la variable, de quién se lee: el desencadenante, los del selector, los de la señal… Con los ámbitos global y de contexto no aplica y las flechas se apagan.
Ejemplo
Sección titulada «Ejemplo»Un premio diario:
Pila A│├─ Causante: Click en Furni│ └─ Elige Furni ............................. Cofre del tesoro│├─ Condición: Edad de variable│ ├─ Elegir variable ......................... ultimo_premio│ ├─ Comparar valor .......................... Fecha de última modificación│ ├─ Elige tipo .............................. Mayor que│ └─ Establecer fecha ........................ 24 · Horas│├─ Efecto: Mensaje│ ├─ ¿Cuál es el mensaje? .................... "¡Premio diario recogido!"│ └─ Visibilidad del mensaje ................. Solo el usuario desencadenante│└─ Efecto: Cambiar valor de variable ├─ Escoge una variable ..................... ultimo_premio (ámbito usuario) ├─ Escoge una operación .................... Asignar ├─ Valor de referencia ..................... 1 └─ Escoge el objetivo de la variable ....... Usuario desencadenante¿Y si no se cumple? Cuelga de la misma pila un Ejecutar pilas Negativo apuntando a otra baldosa: esa segunda pila solo corre cuando la condición falla, y no necesita causante propio.
Si la variable no existe, no hay edad que medir y la condición no se cumple. Y como el efecto que la crea vive en esta misma pila, que no llega a ejecutarse, sin ayuda no cobraría nadie nunca: ni la primera vez ni las siguientes.
Por eso el premio diario son siempre dos pilas: una para la primera vez, con Contiene variable (Negativo), que da el premio y crea la variable; y esta para las siguientes.
Ojo con Dar variable marcando “Sobrescribir”. Eso no cuenta como cambiar el valor: cuenta como crear la variable otra vez, así que le pone la edad a cero por las dos fechas. Si tu espera se mide por fecha de creación y en algún sitio la re-das, la espera se reinicia sin que se note.
Si el plazo sale de otra variable y esa referencia no la tiene, la condición no se cumple. No se mide contra un 0. Con varios elegidos y varias referencias, cada elegido toma una de ellas, repartidas como en Cambiar valor de variable: lo cuenta Valor o variable.