Desenvolvimento - LSL (Second Life)

Curso de programação de objetos para o Second Life – Parte 3

Nesta terceira parte do curso, passaremos a criar nossos próprios scripts e a focar em situações frequentes que exigem o uso dos mesmos. Para estrear esta nova fase, você verá como efetuar o upload de imagens para o metaverso e como criar um quadro ou propaganda que fornece informações aos avatares através de notecards.

por Cláudio Ralha



Agora que você já foi apresentado à estrutura da linguagem e aos principais editores disponíveis para programar em LSL, chegou a hora de começar a criar os seus próprios scripts. Há muito que aprender e quanto mais você pesquisar na Internet, mais rápido alcançará um nível que lhe permitirá caminhar sozinho.

A partir desta entrega, você irá reparar que passamos a ter um enfoque mais prático, demonstrando como criar scripts para resolver problemas que ocorrem com bastante freqüência dentro do SL. Deste modo, você não irá perder tempo tendo que “reinventar a roda”...

Para estrear esta nova fase, veremos como efetuar um upload de uma imagem que será usada como textura para um objeto e a seguir como programar este mesmo objeto para fornecer ajuda aos visitantes através de um notecard.


Efetuando upload de imagens

Iremos executar upload de imagens sempre que precisarmos de uma textura que ainda não exista em nosso inventário. Este tipo de ação é pago, mas custa apenas L$10,00, algo em torno de 1 centavo de Real, valor que pode ser conseguido facilmente mesmo por usuários que não são Premium em atividades de camping.

O trabalho principal ocorrerá obviamente fora do simulador do Second Life, em um editor gráfico, onde devemos cortar a parte da imagem que nos interessa, tratá-la, redimensioná-la e após obtermos o resultado esperado, efetuar o upload para os servidores da Linden Labs. Por questões de espaço e para não perdermos o foco do curso, não iremos abordar aqui os passos envolvidos no tratamento da imagem. Assumiremos que você já tem uma imagem pronta para ser usada no metaverso.

Para efetuar o upload de imagens, siga este roteiro:

  1. Selecione uma imagem. Para o exemplo que construiremos na próxima seção onde teremos um quadro que ao ser clicado, fornecerá informações sobre o autor, usaremos uma foto pessoal recente (no caso do autor, este usará uma tirada na festa de 15 anos da Renata).

  1. Abra o Cliente do Second Life. Teleporte-se para um local onde você possa construir objetos.
  2. No menu Arquivo, selecione Upload de imagem.

  1. A caixa de diálogo Abrir será exibida. Selecione a imagem desejada e clique a seguir no botão Ok.
  2. A caixa de diálogo de upload de imagem será exibida. Além de permitir inserir um nome e uma descrição para a imagem e de fornecer zoom (veja que o cursor mudou de forma) para verificarmos os detalhes, ela oferece um recurso de preview, que nos permite visualizar como a imagem que estamos enviando para o SL pode ser usada de diversas formas como textura.

Nota: para testar o zoom, clique com o botão esquerdo do mouse sobre a imagem e mantenha-o pressionado enquanto move o mouse para frente (zoom in) ou para trás (zoom out).

  1. Clique no botão Upload para pagar e enviar a imagem para os servidores do SL.
  2. Aguarde enquanto a imagem é enviada. Ao final, você irá receber uma confirmação.

Note que há uma informação importante nessa janela que você pode querer utilizar mais adiante: as dimensões da imagem (no exemplo 128 x 256).

  1. Feche a janela que contém a imagem, pois ela já faz parte do seu inventário e não será necessária para os próximos passos.

Criando o quadro

Para ajudar o pessoal que está começando agora, vamos mostrar rapidamente como criar um quadro:

  1. Tecle Ctrl + 4 para abrir a janela de criação.
  2. Selecione o cubo na lista de primitivas.
  3. Clique em um local livre da tela para que o mesmo seja criado. Veja na imagem a seguir:

Repare que a caixa de diálogos de criação de arquivos passou a exibir a guia de edição.

  1. Clique no botão Mais para exibir as opções que estão ocultas.
  2. Na guia Comum, preencha os campos Nome e Descrição.

  1. Clique na guia Textura.
  2. Clique na imagem da textura ativa para exibir a caixa de diálogos que permite alterá-la.

  1. Expanda a sua árvore de inventário (apenas as imagens são mostradas aqui) e localize a imagem desejada.

  1. Selecione a imagem desejada e a seguir clique no botão Selecionar.

Neste ponto, a imagem será aplicada ao objeto. No entanto, o objeto em questão ainda não apresenta o aspecto desejado. Vejamos como fazer para ajustar a forma do objeto:

  1. Clique na guia Objeto.
  2. Observe que há um conjunto de campo X, Y e Z referentes ao Tamanho do objeto. Você poderá alterar as dimensões do objeto através destes campos ou selecionando a opção Esticar na parte superior da janela, cujo atalho de teclado é Ctrl + Shift.

  1. Para pegar intimidade com os controles de edição do SL, sugerimos esta segunda forma. Use as opções de esticar e rotacionar a figura até que esta apresente o resultado desejado. Experimente também “pregar” o quadro em uma parede ou em algo mais complicado, como na árvore da imagem a seguir.

