Anuncios Google

Todas las funciones desconocidas de LUADev

Todas las funciones desconocidas de Lua Dev

por Death Bucle

 

Hola a todos ^^

Vereís. Me he dado cuenta de que ha causa de que el manual de LuaDev está desactualizado, hay funciones en LuaDev recientemente implementadas que se desconocen. Por ello, haré un listado de las funciones de LuaDev que ya conozco y que no aparecen en el manual. A ver si me podeís indicar cuales faltan y así por lo menos tener una referencia para las funciones de LuaDev que no aparecen en el manual pero que aún así también podremos utilizar con el Eboot de LUADev más moderno. Te dejo también el manual de LUADev más reciente. Tienes al final del post todos los archivos para descarga directa desde el servidor privado de Scenebeta ;)

Por si acaso lo prefieres te dejo aquí las descargas desde mi cuenta de Ubuntu One (también son de descarga directa):

Eboot más moderno de LUADev

Manual más moderno de LUADev


 

Funciones desconocidas:

 

Módulo 3D:

model.load( "ruta" ) --carga un archivo .obj con su respectivo mtl (texturas y colores)
model.position( x, y, z ) --coordenadas x, y, z
model.rotation( x, y, z ) --ángulo de rotación x, y, z en radianes (math.rad para convertir de grados a radianes)
model.blit() --blitea el modelo en pantalla (no necesita ningún parametro)

Notas:

Transparencia: Para usar modelos 3D transparentes hay que crear primero el modelo 3D con partes transparentes. Luego exportarlo desde Sketchup y añadir este código: Modelo:alpha().

Cargar un modelo: Al cargar un modelo este debe estar dentro de una carpeta, de lo contrario crashea.

Las funciones position, rotation y blit necesitan que especifiquemos el modelo sobre el que queremos trabajar. Su uso es parecido al de las funciones para imágenes, a saber:

--Cargar modelo:
modelo = model.load( "carpeta/modelo.obj" )
 
--Para usarlo:
modelo:position( x, y, z )
modelo:rotation( x, y, z )
modelo:blit()

El origen está en el centro de la pantalla de la PSP. Los sentidos positivos de cada eje son: X hacia la derecha, Y hacia arriba y Z hacia atrás (hacia fuera de la pantalla de la PSP).

Las rotaciones son respecto al eje de coordenadas original del objeto (cuando lo creamos MUCHO cuidado con esto).

Módulo Files:

files.encrypt( archivo, contraseña ) --encripta un archivo
files.decrypt( archivo, contraseña ) --desencripta un archivo

Notas:

Contraseña: Si no se especifica la contraseña, el archivo se encriptará con la contraseña interna de LUADev. Un archivo encriptado con la contraseña interna de LUADev no se puede desencriptar. Un archivo encriptado con una contraseña personalizada no se puede usar directamente en LUADev (se debe desencriptar antes de usarlo).

Módulo World:

world.lightenabled( N, ENABLED )  -- enciende apaga luz. N = 1-4. ENABLED = true / false. (4 luces)
world.lightambient( N, COLOR )  -- color de la componente "ambiental" de la luz numero N.
world.lightdiffuse( N, COLOR )  -- color de la componente "difusa" de la luz numero N.
world.lightspecular( N, COLOR )  -- color de la componente "specular" de la luz numero N.
world.lightype( N, TIPO )  -- Cambiar tipo de luz numero N. Tipos: 1, direccional. 2, punto de luz. 3, foco.
world.lightcomponent( N, COMPONENTES ) -- Cambiar componentes de luz. 1, amb + dif. 2, dif + spec. 3, desconocida.
world.lightspotlight( N, EXPONENTE, CORTE)  -- Solo focos. Cambia potencia y angulo de corte del foco.
world.lightdirection( 4, X, Y, Z )  --Direccion de la luz N. (Sólo direccional o foco). (Vector UNITARIO)
world.lightposition( N, X, Y, Z )   --Posicion de la luz N.
world.ambient( COLOR ) -- Cambia el color ambiental.
world.specular( COLOR ) -- Cambia el color specular.
world.viewat( TAB1, TAB2, TAB3 ) -- Cambia la posicion de la cámara.
world.perspective( fovy, ratio, near, far ) -- 3D Modo perspectiva (por defecto).
world.ortho( left, right, bottom, top ) -- 3D modo ortogonal.
world.fog( cerca, lejos, color ) -- Niebla.
world.update() -- actualiza cambios en las luces / otros cambios en el modul

