#✅ | Como funciona el ticker?

1 messages · Page 1 of 1 (latest)

dusk vigil
#

Podrias explicarme porfavor como funciona un ticker? quisiera que ejecuta una cadena de acciones pero despues de unos 5000ms.... como tengo que configurarlo?

honest mountainBOT
#

Voy a revisar cómo se configura el ticker para pasarte algo exacto y sin inventar nada 😄

honest mountainBOT
# dusk vigil Podrias explicarme porfavor como funciona un ticker? quisiera que ejecuta una ca...

Sí, claro 😄

En FancyMenu, un Ticker no es una “pausa” dentro de una cadena de acciones. Más bien es un elemento que se ejecuta repetidamente cada cierto tiempo.

Entonces hay 2 casos distintos:

1) Quieres que la cadena se ejecute cada 5000 ms

  • Añades un Ticker
  • Le pones Tick Delay = 5000
  • Dentro del Action Script metes tu cadena de acciones

Eso hará que se repita cada 5 segundos.

2) Quieres que la cadena se ejecute solo una vez después de 5000 ms
Ahí el ticker por sí solo no hace un “wait” directo. Lo normal es usar un contador:

  • Pones un Ticker con un delay corto, por ejemplo 50 ms
  • Ese ticker va sumando una variable, por ejemplo timer
  • Cuando timer llega a 100, ya pasaron aprox. 5000 ms
    porque 100 x 50 = 5000

Luego haces un IF:

  • si timer >= 100
    • ejecutas tu cadena de acciones
    • y si quieres, reseteas timer a 0

En resumen:

  • 5000 ms directo = repetir cada 5 segundos
  • una sola vez después de 5000 ms = ticker + variable contador + IF

Si quieres, te puedo escribir un ejemplo exacto paso a paso para:

  • que se ejecute una sola vez después de 5 segundos, o
  • que se repita cada 5 segundos 👍
dusk vigil
#

me puedes ayudar a hacer eso de la suma de la variable? porfavor necesito añadirla al principio de todo cierto?

honest mountainBOT
#

Voy a aclarar el setup de la variable para no liarla 🙌

honest mountainBOT
# dusk vigil me puedes ayudar a hacer eso de la suma de la variable? porfavor necesito añadir...

Sí, te ayudo 😄

Y no, no va al principio de todo el menú.
Va dentro del Ticker, en la parte que se ejecuta cada vez que el ticker corre.

La idea es esta:

  1. Crear una variable, por ejemplo timer
  2. Ponerla en 0
  3. En el ticker, primero hacer que suba +1
  4. Luego comprobar si ya llegó al número necesario
  5. Si sí, ejecutar tu cadena de acciones

Si tu ticker corre cada 50 ms, entonces:

  • 5000 ms / 50 ms = 100
  • o sea, cuando timer llegue a 100, ya pasaron unos 5 segundos

Puedes usar algo así para la suma:

timer:{"placeholder":"calc","values":{"expression":"{\"placeholder\":\"getvariable\",\"values\":{\"name\":\"timer\"}} + 1","decimal":"false"}}

Eso significa:

  • toma el valor actual de timer
  • súmale 1
  • guarda el resultado otra vez en timer

Cómo lo harías paso a paso:

  • Crea la variable timer
  • Dale valor inicial 0
  • En el Ticker
    • pon Tick Delay = 50
    • primero añade la acción para sumar timer + 1
    • después añade un IF
      • condición: timer >= 100
      • dentro del IF metes tu cadena de acciones
      • y si quieres que solo pase una vez, luego reseteas timer = 0

O sea, en corto:

  • No lo añades “al principio de todo”
  • lo añades dentro del ticker, en cada tick
  • Primero suma
  • Luego comprueba

Si quieres, te puedo escribir ahora mismo un ejemplo completo súper exacto, tipo:

  • ticker
  • variable
  • condición
  • y una acción de prueba

para que lo copies tal cual 😌

dusk vigil
#

ya entonces ayudame a crear el ticker desde 0 y agregar eso al "Edit Action Script" porfavor

