
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):
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).
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).
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.
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
zip.extract( directorio_del_zip, directorio_a_extraer, int_recursivo )
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
tostring( cualquier_parametro ) --convierte un dato de cualquier tipo al tipo string
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
os.sleep( segundos ) os.luadevsplash() --muestra el splash de LUADev os.luasplash() --muestra el splash de LUA
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)
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
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
por si quieres...
los dos haci no causa interferencia.
if controls.cross() and controls.r() then
..
elseif controls.cross() then
..
end
Usa condiciones dobles: if
Usa condiciones dobles:
Podrías cambiar esto
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!
Gracias por aportar ;)
Gracias por aportar ;) Noticia actualizada.
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:
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.
PSP 1001 versiones -> 6.60->>638->>>6.20->>>>5.50->>>>>>5.03->>>5.00-->>>>
3.80--->>>3.71-->>>>>2.80--->>>>>2.50--->>>>>2.00--->>>>1.50--->>>>1.00.
Actual --->> 6.60
Nintendo 3DS -->>> 4.5.10E
PSX--->>>>Chipeado>>8mb
Shell Files Explorer V3 (SFM): ¡25 De Abril!
Página web en facebook:
psp hack
Usa mi code
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 :(
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
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.
PSP 1001 versiones -> 6.60->>638->>>6.20->>>>5.50->>>>>>5.03->>>5.00-->>>>
3.80--->>>3.71-->>>>>2.80--->>>>>2.50--->>>>>2.00--->>>>1.50--->>>>1.00.
Actual --->> 6.60
Nintendo 3DS -->>> 4.5.10E
PSX--->>>>Chipeado>>8mb
Shell Files Explorer V3 (SFM): ¡25 De Abril!
Página web en facebook:
psp hack
Que launcher tienes
Que versión o launcher usas?
Salu2!
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!
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.
PSP 1001 versiones -> 6.60->>638->>>6.20->>>>5.50->>>>>>5.03->>>5.00-->>>>
3.80--->>>3.71-->>>>>2.80--->>>>>2.50--->>>>>2.00--->>>>1.50--->>>>1.00.
Actual --->> 6.60
Nintendo 3DS -->>> 4.5.10E
PSX--->>>>Chipeado>>8mb
Shell Files Explorer V3 (SFM): ¡25 De Abril!
Página web en facebook:
psp hack
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!
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.
PSP 1001 versiones -> 6.60->>638->>>6.20->>>>5.50->>>>>>5.03->>>5.00-->>>>
3.80--->>>3.71-->>>>>2.80--->>>>>2.50--->>>>>2.00--->>>>1.50--->>>>1.00.
Actual --->> 6.60
Nintendo 3DS -->>> 4.5.10E
PSX--->>>>Chipeado>>8mb
Shell Files Explorer V3 (SFM): ¡25 De Abril!
Página web en facebook:
psp hack
Me temo
Que solo funciona con PSPs que tienen firmware Pro-me, ya que en ME y en PRO no va...
Salu2!
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:
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.
PSP 1001 versiones -> 6.60->>638->>>6.20->>>>5.50->>>>>>5.03->>>5.00-->>>>
3.80--->>>3.71-->>>>>2.80--->>>>>2.50--->>>>>2.00--->>>>1.50--->>>>1.00.
Actual --->> 6.60
Nintendo 3DS -->>> 4.5.10E
PSX--->>>>Chipeado>>8mb
Shell Files Explorer V3 (SFM): ¡25 De Abril!
Página web en facebook:
psp hack
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 ;)
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).
Y eso seria como???
Y eso seria como???
Pues
Pues zip.extrac("tuArchivo.zip","unaCarpeta")...
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.
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:
--[NO EXISTEN LOS LIMITES =D]--
function
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.
PSP 1001 versiones -> 6.60->>638->>>6.20->>>>5.50->>>>>>5.03->>>5.00-->>>>
3.80--->>>3.71-->>>>>2.80--->>>>>2.50--->>>>>2.00--->>>>1.50--->>>>1.00.
Actual --->> 6.60
Nintendo 3DS -->>> 4.5.10E
PSX--->>>>Chipeado>>8mb
Shell Files Explorer V3 (SFM): ¡25 De Abril!
Página web en facebook:
psp hack
PerezRE
Bien aquí puede que ser de tres manera (creo, no he probado la tercera aunque debe de funcionar)
Saludos! Suerte!
--[NO EXISTEN LOS LIMITES =D]--
No, funciono ninguno...
No, funciono ninguno...
Raro, acabo de probar con
Raro, acabo de probar con este código:
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 ;)
Hay problemas todavía, cuando
Hay problemas todavía, cuando presiono "r" me dice usb activado pero en la pc no esta presente, porque sera??
Te funciona bien el USB?
Te funciona bien el USB? Si quieres puedes pasarme el código por privado (o como prefieras) y lo pruebo en la mia, haber como va...
PD: Tambien puede ser el CFW...
Saludos!
K.o te lo paso tengo el cfw
Aún estoy sin conectarme al USB vía mi HB, porque fuera del HB el funciona bien el USB, tampoco, puedo hacer uso del zip.extract estoy en problema desde hace tiempo desde hace tiempo.
PD: Estoy usando el LuaDev.
PSP 1001 versiones -> 6.60->>638->>>6.20->>>>5.50->>>>>>5.03->>>5.00-->>>>
3.80--->>>3.71-->>>>>2.80--->>>>>2.50--->>>>>2.00--->>>>1.50--->>>>1.00.
Actual --->> 6.60
Nintendo 3DS -->>> 4.5.10E
PSX--->>>>Chipeado>>8mb
Shell Files Explorer V3 (SFM): ¡25 De Abril!
Página web en facebook:
psp hack
Nueva función!!!
Modulo OS, codificar un string en md5:
os.md5(string)Saludos!
Supongo que lo has sacado de
Supongo que lo has sacado de Wifihack no? Bueno, que da igual. Que esta en la docu, en la mia al menos.
Salu2
Cierto
Es verdad, esta en la docu, en ese momento no la tenía a mano y pense que era una función nueva
Saludos!
Entonces, si está en la
Entonces, si está en la documentación de LuaDEV no es necesario que sea añadida al post :/
Aqui hay un fallo
Aqui hay un fallo:
wlan.statustext, tendría que ser:wlan.statustext()Saludos!
Gracias. Ahora lo corrijo ;)
Gracias. Ahora lo corrijo ;)
jejeje k.o gracias pero donde
jejeje k.o gracias pero donde va puesto dentro del while do o como funtion o afuera
En el while
pero también lo puedes ponerla en un function y al mismo llamarlo en el while
ok muchas gracias...
ok muchas gracias...
me podrian dar un ejemplo de
me podrian dar un ejemplo de zip.extract
por favor!!!!
zip.extract
zip.extract (ms0:/Carpeta/Archivo.zip, ms0:/Carpeta, Contraseña)
Creo que es así. Si no, por favor corriganme.
Sí
Así es nada mas te falto las comillas, cosa muy importante para evitar un error.
zip.extract ("ms0:/Carpeta/Archivo.zip", "ms0:/Carpeta")Salu2
Lauren Dyson ♥
Mi PC Gamer!
Serie Hardcore de Minecraft en PC! Entra ya!
hola hoy lo intente y me da
hola hoy lo intente y me da error de que no encontro ms0:/carpeta/archivo.zip
por que dice eso...
Debe ser minusculo el error,
Debe ser minusculo el error, verifica que esté todo bien, la ruta como dicen, que el archivo esté bien escrito del nombre, pequeños detalles, además si has tenido multiples errores en el Lua y has reiniciado muchas veces con el botón de reinicio, sal y vuelve a intentarlo.
Lauren Dyson ♥
Mi PC Gamer!
Serie Hardcore de Minecraft en PC! Entra ya!
si pero lo que quiero que
si pero lo que quiero que haga es que en cualquier parte que este el rar o el zip el lo extraiga y ya eso lo que quiero que haga...
PSP 1001 versiones -> 6.60->>638->>>6.20->>>>5.50->>>>>>5.03->>>5.00-->>>>
3.80--->>>3.71-->>>>>2.80--->>>>>2.50--->>>>>2.00--->>>>1.50--->>>>1.00.
Actual --->> 6.60
Nintendo 3DS -->>> 4.5.10E
PSX--->>>>Chipeado>>8mb
Shell Files Explorer V3 (SFM): ¡25 De Abril!
Página web en facebook:
psp hack
Eso es muy facil la verdad ,
Eso es muy facil la verdad , solo te las ingenias para que cuanto le des (x) en un arcivo y que si su formato es "rar" (files.ext, te serviria) entonces que tome la ruta y la pase a la funcion de extraccion la verdad es algo muy facil de hacer.
Saludos.
Juego Para PSP
Descarga El Juego Aqui.
Visita Nuestra Pagina De Programacion TeamAtlantis
Estáis seguros?
No creo que descomprima archivos rar, ya que es el módulo zip, pero a lo mejor me llevó una.sorpresa.
Pero
Si te las ingenias podrás mezclar Lua hmv7 con LuaDEV.
Salu2