Publicidad

Anuncios Google

Tuto Completo de lua [En construccion] (Mientras Nekerafa prepara lo suyo)

Como veo que hay gente que quiere aprender lua y el post de nekerafa tienen que prepararlo bien, aqui les dejo lo que sera un resumen de lo que saldra:


Preparándolo todo.

Lo Primero para ir empezando a programar en lua, es descargarse el Notepad ++

Una vez realizado eso, se instalaria se abriria se le pone el lenguaje lua y empezamos ya a escribir codigo.

Claro, una vez que tengamos eso, queremos probarlo, por desgracia este lua no te muestra los errores, si algo esta mal directamente no se ejecuta.

Aqui teneis las versiones de lua que existen para PS3: Lua player


Variables y tablas

Una variable es un espacio de memoria al cual se accede mediante un nombre que se le asigna a dicho espacio de memoria.

Tipos:

Strings:

MiNombre = "DIONI0396"

Estas son la de tipo de texto, como ves esto va entre comillas.

Booleanas:

Condicion = true

Estas son las de tipo verdadero o falso, true o false, en este caso la condicion es true

Nulas:

Puntos = nil

Son las del tipo nulo, es decir no tiene ningun valor.

Tablas:

Una tabla, es una variable que contiene mas variables, por asi decirlo:

Un ejemplo:

Variable = { 2 , "Mi nombre es", "Soy malo!"}

eso seria una tabla, una tabla sirve para meter mas variables, otro ejemplo:

Variable = { } --Asi se llama a una tabla vacia ¿para que? Mira abajo
Variable[1] = "Hola!" --Has visto el [1] eso seria el elemento 1 de la tabla vacia, una tabla vacia sirve para despues meterle mas informacion, tambien en vez de numeros se puede usar texto.
Variable["sdfjsdf"] = "Hola de nuevo!" --Como has visto he puesto un texto sin sentido pero es valido, pero luego a la hora de llamarlo sera mas dificil por eso recomiendo siempre un numero 1,2,3,4,etc

Existen 3 Tipos:

1º Tipo:

Variable = {1,2,3."B"}

2º Tipo
Variable = { }
 
Variable[1] = "Hola"
Variable[2] = "Adios"

3º Tipo
Variable = { }
 
Variable.1 = "Hola" --Tambien se puede usar texto con comillas



Operadores y estructuras de control.

Lo que veremos aqui son las operaciones logicas:

A == B -- será verdadero si A es igual a B
A ~= B -- será verdadero si A es diferente de B
A > B -- verdadero sólo si A es mayor que B
A < B -- verdadero sólo si A es menor que B
A >= B -- verdadero si A es mayor o igual que B
A <= B -- verdadero si A es menor o igual que B

Estructura de control:

Las estructuras de control son ciertas sentencias que usan palabras reservadas para realizar distintas acciones

Tipos:

Condiciones if:

if <Condicion> then
<Codigo>
end
--El ejemplo es sencillo, si se cumple una condicion, se realizara el codigo si no, no

Extensiones condiciones if:

Existen unas extensiones para las condiciones if, aqui las muestro:

if CONDICION then
BLOQUE
elseif CONDICION 2 then --Quiere decir, que si la primera condicion no se ejecuta entonces, tener en cuenta que si se ejecuta lo 1º lo DEMAS no lo hara, podemos poner cuantos elseifs queramos.
BLOQUE 2
end
-----------------------------------------------------------------------
if CONDICION then
BLOQUE
else --Si no se cumple la condicion
--lo que quieras
end


Funciones:

Una funcion sirve para muchisimas cosas, yo diria infinitas.

¿Como funciona/usa?

Es simple, ponemos la palabra function seguido con el nombre que le queramos poner y un ()

Ejemplo:

function Aqui_Lo_Que_Quieras()
BLOQUE --Codigo
end

Para llamar esa funcion simplemente se le llama con el nombre que le hemos puesto y ()

Aqui otro ejemplo:

funcion RJ()
BLOQUE
end
...
..
...
while true do
...
RJ()
...
end

Eso seria lo basico de las funciones.


Manejo de archivos:

Con esto nos referimos a leer, escribir, borrar, etc. Ya que este lua no nos permite mover un archivo de un directorio a otro, los archivos que lua puede leer y escribir son:

*.lua, *.txt (Si alguien conoce mas diganlo)

