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 NEKERAFA

O.o

Uff, eso de animaciones 3D promete... También puedes añadirle que muestre texturas (Imagenes) en los objetos y sería la bomba

 

P.D: Yo tenia un fichero con documentación que iva obteniendo...


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 sisinio

.

Ahora estaba empezando con el 3D y me encuentro esto xD

Imagen de sisinio

.

La pagina web de Deviante ya funciona !!!!!

es posible que la nueva version ya este a la vuelta... xDDD

EDITADO: Cada vez hay mas cosas en la web de DEV !!


Editado: Crear hilos y comentarios duplicados incumple las Normas de la Comunidad, si necesita cambiar su comentario puede usar la opción de Editar. Antes de volver a postear por favor revise las Normas.| Rober Galarga


-> Creaciones <-

Os invito a probar el lol xD

http://signup.leagueoflegends.com/?ref=50814a20894be236637679

 

Imagen de User170294

Se agradece que avises ;)

Se agradece que avises ;)

 

EDITO: No puedo acceder a ninguna sección del menú...

Deviante está diseñando la

Deviante está diseñando la web, dependiendo de las capacidades de tu navegador, será la web que verás.

En otras palabras, no está operativa la web ahora mismo xD

Imagen de User170294

OK, gracias.

OK, gracias.

Imagen de Cere_Ender

yo tengo una pregunta, y para

yo tengo una pregunta, y para posicionar la camara, como se hace?

Cámara?

A qué te refieres? Perspectiva en 3D? escenario 2D, como los juegos RPG? A la cámara de fotos? xD

Imagen de barney77

Una más. rezisewin() Para

Una más.

rezisewin()

Para que sirve, aún no se no he mirado bien el code de donde la saque, se los dejo.

-- ###################################
--      Creando un videojuego:                    Género: Plataformas.
--           Autor: DeViaNTe -- gCrew -- http://gcrew.qc.to
-- ###################################
 
-- Cargar EN SPRITES DE 16x16 el fondo.
bgstuff = image.loadsprite("img/stuff.png",16,16);
 
 
-- Función Modulo. Devuelve el resto de una división.
function mymod(a,b) return ((a) - math.floor((a)/(b))*(b)) end
 
 
 
function resizewin(x,y,w,h,tw,th)
  screenx, screeny, screenw, screenh = x, y, w, h;
   tilew, tileh = tw, th;
   dtw, dth = math.ceil(screenw / tilew), math.ceil(screenh / tileh);
end
 
 
function tile2table(filename)
	local tabla = { }
	local after, a, b, wid, hei, linetable
	for linea in io.lines(filename) do
		linetable = { }
		while string.find(linea,"|") do 
			a,b = string.find(linea,"|");
			after = string.sub(linea,1,a-1);
			linea = string.sub(linea,b+1);
			table.insert(linetable,after)
		end
		table.insert(linetable,linea);
		table.insert(tabla,linetable)
	end
	return tabla, table.getn(tabla[1]), table.getn(tabla);
end
 
