[Resuelto] Texto aleatorio de una estructura

Hola a todos! Llevo dias intentando extraer el valor de una variable de forma aleatoria en una estructura. Adjunto las imagenes a continuacion.

  1. El objetivo es hacer que un texto se cambie al valor aleatorio de la estructura cuando se hace click.

  2. La estructura “objetos” tiene tres variables hijas. El texto se modificaria a una de las tres “variables Hijas” Aleatorias.

  3. Este es el problema que no logro resolver. La condicion es que cada vez que se haga un click, el texto cambie a una de las variables Hijas. Y la accion "cambiar el texto de ejemplo: Establecer a … "
    Al momento de “establecer a …”, lo he intenentado de varias formas pero ninguna funciona, por ejemplo “VariableString(objetos)” “Random(VariableString(objetos))”

Quisiera saber si es posible hacerlo y cual seria el comando directo para la accion en “establecer a …” Solo me permite mostrar una imagen en el post.

Muchas gracias por su ayuda!!!

Hola,
Si añades un “1” al fin del nombre del primer hijo, podras usar la funcion Random(), mas o menos asi:
cambiar el texto de ejemplo: Establecer a: VariableString(objetos[“ChildVariable”+ToString(1+Random(2))])

Como se puede ver en nuestro wiki:
https://wiki.gdevelop.io/gdevelop5/all-features/variables#array

Hola Gruk!
Disculpa la tardanza.
Hice la prueba, al primer hijo le añadi el 1, “ChildVariable1” e intente correr la misma condicion, un click y cambia el texto a la variable hija aleatoria, pero sigue sin dar resultado.

Al dar el click, el texto simplemente desaparece. Veo que la wiki da como ejemplo la misma forma de la accion pero sigue sin funcionar.
Dado que la condicion y accion son “simples” y unicas, que podra fallar? Agregue nuevas hijas suponiendo que era la cantidad pero tampoco.
Muchas gracias por tu ayuda!

Prueba con este:
VariableString(objetos[“ChildVariable”+ToString(RandomInRange(1, 3))])

1 Like

Hola NJoel! Gracias por tu respuesta.
Hice la prueba, mismas condiciones, un click que se ejecuta una vez y el texto cambia a la variable aleatoria, pero no da resultado. Se obtiene lo mismo, al dar click el texto no cambia, solo desaparece.

Asi esta la estructura, cada hija contiene un numero sucesivo y el valor es el texto.
La idea es extraer un valor de texto aleatorio que se muestre en pantalla y que existan CIENTOS de valores posibles para que el jugador vea.
Hay un ejemplo dentro de gdevelop pero que utiliza la forma (“ejemplo1”, “ejemplo2”, “ejemplo3”) pero creo que rellenar con cientos de posiblidades es poco eficiente en comparacion de la estructura.

Muchas gracias! Quedo atento a cualquier respuesta.

Edit: Ahorita haciendo pruebas me di cuenta que el foro de GDevelop cambia las comillas.
Intenta de nuevo con el siguiente codigo. (Cambié las comillas)

VariableString(objetos["ChildVariable"+ToString(RandomInRange(1, 3))])

1 Like

Funciona!!
Muchas gracias por resolverlo, ahora puedo continuar :smiley:
Quisiera preguntarte una cosa mas, me surgio una inquietante duda, sera posible hacer que el valor que se obtiene no se repita? Creo que en ningun ejemplo vi algo parecido.

Nuevamente, muchas gracias NJoel!

Hola, que bien que te haya funcionado!!!
Con respecto a tu otra pregunta…
Tal vez no sea la mejor solución y puede ser confuso, pero funciona perfectamente:

1 Like

Hola nuevamente! y gracias otra vez :smiley:
Acabo de probarlo, copie exactamente igual el codigo, pero no se si es un error mio con el valor de las tres variables, como valor inicial tengo:


no estoy seguro de que valor inicial debo darle a cada una o si estas deben tener un valor vacio.

Y algo nuevo que sucede es que el click debe durar una fraccion de segundo o es como si se cambiaran tres valores en el mismo click, a pesar de tener el trigger one, quizas eso causa el mal funcionamiento, no se si tiene relacion con el valor de cada variable.

Desde ya, muchas gracias por todo tu tiempo Joel, estas siendo de muchisima ayuda.

PD: If you prefer i can speak english too, i see that your posts are usally in english :smiley:

Hola, no te preocupes, me encanta la comunidad de GDevelop y cualquier aporte que pueda dar es algo importante para mi.

Con respecto al codigo:
Exacto no debes ponerle ningun valor inicial a las 3 variables, debes dejar eso en blanco.
Con respecto a las variables, en efecto se cambian las 3 variables (casi) en el mismo click, no creo que importa el trigger once.

Y lo del ultimo, no te preocupes, jaja yo hablo español, lo que sucede es que simpre hago las publicaciones en Inglés, porque ahi hay mas gente activa. (Aparte de que utilizo traductor para publicar alli)

Te agradezco toda la ayuda! Puedo decir que es un caso resuelto.

Esperemos ver que la comunidad hispana siga creciendo, que gran trabajo han hecho en GDevelop!

atte: Pablo.

2 Likes