Nuevas NORMAS para el foro
Bienvenido(a),
Visitante
. Favor de
ingresar
o
registrarse
.
¿Perdiste tu
email de activación?
- Julio 27, 2008, 02:00:16
Boton Buscar
Visita:
Articulos
-
Juegos Gratis
-
Da Foros
Comunidad Underground Hispana
|
Programacion
|
Programación
|
Otros Lenguajes
| Tema:
guía lsl el lenguaje de SecondLife
0 Usuarios y 1 Visitante están viendo este tema.
« anterior
próximo »
Páginas:
[
1
]
Autor
Tema: guía lsl el lenguaje de SecondLife (Leído 2085 veces)
Arkhy
Miembro
Desconectado
Mensajes: 32
guía lsl el lenguaje de SecondLife
«
en:
Agosto 16, 2007, 05:02:53 »
He decidido hacer un tutorial muy básico de Linden Scripting Language (LSL) ya que hay muy pocos o nada en español. Y lo hago en está web y no una especializada simplemente porqué está me gusta
.
Actualmente lo estoy aprendiendo así que me limitaré a traducir y simplificar. Espero que cualquier que encuentre un error, o tenga una recomendación, pregunta me lo diga así como quien esté interesado en este tutorial. Repito que soy un novato en este lenguaje pero como lo tengo que aprender creo que esto me ayudará a mi también.
Para mas información visitar
Para ver los enlaces debes ser usuario
Crear Usuario
o
Hacer Sesion
http://www.lslwiki.net/
que es donde yo saco la mayoría de información.
Esta guía está en fase de construcción! cada cierto tiempo la iré ampliando.
Gracias a Impalah Shenzhou por su guía en
Para ver los enlaces debes ser usuario
Crear Usuario
o
Hacer Sesion
Capítulo Página
0- Que es LSL?
1
1- Helloword + touch
1
2- Estados
1
3- Ir a URL
1
4- Color
1
5- Variables
1
6- Asignamientos, comparaciones , operaciones y
puertas lógicas
1
7- Rotación
1
8- Puertas
1
9- Texto sobre el prim
1
10- if/else
1
«
Última modificación: Agosto 20, 2007, 05:39:25 por Arkhy
»
En línea
Para ver los enlaces debes ser usuario
Crear Usuario
o
Hacer Sesion
HASECORP.ES ENTRA!!
Arkhy
Miembro
Desconectado
Mensajes: 32
Re: guía lsl el lenguaje de SecondLife
«
Respuesta #1 en:
Agosto 16, 2007, 05:27:00 »
0- Que es LSL?
Linden Scripting Language es un lenguaje similar a c y java orientado a eventos que hace que los objetos se comporten de una forma o de otra y puedan interactuar con el avatar y con otros objetos. Está compuesto de estados, cuando termina uno empieza el siguiente, dentro de cada estado hay unos eventos y dentro de estos unas funciones. El compilador lo lleva el propio juego y es muy simple de usar.
«
Última modificación: Agosto 16, 2007, 06:35:04 por Arkhy
»
En línea
Para ver los enlaces debes ser usuario
Crear Usuario
o
Hacer Sesion
HASECORP.ES ENTRA!!
Arkhy
Miembro
Desconectado
Mensajes: 32
Re: guía lsl el lenguaje de SecondLife
«
Respuesta #2 en:
Agosto 16, 2007, 05:44:25 »
1- Helloword + touch
El siguiente script es el que se nos muestra cada vez que creamos uno nuevo. Para comentar un script se usa //. Lee los comentarios dentro del script para entenderlo:
Citar
//definimos el estado, siempre default es el primero
default
{
// cuando empieze este estado....
state_entry()
{
// dice hello avatar en el canal 0 (el canal 0 es el del chat...
//... el único que un avatar puede ver
llSay(0, "
Hello, Avatar!
");
}
//cuando me toquen...
touch_start(integer total_number)
{
llSay(0, "
Touched.
");
}
}
Al empezar un estado va un -> estado {..., cuando termina se cierra}
lo mismo pasa con las funciones -> ll... { ..., y también se tiene que cerrar}
«
Última modificación: Agosto 16, 2007, 09:25:34 por Arkhy
»
En línea
Para ver los enlaces debes ser usuario
Crear Usuario
o
Hacer Sesion
HASECORP.ES ENTRA!!
Arkhy
Miembro
Desconectado
Mensajes: 32
Re: guía lsl el lenguaje de SecondLife
«
Respuesta #3 en:
Agosto 16, 2007, 06:04:33 »
2- Estados
Como ya se ha comentado los estados siguen un orden, y de uno pasa al otro. Son separados por {} y el primer siempre se llama default. Los otros estados se pueden llamar como tú quieras, eso si tienen que empezar con una letra (leer comentarios):
Citar
//estado 1
default
{
touch_start(integer total_number)
{
llSay(0, "
tocame otra vez
");
//pasar al estado 2
state a2;
}
}
//estado 2
state a2
{
touch_start(integer total_number)
{
llSay(0, "
muy bien, otra
");
//pasar al estado b
state b;
}
}
//estado 3
state b
{
touch_start(integer total_number)
{
llSay(0, "
si me tocas me voy al estado default
");
//pasar al estado default
state default;
}
}
En este script vemos que antes de pasar a otro estado tenemos que completar el estado actual, en este caso "touch -> tocar"
En línea
Para ver los enlaces debes ser usuario
Crear Usuario
o
Hacer Sesion
HASECORP.ES ENTRA!!
Arkhy
Miembro
Desconectado
Mensajes: 32
Re: guía lsl el lenguaje de SecondLife
«
Respuesta #4 en:
Agosto 16, 2007, 08:26:36 »
3- Ir a URL
Con este sencillo script podemos enlazar nuestro objeto con nuestra web:
Citar
default
{
touch_start(integer num_detected)
{
llLoadURL(llDetectedKey(0), "Google", "
Para ver los enlaces debes ser usuario
Crear Usuario
o
Hacer Sesion
");
}
}
se puede usar este script, también, con diferentes estados:
Citar
default
{
touch_start(integer total_number)
{
llLoadURL(llDetectedKey(0), "Terra", "
Para ver los enlaces debes ser usuario
Crear Usuario
o
Hacer Sesion
");
//pasar al estado 2
state a2;
}
}
state a2
{
touch_start(integer total_number)
{
llLoadURL(llDetectedKey(0), "Google", "
Para ver los enlaces debes ser usuario
Crear Usuario
o
Hacer Sesion
");
//pasar al estado b
state b;
}
}
state b
{
touch_start(integer total_number)
{
llLoadURL(llDetectedKey(0), "Yahoo", "
Para ver los enlaces debes ser usuario
Crear Usuario
o
Hacer Sesion
");
//pasar al estado default
state default;
}
}
En línea
Para ver los enlaces debes ser usuario
Crear Usuario
o
Hacer Sesion
HASECORP.ES ENTRA!!
Arkhy
Miembro
Desconectado
Mensajes: 32
Re: guía lsl el lenguaje de SecondLife
«
Respuesta #5 en:
Agosto 16, 2007, 03:15:19 »
4- Color
Una función muy curiosa es la de cambiar el color. Para los que no lo sepan, una forma de representar el color en la informática es el
R
G
B
, ya que son los colores primarios de la luz i mediante ellos se pueden hacer todos. Se tiene de definir la intensidad de cada color con un número que va del 0 al 255, pero en secondlife es un poco diferente ya que el 0 es 0 y el 255 el 1, se trata de usar decimales para la luminicidad intermedia,
Para ver los enlaces debes ser usuario
Crear Usuario
o
Hacer Sesion
aquí un script para hacerlo y una tabla
.
En este sera el primer script que veremos variables, en este caso vectores. Las variables ya las veremos mas adelante con más información.
Citar
default
{
{
state_entry()
//definimos el tipo de variable (en este caso vector) y el nombre de la
//... variable (en este caso negro)
vector negro = < 0.0,0.0,0.0 >;
// llSetColor usará la variable
llSetColor( negro, ALL_SIDES);
}
touch_start(integer total_number)
{
//definimos la nueva variable
vector rojo = < 1.0,1.0,1.0 >;
llSetColor( rojo, ALL_SIDES );
}
}
Intenta crear un script que cambie al menos 3 colores succesivamente sin pararse, cada vez que lo tocamos
posible solución:
Citar
default
{
state_entry()
{
vector rojo = < 1.0,0.0,0.0 >;
llSetColor( rojo, ALL_SIDES);
}
touch_start(integer total_number)
{
vector verde = < 0.0,1.0,0.0 >;
llSetColor( verde, ALL_SIDES );
state aazul;
}
}
state aazul
{
touch_start(integer total_number)
{
vector azul = < 0.0,0.0,1.0 >;
llSetColor( azul, ALL_SIDES);
state predef;
}
}
state predef
{
touch_start(integer total_number)
{
state default;
}
}
«
Última modificación: Agosto 17, 2007, 07:41:14 por Arkhy
»
En línea
Para ver los enlaces debes ser usuario
Crear Usuario
o
Hacer Sesion
HASECORP.ES ENTRA!!
Arkhy
Miembro
Desconectado
Mensajes: 32
Re: guía lsl el lenguaje de SecondLife
«
Respuesta #6 en:
Agosto 17, 2007, 03:14:20 »
5- Variables
Como ya hemos visto en el ejemplo anterior las variables se usan para definir. Hay dos tipos de variables según la posición que ocupan, las locales que están dentro de un estado y las globales que están donde empieza el script.
Según lo que representan las variables pueden ser de distintos tipos:
integer
- (entero) va de -2,147,483,648 a 2,147,483,647
float
- (decimal) va de 1.175494351E-38 a 3.402823466E+38 (E+38 = X 10
38
)
string
- es una cadena solo limitada por la memoria máxima del script
key
- identifica cosas, como sonidos y texturas
Vector
- es la que hemos visto antes y está compuesta por tres floats
rotation
- compuesta por 4 flotaats, se usa para el movimiento.
Las variables tienen que empezar por una letra y es recomendable que tengan un nombre descriptivo por si algún día quieres modificar ese script.
«
Última modificación: Agosto 17, 2007, 07:34:03 por Arkhy
»
En línea
Para ver los enlaces debes ser usuario
Crear Usuario
o
Hacer Sesion
HASECORP.ES ENTRA!!
Arkhy
Miembro
Desconectado
Mensajes: 32
Re: guía lsl el lenguaje de SecondLife
«
Respuesta #7 en:
Agosto 17, 2007, 11:17:19 »
6- Asignamientos, comparaciones , operaciones y
puertas lógicas
lsl como los otros lenguajes tiene unos operadores que es necesario tener en cuenta:
X = Y
Y está asignado por X
X == Y
verdadero si el valor de X es igual al Y
X != Y
verdadero si X es diferente a Y
X < Y
verdadero si X es mas pequeño que Y
X > Y
verdadero si X es mas grande que Y
X <= Y
verdadero si X es mas pequeño o igual que Y
X >= Y
verdadero si X es mas grande o igual que Y
+
mas
-
menos
*
multiplicación
/
división
++
incremento de 1 en 1
--
descrecimiento de 1 en 1
%
residuo de división
&&
and
||
or
if
si.....
else
si no....
while
mientras que....
estos son los mas importantes.
«
Última modificación: Agosto 18, 2007, 05:49:04 por Arkhy
»
En línea
Para ver los enlaces debes ser usuario
Crear Usuario
o
Hacer Sesion
HASECORP.ES ENTRA!!
Arkhy
Miembro
Desconectado
Mensajes: 32
Re: guía lsl el lenguaje de SecondLife
«
Respuesta #8 en:
Agosto 18, 2007, 05:07:09 »
7- Rotación
Hay muchas maneras de rotar un objeto, unas mas fáciles y otras mas difíciles.
llTargetOmega
es una función bastante fácil de usar.
Citar
default
{
state_entry()
{
// se usan radiantes, no grados
// las tres primeras cifras es el sentido de rotación, que se multiplican
// por la quarta chifra (da radiantes por segundo), la última es la fuerza i no deve ser 0
llTargetOmega(<3,0,1>,2.0,1.0);
}
}
En línea
Para ver los enlaces debes ser usuario
Crear Usuario
o
Hacer Sesion
HASECORP.ES ENTRA!!
Arkhy
Miembro
Desconectado
Mensajes: 32
Re: guía lsl el lenguaje de SecondLife
«
Respuesta #9 en:
Agosto 18, 2007, 05:10:47 »
POR FAVOR A TODOS LOS QUE OS INTERESE ESTA GUÍA NOTIFICARMELO EN ESTE FORO O POR MENSAJE PRIVADO, GRACIAS.
En línea
Para ver los enlaces debes ser usuario
Crear Usuario
o
Hacer Sesion
HASECORP.ES ENTRA!!
Arkhy
Miembro
Desconectado
Mensajes: 32
Re: guía lsl el lenguaje de SecondLife
«
Respuesta #10 en:
Agosto 18, 2007, 05:41:53 »
8- Puertas
Normalmente las puertas se abren de dos formas, rotando o cambiando su posición. Estos escrips están compuestos por 2 estados, cerrado y abierto.
Rotando:
Citar
// se tienen que modificar estas bariables
// para que se adapten a tu prim, recomendable usar decimales x ejemplo 0.
rotation rot0 = <0.,0.,0.,0.>;
rotation rot1 = <1.,1.,0.,0.>;
default
{
state_entry()
{
llSetRot( rot0 );
}
touch_start(integer total_number)
{
state b;
}
}
state b
{
state_entry()
{
llSetRot( rot1 );}
touch_start(integer total_number)
{
state default;
}
}
Cambiando la posición
Citar
// definimos las variables, los valores equivalen a X Y y Z, se pueden
// ver encima del objeto cuando se está editando
// usar decimales
vector pos0 = <149.539,84.560,22.094>;
vector pos1 = <151.0,84.560,22.094>;
default
{
state_entry()
{
llSetPos( pos0 );
}
touch_start(integer total_number)
{
state b;
}
}
state b
{
state_entry()
{
llSetPos( pos1 );}
touch_start(integer total_number)
{
state default;
}
}
En línea
Para ver los enlaces debes ser usuario
Crear Usuario
o
Hacer Sesion
HASECORP.ES ENTRA!!
Arkhy
Miembro
Desconectado
Mensajes: 32
Re: guía lsl el lenguaje de SecondLife
«
Respuesta #11 en:
Agosto 19, 2007, 05:19:58 »
9- Texto sobre el prim
Muchas veces abreís visto un texto sobre el objeto, pues es muy fácil de hacer con llSetText:
Citar
// definimos las variables
vector color= <1.0,0.8,0.6>;
string text="TEXTO ";
default
{
state_entry()
{
//llamamos a las variables
//el 0.2 es el nivel de transparencia del texto, va de 0 a 1
llSetText(text,color,0.2);
}
}
En línea
Para ver los enlaces debes ser usuario
Crear Usuario
o
Hacer Sesion
HASECORP.ES ENTRA!!
Arkhy
Miembro
Desconectado
Mensajes: 32
Re: guía lsl el lenguaje de SecondLife
«
Respuesta #12 en:
Agosto 20, 2007, 05:37:53 »
10- if/else
if se usa para ejecutar unas funciones en caso de que sea verdadero, else se usa si if no se ejecuta:
Citar
default
{
touch_start(integer total_number)
{
llSay(0, "2+2=");
//cambiamos el estado
state ifelse;
}
}
state ifelse
{
state_entry()
{
// llListen se usa para escucha
llListen(0,"",NULL_KEY, "");
}
// definimos el tipo de variables de escucha
// aunque solo utilizemos message
listen(integer channel, string name, key id, string message)
{
//si message (string) == 4
if
(message=="4")
{
llSay(0,"correcto");
}
// si if no se ejecuta
else
{
llSay(0,"incorrecto");
}
state default;
}
}
«
Última modificación: Agosto 20, 2007, 05:50:57 por Arkhy
»
En línea
Para ver los enlaces debes ser usuario
Crear Usuario
o
Hacer Sesion
HASECORP.ES ENTRA!!
Arkhy
Miembro
Desconectado
Mensajes: 32
Re: guía lsl el lenguaje de SecondLife
«
Respuesta #13 en:
Agosto 22, 2007, 06:33:41 »
este manual sigue en:
Para ver los enlaces debes ser usuario
Crear Usuario
o
Hacer Sesion
http://www.secondlifespain.com/index.php?option=com_joomlaboard&Itemid=42&func=showcat&catid=9
En línea
Para ver los enlaces debes ser usuario
Crear Usuario
o
Hacer Sesion
HASECORP.ES ENTRA!!
Páginas:
[
1
]
Comunidad Underground Hispana
|
Programacion
|
Programación
|
Otros Lenguajes
| Tema:
guía lsl el lenguaje de SecondLife
« anterior
próximo »
Ir a:
Por favor selecciona un destino:
-----------------------------
Foros De Consulta General
-----------------------------
=> Novedades
=> Dudas, Comentarios Y Sugerencias
=> Top 100
=> Off-Topic
=> Revista E-Zine
===> Noticias
-----------------------------
Phreaking, Hacking y Seguridad
-----------------------------
=> HacK GeneraL
===> Ingenieria Inversa
===> Encriptacion, Cryptografia
===> TV HACK
===> Seguridad
===> Cursos y Ezines
=====> Trucos Internet
=====> Textos Hacking
===> Defacing
=> Phreaking
===> Moviles
=> Bug y Exploits
-----------------------------
Hack Novato
-----------------------------
=> Hack para newbies
=> Todo Messenger
=> Troyanos y virus
-----------------------------
Sistemas Operativos
-----------------------------
=> Windows y otros sistemas operativos no libres
===> Problemas Tecnicos Windows
=> Sistemas operativos libres.
===> GNU/Linux
===> Manuales y Tutoriales
===> Descargas
-----------------------------
Programacion
-----------------------------
=> Programación
===> Programación Basica
===> Otros Lenguajes
===> Visual Basic y Net
===> ASM
===> Programacion Shell
===> Perl
===> Carbide C/C#/C++
===> Batch
===> SQL
=> Programacion para webmasters
===> Consultas
===> Php
===> Html
===> Java - Java Script
===> Php Nuke
===> Scripts Pre-Fabricados
===> Mysql
===> CSS y Diseño Web
-----------------------------
Artes Graficas
-----------------------------
=> Diseño Grafico
===> Battle Arts
===> Flash
===> Tutoriales
===> Galerías
===> Software
-----------------------------
Area Tecnica
-----------------------------
=> Networking & Wireless
=> Overclocking, Refrigeracion y demas
=> Hardware
===> Cursos Y manuales
=> Electronica Y Robotica
-----------------------------
Programas
-----------------------------
=> Software
===> Configuraciones de software
===> Pedidos de software
=> Cracks & Serialz
=> P2p, Bittorrent, Elinks
-----------------------------
Multimedia Y Divx
-----------------------------
=> Juegos PC Y Consolas
===> Dudas ayudas y comentarios de juegos
===> Pedidos de juegos
=> Mp3
=> Multimedia
=> Peliculas Divx
-----------------------------
Entretenimiento Y sitios de interes
-----------------------------
=> Juegos, Humor y Adultos. (Diversión)
===> Adultos
=> Paginas Webs Recomendadas
=> Videos
Powered by SMF 1.1.5
|
SMF © 2006-2007, Simple Machines LLC
Loading...