function drawBG(tabla,scrollx,scrolly)
	local spritex, bgcharset, bgcharsetlow, ny, nx, colx, coly, byx, byy
	resx = mymod(scrollx,tilew);
	resy = mymod(scrolly,tileh);
	colx = math.floor(scrollx / tilew)
	coly = math.floor(scrolly / tileh)
    byx, byy = dtw, dth;
	if resx > 0 then byx = byx + 1; end
	if resy > 0 then byy = byy + 1; end
	for y = 1, byy do
		ny = screeny + ((y * tileh) - tileh) - resy;
		for x = 1, byx do
			nx = screenx + ((x * tilew) - tilew) - resx;
			if (y + coly) <= maxY and ( x + colx ) <= maxX then
				if ( ( nx >= (0 - tilew) ) and ( nx <= (480 + tilew) ) and
				( ny >= (0 - tileh) ) and ( ny <= (272 + tileh) ) ) then
					spritex = tabla[y + coly][x + colx];
					bgcharset = string.sub(spritex,1,1);
					bgcharsetlow = string.sub(spritex,2,#spritex);
					if bgcharset == "S" then
						bgstuff:setframe(bgcharsetlow);
						bgstuff:resize(tilew,tileh);
						bgstuff:blit(nx,ny);
					end
				end
			end
		end
	end
end
 
resizewin(0,0,480,272,32,32);
sX, sY = 0, 0 -- scroll init position = 0.
map, maxX, maxY = tile2table("mapa.txt")
 
 
while true do
	pad = controls.read();
	screen.clear(color.new(0,0,0,255));
 
	drawBG(map,sX,sY);
 
	if pad:right() then sX = sX + 3; end
	if pad:left() then sX = sX - 3; end
	if pad:up() then sY = sY - 3; end
	if pad:down() then sY = sY + 3; end
 
 
	-- Cuidado al redimensionar. SI el mapa es más pequeño que la pantalla, se colgará.
	-- Por eso en el ejemplo trae el mapa grande.
	if controls.press("l") then resizewin(0,0,480,272,64,64); end
	if controls.press("r") then resizewin(0,0,480,272,16,16); end
	if controls.press("square") then resizewin(0,0,480,272,32,32); end
 
	screen.print(10,10,"gCrew - Tutorial: Creando videojuegos");
	screen.print(20,25,"- Plataformas - Parte I");
	screen.print(10,260,"L, R, Cuadrado: Cambiar tamaño del mapa.");
 
	if sX < 0 then sX = 0; end
	if sY < 0 then sY = 0; end
	if sX > ((maxX - dtw) * tilew) then sX = ((maxX - dtw) * tilew); end
	if sY > ((maxY - dth) * tileh) then sY = ((maxY - dth) * tileh); end
 
 
 
 
	screen.waitvblankstart();
	screen.flip();
end

Es un tuto ya viejo de Dev sobre un minivideojuego xD

ehm....

Línea 15: se define la función resizewin, no es una función propia de LuaDEV, es una función personalizada que Deviante ideó para ese ejemplo en específico.

Imagen de User170294

JAJAJA! me he estado riendo

JAJAJA! me he estado riendo un rato

Imagen de barney77

Jajaja, lo siento, esque la

Jajaja, lo siento, esque la verdad lei el code de muy encima.

Imagen de barney77

Tengo una idea, invito a

Tengo una idea, invito a todos con la función _VERSION, que se enteren de que versión de ebot tienen, y el que tenga la más avanzada pues que lo postee y así tendremos el ebot más nuevo lanzado al aire.

PD: Creo que eso no sirve para la versión de Ebot, ya que me ha dado Lua 5.1 xDD.

Imagen de NEKERAFA

Jajajaja

_VERSION es la version del interprete de Lua, no la del eboot...

Otra cosa... no me digais que no sabeis las funciones básicas de Lua... ¬¬ ... Pasaros por aquí: http://www.lua.org/manual/5.1/es/, todas las funciones básicas de lua funcionan en todos los LuaPlayers (LuaDEV, HM, PGE, ect...)

 


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 barney77

Pues efectivamente, las

Pues efectivamente, las basicas no me las se, le daré una leida extensa a el manual, gracias. Otra cosa, me parece que no sería tan mala idea que deviante hiciera algo así para el Ebot de Lua Dev, así si se podra hacer lo que propongo.

Ese 5.1 no es la versión de

Ese 5.1 no es la versión de LuaDEV, es la version del Lua que por cierto ya hay una beta de la versión 5.2 de Lua.-

Imagen de User170294

La versión más moderna es la

La versión más moderna es la del G.D.P. ( creo... )

Imagen de NauTiluS1

Seria bueno que le pusieran

Seria bueno que le pusieran extractor de rar xD

Una pregunta del modulo model

no lo puedo usar asi?

jugador = model.load("x")

while true do

jugador:blit(50,50,0)

?


Follow me twitter nautilus1_jmccu!!
Sony, ya a nadie le interesa tus UMD si alguien compra una psp es por nosotros los coders. Madura y has un FW que haga la diferencia y anime a las personas en comprar un PSP

Te sugiero leer este

Te sugiero leer este comentario ;)

No es necesario especificar luces, niebla ni nada de eso. Con especificar la posición del modelo es suficiente (en el coment al que linkeo viene un ejemplito, como ya es costumbre).
La rotación también la pueden omitir (les sugiero jugar un poco con esos valores, es divertido xD)