Notas:

Vector UNITARIO quiere decir que: raiz( X^2+Y^2+Z^2 ) == 1.
TAB1 = { x, y, z } (posicion de la camara)
TAB2 = { x, y, z } (punto al que miramos)
TAB3 = { x, y, z } (donde está el techo, (rotacion de la camara)). ( Normalmente { 0, 1, 0 } ) 

Cuando salga cerca / lejos quiere decir unidades. Por ejemplo en la
niebla, cerca y lejos es donde se empieza a ver niebla, y donde no se vé
un pimiento. (y el color de la niebla claro ). Con lejos = 0, niebla
off.

Para todos los comandos, SIN argumentos (excepto los que tengan
numero de luz, que en estos, sólo se pasará el argumento N ), devolverán
el valor actual. O sease: world.fog(); devolverá 3 valores.
world.lighttype(1) devolverá el tipo de luz de la luz numero 1.
world.ambient() devolverá el color de ambiente actual.

Para jugar con el 3D hay que tener las matemáticas algo claritas...
por ejemplo, normalizar un vector... (X,Y,Z). (hacerlo unitario)

( 34.21, 224.23, 12.45 ) seria... elevamos al cuadrado... (
1170.3241, 50279.0929, 155.0025 ) ... sumando ... 51604,4195 ... raiz
cuadrada... 227,16606150567474237336239880841, dividiendo cada
componente por separado por este valor... daria:

(  0.15, 0.98, 0.05 ) <- ahora ya es un vector normalizado, apunta hacia el mismo sitio, pero tiene módulo = 1.

Módulo Math:

math.vector.polar( x, y )
math.poly.testxy()
math.poly.testlist()
math.round( número_decimal ) -- Devuelve una aproximación de un número decimal, con lo que math.round(1.2) devolvería 1 y math.round(2.8) devolvería 3.
tonumber( string ) --convierte un dato del tipo string al tipo number

Módulo Zip:

zip.extract( directorio_del_zip, directorio_a_extraer, int_recursivo )

Módulo Wlan:

wlan.connected() --devuelve true o false según si estamos conectados a una red o no
wlan.getconfigs() --devuelve una tabla con las conexiones configuradas. la tabla contiene los campos name y ssid para cada red
wlan.init() --devuelve 1 si se realizó correctamente la conexión y otro valor si falló
--[[
* Se puede llamar sin argumentos, en tal caso aparece el diálogo de selección de redes del XMB, bloqueando la ejecución del programa hasta que la conexión se realice (o surja un error xD).
* Se puede llamar con un número como argumento, en tal caso se conectaría a la red especificada (1 para la 1ra conexión, 2 para la 2da y así)  sin bloquear el ciclo del programa (digamos que es el modo avanzado de conexión).
* Por último,  se puede llamar con dos argumentos (ambos números). El 1er argumento indica la red a la que se va conectar y el 2do indica una espera máxima en segundos antes de que deje de intentar conectarse (en el XMB cuando se acaba el tiempo dice "Tiempo de espera agotado", sería algo parecido). Este modo muestra el diálogo de conexión del XMB, pero se conecta automáticamente a la red especificada (bloquea la ejecución del script)
]]--
wlan.ip() --devuelve la IP que nos asignaron
wlan.mac() --devuelve nuestra direción MAC física de la PSP
wlan.scan() --devuelve una tabla con las conexiones activas.
--[[
ssid: ssid la conexión
dtim: ??
bssid: bssid de la conexión
rate: Información de la conexión
bsstype: Tipo de conexión
rssi: intensidad de la conexión
info: información de la conexión
channel: canal por el que emite
atim: ??
localtime: ??
timestamp: ??
beacon: ??
]]--
wlan.status() --según el estado de la red devuelbe un número
--[[
0 desconectado
1 escaneando
2 conectando
3 obteniendo IP
4 conectado
5 autorizando
6 intercambiando clave
]]--
wlan.statustext() --lo mismo que wlan.status() pero en vez de devolber números devuelbe los strings de arriba
wlan.strength() --de 0 a 100 el nivel de la señal

 

