Alguns freebies do Marketplace

10/01/2011

Feliz 2011!

https://marketplace.secondlife.com/p/Viita-Christmas-Cap/1690119

https://marketplace.secondlife.com/p/FREE-gift-high-heels-shoe-dondine-pink/1561404

https://marketplace.secondlife.com/p/PICKLES-Spirit-of-Christmas-Collection-Box-Texture-Change/1675915

https://marketplace.secondlife.com/p/Radical-Buddhism-Gift-Set-Vol8-Dragon-Shirt-Long-Sleeve/1386439

 

https://marketplace.secondlife.com/p/walk-together-caminar-unidos-animations/1613307

https://marketplace.secondlife.com/p/AKA-black-tears-tattoo-free-gift/1529665?id=1529665&slug=AKA-black-tears-tattoo-free-gift

https://marketplace.secondlife.com/p/AB-Midnight-Mania-Gift-1L/1084796?id=1084796&slug=AB-Midnight-Mania-Gift-1L

Aprenda a programar

19/11/2010

Muitos dos meus amigos me disseram que não entenderam as “aulas” de linden script daqui do blog, pois eles simplesmente não possuem nenhum conhecimento em programação. Então para ajudar o povo que quer aprender a programar mas não sabe por onde começar, vou tentar explicar um pouco de algoritmos e das estruturas básicas de programação.

Como você já deve saber, as linguagens de programação são conjuntos de regras com sintaxe e semântica próprias que devemos usar para conseguirmos escrever instruções que o computador entenda e siga.

A base de toda linguagem de programação é a lógica de programação e para entender bem essa lógica, veremos as estruturas mais básicas e alguns algoritmos que nos ajudarão a escrever nossos primeiros códigos em linden script. Mais a frente veremos diferenças entre linguagens de programação. Dentre os paradigmas de programação mais difundidos estão: a programação estruturada, que é a base dos outros paradigmas, a orientação a objetos, que requer um maior grau de abstração ao se programar,  e no caso do LSL, a orientação a estados.

Vamos ver agora a primeira estrutura, a condicional IF. O if é utilizado para testar uma condição. Se essa condição for verdadeira, um bloco de código é executado, como a seguir:

SE ( CONDIÇÃO ) { bloco de código a ser executado se a condição for verdadeira }

Ex:

SE ( ESTÁ CHOVENDO? ) { levar o guardachuva }

A maioria das linguagens de programação também possuem o ELSE (senão), que é executado caso a condição testada não seja verdadeira.

SE ( CONDIÇÃO ) { bloco de código a ser executado se a condição for verdadeira }
SENÃO { bloco de código a ser executado se a condição for falsa }

Ex:

SE ( ESTÁ CHOVENDO? )
{
levar o guardachuva
}
SENÃO
{
deixar o guarda-chuva em casa
}

Agora um exemplo(tosco) em código.

if(false) {  
llSay(0,”Olá mundo”); 
} else {
 llSay(0,”Hello World”); 
}

Se você entendeu tudo até agora, saberá se será o “Olá mundo” ou “Hello World” que aparecerá na tela se esse código for executado. Dê sua resposta e deixe suas dúvidas nos comentários. 

Analisando um pouco esse código:
A llSay é uma função nativa da linguagem, que recebe dois parâmetros, o primeiro que indica o canal onde será dita a mensagem(nesse caso o canal 0 que é o chat aberto) e o segundo que é a mensagem, mas funções é um assunto que nós veremos mais detalhadamente em próximas postagens, então não se preocupe se você não entender isso agora.

A seguir, saiba o que são as variáveis e conheça alguns tipos de variáveis existentes.

Explicação for dummies: Variáveis são como caixinhas onde guardamos alguma coisa. Só que existem caixinhas diferentes para guardar coisas diferentes. Existem caixinhas que só guardam números inteiros, outras só guardam texto, outras só guardam um valor de verdadeiro ou falso, outras que guardam outras caixinhas e por aí vai.