Imagen de barney77

Es necesario tener el mtl

Es necesario tener el mtl alado del obj, verdad?

Si

Si

Imagen de barney77

Sí, creo que sil, pero no se

Sí, creo que sil, pero no se si le necesitas poner las luces

Imagen de User170294

No necesitas poner luces.

No necesitas poner luces. Solo la la posicion ( x, y, z )

Imagen de barney77

Gracias, eso me alivia

Gracias, eso me alivia mucho,pense que era muy lioso pero con lo que me dices se me hace menos lioso.

Saludos.

Imagen de User170294

Aún asi, yo estoy probando ha

Aún asi, yo estoy probando ha hacer algun jueguillo tipo Air Hockey y no te creas que es nada facil...

Imagen de barney77

Si, lo se, no es nada facil,

Si, lo se, no es nada facil, pero con imaginación todo se puede.

¡Suerte!

Imagen de NauTiluS1

Pero tu tienes un pong

Pero tu tienes un pong digamos que lo unico que ahy que cambiar serian las imagenes y varias funciones y

Air hockey listo

Imagen de barney77

Hace no mucho chime dijo que

Hace no mucho chime dijo que _G es una tabla, es la tabla global de lúa dev.

Imagen de NEKERAFA

Aquí más explicación

Lua nativo: http://www.lua.org/manual/5.1/es/manual.html#pdf-_G

Edito: Ahora que lo veo... si ya tenemos la documentación de algunas funciones de LuaDEV y tenemos las de Lua, podiamos hacer una recompilacion y así se reducirian las que no sabemos...

Ya toy en ello... ¿Sabiais que si se hace tostring te dice de que objeto se trata? Asi que si pone una funcion te retorna function y la zona de memoria donde esta almacenada...


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).

Si sólo necesitas saber el

Si sólo necesitas saber el tipo de objeto que tienes, usas type(objeto) ;)

Imagen de NEKERAFA

Recopilación de funciones de LuaDEV

Soy idiota jajajaja... después en funciones utilizo el type un mogollón de veces y no me acuerdo de utilizarlo en esto... XDD

Edito: aquí va algunas que ya tengo.

-- **** ## Recopilación de la Documentación de LuaDEV r0 ## **** --
 