honest mountainBOT
#

Estoy armando los pasos desde cero para que lo puedas copiar tal cual 😄

honest mountainBOT
# dusk vigil ya entonces ayudame a crear el ticker desde 0 y agregar eso al "Edit Action Scri...

Sí, obvio 😄 Vamos desde 0 y lo dejamos listo para usar.

La idea va a ser esta:

  • crear una variable timer
  • crear un Ticker
  • hacer que el ticker sume 1 cada vez
  • comprobar si llegó a 100
  • ejecutar tu cadena de acciones
  • resetear timer si quieres que se repita

Como el ticker va a correr cada 50 ms, entonces:

  • 100 x 50 ms = 5000 ms

1) Crear la variable

Primero crea una variable llamada:

timer

Y ponle valor inicial:

0

Si no la creas antes, el ticker no tendrá dónde guardar el conteo.

2) Crear el Ticker

Ve al editor de layout y crea un elemento nuevo:

  • clic derecho en el fondo
  • New Element
  • Ticker

3) Configurar el Ticker

Haz clic derecho al ticker y ponle algo así:

  • Tick Delay: 50
  • Tick Mode: Normal / continuo

Con eso el ticker se ejecuta muchas veces por segundo y sirve como contador.

4) Abrir Edit Action Script

Ahora haz clic derecho al ticker y entra en:

  • Edit Action Script

Ahí vas a meter la lógica.

5) Añadir la suma de la variable

Dentro del script:

  • clic derecho
  • Add Action
  • busca algo como Set Variable Value

Y ahí pones que timer aumente en 1.

El valor sería algo así:

timer:{"placeholder":"calc","values":{"expression":"{\"placeholder\":\"getvariable\",\"values\":{\"name\":\"timer\"}} + 1","decimal":"false"}}

Eso significa:

  • toma el valor actual de timer
  • súmale 1
  • guárdalo otra vez en timer

6) Añadir el IF

Después de esa suma, añade un IF:

  • clic derecho
  • Add IF Statement

La condición debe ser algo como:

  • timer >= 100

Porque con 50 ms por tick, 100 ticks son unos 5000 ms.

7) Meter tu cadena de acciones dentro del IF

Dentro de ese IF, pones las acciones que quieres que ocurran después de 5 segundos.

Por ejemplo:

  • abrir una pantalla
  • cambiar texto
  • mandar una acción
  • lo que necesites

8) Resetear el contador

#

Si quieres que vuelva a contar otra vez después de ejecutar la cadena, al final del IF añade:

timer:0

Así el contador vuelve a empezar.

Cómo debería quedar

Más o menos así:

Ticker
  -> Set Variable Value: timer = timer + 1
  -> IF timer >= 100
       -> tus acciones
       -> timer = 0

Muy importante

El orden sí importa:

  1. primero sumas
  2. luego compruebas
  3. luego ejecutas
  4. luego reseteas si quieres repetir

Si lo pones al revés, no va a funcionar como esperas.

Si quieres, en el siguiente mensaje te lo puedo escribir como un “script de ejemplo” ya rellenado, por ejemplo para que después de 5 segundos:

  • abra una pantalla,
  • active algo,
  • o ejecute una acción concreta que tú quieras 💛
dusk vigil
#

parece que el calculo de suma no funciona.... literalmente el valor de la variable timer se vuelve "timer:{"placeholder":"calc","values":{"expression":"{"placeholder":"getvariable","values":{"name":"timer"}} + 1","decimal":"false"}}"

honest mountainBOT
#

Voy a comprobar la sintaxis exacta porque eso pinta a que lo está tomando como texto plano 😅

honest mountainBOT
# dusk vigil parece que el calculo de suma no funciona.... literalmente el valor de la variab...

Sí, ya vi el problema 😅
Eso significa que FancyMenu está guardando el placeholder como texto plano, no como cálculo.

