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 Cere_Ender

Ha muerto el proyecto o algo

Ha muerto el proyecto o algo asi?

Imagen de Andres_Ne

Tal Vez

Si hablas de LuaDev, hace mucho que no escucho anda hacerca de Deviante

Imagen de gdljjrod

Sep

Pero bueno hay un nuevo proyecto en manos...

Imagen de Andres_Ne

 Hola tiempo sin verte xD,

 Hola tiempo sin verte xD, por cierto que proyecto ?

Imagen de gdljjrod

Un nuevo interprete de LUA para PSP

Viene ese nuevo proyecto en camino...pero por ahora va al 50% y realmente como están las cosas con la Scene en la PSP no sabemos si lo terminemos y sobretodo si habrá release XDD.


 

Imagen de Cere_Ender

Pues es una lastima porque

Pues es una lastima porque ando como loco por uina nueva release del LuaDev porque es muy potente y tengo un par de proyectos en mente y no puedo llevarlos bien a cabo si no tengo unas cuantas mas funciones.


En un par de proyectos:

Current: Fantasymind  [||                  ] PROGRESS: 10%

Next: FAR STARS


Twitter: @Cere_Ender


 

Imagen de gdljjrod

Lo siento

Pero no es una versión más de LDV sino un nuevo intérprete, por cierto que funciones son las que te interesan?.

Imagen de Cere_Ender

cuáles son las equivalencias

cuáles son las equivalencias de scanf(), y fflush(stdin) en LUA?

 

y tambien para que sirven los ":" (Por ejemplo image:blit();)


En un par de proyectos:

Current: Fantasymind  [||                  ] PROGRESS: 10%

Next: FAR STARS


Twitter: @Cere_Ender


 

Imagen de Andres_Ne

C ! :D

Hola buen dia:

 

C = scanf()  -> es para recivir datos en C pero luadev no recive datos de esta manera, solo asigna valores segun una condicion o un asignacion directa

if x > 10 then  --POR CONDICION 
	z = 30
end
 
z = z + 30 --ASIGNACION DIRECTA
z = 30 --OTRA FORMA DE ASIGNACION DIRECTA, DA IGUAL.

C = fflush(stdin)  - LUA nil image.free

 

Y los ( : ) son para acceder a la funcion  o modulo , por  ejemplo selecionas un objeto en este caso image y accedes y "adjuntas el objeto"  al modulo blit con :, 

Saludos.


 

 

Imagen de Cere_Ender

Pues digamos que quiero que

Pues digamos que quiero que el Usuario introduzca un nombre para su Héroe.

Se puede acceder al teclado del sistema?

De ser asi, hay alguna manera de almacenar el valor? O debo hacer un teclado expresamente? No tengo problema alguno, pero me va a llevar mas tiempo.


En un par de proyectos:

Current: Fantasymind  [||                  ] PROGRESS: 10%

Next: FAR STARS


Twitter: @Cere_Ender


 

Imagen de Andres_Ne

Claro teclados, los puedes

Claro teclados, los puedes hacer , de hecho hay unos cuantos por alli, y los valores que le des al teclado claro que los puedes manejar con unos arrays.


 

 

Imagen de Cere_Ender

A ver si tengo suerte y te

A ver si tengo suerte y te pillo por Skype en algun momento, que la diferencia horaria nos hace la putada.

Es que estoy aprendiendo C en clase y hay cosillas que al pasarlas a Lua no puedo o no lo indica. Por ejemplo, los Strings en C se guardan como tablas de una sóla linea, y puedo acceder a cualquier carácter usando un bucle For. En Lua como se guardan los string? Lo asignas con "" sin más? Se cuenta de "0 a x"?


En un par de proyectos:

Current: Fantasymind  [||                  ] PROGRESS: 10%

Next: FAR STARS


Twitter: @Cere_Ender


 

Imagen de Andres_Ne

Sep, los string en lua son

Sep, los string en lua son nada mas que "Hola, mucho gusto"

Imagen de carlossg

Cuales son sus novedades?

Cuales son sus novedades? Admite ya texturas?

 

Llevo sin entrar un tiempo, mi psp pasó a mejor vida Llora

Imagen de ikuto hatsune