O tipo da variável diz o que você pode guardar dentro desa variável. Alguns deles são:

int – recebe números inteiros
String – recebe texto
boolean – recebe true ou false (falso ou verdadeiro) que também podem ser expressados por 1 e 0.
float – números com casa decimal, expressadas com um ponto ao invés de vírgula. (ex: 1.25 ao invés de 1,25)

Por hoje é só pessoal.
Na próxima aula veremos outras estruturas de programação, conheceremos algumas funções nativas da linguagem e começaremos a programar.
Até lá.

Minha lojinha faliu

19/11/2010

Pessoas, os negócios não andavam bem e minha lojinha fechou.

Caso alguém tenha interesse em algo que eu criei, entre em contato direto comigo.

:p

Agora também na cor prata

25/10/2010

Como não custava nada pôr o vestido dourado em prata, acabei fazendo também a versão Silver – eu gostei mais que o dourado, estou atualmente usando ele:
http://maps.secondlife.com/secondlife/Omega%20Plaza/231/217/22

Está também por L$30.

Pois então pessoas, os vestidos eu crio pra usar e vendo a preço de custo(upload de 3 texturas), então qualquer dindin que entrar é lucro. :]

Produtos da minha loja

16/09/2010

Pessoas, abri uma lojinha em
http://maps.secondlife.com/secondlife/Omega%20Plaza/231/217/22

Por enquanto tenho duas criações  novas:

Sexy Golden Dress
Opening promo price: L$ 30
Inclui múltiplas layers e uma parte de prim.

Black & Pink Lingerie
Opening promo price: L$ 30
Inclui múltiplas layers, anexos  e marca de tapa na bunda (layer de tattoo do SL2 incluída também)

SLurl:
http://maps.secondlife.com/secondlife/Omega%20Plaza/231/217/22

Lucky chairs na Violent Seduction

22/07/2010

Duas cadeirinhas da sorte com várias roupinhas diferentes em: 
http://maps.secondlife.com/secondlife/Bad%20Blood/131/58/56 
Na foto abaixo misturei duas delas, uma lingerie e um vestido.

Gadgets e ítens úteis

23/05/2010

Abaixo uma lista de ítens e gadgets úteis que podem ser pegos gratuitamente no XStreet.
Alguns eu ainda nem testei. Fui montando a lista a medida que ia achando.

Livro aberto sculpty
https://www.xstreetsl.com/modules.php?name=Marketplace&file=item&ItemID=2259264

Planta
https://www.xstreetsl.com/modules.php?name=Marketplace&file=item&ItemID=1841512

Cadeira sculpty
https://www.xstreetsl.com/modules.php?name=Marketplace&file=item&ItemID=1882918&allReviews=1#reviews

Skybox que parece loja
https://www.xstreetsl.com/modules.php?name=Marketplace&file=item&ItemID=2029918

Almofadas sculpty
https://www.xstreetsl.com/modules.php?name=Marketplace&file=item&ItemID=1131459

Prateleiras
https://www.xstreetsl.com/modules.php?name=Marketplace&file=item&ItemID=1283981&allReviews=1#reviews

Texturas de chão japonês
https://www.xstreetsl.com/modules.php?name=Marketplace&file=item&ItemID=2228005

Sculpty gears
https://www.xstreetsl.com/modules.php?name=Marketplace&file=item&ItemID=1366298

Texturas de efeitos (luz e sombra)
https://www.xstreetsl.com/modules.php?name=Marketplace&file=item&ItemID=2188182

Tapetes
https://www.xstreetsl.com/modules.php?name=Marketplace&file=item&ItemID=2238667

Sculpty de alfabeto
https://www.xstreetsl.com/modules.php?name=Marketplace&file=item&ItemID=1047452

Sculpty de corações
https://www.xstreetsl.com/modules.php?name=Marketplace&file=item&ItemID=1213625

Máquina de coca-cola fullperm
https://www.xstreetsl.com/modules.php?name=Marketplace&file=item&ItemID=1630766