--   ** Sin módulo **   -- (*En la documentación) (1 LuaDEV / 2 Lua 5.1)
   tabla                  _G: Variable global que almacena el entorno global (1/2)
   'Lua 5.1'         _VERSION: Variable global que almacena la versión actual del interprete (1/2)
   nada                 collectgarbage(opción, [valor]): Liberador de memoria (*) (1/2)
   nil                        debugmode(): ??? (1)
   nil                        debugprint(): ??? (1)
   nil                        debugset(): ??? (1)
   ...                        dofile(ruta): Abre un archivo y ejecuta si contenido como fragmento de Lua (*) (1/2)
   nil                        dump: ??? (1)
   nada                  error(mensaje, [nivel]): Invoca un error de Lua (*) (1/2)
   nil                        gcinfo(): ???, Devuelve un número (PSP 3000: 138) (1)
   texto               getfenv(función): Retorna el entorno actualmente en uso. (1/2)
   nil                      getfullmodulefunction(): ??? (1)
   texto               getmetatable(tabla): Retorna el valor asociado a una metatabla (1/2)
   nil                        iif(): ??? (Puede que sea parecida a iif en Visual Basic) (1)
   nil                        include(): ??? (Me suena a C/C++ (~.~) ) (1)
   ...                        ipairs(tabla): Recorre una tabla hasta la primera clave vacía. (1/2). Ejemplo:
                                          for índice, valor in ipairs(tabla) do BLOQUE end
   nil                        lightstation(): ??? (1)
   ...                        load(función, [nombre]): Carga un fragmento de Lua de una función. Si no hay errores devuelve el fragmento compilado como una función (1/2)
   ...                        loadfile([archivo]) : Obtiene un fragmento de Lua de un archivo o de la salida estándar (stdin) (*) (1/2)
   ...                        loadstring(texto, [nombre]): Obtiene un fragmento de Lua en un texto. (1/2). Para cargar y ejecutarlo se debe usar:
                                          assert(loadstring(texto)) ()
   ...                        module(nombre, [...]): Crea un módulo. (1/2)
   nil                        newproxy(): ??? (1) (No será para hacer una conexión proxy (O.o) ) (1)
   ...                        next(tabla, [índice]): Recorre todos los campos de una tabla. (1/2). No sigue un orden numérico.
   ...                        pairs(tabla): Recorre todos los campos de la tabla. (1/2). Ejemplo:
                                             for índice, valor in pairs(tabla) do BLOQUE end
   ...                        pcall(función, [argumentos]): Llama a una función en modo seguro, por lo que no se muestra ningun error. (1/2). Ejemplo
                                          function ImprimeHola() print(Hola a todos) end -- No hemos puesto un string, por lo que dara error
                                          pcall(ImprimeHola) -- No mostrara el mensaje de error
   nada                  print(...): Imprime los argumentos en el fichero de salida (stdout). (1/2). Para imprimir en la pantalla usese screen.print()
   true/false      rawequal(Valor 1º, Valor 2º): Verifica si el primer valor es igual al segundo valor. (1/2)
   valor                  rawget(tabla, índice): Obtiene el valor que esta en el índice de la tabla indicada. (1/2)
   nada                  rawset(tabla, índice, valor): Asigna un valor al índice de la tabla indicado. (1/2)
   nada                  require(nombre): Carga el módulo indicado. (1/2)
   ...                        select(índice, argumentos): Retorna todos los argumentos que están a continuación del índice dado. (1/2)
   ...                        setfenv(función, tabla): Establece el entorno que va a ser usado por la función. (1/2)
   ...                        setmetatable(tabla, metatabla): Establece la metatable de la tabla dada. (1/2)
   número         tonumber(objeto, [base]): Convierte un argumento en un número. (1/2)
   texto               tostring(objeto): Convierte un argumento en un texto con formato razonable. (1/2). Para un control completo, úsese string.format().
   texto               type(valor): Retorna el tipo del valor dado. (1/2)
   ...                        unpack(tabla, [desde, hasta]): Retorna los elementos de una tabla. (1/2)
   ...                        xpcall(función, error): Esta función es similar a pcall, excepto que se puede establecer un manejador de error. (1/2)
 
--   ** Modulo batt: Manejo de la batería **   -- (En la documentación) (LuaDEV)
   true/false      batt.charging(): Batería cargando
   número         batt.chargingstatus(): Estado de la carga de la batería (Número de x a xx)
   true/false      batt.exists(): Batería insertada en PSP
   true/false      batt.islow(): Batería baja
   número         batt.percent(): Porcentaje de energía restante
   número         batt.time(): Minutos de energía restante
   número         batt.temp(): Temperatura de la batería
   número         batt.volt(): Voltaje de la batería
 
--   ** Modulo cam: Manejo de la cámara (Go! Cam) **   -- (En la documentación) (LuaDEV)
   nada                  cam.blit(x, y): Muestra en la pantalla la imágen actual de la cámara
   0/1                     cam.direction(): Devuelve un numero representando la dirección de la cámara
   true/false      cam.hmirrored(): Comprueba si esta activado el espejado horizontal
   nada                  cam.on(): Activa la cámara
   nada                  cam.of(): Desactiva la cámara
   nada                  cam.start(): Comienza a tomar video de la cámara
   tabla                  cam.state(): Estado de la conexión de la cámaria
   true/false      cam.status(): Comprueba si esta activada la cámara
   imagen            cam.toimage(): Obtiene una imagen actual de la cámara. Esta imagen debe ser liberada cuando se acabe su uso
   true/false      cam.vmirrored(): Comprueba si esta activado el espejado vertical
 
