
Hola gente…como andan? hoy vengo a traerles mi primera parte de mi "manual" para hacer Lua,el cual,para un correcto aprendizaje,necesitas:
-Paciencia
-Leer todo y preguntar cualquier cosa
-Un Garry’s mod
-Tiempo para un comentario bonito
Los puntos importantes que quiero dejar en claro son…
-Tenes alguna duda…comenta
-No entendiste algo del Post…comenta
-Crees que puse algo mal,o no "entiendes"…comenta
-Te gusto???…comenta
…Y asà mejorare la calidad del manual para que sea mejor…Por ahora,en este tomo, comenzare dando el Prologo,que para mi es lo mas importante
Bueno gente,para empezar con toda la guÃa,es necesario dar una buena impresión de lo que es lua,como funciona,y como hacerlo funcionar, asà que,les invito que lean con atencion el prologo
El lua,es un "lenguaje",este,en su sencillez,utiliza lo básico del idioma ingles y del idioma de programación…no tengan miedo,no es para nada difÃcil una vez que aprendemos parte de este idioma,ya que,con acordarse unas palabra,podemos crear frases,las cuales con ellas crearemos "Addons" para el gmod
Yo,me voy a encargar por medio de esta guÃa a aprender a "hablar" en Lua,para que sea un,ingles,un spanglish,un etcétera…
He preparado,una viñeta como para entender que entiendan como funciona en parte el lua,como si fuera parte de tu pensamiento,osea,como te expresarias

*Perdon por el error de la 5ta linea,a lo corregi en el codigo de abajo
Aca podemos ver,a un troll con un "codder", el cual posee el codigo
function troll_detected()
If troll == true then
concommand.Run("Say GTFO Troll" )
else
concommand.Run("Say te confundi con un troll" )
end
Pero que significa lo de arriba?
1ra linea: Aca,empiezo una "accion" o defino un grupo de acciones
2da linea:Aca,hago una comparativa,por ejemplo,es un troll?,si lo es,entonces
3ra linea:Hago que el jugador,lance un comando,este dice "GTFO Troll"
4ta linea:Aca me refiero a un "Sino",es decir,si no cumple con la condición,osea,no es un troll,entonces
5ta linea:Y sino no es un troll,digo "Te confundi con un troll"
Algunos habran prestado atencion al diseño del codigo…a que me refiero? a los colores,estos nos son de mucha ayuda a la hora de escribir,ya que nos indican que estan bien colocados y escritos,y cuando me refiero a escritos me refiero a que respeten minúscula o mayúscula
Pero,que significa cada cosa que escribi?
function = es un grupo,el cual posee un nombre,esta puede llamar a otros "grupos" y tambien generar acciones,este ya que es un grupo,necesita un cierre,porque sino,es como meter todo en una bolsa,y no ponerle un "fin",por ello,que para cerrar la bolsa,necesitamos un "end"
troll_detected = Esto es totalmente aleatorio,si queres,pones "perro_volador_devora_viejas_locas" siempre y tanto no uses espacios y coloques al lado de este un par de parentesis () *ya explicare en otra ocacion para que son los parentesis a esto se le llama una constante,porque este no cambia
*Constante = Palabra o numero que no cambia,es fijo