otra duda dudosa sobre lua

disculpen por molestarlos denuevo, pero quisiera saber si se pueden poner cajas de texto en lua o formularios, si me respondieran se los agradeceria mucho


Lo tendrías que programar tu.

Lo tendrías que programar tu.

Imagen de ikuto hatsune

HUYY

gracias no sabes cuanto me ha servido tu comentario con eso podre hacerlo gracias encerio geniooo

Imagen de Jepte

pues solo es la verdad no

pues solo es la verdad no existen funciones especiales en lua para hacer cajas de textos y formularios, tu tendria que hacer las funciones .con las herramientas que te proporsiona lua dev.

un ejemplo de como podrias hacerlo

primero nesecitas los cuadros puedes hacerlo con draw.fillrect() manualmente o bliteando una imagen con los cuadros ya dibujados, ya que tengas las imagens en pantalla debes checar las coordenadas con editor de imagenes, para saber en que cordenada empiesa y acaba el cuadro para saber si el raton o cursor esta encima del cuadro para que puedea escribir, si esto es lo que quieres hacer,

ya que tengas las cordenadas de los cuadros crea una funcion como esta.

function escribir_en_cuadros(x,y,inicio_x,fin_x,inicio_y,fin_y)
 
 
if x>inicio_x and x<fin_x and  y>inicio_y and y<fin_y then
 
return true
 
else
 
return false
 
end
 
end

esta funcion checa si (x) es mayor a una cordenadax, y (x) es menor a otra cordenadax,  y (y) es mayor a una coordenadaY, (X) y (Y), son las cordenadas del raton, inicio_x,fin_x,inicio_y,fin_y son las cordenadas donde empiesan y acaban los cuadros.

todo el codigo quedaria mas o menos asi.

function escribir_en_cuadros(x,y,inicio_x,fin_x,inicio_y,fin_y)
 
 
if x>inicio_x and x<fin_x and  y>inicio_y and y<fin_y then
 
return true
 
else
 
return false
 
end
 
end
---------------------------------------
 
cx=100
cy=100
 
 
cursor=image.load("cursor.png")
 
fondo=image.load("fondo.png")
 
 
 
while true do
 
controls.read()
 
fondo:blit(0,0)
 
 
 
 
 
if escribir_en_cuadros(cx,cy,200,240,60,70) then
 
(inicias el teclado)
 
 
end
 
 
 
 
 
 
 
 
cursor:blit(cx,cy)
 
 
screen.flip()
 
 
end

con esto sabras cuando el cursor esta encima de un cuadro, para que puedas escribir.

 

 

 

Imagen de ikuto hatsune

gracias

esta respuesta si me aclaro la duda, lo unico que queria saber era si se podia poner ok ya me dijiste que no pero me diste una idea de como seria, gracias me diste una respuesta clara y al punto :), lo que quiero hacer requiere cajas de texto.


Imagen de ikuto hatsune

ayuda con controles

muy buena actualizacion, me podrian decir como combinar teclas digamos que "X" hace algo y quiero que cuando tenga precionado "R" + "X" haga otra cosa como seria??? si alguien me pudiese explicar gracias de antemano


Imagen de Jepte

por si quieres...

los dos haci no causa interferencia.

if controls.cross() and controls.r() then

..

elseif controls.cross() then

..

end

Imagen de ikuto hatsune

gracias

gracias a ti y a rober galarga esa fue mi pequeña duda de como combinar botones

Usa condiciones dobles: if

Usa condiciones dobles:

if controls.press("cross") and controls.press("r") then
...
...

Imagen de ikuto hatsune

gracias

gracias esa era mi pequeña duda

Podrías cambiar esto

wlan.statustext() --lo mismo que wlan.status() pero en vez de devolver números devuelve los strings de arriba

La v...

Salu2!

Documento función

math.round()  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.

 

Salu2!

Imagen de User170294

Gracias por aportar ;)

Gracias por aportar ;) Noticia actualizada.

Imagen de -DjB

Saludos, soy yo de nuevo,

Saludos, soy yo de nuevo, pero, ahora tengo otro problema que ya me esta fastidiando mucho y es esta parte del code:

 

