randomNotrepeat funcion

Como indica el nombre del foro en el moveremos todos los temas de dudas que se resuelvan con exito .
Este foro no tendra permisos de escritura.
PIDO DISCULPAS AL COMENZAR CON ESTA INTRODUCCION....
jajajaj Meta pusiste el tema como resuelto :cabreado: :cabreado: jajajajajaj valla
pero mira que lo logre fue algo sencillo la verdad. no se si fue suerte o un error de rafax o talvez el tag de lua NO SE la verdad. el caso es que que el codigo de la funcion que rafax publico tiene esta linea.
n = math.random(min, max);
en donde al copiar asi como esta a la app math.random no lo reconoces como accion.... tal vez por esto siempre que se inicia de nuevo la app siempre arroja las mismas secuencias 5 2 3 4 6 , luego 8 7 9 10 1 5 y asi cada vez que comienza.. pero bueno repito fue sencillo es solo poner el correcto script de la funcion para que la reconozca (Creooo jaja) quedaria asi:
n = Math.Random(min, max);
de esta manera cada vez que se inicie la app arrojara siempre resultado distintos..... muy faciel eeeee
excelente rafax
gracias meta


AHORA SI LA DUDA DE ESTE TEMA :sorry:

entiendo bien la funcion o eso pienso pero amigo rafax como se supone que esta trabaje con archivos alojados en una carpeta si los valores de min max y nRet son numericos

jajajajaj vamos haber ... math.random es la funcion en pure lua:

http://www.lua.org/manual/5.1/es/

Yo siempre que puedo las uso porque me ahorro conversiones y ademas son mas rápidas , no se si sabes que el lua de AMS es un lua basado en lua 5.1 y adaptado para hacerlo mas facilon , pero por eso usar lua pure es mas rápido y mejor en todos los sentidos y admitido sin ningún problema.

rafaxplayer escribió:jajajajaj
El fue el que te cerro el tema! Yo que? ¬¬

Te sugeri apoyarte de un fichero externo, puedes revisar el comportamiento de cada inicio de la aplicacion, me refiero al random, lo grabas en un fichero .ini por ejemplo, ya con esos parametros pues lo tomas como "inicio" logico del random base y lo re-randomizas con la funcion del viejo este que te cerro el post :P mediante un filtro, puedes crear un loop para recursar cuantas veces sea necesario y no quieras que se te repita una secuencia.
serote escribió:entiendo bien la funcion o eso pienso pero amigo rafax como se supone que esta trabaje con archivos alojados en una carpeta si los valores de min max y nRet son numericos
Los ficheros deberan tener un nombre "numerico" o en su defecto mediante filtros tendras que hacer una empatia o conversion entre los nombres de los ficheros (string) a numeros, ejemplo:
sFicheroPath = "C:\\La carpeta de serote\\foto de serote.jpg";
if (String.SplitPath(sFicheroPath).Filename == "foto de serote") then
       nFicheroPath = "C:\\La carpeta de serote\\"..1..".jpg";
end
Otra manera es que todos los ficheros tengan un nombre secuencial, por ejemplo:

Foto de serote 1.jpg
Foto de serote 2.jpg
Foto de serote 3.jpg

Bla bla bla, entonces lo trabajarias poco diferente mediante un loop para cargar los ficheros que necesitas mediante la funcion del viejo.

Te advierto que son ejemplos divagantes, nada serio, asi que no me culpes si no te funkan. :)

Pongase a forzar su cerebro de serote! :pc: :pc: :pc: :pc: :pc: :)

Quiero ver ese ejemplo eh! A ver si es sierto que muy serot.

Saludos.

mira intente con este script
pero no carga ninguna imagen, y ya le cambie el nombre a las imagenes....
Image.Load("Image1","AutoPlay\\Images\\",(randomNotRepeat(1,10,6)));
pero META no se que es un loop no te entiendo.....
Gracias viejo

Vamos haber serot... la funcion que te hice retorna una tabla , como va a porocesar image.load una tabla a secas cuando requiere un string con la ruta de la imagen, debes leer mas sobre programacion y sobre lua en ams.

la cosa seria así suponiendo que tienes 6 imágenes en la interfaz las cuales se llaman "Imagenumeroquesea".
tablaConNumerosAleatorios=randomNotRepeat(1,10,6);
for x=1,6 do-- esto es un bucle o loop que te decia metafollen XD.
	n=tablaConNumerosAleatorios[x];
	Image.Load("Image"..x, "AutoPlay\\Images\\"..n..".png");
end

--o tambien...
tablaConNumerosAleatorios=randomNotRepeat(1,10,6);
Image.Load("Image1", "AutoPlay\\Images\\"..tablaConNumerosAleatorios[1]..".png");
Image.Load("Image2", "AutoPlay\\Images\\"..tablaConNumerosAleatorios[2]..".png");
Image.Load("Image3", "AutoPlay\\Images\\"..tablaConNumerosAleatorios[3]..".png");
Image.Load("Image4", "AutoPlay\\Images\\"..tablaConNumerosAleatorios[4]..".png");
Image.Load("Image5", "AutoPlay\\Images\\"..tablaConNumerosAleatorios[5]..".png");
Image.Load("Image6", "AutoPlay\\Images\\"..tablaConNumerosAleatorios[6]..".png");

Si rafax funciona
con la primera...el problema es que en la carpeta ella busca las primeras 5 imagenes para agregarlas pero el resto no...... solo agrega las imagenes con nombre image1...image2........hasta image5 y si no la encuentra simplemente no la agrega.......
pero no se que pasa si yo a la funcion le estoy indicando que son entre 1 y 10 imagen con un numero de repeticiones de 6 que son las imagenes alojadas en la interfaz....

fallo mio estaban mal los dos códigos ,ya están arreglados.

OK..... :yeah: :yeah:
Muchas gracias rafax eso era todo.........
pronto subire el ejemplo para que todos puedan observar la funcion.....
GRACIAS......