Lo primero es crear un archivo .txt que lleve varias lineas (Pueden no tener sentido como por ejemplo: asjfsidfhn, lo importante es saber abrirlo)

Una vez hecho eso empezamos:

Archivo = io.open("Nombre_Archivo.txt","Modo")

Lo explico:

En nombre_archivo ponemos como hemos llamado nuestro .txt

En Modo elegimos el modo que queremos existen estos:

  • r -> modo lectura.
  • w -> modo escritura (sobreescribe el texto existente).
  • a -> modo añadir (añade al texto existente).
  • b -> modo binario.
  • r+ -> modo actualizar (preserva el texto existente).
  • w+ -> modo actualizar (elimina el texto existente).
  • a+ -> modo añadir actualizado (preserva el texto existente, añade al final del texto).

Nosotros vamos a usar el r

Existen distintos metodos de leer el archivo aqui lo pongo y lo explico:

--Para leer la primera linea del archivo
archivo = io.open("Nombre.txt","r")
Linea = archivo:read() --Leemos la 1º linea
--Si usamos la V1 de Lua player...
DrawText(100,100,Linea)
--Si usamos la V2 de lua player
--Cargamos fuente...
Fuente:Print(100,100,Linea)
-----------------------------------------------------------
--Ahora para leer todo el .txt
archivo = io.open("Nombre.txt","r")
y = 10
for linea in archivo:lines() do --Linea es archivo:lines() esto es un poco dificil de entender, lo que queremos decir es que linea = archivo:lines() pero para reproducirlo usamos un bucle for... (Mas adelante se explica que es un bucle for)
y = y + 10 --aumentamos y
--Si usamos la V1 de Lua player...
DrawText(100,y,Linea)
--Si usamos la V2 de lua player
--Cargamos fuente...
Fuente:Print(100,y,Linea)
end

Esto seria lo basico para leer, pero y para escribir?

archivo = io.open("nombre.txt","w")
archivo:write("asdmafjsajdf") --Texto, pones el que quieras
archivo:close() --cerramos archivo

Esto es lo basico de lectura y escritura de archivos.


Primer Contacto con PS3

Vamos a empezar ya a programar, lo basico es saber imprimir poner texto en pantalla

Es basico y facil, como para ello miramos esto:

--Si usamos la V1 de lua player...
--Simplemente con poner:
DrawText(100,100,"Hola a todos") 
--Ya esta el texto en pantalla
--Si usamos la V2 de lua player
--Cargamos fuente...
Fuente:Print(100,100,"Hola a todos")

Pero claro, eso no lo imprimiria ya que la pantalla esta desactivada, para activarla:

InitGFX(720,480) --La resolucion, se puede poner la que quiera.
while true do
--Si Usamos la V1 de lua player...
beginGFX()
--Si usamos la V2 de lua player...
beginGFX(0x00000)
--Ponemos aqui lo que queremos imprimir y despues
endGFX
end

Eso seria el primer contacto con PS3


Botones:

Los botones que existen son estos:

• up
• down
• left
• right
• triangle
• square
• circle
• cross
• R1
• R2
• R3
• L1
• L2
• L3
• start
• select 

Como funcionan?

Es simple, lo metemos en una condicion if, y ponemos el mando a usar y el boton, ejemplo:

if cross(0) then --0 es el mando 1

pero claro, esto lo leera muy rapido, casi que el ojo humano no podra ni verlo

para ello usamos una variable, y si el boton no esta pulsado pues la variable = 0

Aqui os dejo un metodo del compañero Daklon

pulsado = 0-- variable que comprueba si el boton esta pulsado
numero = 0
while true do
if cross(0) >= 1 and pulsado == 0 then-- comprueba las dos cosas que dije antes
Fuente:Print(500, 500, numero)-- imprime en pantalla el valor de la variable numero
numero = numero + 1-- suma una unidad a la variable numero
end
if square(0) >= 1 or cross(0) >= 1 or circle(0) >= 1 or triangle(0) >= 1 or up(0) >= 1 or down(0) >= 1 or left(0) >= 1 or right(0) >= 1 or R1(0) >= 1 or R2(0) >= 1 or L1(0) >= 1 or L2(0) >= 1 then-- comprueba si algun boton esta pulsado
        pulsado = 1-- establece como 1 la variable pulsado