Módulo String

tostring( cualquier_parametro ) --convierte un dato de cualquier tipo al tipo string

Módulo Socket:

socket	socket.connect(servidor, puerto par, puerto local) -- Crea un nuevo objeto Socket con protocolo TCP/IP. Si no se especifica el puerto local, abre un puerto aleatoriamente.
socket	socket.udp(servidor, puerto par, puerto local) -- Crea un nuevo objeto Socket con protocolo UDP. Si no se especifica el puerto local, abre un puerto aleatoriamente.
nil	socket.free(socket) -- Cierra y elimina el objeto Socket.
boolean	socket.isconnected(socket) -- Comprueba que el socket esta conectado.
number	socket.localport(socket) -- Devuelve el puerto local.
number	socket.peerport(socket) -- Devuelve el puerto par.
number	socket.packetslost(socket) -- Devuelve el número de paquetes perdidos.
string	socket.recv(socket, bytes) -- Lee los datos recibidos desde el socket. El numero de bytes es opcional
number	socket.send(socket, string) -- Envía un string mediante la conexión socket. Devuelve el numero de bytes enviados

 

Módulo OS:

os.sleep( segundos )
os.luadevsplash() --muestra el splash de LUADev
os.luasplash() --muestra el splash de LUA

Más funciones:

image.chipload() --sería un load de la imagen interna del logo de chipmunks
image.gearload() --idem de arriba, rueda que usa la sphash de LUADev
image.logoload() idem arriba logo de LUADev
image.luaload() --logo de LUA
logoload:zblit( x, y, z, angX, angY, angZ ) --blit en 3D (experimental, falla bastante)

 

Recopilación de todas las funciones del Eboot de GDP: 

 

chipmunk
	body
		mass
		new
		position
	cursor
		grab
		move
		new
		release
	init
	moment
		box
		circle
		polygon
		segment
	shape
		elasticity
		friction
		getbody
		newcircle
		newpoly
		newsegment
	space
		addbody
		addshape
		addstaticshape
		damping
		free
		gravity
		idlespeedthreshold
		iterations
		new
		pointqueryfirst
		pointqueryfirst_body
		resizeactivehash
		resizestatichash
		sleeptimethreshold
		staticbody
		step
		wiredraw
debugmode
debugprint
debugset
dump
error
fx
	add
	alpha
	color
	default
	none
	rgba
	sub
gcinfo
getfenv
getfullmodulefunction
getmetatable
iif
image
	chipload
	fastblit
	fxadd
	fxsub
	fxtint
	gearload
	logoload
	luaload
	zblit
include
ipairs
lightstation
load
loadfile
loadstring
math
	bbox
	clamp
	inrect
	int
	poly
		rotate
		testlist
		testxy
	round
	vector
		cartesian
		magnitude
		polar
model
	alpha
	buffer
	lshf
	mat
	stat
module
newproxy
next
debug
	debug
	getfenv
	gethook
	getinfo
	getlocal
	getmetatable
	getregistry
	getupvalue
	setfenv
	sethook
	setlocal
	setmetatable
	setupvalue
	traceback
particles
	blit
	count
	enabled
	free
	init
	intensity
	limit
	new
	rand
	start
	stop
socket
	connect
	free
	isconnected
	localport
	packetslost
	peerport
	recv
	send
	udp
table
	foreach
	foreachi
	getn
	setn
	sort
umd
	present
video
	free
	info
	load
wlan
	connected
	getconfigs
	init
	ip
	mac
	scan
	status
	statustext
	strength
	term
world
	ambient
	envmapcolor
	envmapfx
	fog
	lightambient
	lightattenuation
	lightcomponent
	lightdiffuse
	lightdirection
	lightenabled
	lightposition
	lights
	lightspecular
	lightspotlight
	lighttype
	lookat
	ortho
	perspective
	shademodel
	specular
	update



 