Lo más importante aquí es esto:

  • No uses la versión con \\\"
  • No lo metas en Manage Variables > Set Value
  • Hazlo en Edit Action Script
  • Y si puedes, inserta los placeholders con el botón de Placeholders, no escribiendo JSON escapado a mano

Prueba exactamente esto en la acción Set Variable Value del ticker:

timer:{"placeholder":"calc","values":{"expression":"{"placeholder":"getvariable","values":{"name":"timer"}} + 1","decimal":"false"}}

Ojo:

  • eso va tal cual
  • sin barras invertidas \
  • sin comillas extra alrededor de todo

Si al pegarlo te queda algo como esto:

timer:{\"placeholder\":\"calc\"...}

entonces ya está mal desde el principio, porque se volvió texto escapado.

Cómo debe quedar el ticker

Dentro de Edit Action Script:

  1. Set Variable Value

    • timer sube +1
  2. IF

    • condición: timer >= 100
  3. Dentro del IF

    • tus acciones
  4. Al final

    • timer:0 si quieres que repita

Si sigue fallando

Haz esta prueba rápida:

  • primero pon solo:
timer:1

Si eso funciona, entonces la acción está bien y el problema es solo el placeholder del cálculo.

Si quieres, te hago ahora mismo una versión paso a paso con clicks exactos de cómo meter ese calc desde el editor, sin escribir el JSON a mano 🙌

dusk vigil
#

YA FUNCIONA CORRECTAMENTE! muchas gracias! AHORA ME GUSTARIA QUE AL FINAL hubiera algun factor para que pare el calculo.... osea me gustaria que suceda esto:

PRIMERO:la logica para que vaya sumando con el ticker
SEGUNDO: mi cadena de acciones
TERCERO: que pare el ticker

es posible esto? ayudame porfavor 🙏🙏🙏

honest mountainBOT
#

Voy a confirmar la forma correcta de parar el ticker para decírtelo bien 🙏

honest mountainBOT
# dusk vigil YA FUNCIONA CORRECTAMENTE! muchas gracias! AHORA ME GUSTARIA QUE AL FINAL hubier...

Sí, totalmente es posible 🙌😄
Y la forma más limpia suele ser esta:

1. el ticker suma
2. llega a 100
3. ejecuta tu cadena de acciones
4. al final desactiva el layout donde está ese ticker

Así el ticker deja de correr porque el layout ya no está activo.

La opción más recomendable

Si puedes, mete ese ticker en un layout separado solo para esa lógica.
Luego, al final de tu IF, añade la acción:

  • Disable Layout
  • seleccionas el nombre de ese layout

Según la docs, FancyMenu sí tiene la acción disable_layout para desactivar layouts.

Cómo quedaría la lógica

Algo así:

Ticker
  -> Set Variable Value: timer = timer + 1
  -> IF timer >= 100
       -> tu cadena de acciones
       -> Disable Layout: [nombre de tu layout]

Importante

Pon el Disable Layout al final del todo, después de tu cadena de acciones.
Así te aseguras de que primero haga todo y luego se apague.

Si quieres algo todavía más seguro

Puedes usar una segunda variable, por ejemplo timer_done, pero en tu caso normalmente no hace falta si desactivas el layout al final.

Resumen rápido

  • Sí se puede
  • La mejor forma es:
    • ticker dentro de un layout propio
    • ejecutar acciones
    • luego Disable Layout

Si quieres, te lo escribo ahora mismo en formato de pasos exactos dentro de Edit Action Script, tipo:

  • Add Action
  • Add IF
  • dónde poner cada cosa
    para que lo copies tal cual 😄
dusk vigil
#

pero el layout propio cargará incluso si no está presente? tal vez no.... tambien me gustaria saber como puedo hacer para que la variable se reinicie cada vez q reinicio el juego

honest mountainBOT
#

Ya tengo la idea clara: te confirmo si el ticker necesita un layout cargado y cómo dejar la variable reseteada al arrancar 👌

honest mountainBOT
# dusk vigil pero el layout propio cargará incluso si no está presente? tal vez no.... tambie...

Sí, justo así 😄

Si el layout no está cargado, el ticker no corre.
O sea, un layout normal con ticker solo funciona cuando ese layout está activo para la pantalla en la que estás. Si lo pones en un layout que solo aplica a una pantalla concreta, entonces fuera de esa pantalla no va a hacer nada.

Entonces, para tu caso

Lo más práctico es esto:

  • dejar el ticker en el mismo layout donde lo necesitas
  • cuando llegue al final:
    • ejecutar tu cadena de acciones
    • marcar una variable como terminado
    • si quieres, desactivar ese layout

Así no dependes de que “siga vivo” fuera de la pantalla.

Sobre reiniciar la variable cuando reinicias el juego

La documentación no me muestra un “reset automático” de variables al iniciar Minecraft como una opción directa.
Pero sí puedes hacerlo de forma segura cuando se abre la pantalla donde usas el ticker.

Por ejemplo, al abrir esa pantalla, haces:

timer:0
timer_done:false

Eso te deja todo limpio cada vez que entras.

La forma más limpia para ti

Te recomiendo esta estructura:

Al abrir la pantalla

  • timer = 0
  • timer_done = false

En el ticker

  • si timer_done es false
    • timer = timer + 1
    • si timer >= 100
      • ejecutas tu cadena de acciones
      • timer_done = true

Así:

  • no se repite
  • no depende de que el juego se reinicie
  • cada vez que entres a la pantalla vuelve a empezar desde cero

Si quieres borrar todo de golpe

FancyMenu también tiene la acción:

  • Clear All Variables

Pero ojo, eso borra todas las variables, no solo timer.
Yo solo la usaría si de verdad te da igual resetear todo.

Resumen corto

  • , el ticker necesita que el layout esté cargado
  • No, no correrá si el layout no está activo
  • Para reiniciar timer, pon timer:0 cuando se abra la pantalla
  • Para evitar repeticiones, usa timer_done:false/true
#

Si quieres, te escribo ahora mismo el script completo exacto, separado en:

  1. On Open
  2. Ticker
  3. IF final
  4. Reset

para que lo copies tal cual 🙏

dusk vigil
#

lo que ocurre es que yo lo uso en la pantalla principal.... ahora como hago?

honest mountainBOT
#

Estoy ajustando la solución para la pantalla principal, que ahí cambia un poco el enfoque 😄

honest mountainBOT
# dusk vigil lo que ocurre es que yo lo uso en la pantalla principal.... ahora como hago?

Sí, ahí cambia un poquito el enfoque 😄

Como lo estás usando en la pantalla principal, lo mejor es no desactivar todo el layout del menú, porque entonces también se te irían las cosas visuales del menú.

Lo que te recomiendo

Haz esto:

  • el ticker vive en la pantalla principal
  • al abrir esa pantalla, reinicias las variables
  • cuando llega al final, pones una variable tipo timer_done = true
  • y el ticker deja de hacer lógica

Estructura ideal

Variables

Crea estas 2:

timer = 0
timer_done = false

Al abrir la pantalla principal

En el evento de apertura del Title Screen, pon:

timer:0
timer_done:false

Eso hace que cada vez que vuelvas al menú principal, empiece limpio.

En el ticker

La lógica sería:

  1. si timer_done es false
  2. suma timer
  3. si timer >= 100
    • ejecuta tu cadena de acciones
    • pon timer_done = true

Así el ticker no sigue repitiendo la acción.

¿Y si quieres que se reinicie al volver al menú?

Perfecto, porque la pantalla principal se abre otra vez y ahí vuelves a poner:

timer:0
timer_done:false

Importante

Si haces Disable Layout sobre el layout principal del menú:

  • se te puede desactivar también el menú customizado
  • por eso no te lo recomiendo si el ticker está dentro del mismo layout del Title Screen

Resumen rápido

Para la pantalla principal, lo mejor es:

  • al abrir la pantalla: resetear variables
  • en el ticker: contar
  • al llegar al valor: ejecutar acciones
  • después: timer_done = true

Si quieres, te lo puedo escribir ahora mismo en formato súper simple y exacto, como:

  • qué poner en el evento de apertura
  • qué poner en el ticker
  • y cómo queda el IF final

para que lo copies tal cual 😌

dusk vigil
#

ok te voy a explicar cual era mi miedo.... lo que ocurre es que yo pensaba que el ticker estaba activo si se cargaba el layout y seguia activo para siempre... pero parece que no, solo lo hace en la pantalla de inicio... muy aparte queria preguntarte si el ticker consume algun tipo de recurso

honest mountainBOT
#

Voy a confirmar lo del consumo del ticker para decirte algo bien seguro 🙂

honest mountainBOT
# dusk vigil ok te voy a explicar cual era mi miedo.... lo que ocurre es que yo pensaba que e...

Sí, tu miedo era bastante lógico 😅 pero en FancyMenu funciona más como te dijo antes el patrón del layout:

  • el ticker está activo mientras el layout/pantalla donde vive está cargado
  • si sales de esa pantalla, deja de correr
  • no se queda “trabajando para siempre” en segundo plano

Así que si lo tienes en la pantalla principal, solo corre mientras estás en el menú principal.

¿Consume recursos?

Sí, pero normalmente muy poco si lo usas bien.

Lo que más afecta es:

  • cada cuánto corre el ticker
  • cuántas acciones hace
  • si usa placeholders complejos
  • si lo tienes corriendo sin necesidad

En tu caso

Si tu ticker solo hace algo como:

  • sumar una variable
  • comprobar si llegó a cierto número
  • ejecutar una cadena una sola vez

entonces el consumo suele ser bajo 👍

Para mantenerlo ligero

Te recomiendo esto:

  • usar un Tick Delay razonable, por ejemplo 50 ms o más
  • hacer que el ticker haga solo lo mínimo necesario
  • usar una variable tipo timer_done para que no siga trabajando después de terminar

Resumen corto

  • No, no se queda activo para siempre
  • , consume algo de recursos
  • pero si solo está en el menú principal y hace una lógica simple, el impacto suele ser mínimo

Si quieres, te puedo ayudar a dejarlo en una versión “ligera” para que consuma lo menos posible 😄

dusk vigil
#

no te preocupes... ahora no se si me podrias ayudar con otro favor... me gustaria que me ayudes a programar un ticker para que este renderice de manera continua (cada 50ms por ejemplo) una variable, si ésta se actualiza se actualizará tambien gracias al ticker en tiempo real... se puede hacer eso?

honest mountainBOT
#

Voy a revisar si hace falta ticker para eso o si el texto ya se actualiza solo con el placeholder 😄

honest mountainBOT
# dusk vigil no te preocupes... ahora no se si me podrias ayudar con otro favor... me gustar...

Sí, se puede, pero hay un detalle importante 😄

El ticker no se usa para “renderizar” el texto en sí.
Normalmente se usa para actualizar la variable, y luego el texto la muestra con un placeholder.

Si solo quieres mostrar una variable en tiempo real

No necesitas ticker para eso.

En un texto o label, pon algo así:

Valor: {"placeholder":"getvariable","values":{"name":"timer"}}

Si timer cambia, el texto debería mostrar el nuevo valor.

Si quieres que la variable cambie cada 50 ms

Ahí sí usas un ticker.

Ejemplo de idea:

  • Ticker cada 50 ms
  • dentro del ticker:
    • recalculas o cambias la variable
  • el texto usa getvariable
  • entonces ves el valor actualizado

En resumen

  • Para mostrar una variable: no hace falta ticker
  • Para actualizar una variable cada 50 ms: sí hace falta ticker
  • Para ver el cambio en pantalla: usa getvariable en el texto

Ejemplo simple

Si tienes una variable llamada timer, el texto sería:

Timer: {"placeholder":"getvariable","values":{"name":"timer"}}

Y si el ticker hace esto:

  • timer = timer + 1

entonces el texto irá reflejando ese número.

Si quieres, te puedo armar ahora mismo un ejemplo completo de:

  • variable timer
  • ticker cada 50 ms
  • texto mostrando el valor en vivo 😌
dusk vigil
#

podrias darme un ejemplo de ambas funciones porfavor? la variable que quiero renderizar se llama: "remote_version"

honest mountainBOT
#

Voy a armarte dos ejemplos con remote_version: solo mostrarla y actualizarla con ticker 👌

honest mountainBOT
# dusk vigil podrias darme un ejemplo de ambas funciones porfavor? la variable que quiero ren...

Sí, obvio 😄 Te dejo los 2 ejemplos con remote_version.

1) Solo mostrar remote_version en un texto