function PlayIs()
if controls.cross() and files.ext(workDir[posicion].name) == "cso" then
os.runiso(workDir[posicion].name)
end
end

Aquí está diciendo que si preciona cross y el la extension del archivo es = cso entonces que corra el cso que esté selecionado. El problema es que cuando voy a la carpeta ISO o presiono un juego en formato cso o iso el va y ejecuta el UMD entonces eso ya me está molestando, necesito que me ayuden en éste lío por favor.

 

PD: La documentación está mala, porque la he descargado varias veces y me sale como que no tiene conexión algo así y no me deja ver la documentació, osea, ninguno de los comando que tiene esa documentación.


Usa mi code

function execute() --Ejecutar los backups, mp3 y eboot.
 
if not files.ext(workDir[position].name) =="mp3" then --Si no hay archivo mp3, entonces...
os.message('Busque un archivo de extensión "mp3" para esa posible acción.')
else
sndObj= sound.load(workDir[position].name)
end
 
if files.ext(workDir[position].name) =="mp3" then
sndObj:play()
elseif controls.press("start") then
sndObj:pause()
elseif controls.press("square") then
sndObj:stop()
sndObj:free()
end
if files.ext(workDir[position].name) =="iso" then
os.runiso(workDir[position].name)
end
if files.ext(workDir[position].name) =="cso" then
os.runiso(workDir[position].name)
end
if files.ext(workDir[position].name) =="pbp" then
os.runeboot(workDir[position].name)
end
end
 
function options()
x=15
y=20
 