Todas las actualizaciones del post:

  1. Actualizados módulos World y Math (Gracias a xerpi) [lunes, 04 de julio de 2011]
  2. Actualizado módulo Math (Gracias a barney77) [lunes, 04 de julio de 2011]
  3. Corregido módulo Math (Gracias a cam-maker) [lunes, 04 de julio de 2011]
  4. Actualizado módulo String (Gracias a barney77) [lunes, 04 de julio de 2011]
  5. Actualizado módulo Files (Gracias a Rober Galarga) [lunes, 04 de julio de 2011]
  6. Actualizado módulo Zip, Wlan y Socket (Gracias a xerpi) [lunes, 04 de julio de 2011]
  7. Corregidos módulos Math, String, Wlan y Socket (Gracias a xerpi) [martes, 05 de julio de 2011]
  8. Corregido modulo 3D (Gracias a Rober Galarga) [martes, 05 de julio de 2011]
  9. Añadido módulo OS (Gracias a NauTiluS1) [sábado, 09 de julio de 2011]
  10. Aádidas todas las funciones LuaDEV del Eboot de GDP (Gracias a xerpi) [domingo, 10 de julio 2011]
  11. Actualizadas todas la funciones LUADev del Eboot de GDP (Gracias a xerpi) [miércoles, 13 de julio de 2011]
  12. Actualizado el módulo World (Gracias a DeViaNte) [viernes, 19 de agosto de 2011]
  13. Actualizado el módulo 3D (Gracias a Mills) [sábado, 21 de enero de 2012]
  14. Añadido el apartado Más funciones (Gracias a DeViaNte) [miércoles, 25 de enero de 2012]
  15. Actualizado el módulo Wlan (Gracias a Rober Galarga) [miércoles, 21 de marzo de 2012]
  16. Actualizado el módulo Wlan (Gracias a OoNEKERAFAoO) [martes, 1 de mayo de 2012]
  17. Actualizado el módulo OS (Gracias a RedHunter) [domingo, 17 de junio de 2012]
  18. Actualizado el post entero mejorando el orden y la organización (Gracias a TheTooxicoo) [jueves, 21 de junio de 2012]
  19. Actualizado el post en la parte de Todas las funciones (Gracias a TheTooxicoo) [jueves, 19 de julio de 2012]
  20. Actualizado el módulo Wlan (Gracias a RedHunter) [lunes, 03 de septiembre de 2012]
  21. Actualizado el módulo Math (Gracias a RedHunter) [lunes, 22 de octubre de 2012]


Anuncios Google

Opciones de visualización de comentarios

Seleccione la forma que prefiera para mostrar los comentarios y haga clic en «Guardar las opciones» para activar los cambios.
Imagen de Jepte

si comparas una funcion con

si comparas una funcion con boleano no da false, da lo que es, siempre y cuando la funcion devuelva un boleano, que en este caso si,.

Imagen de Chimecho

Esto es tener estilo

Probar en: http://www.lua.org/cgi-bin/demo o cualquier otro intérprete,

este code:

image = {};
function image.load()
    return 'c'; -- devuelve string, igual puedes poner un número, nil, false, true, etc...
end
 
if image.load==true then
    print("Jepte tiene razón");
else
    print("Chime tiene razón");
end
 
test = image.load==true;
print("Y la comparación da: "..type(test)..", no \"lo que es.\", así devuelva string, number, table, function, boolean, o nil");

Repito una vez más, no es lo mismo módulo.función() [¿Se ve el paréntesis?] que módulo.función

Saludos!



PSP FAT [5.00 M33-6] [6.60 ME] [Hard Moded] / Nintendo Wii [4.1U] [cIOS Hermes] [D2X cIOS] / iPhone 3G [4.2.1] [BB 05.13.04] [redsn0w] / iPod Touch 4 [6.1] [evasi0n]

07/05/10: Tuve el placer de llamarle con todo derecho "N00B" a molotovi xDDD

Recuerda: Sé el intérprete -_-

Imagen de Jepte

obiamente no es lo mismo , y

obiamente no es lo mismo ,

y este es el codigo correcto

image = {};
function image.load()
    return true; -- devuelve string, igual puedes poner un número, nil, false, true, etc...
end
 
if image.load()==true then
    print("Jepte tiene razón");
else
    print("Chime tiene razón");
end
 
test = image.load==true;
print("Y la comparación da: "..type(test)..", no \"lo que es.\", así devuelva string, number, table, function, boolean, o nil");

me equiboque cuado dije que da lo que es , da true si la comparacion es correcta y da false si no,

entonces si dio true la comparacion quiere decir que es estado de la funcion es true.

Imagen de Chimecho

Claro...