Si lo único que quieres es verlo en pantalla, en un Text element pon esto:

Versión remota: {"placeholder":"getvariable","values":{"name":"remote_version"}}

Eso mostrará el valor actual de la variable remote_version.

Ejemplo:

  • si remote_version = 1.2.3
  • verás: Versión remota: 1.2.3

2) Usar un Ticker para actualizar remote_version

Esto sirve si quieres que la variable se refresque cada cierto tiempo.

Opción ejemplo simple

Crea un Ticker y dentro de Edit Action Script pon:

  • Tick Delay = 50

Y en el script:

remote_version:{"placeholder":"getvariable","values":{"name":"version_cache"}}

Eso hace que cada 50 ms:

  • el ticker lea version_cache
  • y copie ese valor dentro de remote_version

Luego tu texto de arriba mostrará el cambio automáticamente.

Estructura completa

Variable que se muestra

Versión remota: {"placeholder":"getvariable","values":{"name":"remote_version"}}

Ticker

remote_version:{"placeholder":"getvariable","values":{"name":"version_cache"}}

Importante

remote_version por sí sola no “saca” una versión de la nada.
El ticker tiene que tomar el valor desde algún sitio, por ejemplo:

  • otra variable como version_cache
  • un placeholder dinámico
  • una respuesta de request, si la estás guardando en una variable

