KeKo Posted December 24, 2012 Report Share Posted December 24, 2012 Buenas gente, hoy me he encontrado con esta pregunta en un post y me ha parecido buena la idea de añadir este mini tuto al curso de creacion de quests para todos aquellos que teneis problemas usando el math.random ser aque me puedes dar una idea de el math random nunk eh podido hacer funcionar uno de antemanos gracias Claro, este comando: math.random(numero,numero) Lo que hace es que cuando este comando se active el juego eliga un número aleatorio comprendido dentro de dos valores que tu estableces en el paréntesis, de modo que: math.random(1,10) El numero sera un número aleatorio entre 1 y 10 (incluidos ambos) y si lo pones así: math.random(5,50) Pues igual entre 5 y 50, o con los números que tu quieras. Es un comando que se suele utilizar dentro de un local: local hola = math.random(1,100) Ya que como es un comando que te envia un valor diferente cada vez lo normal es que se use un local (o sea algo que permita diferentes resultados). Entonces una vez tenes puesto tu local con su math random y los números que quieres que sea posible que salgan cuando el juego eliga el número cada vez simplemente tenemos que ponerle una condición: local hola = math.random(1,4) if hola == 1 then chat("Posibilidad 1") elseif hola == 2 then chat("Posibilidad 2") elseif hola == 3 then chat("Posibilidad 3") elseif hola == 4 then chat("Posibilidad 4") end Como ves usando condiciones (if y elseif) podemos asignar una accion a cada uno de los numeros que pueden salir en el math.random . De este modo cada vez que tu actives el math random y salga el numero 1 te saldra el primer texto, si en cambio sale el 2 te saldrá el segundo y así sucesivamente. Y te preguntaras: para que sirve eso? Pues la mayor utilidad de los math.random es conseguir acciones aleatorias, lo que se suele a la hora de dar recompensas, hacer drops via quest, y muchas otras cosas más. Volviendo estrictamente a tu pregunta, en la quest que te hice yo para configurar el drop simplemente tenes que poner más o menos números dentro del rango del math.random. local porc = math.random(1,100) if porc <= 5 then Como ves yo he puesto un rango de 1-100 y le he puesto que la condicion se active solo si el número que lanza el juego es igual o menor a 5, y como el rango es de 100 eso corresponde a un 5%. local porc = math.random(1,100) if porc == cualquiernumero then En esto caso, si usas un igual a da igual el número que pongas ya que el drop siempre será del 1%, porque solo escojes un número de los 100 posibles que pueden salir. Y espero que esto te haya ayudado a resolver tus dudas sobre los math.randoms stein20, SeMa™, Elite™ and 2 others 5 Link to comment Share on other sites More sharing options...
pepineitor Posted January 28, 2013 Report Share Posted January 28, 2013 No es lo mismo numer(x, yo) ?? Ex: quest loteria begin state start begin when xx.chat begin local s = number(1, 10) if s == 1 then say("Que suerte!") else say("No has tenido suerte") end end end Entoces con math random seria No es lo mismo numer(x, yo) ?? quest loteria begin state start begin when xx.chat begin local s = math.random(1, 10) if s == 1 then say("Que suerte!") else say("No has tenido suerte") end end Si no es eso corrigeme :3 Link to comment Share on other sites More sharing options...
KeKo Posted January 28, 2013 Author Report Share Posted January 28, 2013 Claro, es lo mismo. Ambas funciones tienen como resultado un número aleatorio dentro de un rango que tu le indicas, solo que yo toi mas acostumbrado a usar el math random que el number y por eso es del que hago la mini guia. Link to comment Share on other sites More sharing options...
stein20 Posted January 28, 2013 Report Share Posted January 28, 2013 va keko gracias no había entrado a leer mucho en estos días ando cuadrando algunas cosillas y tengo paralizado esto pero de verdad gracias Link to comment Share on other sites More sharing options...
Recommended Posts