Hud lançador de objetos (pra brincar)
https://www.xstreetsl.com/modules.php?name=Marketplace&file=item&ItemID=813707&allReviews=1#reviews

Exibidor de mapas sculpty
https://www.xstreetsl.com/modules.php?name=Marketplace&file=item&ItemID=1813479&allReviews=1#reviews

Linden Script – Aula 2

07/02/2010

Pensando diferente

Olá pessoal, faz um bom tempo que não posto nada aqui, mas vamos dar continuação a Linden Script.

Hoje no Orkut tive a chance de ajudar uma pessoa que tava com dúvida de script querendo fazer uma coisa beeem simples. Vou aproveitar o script feito pra resolver essa dúvida pra falar mais sobre LSL. A princípio gostaria que  tentasse entender o funcionamento por si mesmo:

vector cor1 = <1.0,0.0,0.0>; // vermelho
vector cor2 = <0.0,1.0,0.0>; // verde
float tempopisca = 2.0;

integer flag=0;
default
{

state_entry()
{

llSetTimerEvent(tempopisca);

}

timer()
{

if(flag==0){
llSetColor(cor1, ALL_SIDES);
flag=1;
}
else if(flag==1){
llSetColor(cor2, ALL_SIDES);
flag=0;
}

}

}

Entendendo o funcionamento: O que o script acima faz é ficar trocando de cor de 2 em 2 segundos da cor1 pra cor2, utilizando um flag(bandeira) pra isso. Este é o jeito tradicional que escreveríamos um script desse tipo em qualquer outra linguagem, mas se lembrarmos da Aula 1, veremos que essa não é a filosofia de programação com Linden Script. A LSL tem um jeito próprio de lidar com os estados dos objetos. Então nada mais sadio que eliminarmos essa flag e usarmos os estados. Dessa forma o mesmo script ficaria assim:

vector cor1 = <1.0,0.0,0.0>; // vermelho
vector cor2 = <0.0,1.0,0.0>; // verde
float tempopisca = 2.0;

default
{
    state_entry()
    {
        state meuestado1;
    }
}

state meuestado1
{
    state_entry()
    {
        llSetColor(cor1, ALL_SIDES);
        llSetTimerEvent(tempopisca);
    }
   
    timer()
    {
        state meuestado2;
    }
}

state meuestado2
{
    state_entry()
    {
        llSetColor(cor2, ALL_SIDES);
        llSetTimerEvent(tempopisca);
    }
   
    timer()
    {
        state meuestado1;
    }
}

Esse exemplo pisca pisca é semelhante ao da caixinha da aula1, com a novidade desse novo evento timer(). O que está em timer() é chamado toda vez que se passa o intervalo de tempo definido na função llSetTimerEvent.

Veja mais exemplos do uso de timer() na wiki:
http://lslwiki.net/lslwiki/wakka.php?wakka=timer

Perceba, timer() é chamado de tempos em tempos e se ficar em loop como é o caso do nosso exemplo  isso pode gerar lag! Não abuse!

Bem pessoal, o ponto da LSL é esse, usar o paradigma dos estados, junto com os eventos e as funções da linguagem. Na próxima aula usaremos mais funções e vamos começar a desenvolver com LSL.

10 dicas para facilitar sua segunda vida

08/01/2010

Top 10

1 – Arrume o inventário utilizando não uma, mas duas janelas de inventário:
-Vá no menu Arquivo dentro da janela do inventário e escolha “Nova janela”

2-Saiba quem são os donos, preço e nome dos objetos que estão no mundo sem precisar tocar neles:
-Habilite a opção Mostrar Dicas no menu Exibir > Dicas > Mostrar dicas (Ctrl+Shift+T). Daí ao pôr o mouse em cima de um objeto aparecerá um quadradinho com as informações.

3-Como evitar que IMs atrapalhem o que você está fazendo?
-Fácil, vá no menu Mundo > Set Busy.