Si quieres lo más práctico

Si remote_version cambia solo de vez en cuando, no hace falta hacerlo cada 50 ms.
Normalmente con 200 ms, 500 ms o 1000 ms ya va bien y consume menos.

Si quieres, te puedo hacer ahora mismo un ejemplo completo con:

  • remote_version
  • version_cache
  • el ticker
  • y el texto listo para copiar 😄
dusk vigil
#

y una pregunta... tu crees que lea mal primero el archivo porq es un archivo .json? si fuera un archivo .toml o .txt lo leeria mas rapido? o lo leeria correctamente?

honest mountainBOT
#

Voy a comprobar si FancyMenu lee archivos como texto plano o si depende del formato, para decirte algo bien seguro 🙂

honest mountainBOT
# dusk vigil y una pregunta... tu crees que lea mal primero el archivo porq es un archivo .js...

Sí, te entiendo 😄

La respuesta corta es: no suele ser por ser .json.
Lo que más importa es cómo lo estás leyendo y qué placeholder usas.

Lo importante

Si estás usando el placeholder de JSON en FancyMenu, entonces:

  • el archivo tiene que ser JSON válido
  • y el json_path tiene que apuntar bien

Ahí el problema no es la extensión, sino el contenido o la ruta.

Si lo guardas como .txt

