martes, 16 de junio de 2009

RBLX_Lua Basico

En este tutorial español voy a enseñar como hacer scripts para ROBLOX (For english version go to mt blogs). Empezemos por lo basico para hacer scripts. Ve en ROBLOX Studio > view > toolbars > command. Luego pon ROBLOX studio > view > output. Bien

Vamos a hacer nuestro primer script:

Nuestro comando es:

quiero borrar la cabeza de objection234

Asi que vamos a traducircelo al orrdenador.

game --en el juego

Habras notado los "--". Las comentarios de una linea empiezan con --. Si escribes algo del lado derecho de --, el ordenador no lo registrara. Se usa para hacer los scripts mas legibles.

game.Workspace --En el workspace

Workspace es un objecto especial, demos gracia a roblox que puedes usar

game.workspace

o solamente

workspace


El workspace es el unico objeto que nos permite hacer esto.

game.workspace.objection234 --Buscamos a objection234

workspace.objection234.Head --encontramos su cabeza.

Ahora sabemos que tenemos la cabeza pero necesitamos usar una funcion. Las funciones son lo mas importante a la hora de hacer scripts. ROBLOX incorpora unas funciones globales (luego vermeos que son globales) muy especiales que se pudedn llamar con dos puntos [:]

game.Workspace.objection234.Head:Remove()

O si lo prefieres no la llames con los dos puntos, pudedes usar:

Remove(game.Workspace.objection234.Head)

Bien. Entonces al borrar la cabeza tu personaje muere. Las formas de matara un humanoide es spearando su cabeza del torso o reduciendo su vida a 0. Puedes usar este swcript en la barra de comandos o en script builder.


Necesitas saber que en Lua hay dos tipos de archivos,
Local y Global. Local es algo que solo el bloque que se esta usando puede usar y global es algo que todos los scripts, bloques etc... puden usar. ROBLOX incorpora algunas funcion Globales y Lua otras. Un ejemplo de local:


function HacerAlgo()
a = 2 + 2
return a
end


Nota: ESTAS FUNCIONES NO SE PUDEEN LLAMAR CON LOS DOS PUNTOS.

Antes de analizar la frase vamos a ver donde podemos usar esta funcion.


En el mismo script = Si
En otro script = No
En un bloque del mismo script = Si

Bien ahora vamos a analizarla.

function:

Es una palabra reservada de Lua que no se puede usar como nombre o valor.

a =:

Crea una variable llamado "a" y le asigna un valor. El operador logico "=" Se usa para asignar valores.

2 + 2:

Lua tiene un sistema de calculo automatico. A diferencia de C++, no tienes que incluirlo, ya te viene incluido. Esta operacion el resultado de la suma de 2 + 2.

return a

Ya que el valor de "a" solo se puede usar en el bloque de la funcion, necesitamos poder usarlo en el script, por lo que usamos la palabra "return", que nos devuelve el valor de a (En este caso la suma de 2 + 2).

end:

Algunas plabaras especiales de lua necesitan declarar su final. Para eso utilizamos end.

Vamos a aplicar la function.


print(HacerAlgo())

Print es unba funcion global que ha incorporado Lua. Tiene el poder de poner contenidos en la pantalla, en el caso de ROBLOx en la pantalla de "Output". Entonces usamos print() Para escribir en la pantalla. OJO: El outpout no pondra "HacerAlgo()"
El output pondra el resultado de HacerAlgo(), que es una funcion. La funcion nos devuelve el valor de la suma de 2 + 2, entonces el output pondra 4. Si piensa que hay una forma mejor de poner eso, esta en lo cierto, simplemente:


print(2 + 2)

O mas facilmente

print(4)



Actividades:


Crea una variable llamada "contador" i cambia su valor a 70

Crea una funcion que te devuelva el valor de 71

Usa print para poner el resultado de 55 + 10274


Ahora pasamos al tema de las funciones. En este tema se explicaran las siguientes cosas:

Evento para conectar.
La funcion.
Mas sobre variables.

La funcion:


function onTouch(part)



Vamos a analizar. Crea una funcion local llamada onTouch(). En los prentesis de ls funcion crea una variable especial, pero si no la usas pudes poner simplemente onTouch().

El evento para conectar:

Mas sobre variables:

Las variables no solo se les puede asignar numeros, tambien se les puede asginar letras:

a = "Variable"

Y en ROBLOX se les puee asignar objetos:

brick = game.Workspace.Brick

Crear variables ayudan mucho a la hora de hacer scripts.

El evento de conectar:

Estamos llegando a una de las partes mas importantes. El script sabe la funcion y donde esta el bloque pero si quieres que el script use la funcion en un momento determinado necesitas conectar la funcion:

game.Workspace.Brick.Touched:connect(onTouch)

cuando game.Workpsace.Brick es tocado conectar a una funcion en este caso la funcion onTouch.

El script completo:


Por fin hemos acabado el script, vamos a verlo:




brick = game.Workspace.Brick --Crea una variable y le asigna un objeto como valor

function onTouch(part) --Crea la funcion.
brick.Transparency = 1 --Cambia la transparency de la variable brick.
wait(2) --es una funcion usada para esperar antes de la siguinte accion.
brick.Transparency = 0 --cambia la transparency a 0.
end --Acaba el codigo de la funcion onTouch()

brick.Touched:connect(onTouch) --se dispara le funcion se brick es tocado.



Si se toca brick se vuelve transparente durante 2 segundos.


Por fin echo!!!

!~OBJECTION234~!