Ese código es otra cosa distinta, el código que yo puse era un ejemplo de lo que yo decía y lo que tú respondiste.

En resumen: Comparar una función con booleano, DA FALSE (Tú decías lo contrario). Comparar el resultado de una función (llamada con los paréntesis), depende de lo que sea el resultado.

Lee este comentario.

 

Saludos!



PSP FAT [5.00 M33-6] [6.60 ME] [Hard Moded] / Nintendo Wii [4.1U] [cIOS Hermes] [D2X cIOS] / iPhone 3G [4.2.1] [BB 05.13.04] [redsn0w] / iPod Touch 4 [6.1] [evasi0n]

07/05/10: Tuve el placer de llamarle con todo derecho "N00B" a molotovi xDDD

Recuerda: Sé el intérprete -_-

Imagen de Jepte

haaa ok, pense que te

haaa ok, pense que te referias ala funcion en si , es desir con los parantesis,pero ya se a que te referias y tienes razon, bueno en realidad los dos teniamos razon era un mal entendido, jjejej,.

...

Una pregunta, los ; se que se usan en C para separar líneas, ¿pero hacen falta en Lua porqué yo no los uso y el code funciona igual...?

 

Saludos!

Imagen de User170294

En LUA no es necesario

En LUA no es necesario añadirlos al final de línea aunque sí son obligatorios si quieres separar en la misma línea.

La gente lo hace porque está considerado una buena costumbre de programación (ya que en C son imprescindibles):


De hecho tampoco son

De hecho tampoco son necesarios para separar sentencias en una misma línea:

var = "Una prueba"  var = var:reverse() var = var:upper() print(var)

Ese code funciona perfectamente (queda horrendo, si, pero eso es harina de otro costal).

Imagen de NEKERAFA

Mmm...

En C, en java, en PHP, etc, etc...

Imagen de NEKERAFA

Mmm...

Y eso era lo que estaba diciendo yo, que era lo que pusiste en el post de abajo... Creo que nos estamos liando mucho XD

Imagen de AitorDB

By Aitor

Cierto, no se porque a muchos les ha dado por ponerlo como de si una variable se tratara cuando lo que intenta es usar la funcion umd.present()  que nos devuelve si hay un UMD dentro del lector.

 

Lo que están haciendo sería algo parecido a esto:

umd = {}
umd.present = true
 
 
while true do
 
if umd.present then
 
--Resto del código.

 

Sería como usar una tabla llamada umd con la variable present declarada dentro de esa tabla.


Sígueme en Twitter: @Aitor_db

Imagen de NEKERAFA

Mmm...

Revisa este comentario, anda.

Imagen de AitorDB

By Aitor

En ese code hay un fallo, umd.present no es una variable, es una función, iría así:

 

while true do
if umd.present() then screen.print(2,2,"UMD Encontrado!") else screen.print(2,2,"No hay UMD!") end
screen.flip()
end

 


Sígueme en Twitter: @Aitor_db

¿umd.present que es una

¿umd.present que es una variable global de LuaDEV?

A mi

A mi me funcionó utilizandolo como una variable... devolvio true

 

Saludos!

Imagen de AitorDB

By Aitor

Pero eso es asi, si no me equivoco la sentencia if ... then, el bucle while ... do,etc. comprueban que la variable no tenga como valor false, por eso si yo hago while 1 do por ejemplo también me sirve. Corrijanme si me equivoco, pero creo que es así.


Sígueme en Twitter: @Aitor_db

Imagen de NEKERAFA

LOL

Te devuelve true porque existe la variable, no porque sea true.

P.D: THC, acuerdate de editar el post XD.

Imagen de User170294

Listo

Ya he actualizado ;)

Imagen de NEKERAFA

Mmm...

Pero aún sigues teniendo las faltas de ortografía en el módulo wlan y no has actualizado el módulo socket u.u

Imagen de AitorDB

By Aitor

¿Existe la variable? Eso si la ha declarado antes, cosa que no creo, esa variable tendrá como valor nil ¿no?

Imagen de Chimecho

Booleanos en lua

Lua cuando tiene que tratar una variable cualquiera (entiéndase por variable: table, function, string, number, etc... Para lua todo es una variable) como booleano, considera lo que sea false o nil como false, y todo lo que sea diferente de esos dos valores es true.