Si solo quieres una cosa simple como remote_version, entonces .txt suele ser la opción más simple y ligera 👍

Ejemplo de .txt:

1.2.3

Eso es más fácil de leer que un JSON si solo quieres un valor.

¿Y .toml?

Ahí tengo que ser claro: FancyMenu no documenta soporte directo para TOML como formato especial.

O sea:

  • como texto plano, sí podrías leerlo
  • pero FancyMenu no lo va a interpretar como TOML automáticamente

¿Va más rápido?

En teoría:

  • TXT suele ser lo más simple
  • JSON tiene que parsear estructura
  • la diferencia real normalmente es mínima si el archivo es pequeño

Así que si me preguntas qué te conviene para remote_version:

  • si solo necesitas una versión, usa .txt
  • si necesitas más datos estructurados, usa .json

Mi recomendación para tu caso

Para remote_version, yo usaría:

remote_version.txt

con una sola línea dentro, por ejemplo:

1.20.4

Eso es lo más limpio y fácil de leer.

Si quieres, te puedo decir exactamente cuál de los dos métodos te conviene más según cómo estás obteniendo remote_version ahora mismo 😌

dusk vigil
honest mountainBOT
#

Voy a confirmar la sintaxis exacta para leer un .txt desde URL y te la dejo lista para pegar 😄

