Yori Publicado 20 de Junio del 2013 Reportar Compartir Publicado 20 de Junio del 2013 Wenas a todos!! esta seccion esta un poco muerta la verdad, asique he decidido compartir una funcion para no tener que dejarse la vista en ver cuantos ceros o cifras tiene un numero cuando lo vemos en una quest, ad+ de que queda como mas profesional xD. Weno, dejo una imagen del resultado. para que si os parece una tonteria os ahorreis seguir leyendo xD captura para que veais como se usa la funcion, aunque tmb se puede usar asignando el valor a otra variable y despues mostrando esa variable, aunque es desaconsejable, ya que esto es simplemente visual, ya uqe en el momento que se le añaden los puntos el numero deja de ser un integer(numero) y se transforma en string(letras) por lo que no podreis sumarle nada ni cosas de esas. para implementar esta funcion solo debeis añadirla a vuestro questlib.lua, no importa si es arriba o abajo o en el centro, siempre que no la metais dentro de otra funcion que este por alli xD. function puntosMiles(a) local b ="" local c local d ="" if a < 1000 then return a end for h=3,string.len(a),3 do if a >= 1000 then b=math.floor(a/1000) c=math.mod(a,1000) a=b if c == 0 then d=".000"..d elseif c <= 9 then d = ".00"..c..d elseif c <= 99 then d = ".0"..c..d else d = "."..c..d end else break end end return (b..""..d) end Nota: recordad que debeis añadir el nombre de la funcion al "quest_function" , y si no teneis añadidas las funciones "math.floor","math.mod" y "string.len" añadirlas tambien, ya que son parte de las librerias de lua que tienen todos los servers. Pues creo que eso es todo, si teneis alguna duda... preguntar!!! xD Saludos, Yori Citar Enlace para comentar Compartir en otros sitios Mas opciones de compartir...
Rafa23Alzira Publicado 20 de Junio del 2013 Reportar Compartir Publicado 20 de Junio del 2013 Muy buena Yori, pero no me quedo muy claro como sería para usarla, tienes que hacer un local obligado o poniendo numeros ya sale solo? Citar Enlace para comentar Compartir en otros sitios Mas opciones de compartir...
Yori Publicado 20 de Junio del 2013 Author Reportar Compartir Publicado 20 de Junio del 2013 tambien puedes poner numeros, pero lo normal es que el valor que quieres mostrar ya lo tengas en alguna variable, como es mi caso, pero tambien podrias poner en la funcion envez de una variable un numero, y quedaria asi "puntosMiles(123345)" , pero recuerda que la funcion no muestra en pantalla, es decir devuelve el valor, si quieres mostrarlo en pantalla tienes que hacerlo con un say, como he hecho en la imagen o de esta otra forma, pero es peor, porque declaras una variable innecesaria: local a = puntosMiles(1234567) say(a) Saludos Citar Enlace para comentar Compartir en otros sitios Mas opciones de compartir...
Rafa23Alzira Publicado 20 de Junio del 2013 Reportar Compartir Publicado 20 de Junio del 2013 Creo que no me he explicado bien sorry, digo por ejemplo si haces esto say("El item te costara 1000000 de Yang") En la quest saldría El item te costara 1.000.000 de Yang o saldría El item te costara 1000000 de Yang Citar Enlace para comentar Compartir en otros sitios Mas opciones de compartir...
Yori Publicado 20 de Junio del 2013 Author Reportar Compartir Publicado 20 de Junio del 2013 tendrias que hacerlo asi say("El item te costara "..puntosMiles(100000000).." de yang") Pero no tiene sentido usarlo asi, porque para eso lo pones directamente con puntos y ya sta Citar Enlace para comentar Compartir en otros sitios Mas opciones de compartir...
Sneidder Publicado 20 de Junio del 2013 Reportar Compartir Publicado 20 de Junio del 2013 sistema de subastas esta bueno. yo lo tenia en web usando un cms de subastas , Citar Enlace para comentar Compartir en otros sitios Mas opciones de compartir...
Rafa23Alzira Publicado 20 de Junio del 2013 Reportar Compartir Publicado 20 de Junio del 2013 tendrias que hacerlo asi say("El item te costara "..puntosMiles(100000000).." de yang") Pero no tiene sentido usarlo asi, porque para eso lo pones directamente con puntos y ya sta También es verdad, me lié yo solo coño... xd Citar Enlace para comentar Compartir en otros sitios Mas opciones de compartir...
pepineitor Publicado 20 de Junio del 2013 Reportar Compartir Publicado 20 de Junio del 2013 Esa función ya existe, por Mijago. function numtomoney(num) local num,out,x = tostring(num),'',0 while string.len(num)-3 > 0 do out = string.gsub(num,'.-(%d%d%d)$','.%1')..out num = string.sub(num,0,string.len(num)-3) end return num..outendSalu2. Citar Enlace para comentar Compartir en otros sitios Mas opciones de compartir...
Croqueta Publicado 26 de Agosto del 2013 Reportar Compartir Publicado 26 de Agosto del 2013 @pepineitor la funcion de mijago no es perfecta, esa funcion no revisa a errores, ise una similar q captura errores si das algo mal function num(a) if type(tonumber(a))~='number' then error('bad argument in function') end local function reverse(a) str='' for letter in string.gfind(a,'.') do str = letter.. str end return str end res= reverse(reverse(a):gsub('(%d%d%d)','%1.')):gsub('^%.','') return tonumber(a) > 0 and res or error('value more than 0 [value+1]')end Citar Enlace para comentar Compartir en otros sitios Mas opciones de compartir...
Mensajes recomendados
Unirse a la conversación
Puedes publicar ahora y registrarte más tarde. Si tienes una cuenta, regístrate para publicar con su cuenta.