Por lo tanto, si pruebas este code:

if image.load then
    print("true");
else
   print("false");
end

Mostrará true, aunque image.load es una función, el campo load existe dentro de la tabla image, y por lo tanto no es ni false ni nil -> true.

 

Saludos.



PSP FAT [5.00 M33-6] [6.60 ME] [Hard Moded] / Nintendo Wii [4.1U] [cIOS Hermes] [D2X cIOS] / iPhone 3G [4.2.1] [BB 05.13.04] [redsn0w] / iPod Touch 4 [6.1] [evasi0n]

07/05/10: Tuve el placer de llamarle con todo derecho "N00B" a molotovi xDDD

Recuerda: Sé el intérprete -_-

En

En cambio si intento hacer un print me da el siguiente error:

script.lua:2: bad argument #3 to print (string expected, got boolean)

Uso este code:

while true do
screen.print(2,2,umd.present())
screen.flip()
end

 

Saludos!

 

EDITO: Añadi un tostring() y ahora printea false

Imagen de Chimecho

Mmmm....

No recuerdo haber usado los paréntesis en mi ejemplo, revisa.

Imagen de NEKERAFA

Claro

screen.print() no formatea el tercer argumento a string, cosa que si hace print()

Imagen de carlossg

La función world.lookat, no

La función world.lookat, no está documentada y no sé que varialbes utiliza...

Imagen de User170294

Es normal.