honest mountainBOT
# dusk vigil podrias armarme el placeholder del siguiente archivo .txt? https://raw.githubus...

Sí claro 😄
Para ese .txt de GitHub, el placeholder sería este:

{"placeholder":"webtext","values":{"link":"https://raw.githubusercontent.com/Kart0/mc1.5_multiplayer_experience/refs/heads/main/version/latest.txt"}}

Si lo quieres ya puesto en un texto del menú, sería así:

Versión remota: {"placeholder":"webtext","values":{"link":"https://raw.githubusercontent.com/Kart0/mc1.5_multiplayer_experience/refs/heads/main/version/latest.txt"}}

Si quieres, también te lo puedo adaptar para que:

  • compare esa versión con otra variable
  • o te diga si la versión es distinta y muestre “actualización disponible” 👍
dusk vigil
#

mmm y podrias darme un funcion para un ticker? me gustaria que cada "x" valor del timer actualizara el valor de una variable... como tendria que hacerlo? quiero forzar eso porfavor 🙏🙏🙏

honest mountainBOT
#

Voy a confirmar si el calc soporta módulo para hacerlo justo como quieres 🙏

honest mountainBOT
# dusk vigil mmm y podrias darme un funcion para un ticker? me gustaria que cada "x" valor de...

Sí, claro 🙏😄
Y para hacerlo bien forzado, lo más limpio es usar un contador + reset, no módulo.

La idea

  • timer va subiendo en el ticker
  • cuando timer llega a X
  • actualizas remote_version
  • reseteas timer a 0

Eso te obliga a refrescar cada cierto número de ticks.

Ejemplo

Si tu ticker corre cada 50 ms:

  • 20 ticks = 1 segundo
  • 100 ticks = 5 segundos

Variables

Crea:

  • timer = 0
  • remote_version = tu variable destino

Ticker

Configura el ticker con:

Tick Delay = 50

Action Script del ticker

La lógica sería así:

1) Sumar timer

timer:{"placeholder":"calc","values":{"expression":"{"placeholder":"getvariable","values":{"name":"timer"}} + 1","decimal":"false"}}

2) IF timer >= X

Por ejemplo, si quieres actualizar cada 20 ticks:

  • 20 x 50 ms = 1000 ms

Dentro del IF pones:

remote_version:{"placeholder":"webtext","values":{"link":"https://raw.githubusercontent.com/Kart0/mc1.5_multiplayer_experience/refs/heads/main/version/latest.txt"}}

y luego:

timer:0

Quedaría así

Ticker
  -> timer = timer + 1
  -> IF timer >= 20
       -> remote_version = webtext(URL)
       -> timer = 0

Si quieres cada 5 segundos

Pon:

IF timer >= 100

porque:

  • 100 x 50 ms = 5000 ms

Importante

No te recomiendo depender de % o módulo aquí, porque no te lo puedo confirmar como soportado en FancyMenu.
Con contador + reset te funciona seguro 👍

Si además quieres mostrarlo en pantalla

En un Text element pon esto:

Versión remota: {"placeholder":"getvariable","values":{"name":"remote_version"}}

Así el texto se actualizará cuando el ticker cambie la variable.

Si quieres, te puedo armar ahora mismo el script completo ya listo para copiar, con un valor exacto de X según cada cuántos segundos quieres refrescarlo 😌

honest mountainBOT
#

✅ | Como funciona el ticker?