4-Poder ver debaixo do chão:
-Pressione as teclas Ctrl, Alt e D simultâneamente para ligar o menu Advanced. Em seguida entre no menu Advanced e marque “Disable Camera Constraints”

5-Ver lábios mechendo quando as pessoas falam no voice:
-No menu Advanced vá em Character > Enable Lip Sync(beta)

6-Tirar printscreens silenciosamente:
-No menu advanced marque Quiet Snapshots to Disk

7-Ver as texturas transparentes:
-Pressione as teclas Ctrl, Alt e T simultâneamente. Pressione de novo para voltar ao normal.

8-Ver em modo Wireframe:
-Com o menu Advanced(Ctrl+Alt+D) ligado, pressione Ctrl+Shift+R

9-Sua skin está bugada?
-Para recarregá-la, com o menu Advanced ligado, pressione Ctrl+Alt+R

10-Para diminuir lag(atraso na transmissão):
-Vá em rede e mova o slider para 70% do que é sua velocidade máxima de conexão. Ex: Se seu plano de internet é de 1 Mega, marque 700 kilobits por segundo em Banda máxima. Mas porque não colocar o máximo? A resposta é que você precisa de um tanto de banda livre para navegar pela internet, atualizar anti-vírus, etc. Se você deixar no talo corre o risco de perder pacotes e ficar com mais lag do que menos lag por causa do reenvio de pacotes perdidos.

-Outra medida para diminuir lag é diminuir a distância de desenho (Draw Distance):
Pressione Ctrl+P para abrir a janela de Preferências. Na aba Gráficos, marque o checkbox “Padrão”(traduziram isso errado). Daí abrirão várias opções. Se sua placa de vídeo for antiga algumas opções não farão sentido serem alteradas pq a placa pode não ter suporte a determinada opção(placas antigas podem não possuir renderização atmosférica, reflexo de água, etc). Pois bem, o Draw Distance é o que mais interessa quando se trata de diminuir lag causado pela conexão de internet. Quanto menor o valor, menos coisas serão carregadas de longe e o que está perto de você passará a ser carregado mais rápido. Em contrapartida você não terá visão de tudo ao mesmo tempo e verá as coisas se construirem enquanto caminha, o que pode não ser muito interessante.

Linden Script – Aula 1

07/01/2010

Hello World

Crie uma caixa, vá na aba conteúdo e clique no botão “Novo script”. O Hello World é criado automaticamente como exemplo. Dê um duplo clique em “New Script” para ver o código gerado.

default
{

state_entry()
{
llSay(0, “Hello, Avatar!”);
}

touch_start(integer total_number)
{
llSay(0, “Touched.”);
}

}

O que está em state_entry() é executado uma vez sempre que a pessoa encontra o script no mundo(não precisa tocá-lo).

O que está em touch_start() é executado sempre que alguém toca o objeto.

A LSL trabalha com o conceito de estados. default é o estado padrão do objeto, mas pode-se criar seus próprios estados para tornar o código mais dividido e organizado.
Por exemplo, uma porta pode ter os estados “aberta”, “fechada”, “semi-aberta”, “derrubada” e por aí vai. O estado é como o objeto se encontra atualmente. Você pode definir eventos state_entry() e touch_start(), entre outros, pra cada estado do seu objeto.

Exemplo de uma caixa que fica nos estados azul e vermelha:

default
{

state_entry()
{
state azul;
}

}

state azul

{

state_entry()
{
llSetColor(<0,0,1.0>, ALL_SIDES);
llSetText(“Estou azul – clique pra ficar vermelha”, <0,0,1.0>, 1.0);
}

touch_start(integer total)
{
state vermelha;
}

}

state vermelha
{

state_entry()
{
llSetColor(<1.0,0,0>, ALL_SIDES);
llSetText(“Estou vermelha – clique pra ficar azul”, <1.0,0,0>, 1.0);
}

touch_start(integer total)
{
state azul;
}

}


Seguir

Get every new post delivered to your Inbox.