--   ** Modulo chipmunk: Motor de físicas 2D **   -- (*En la documentación) (LuaDEV)
   nil                        chipmunk.body: ???
   nil                        chipmunk.body.mass: ???
   nil                        chipmunk.body.new: ???
   nil                        chipmunk.body.position: ???
   nil                        chipmunk.cursor: ???
   nil                        chipmunk.cursor.grab: ???
   nil                        chipmunk.cursor.move: ???
   nil                        chipmunk.cursor.new: ???
   nil                        chipmunk.cursor.release: ???
   nada                  chipmunk.init(): Inicia y prepara el motor de físicas 2D (*)
   nil                        chipmunk.moment: ???
   nil                        chipmunk.moment.box: ???
   nil                        chipmunk.moment.circle: ???
   nil                        chipmunk.moment.polygon: ???
   nil                        chipmunk.moment.segment: ???

Saludos ^-^.

P.D: Siento que no se muestren de la misma forma, porque en el editor salia bien


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

OK. En cuanto pueda lo

OK. En cuanto pueda lo actualizo ;)

Imagen de NEKERAFA

Ok

Pero me he guiado por la info de xerpi...

Esas son las funciones

Esas son las funciones "desconocidad" (que no sabemos los parámetros):

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
 

Imagen de User170294

Post actualizado ;) Un

Post actualizado ;)

Un saludo.

Imagen de NauTiluS1

Queeee en realidad existe un

Queeee en realidad existe un modulo cursor del puntero del navegador!
Estas aburrido deviante? XD
Demasiadas funciones y quien sabe sus parámetros :p


Follow me twitter nautilus1_jmccu!!
Sony, ya a nadie le interesa tus UMD si alguien compra una psp es por nosotros los coders. Madura y has un FW que haga la diferencia y anime a las personas en comprar un PSP

Imagen de NEKERAFA

Sobre LuaDEV

He esta mirarndo y he de decir que la función os.runeboot() solo funciona en CFW, y en OFW si el eboot esta firmado. Lo probe en OFW 3.69 con el eboot de GPD 2.0 firmado. Tambien la función controls.homepopup() para desactivar el boton home no funciona en OFW.

Haber si encuentro algo más.


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 NEKERAFA

Ok

Ya que poneis todas las funciones tambien poner para que sirver y los argumentos que se le pasan, que así no esque se haga mucha cosa XDD


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

según vaya habiendo aportes

según vaya habiendo aportes se irá actualizando la informacion... :(

Imagen de barney77

Pues cuando tenga tiempo, me

Pues cuando tenga tiempo, me pondre a experimentar xD

Imagen de Chimecho

BINGO!

Es por eso que no quería liberar el script de todas las funciones... precisamente por eso.

Hale, ya tienen toda la lista, ahora mátense averiguando los parámetros (que muy difícilmente lo lograrán, si es que lo logran) y las mil (o más xD) variantes que puede tener cada función www.myfacewhen.com/109/

Ah, y me faltó añadir que no todas son funciones, algunas son constantes... como os.kernel que es una variable booleana por ejemplo, que quiere decir este valor? ni idea, averigüen (xD)



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 DeViaNTe

vaya chorro de funciones :'(

vaya chorro de funciones :'( xDDD (y las que quedan...)

Imagen de NEKERAFA

Pues...

screen.print(10, 10, os.kernel) XDDDD

Imagen de cam-maker

amm

screen.print(10, 10, tostring(os.kernel)) xDD

Imagen de NEKERAFA

No

No hace falta el tostring, print imprime cualquier valor... bueno, al menos en Lua básico

Imagen de Chimecho

ejem...

Sí, print imprime cualquier valor, pero si te fijas arribita tiene un "screen." antes xD

Imagen de NEKERAFA

XDDDD

Pues menuda forma de liarlo, en Lua ya lo hacia sin poner tostring o tonumber

Imagen de Dioni0396

y

Que sale?!

Imagen de dj51_Shura

xDDD

pues... si para nosotros es difícil, para DeViaNTe documentarlo ni me lo imagino (creo que ahora lo comprendo).

Por cierto, os.kernel()? xDDD...

Un saludo a tós, suerte con la tarea que tenéis por delante (*risa malévola* xD)


http://www.mhypnok.blogspot.com/

Gracias a Dark_AleX, Total_Noob, VirtuousFlame, Coldbird, Codestation...

Imagen de Chimecho

constantes sin paréntesis

puse os.kernel como ejemplo de constante, no de función, por lo tanto va así tal cual, sin paréntesis...

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.