Observe que são mostradas as coordenadas em tempo real respeitando as cores que cada círculo representa. Isto facilita bastante o posicionamento.

Fornecendo ajuda através de um notecard

Após construirmos o nosso objeto de teste, chegou a hora de descobrirmos como fornecer ajuda a um avatar através de um notecard. Para tanto, basta executar os passos a seguir:

1. Abra o seu inventário (Ctrl + I) e crie dentro de Notecards, uma nova pasta. Clique com o botão direito do mouse sobre a pasta Notecards e selecionar Nova Pasta. Nomeie-a como Curso de Programacao no SL.

2. Clique com o botão direito do mouse sobre a nova pasta e selecione no menu de contexto Nova Nota. Forneça o nome Sobre para mesma.

3. Edite a nota e coloque uma descrição a seu respeito.

4. Ao final, clique no botão Salvar e a seguir no botão X da janela para fechá-la. Você verá que a mesma está presente na pasta em que foi criada.

5. Clique com o botão direito do mouse sobre o objeto que você criou previamente e selecione no menu a opção Editar.

6. Clique no botão Mais para exibir as opções avançadas, caso as mesmas não estejam visíveis.

7. Selecione a guia Conteúdo. Clique no botão Novo Script para incluirmos um script para o objeto. Um novo arquivo aparecerá dentro do quadro Contents com o nome New Script.

8. Clique com o botão direito do mouse sobre o nome do arquivo e selecione Renomear. Altere o nome do mesmo para ForneceNotecard.

9. Efetue um duplo clique sobre o nome do arquivo para editá-lo.

10. Entre com o código a seguir no editor de código:

default

{

state_entry()

{

llSay(0, "Toque no quadro para saber mais sobre o autor!");

}

touch_start(integer total_number)

{

llGiveInventory(llDetectedKey(0), "Sobre");

}

}

Note que este script contém código para o evento touch_start, que ocorre quando um avatar toca no objeto. Ao ser processado, ele fará com que seja fornecido ao usuário um objeto cujo nome é Sobre através da execução da função llGiveInventory.

11. Clique no botão Salvar para salvar o script.

Nesse ponto, teremos a guia de conteúdo como mostrada a seguir:

Para que o objeto se comporte como esperado, falta um passo vital que executaremos a seguir:

12. Arraste da pasta Curso de Programacao no SL presente em Notecards no seu inventário para a pasta Contents na janela de edição do objeto, a notecard que criamos anteriormente.

Vencidas todas essas etapas, feche a janela de criação do objeto e toque-o para testar. Se nada ocorrer, é provável que você está em um local onde é possível criar objetos, mas não é possível executar scripts(caso não seja o dono do terreno). Veja na imagem a seguir, o sinalizador existente no topo da janela.

A solução é recolher o objeto clicando com o botão direito sobre o mesmo e selecionando Pegar, e a seguir se teleportar para um local onde é possível testar os scripts. Afinal, quem disse que a vida dos sem teto era fácil?

Para testar o nosso script, podemos visitar por exemplo Copacabana, local do Rio de Janeiro com alta atividade de artesões. Após achar um local adequado, abra o seu inventário e pegue o quadro que criamos arrastando-o para o cenário.

Ao clicar no objeto, você verá o quadro a seguir informado ao residente que ele está recebendo um notecard de um objeto chamado Quadro e tem a opção de aceitar clicando em Segure ou não, através do botão Descarte.

Infelizmente a tradução para o português em algumas janelas ainda não é das melhores (esperamos que isso mude em breve). Ao clicar no botão Segure, você verá o notecard.

Conclusão

Fornecer ajuda aos usuários do Second Life por meio de um notecard é uma tarefa simples, ainda que envolva um número grande de passos. Escolhemos este tópico para iniciar a parte prática, pois ele ilustra um cenário típico, que envolve a presença de um script e de um segundo objeto (o notecard) dentro do objeto que estamos criando. Nas próximas partes do curso, veremos outros casos parecidos como a criação de freebies ou de um teleport.

Abraços e até a próxima!
Cláudio Ralha

Cláudio Ralha - http://linhadecodigo.com.br/cs2/blogs/ClaudioRalha/default.aspx
Autor dos livros Dominando o Second Life e Segredos do Visual Studio.NET, profissional certificado Microsoft (MCP,MCAD,MCTS e MCPD) e palestrante Microsoft Brasil e Culminis. Já atuou como colunista do Informática etc do Jornal O GLOBO, editor da Revista Infomania e colaborador de várias revistas e sites. No mercado corporativo já desenvolveu para grandes clientes como Petrobras, Shell, Esso, Rede Globo, Furnas, Brascan, ONS, Unibanco e Bolsa de Valores pelas consultorias Accenture, Stefanini, Arcon, ATT/PS, Informaker, Relacional, Value Team e Softtek.