if not (#workDir == 0) then --Si la carpeta no esta vacía, entonces...
site = workDir[position].name
else
screen.print(x,y,"Carpeta Vacía",0.6,White,0x0) --Si esta vacía, lo imprime
end
 
if controls.press("start") then execute() end
 
for i= limitInf, #workDir do
if y >= 0 and y <= 272 then --Esto, hace que solo se imprima entre esas coordenadas
if position == i then
screen.print(x,y,files.nopath(workDir[i].name),0.6,Black,White)
else
screen.print(x,y,files.nopath(workDir[i].name),0.6,White,0x0)
end
 
y = y+13
if y >= 260 then y = 277 end --Esto, hace que si supera un limite imprima fuera
 
end
end
end

No hagas caso el de MP3... Aun me falta arreglarlo :P Por cierto... ese code me funciona en cualquier PSP, en ME y en PRO :D (es de un explorador de archivos como estas viendo xD)

Paré de programar hasta que mi PSP se reparé... este proyecto no seguirá hasta que arregle mi PSP :(


 

 

Imagen de Dioni0396

si te carga la iso y el umd

no es culpa de luadev, es que la psp con un umd dentro lo carga aunque no tenga nada que ver

Imagen de -DjB

No la ISO no la carga, carga

No la ISO no la carga, carga el UMD, cuando entro en la carpeta "ISO" el automáticamente ejecuta el UMD y no el CSO o ISO que tengo en mi MS.

Pd: He intentado sin el UMD puesto y se sale del HB al ir a la carpeta "ISO", pero, nunca he podido ejecutar un juego que tenga en mi MS.


Que launcher tienes

Que versión o launcher usas?

 

Salu2!

Imagen de -DjB

Estoy usando el EBOOT de un

Estoy usando el EBOOT de un HB llamado GDP...

Me referia

A la versión del CFW que tienes instalada en la PSP, porqué eso infuye...

 

Salu2!

Imagen de -DjB

La que están en mi firma,

La que están en mi firma, osea, la 6.6 ME 1.8 y 5.0 m33, lo estoy testeando en los 2 psp y no me funciona.

PD: Tengo una psp sin el lector de UMD montado, pero, como quiera no me ejecuta los juegos de la MS.


He hecho una prueba

Y a mi tampoco me funciona con 6.60 PRO C y 6.60 PRO B-10, no sé a que se deberá...

 

Salu2!

Imagen de -DjB

Juuuuu que estraño, debería

Juuuuu que estraño, debería funcionar, seguire intentando mejorar el code haber si me funciona.

EDITO: Me funciono con el psp que tiene el 5.0, pero, el otro aun está sin funcionar.


Me temo

Que solo funciona con PSPs que tienen firmware Pro-me, ya que en ME y en PRO no va...

 

Salu2!

Imagen de -DjB

Me dí cuenta de algo es que

Me dí cuenta de algo es que al pulsar cross y al yo tener en 1er lugar en mi MS una iso es lo primero que ejecuta, entonces, puse esto:

function PlayIs()
if controls.cross() and files.ext(workDir[posicion].name) == "iso" then
os.runiso(workDir[posicion].name)
end
if controls.square() and files.ext(workDir[posicion].name) == "cso" then
os.runiso(workDir[posicion].name)
end
end

Y como tengo una cso al principio, entonces, al precionar cross, el no encuentra esa iso, entonces, entra a la carpeta haber si hay alguna iso, entonces, hasta que no precione cross y la terminal del archivo sea iso el no ejecutar nada, ahora si presiono cuadrado y la terminal es cso el la ejecuta y listo, pero, ahora el lío esta en que funcione en cualquier psp y no sólo en los míos, ahora en mi blanquita al entrar a la carpeta ISO me deja ejecutar las iso y las cso que tengo pero en mi negrita al querer entrar a la carpeta ISO entra como a ejecutar algo y se queda en negro la pantalla.


Imagen de User170294

Te recomiendo que de utilizar

Te recomiendo que de utilizar una documentación, sea la que está disponible para descargar es este mismo post al final de la noticia ;)


Imagen de -DjB

Ustedes creen que me funcione

Ustedes creen que me funcione este code:

zip.extract(workDir[posicion].name)

Porque es que no se como usar el zip.extract.

Debes darle como segundo

Debes darle como segundo argumento una dirección (donde se extraerán los archivos).

Por cierto, recuerda que si tu archivo tiene carpetas LuaDEV no podrá extraerlas (ni los archivos que estén dentro de las mismas).

Imagen de -DjB

Y eso seria como???

Y eso seria como???

Pues

Pues zip.extrac("tuArchivo.zip","unaCarpeta")...

Imagen de -DjB

Me podrían dar un ejemplo del

Me podrían dar un ejemplo del comando usb.on() y del comando de vídeo por favor.

Imagen de PerezRE

PerezRE

Para vídeo aún no hay pero pronto Deviante sacará a la luz una versión actualizada de su intérprete.

Del comando usb.on() es fácil; sólo haz una condición, por ejemplo:

if "Condición" and "Otra condión" then usb.on() end
 
---[and]  es opcional, sólo si debe cumplir más de dos condiciones.


--[NO EXISTEN LOS LIMITES =D]--

Imagen de -DjB

function

function conectar()
usb.on()
end

 

tengo esta funcion y no me funciona lo puse que cuando presione R llamara la funcion pero al ir al HB este no se conecta. Que hago.


Imagen de PerezRE

PerezRE

Bien aquí puede que ser de tres manera (creo, no he probado la tercera aunque debe de funcionar)

---[Manera 1]---
 
 
function conectar()
    if controls.press("r") then osb.on() end
end
 
 
while (1) do
    controls.read()
    conectar()
    screen.flip()
end
 
 
 
 
 
---[Manera 2]---
 
while true do
  controls.read()
   if controls.press("r") then usb.on() end
  screen.flip()
end
 
 
 
---[Manera 3]---
 
funtion conectar()
 usb.on()
end
 
while true do
 controls.read()
   if controls.press("r") then conectar() end
 screen.flip()
end

 

Saludos! Suerte! 


--[NO EXISTEN LOS LIMITES =D]--

Imagen de -DjB

No, funciono ninguno...

No, funciono ninguno...

Raro, acabo de probar con

Raro, acabo de probar con este código:

while true do
	controls.read()
		if controls.press("r") then usb.on() end
	screen.print(5,5,"Todo Listo")
		if usb.status() then screen.print(5,25,"USB Activado") end
	screen.flip()
end

Y va perfecto (PSP FAT 6.60 ME 1.8, último eboot, o eso creo xD).

Ah! por cierto, en ese hay un ejemplo de uso de una función que tampoco está documentada: usb.status(), que devuelve true o false según si está activada la conexión o no, para que la añadan al hilo ;)

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.