else-- en caso de que no este pulsado ningun boton
 pulsado = 0-- establece que pulsado = 0 por lo que deja ejecutar codigos de if que contienen "and pulsado = 0"         
	end
 
end

 

Editado: Hilo movido a Aportes de usuarios, por favor postead en el lugar correcto, revise lasNormas de la comunidad.| Bernysonfil

 

 

 


 

 

 


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 david_____david

Hace un rato que me he puesto

Hace un rato que me he puesto a estudiar Lua y la verdad es que me resulta mucho más dificil que C para Wii.

Imagen de NEKERAFA

XDDD

Pero si Lua es superfacilisimo. Si tienes algun problema contacta conmigo por MP y te ayudare a aprenderlo.

También podeis esperar a que empiezen a subir mis tutos, que ya están hechos


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 david_____david

xD

Puede ser, pero no tengo tiempo para dedicarlo y aprenderme todo.

Haber si de verdad saco tiempo y me emto más.

Gracias por ofrecerte xD


Imagen de csar.ale

Claro!!

LUA es bastante fácil, te lo digo por que mucho tiempo programe en C wii, aunque no logre muchas cosas y con lua llevo bastantes cosas.

Pero es mucho menos potente...

Imagen de Dioni0396

WTF?

Que me dices?

Imagen de david_____david

Puff

No sé, no me resulta fácil programar en Lua, no digo que C sea sencillo pero al menos lo entendia mejor.

Será porque no tengo mucho tiempo para dedicarle a la programación.

 

Salu2


Imagen de Dioni0396

Bueno

Pues vete a C

Aunque si dijeras las dudas seria mas facil explicartelo

Imagen de david_____david

O_o

En ningún momento he dihco que me fuera a C.

Digo que no tengo tiempo para aprender y no lo veo fácil.

Tranquilo que en cuanto tenga tiempo y empiece te bombardearé a preguntas xD

 

Salu2


Imagen de Dioni0396

Perfecto

Imagen de david_____david

:)

Voy a empezar a aprender Lua, haber si para dentro de unas semanas se algo.

Salu2

Imagen de Dioni0396

Ups!

Habia descuidado este tutorial, gracias por revivirlo xD

PD: si tienes dudas avisa.

La partes de las variable, etc (Cosa que conteste en un post) tambien estan en NDS, por si aqui no lo entiendes.

Imagen de david_____david

Ok

Gracias por tu ayuda.

Esta muy bien el tuto! :)

Puedes mirar los de Chimecho

Puedes mirar los de Chimecho también xD

Imagen de Daklon

dioni creo que hay un detalle

dioni creo que hay un detalle que no mencionaste, no estoy seguro ya que nunca lo he probado, pero con el codigo de ejemplo que venia con el lua player lo hacia asi, para buscar un archivo, no ponia "archivo.extension", sino "dev_usb000/archivo.extension", no estoy seguro si como tu lo ahs puesto funcionaria, ya que con el manejo de archivos todavia no me he metido, pero creo que es de la ultima forma

otra cosa, el ultimo codigo que psusite, se te olvido poner que estaba en lua, porque lo resalta como si fuera C

Imagen de NEKERAFA

No

Para cargar un archivos es archivo.extensión, lo que pasa que el autor pone dev_usb000 para indicar que estan en un usb

Imagen de Dioni0396

yo siempre

he puesto archivo.extension y no me ha fallado.

Imagen de NEKERAFA

Joe, que resumido... es mejor

Joe, que resumido... es mejor que los expliques.
Despues, es mentira que lua solo puede abrir esos archivos, Lua, como cualquier lenguaje, puede brir todos los achivos existenes ya se imagenes, un archivo txt o un eboot, lo que pasa que estos ultimos estan compilados a binario, por lo que se necesita abrirlos como binario (Son los mismos metodos pero con un b delante)


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 Dioni0396

Para que voy a hacerlo expandidos

si:

  • No van a ir a portada
  • Ningun Admin se va a pasar a verlos
  • La gente espera los tuyos no los mios
  • Lentamente se ira muriendo el post
  • y mas cosas que no quiero decir....
Imagen de david_____david

:)

Si saco tiempo me los miraré.

Gracias por el aporte! :)

Imagen de SuperSdmare

Te agradezco :)

Te agradezco :)

Si quieres puedo ayudar con

Si quieres puedo ayudar con el tuto.

Imagen de Dioni0396

Pues los algoritmos seria ideal

que me ayudaras.

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.