If = Esto…es lo mas importante (almenos para mi),es lo que suele costar mas y mas sirve,es la logistica,a que me refiero…piensen en una puerta,facil no?,ahora,pensa,la puerta esta cerrada no?,bien,abrila y pasa,pero si esta abierta? y pasa de una flaco…
Entonces? el If es una condicion,que utiliza comparaciones,las cuales pueden ser,Numeros,Booleanas,entidades
Vos,pones una condicion,por ejemplo,el perrito está en llamas? si es "Verdad" pasa esto,si no lo es…como escribiriamos esto?
*Booleana = una ropa que usan los gauchos…nah mentira xD,es una "puerta",como decir "abierto" o "cerrado" solo con las palabras "true" o "false"
if el_perrito_esta_en_llamas == true then
blah blah
else
blah bla
end
Esto,va en una funcion si queres,sino,puede ir fuera,pero eso es en algunas condiciones,por el momento lo vamos a meter adentro de las funciones
No me voy a adentrar tanto al tema por el momento,ya que ocuparÃa mucho espacio,ya,explique la mitad del if, asà no le resulta un tema muy nuevo en el proximo tomo
Las variables…son como,atajos,por asi decirse,a las variables las define uno mismo,le podes poner,balas,municiones,vida,caca,lo que queras,ovio,sin usar simbolos ni espacios…a estas las definimos con un igual,y podemos definirlas diciendo que es igual a:
-Una palabra o frase : palabra = "soy una frase"
-Un numero: numero = 4,53
-Un booleana: booleana = True
Las variables se pueden editar en cualquier parte del código,a diferencia de sus hermanas "constante" me refiero a que deben siempre ser el mismo valor o palabra
En la booleana encontramos por ejemplo:
True = Es una "llave" de las booleanas,que no indica nada en especial,solo que te ayuda a darte cuenta que se refiere a una booleana asi el lua te la reemplacé con color azul
Como podria ser True (Verdadero) puede tambien ser False (Falso)
Aca,pregunte si la Variable es verdadera,la cual puedo definir si es "Verdadera" o "Falsa"
Aca pongo otro codigo
function variables()
if variable1 == 2 then
variable1 = 2 + 5
end
end
Acá le traduzco el código,como ven,hice una función,y dije…si la variable1 vale 2,entonces,ahora va a valer 2 + 5,y cierro la condición,y cierro la función,pero,notaste que en el "if" uso 2 signos iguales y que en la 2da parte solo uso 1?
Esto es,porque en una comparo,y en otra defino,tengan en cuenta esto,ya que es cause de muchos errores lua (si,de esos naranjas)
concommand.*** = Recuerdan lo que les dije de las funciones? que corren pequeñas acciones? por ejemplo,esta es una de ellas y la mas sencilla de recordar y me es siempre util para saber si hice algo mal,ya que,si esta accion corre,me doy cuenta que lo hice bien,pero como funciona ESTA accion?
Simple,para todos los tipos de acciones,por ejemplo concommand,existen,subgrupos? que son los subgrupos? imaginen una carpeta de su computadora,puede agarrar la carpeta,pero no pueden correr los archivos que estan dentro no?,por ejemplo,yo abri un "archivo" con poner "concommand.Run" el cual hace que el jugador ponga un comando,el cual es designado como "concommand.Run("comando" )", verán,los paréntesis,dan argumentos,en este caso,el argumento seria el comando,el cual lo definimos con las comillas,es muy importante esto,porque si no le ponemos comillas,tomara lo que pusimos como si fuera una variable que ya definimos…
Podemos encontrar muchas mas acciones visitando esta pagina y poniendo lo que queramos (en ingles)
Buscador de Funciones y Acciones
Como sabemos,tenemos que finalizar el codigo en algun momento,sino,seria un desastre nuestro codigo,ya que se mesclaria todo y perjudicaria a este.
Pero para terminarlo,necesitamos cerrarlo,o ponerle un "fin" a cada parte de un grupo,o un condicional,si señores,con un "end"
Lo debemos colocar al final de cada funcion y condicion,como lo hice en este ejemplo
function variables()
if condicion == true then
condicion = false
end
end
Si nos olvidamos de colocar un end (cosa que programas como el notepad++ nos avisa) el gmod te mostrara un error,tal como "unespected "end" <archivo.lua>line:XX"
Acoto,eso no es solo un error solamente causado porque falta…sino porque sobra,cosa que aclarare en el proximo tomo de este post,el cual agregare a este,para que sea un super mega post
Por ahora,me despido con la primera parte,espero que les alla gustado,y recuerden,preegunteen cualquier duda,ya que intente tener la menor incoherencia posible y hable lo mas sofisticado posible como para que me entiendan,y si no lo hacen,es como si hago este post al pedo D:
Espero que les haya gustado,y mas aun,que comenten y agreguen a favoritos