No está documentada porque nadie la ha sabido documentar todavía :(

Imagen de Mills

Si que está

world.lookat({0,0,0},{0,0,-1},{0,1,0})

1- {0,0,0} la posición de la cámara, está en el punto, x = 0; y = 0; z = 0

2- {0,0,-1} dónde mira la cámara, tiene que ser diferénte a la posición, claro, en este caso, mira al punto z = -1, es decir, hacia "dentro" de la pantalla. 

3- {0,1,0} es la rotación, esta si que no sé usarla.. probé pero no la entiendo jajaja.

saludos 


Pobre PSP

Imagen de DeViaNTe

world.lookat({0,0,0},{0,0,-1}

world.lookat({0,0,0},{0,0,-1},{0,1,0})

Como dices mills, primero es la posicion donde ponemos la cámara, el segundo es hacia donde enfocamos, también podriamos poner directamente la posicion del objeto que quedará en el centro de la cámara. y el último vector, imaginando que la cámara tuviera un tripode, es el contrario de hacia donde ponemos el "tripode" de la cámara, por ponerlo de alguna manera, dónde quedará el techo en la cámara. 

0,1,0 <- ponemos el tripode en direccion contraria a +Y, es decir, al suelo.

-1,0,0 <- ponemos el trípode hacia la derecha, es decir, como si la cámara hubiera rotado 90º a la izquierda.
+1,0,0 <- idem, pero a la derecha. estas dos, como si hicieramos fotos con una cámara normal y la giraramos, el suelo quedaría a un lado de la pantalla.

0,-1,0 <- la cámara totalmente al revés, el cielo en el suelo y el suelo en el cielo.

espero se entienda. 


Actualmente desarrollando nuestra web y UXCode : http://www.gcrew.es

Esto...

devuelbe? dirás devueve.

No lo tomes a mál, todos tenemos fallos. Saludos!
Imagen de carlossg

Me dí yo cuenta pero dije...A

Me dí yo cuenta pero dije...A ver si meto la pata y es con B

Cuando

Cuando es así lo buscas en google y te pondrá el "quizas quiso decir..."

 

Saludos!

Imagen de carlossg

Anoto

Anoto

Imagen de carlossg

Me gustaría saber si es

Me gustaría saber si es posible colorear un modelo 3d y si es posible cargarlo ya coloreado.

 

PD:El modelo no tiene color.

Emm

Emm esto no sería al reves? string a number:

tonumber( string ) --convierte un dato del tipo number al tipo string

Saludos!
Imagen de NEKERAFA

Mmm...

Es verdad, a ver si lo arregla THC...

Imagen de NEKERAFA

Módulo socket

socket	socket.connect(servidor, puerto par, puerto local) -- Crea un nuevo objeto Socket con protocolo TCP/IP. Si no se especifica el puerto local, abre un puerto aleatoriamente.
socket	socket.udp(servidor, puerto par, puerto local) -- Crea un nuevo objeto Socket con protocolo UDP. Si no se especifica el puerto local, abre un puerto aleatoriamente.
nil	socket.free(socket) -- Cierra y elimina el objeto Socket.
boolean	socket.isconnected(socket) -- Comprueba que el socket esta conectado.
number	socket.localport(socket) -- Devuelve el puerto local.
number	socket.peerport(socket) -- Devuelve el puerto par.
number	socket.packetslost(socket) -- Devuelve el número de paquetes perdidos.
string	socket.recv(socket, bytes) -- Lee los datos recibidos desde el socket. El numero de bytes es opcional
number	socket.send(socket, string) -- Envía un string mediante la conexión socket. Devuelve el numero de bytes enviados

Nota:

Antes de proceder al uso del socket, hay que comprobar que el socket esta escuchando la conexión.

EDITO:

Revisa las faltas de ortografía en el módulo wlan, así como el tamaño del texto en el módulo math. Puedes limpiar el formato editando el html.

EDITO 2:

Acuerdate de actualizar el post con estas funciones


NekeOS, el nuevo shell para PSP

PS4 500GB OFW, PS3 320GB OFW, PS3 500GB OFW, PSP 6.39 PRO-C Fix4.

Sony Xperia Z1 Compact con Android 5.1.1

Portatil Lenovo z50-70 Intel® Core™ i7-4510U y NVIDIA GeForce 840M con Elementary OS 0.3.2 Freya (64 bits) y Windows 10 (64 bits).

Imagen de User170294

Estoy al tanto

Mañana por la mañana edito sin falta ;)

 

Saludos.

Imagen de NEKERAFA

XD

Pues ya es de noche otra vez...

Modulo os

Modulo os

 

Muestra el splash de lua:

os.luasplash()

Muestra el splash de LuaDEV:

os.luadevsplash()

 

Saludos!

Imagen de User170294

Actualizado

No entiendo como no estaban de antes estas funciones :O

Gracias por el aporte ^^

Saludos.

Imagen de NEKERAFA

Mmm...

Pues esas salen en la documentación, al menos en la última.

Imagen de User170294

¿En la última?

¿En la última?

Imagen de NEKERAFA

Mmm...

Sip. Ahora no estoy en casa, por lo que no se, pero recuerdo que estaba.

no

no esta... al menos en la versión que postean aquí

 

Saludos!

Para que sirve el modulo world?

¿Para que sirve el modulo world?

Imagen de User170294

3D

El módulo World se utiliza en los entornos desarrollados en 3D. Son cosas como luces y nieblas.

Saludos.

Crear una progressbar

Crear una progressbar

 

draw.pbar (x, y, x2, y2, fondo, relleno,valor,maximo)

 

Saludos!

Esa viene ya incluida en la documentación ;D

Esa viene ya incluida en la documentación, pero gracias por tu interés ;D

Imagen de NEKERAFA

wlan.scan()

wlan.scan devuelve una tabla con la siguiente información:

ssid: ssid la conexión
dtim: ??
bssid: bssid de la conexión
rate: Información de la conexión
bsstype: Tipo de conexión
rssi: intensidad de la conexión
info: información de la conexión
channel: canal por el que emite
atim: ??
localtime: ??
timestamp: ??
beacon: ??

 

P.D: Si necesitais saber que datos contiene una cierta tabla, podeis utilizar este código:

for campo, valor in pairs(tabla) do
   print(campo..": "..valor)
end

Nota: Pairs puede que no devuelva los campos en orden.


NekeOS, el nuevo shell para PSP

PS4 500GB OFW, PS3 320GB OFW, PS3 500GB OFW, PSP 6.39 PRO-C Fix4.

Sony Xperia Z1 Compact con Android 5.1.1

Portatil Lenovo z50-70 Intel® Core™ i7-4510U y NVIDIA GeForce 840M con Elementary OS 0.3.2 Freya (64 bits) y Windows 10 (64 bits).

Muy cierto...

Dev me lo dijo el otro día :D

@THC_Hack por favor, actualiza el post ;D

Opciones de visualización de comentarios

Seleccione la forma que prefiera para mostrar los comentarios y haga clic en «Guardar las opciones» para activar los cambios.