Visade sidor under den senaste månaden

På den här bloggen ger vi tips m m för byggande, scriptande och klädskapande i Second Life.

Gå med i gruppen SEC - Swedish Educational Center!
Gruppens syfte är att bidra till medlemmarnas möjligheter att tillfredsställa sin kreativitet i Second Life.
Genom den kommer du att få inbjudningar, kursmaterial, texturer, mallar och intressanta objekt som du kanske kan ha nytta av i ditt skapande. Kontakta Kay Uggla: kay.uggla@gmail.com eller via IM!

SEC-gruppens medlemmar kan använda gruppens "notices" för att skicka ut sina egna skapelser, texturer råd och rön och gruppchatten för att få råd och dåd när man som mest behöver det i sitt skapande.
Vi hjälper varandra efter bästa förmåga att förverkliga våra kreativa drömmar!

Lärare, Byggare och klädskapare

Lärare, Byggare och klädskapare
Kay Uggla: kay.uggla@gmail.com och Snowy Montpark: snowychannel@gmail.com

Detta lärde vi oss på scriptkursen 12 januari

Vi börjar med en repetering av förra scriptkursen (2010-01-12).

IronSide Carlberg:
Vi skall prata om script. Ett script är ett sätt att ge prim ett eget liv. Man kan peta in ett litet program i prim och då kan det göra en massa olika saker:
- ett script kan flytta på en prim
- man kan sätta sig på en prim som sen flyttas omkring
- det skulle kunna bli en bil eller flygplan
- man kan prata med ett script
- man kan säga till det tex upp ner bort kom
men det krävar att scriptet är utfört på rätt sätt. Att skriva ett skript är som att programmera fast mycket lättare.

Rezza en prim, välj editera, gå till fliken Contents. Klicka på New script.

Då får ni upp ett script i inventory i primmen, den har ett eget inventory där man kan lagra saker. Om ni dubbelklickar på scriptet så får ni upp denna bild.

Scriptet består av ett antal rader som utförs (startas på olika händelser). Översta raden default (skall alltid finnas) den säger här börjar programmet. Under default en måsvinge (parentes). Dom är mycket viktiga i detta språk. Dom markerar start och slut på ett block. Blocket börjar med state_entry. Det är inkörspunkten för vad som händer när man rezzar eller startar) scriptet Då utförs det block som följer (block = allt mellan { och } Det som utförs är raden llSay(0, "Hello, Avatar!"). llSay är ett kommando i detta språk som här betyder "prata på kanal noll, säg Hello Avatar.

Kanaler finns det gott om, men det är bara kanal noll som vi avatarer hör. Det finns miljoner kanaler, dom kan tedx användas om primmar vill prata med varann. Kanal noll är chatt, alla i närheten hör då vad som sägs, inom 20 meter.

Nästa rad 5 är en avslutande måsvinge. Betyder att inget mer skall hända vid rezzning
Sen kommer touch_start , dom raderna startar nå nån klickar på primmen. Då säger scriptet Touched"till alla. Sen är det måsvingeslut på klickdelen. Sen följer ytterligare en måsvinge som säger att det är slut på hela scriptet.

En sak som är jätteviktig: det skall finnas semikolon efter varje rad som gör nåt annars får man underbetyg när man sparar.

Kanaler kan användas för att prata med primmar. Då kan man tex säga /9 stop, och alla primmar i närheten som lyssnar på kanal 9 kommer att starta script.

Nu tar vi nåt svårare (en räknare)

Sätt in detta i er prim: (klicka på bilden nedan)


Byt ut mitt namn mot ert egna, mata in scriptet så skall jag förklara vad som händer sen.
När ni matat in så gör ni Save, och får betyget godkänd eller icke godkänd. Det är jätteviktigt med alla skiljetecken, tex semikolon.

Som ni ser så börjar scriptet inte med default. Före default ligger en rad integer count = o;
Det betyder att vi vill skapa en variabel, en räknare som kan innehålla tal. (heltal = integer). Denna räknare kallar vi för count och vi vill att den skall ha värdet noll när vi börjar .

Touch_start innehåller: count = count + 1;
Nu använder vi räknaren, vi tar värdet i räknaren och lägger till ett, resultatet placeras i räknaren count.
Sen kommer Touched på kanal noll
Sen kommer Någon klickade på kanal noll
Sen en ny bekant llSet Text. Den sätter en text ovanför primmen, så man kan läsa tex vad den innehåller eller vad man nu vill få fram. Efter parentesen kommer TRE olika parametrar

Den första "Irons kub har......" det är texten som skall skrivas (ellet första delen av texten)
sen kommer (string) count betyder omvandla räknaren count till text och skarva på texten "Irons kub...." sen kommer "ggr" som skarvas på texten, sen ett komma som betyder nästa parameter. Den talar om vilken färg texten skall skrivas i, vi tar en del rött en del grönt och en del blått (det blir vit färg) <1,1,1> är färgen. Man kan blanda färgerna som man tycker
Sen kommer ett komma och efter det så visar man hur starkt/eller halvgenomskinligt som texten skall presenteras .

Mitt bästa ställe för att läsa om scriptspråket (som heter LSL) är i Help, Scripting portal.

Avslutning (julkortet)

Som avslutning skall jag berätta om julkortet jag skickade, ni kan se det vid kay(!) kanten.
Som ni ser så ändras ansiktet på tomten. Det är löst med ett enkelt script. Julkortet består egentligen av två julkort. Ett med tomten och ett med mitt ansikte i tomten. Jag har gjort det ena aningen större. Sen är det ett script som gradvis gör det yttre genomskinligt /osynligt
Ni kan kopiera julkortet om ni vill för att kolla script, men jag har det på en stor bild (klicka på bilden för att få den större)

Lite kort:
först skapas två variabler (inte heltal utan decimaltal (float)), en håller reda på hur genomskinligt yttre kortet skall vara, det andra är en räknare som löper igenom olika värden.
llSetTimer, den startar en timer som tickar var o.3:e sekund och får starta en skriptdel som förändrar genomskinligheten, var 0.3:e sekund startas timer(), och då ändras dim och diff
på sista raden llSetAlpha gör man den yttre primmen synlig(osynlig) llSetTimer den gör att man loopar i scriptet (var 0.3e sekund).

Scriptet finns i yttre kortet, men genom att jag länkar yttre och inre kortet så känner både primmarna av klicket, men bara yttre primmen (som har scriptet) reagerar.

Ljudet (Merry Christmas) startas på touch_start, där finns en en rad llPlaySound . Den säger att ett ljud (som heter Merry) skall startas och det finns i primmens inv. Skall spelas med ljudstyrka 1.0. Denna typ av ljud kan bara vara max 10 sekunder .

Det var allt för idag, tack för att ni kom! Om 14 dagar tar vi lite svårare script!

1 kommentar:

  1. Tack , Gud vad bra du förklarar. och vad bra du lägger ut allt här, Jag missar ofta kursena för event eller andra möten- Tack den härbloggen blir min SL bibel nu. :-)
    Annabella, Cafe och morgonrocks tanten

    SvaraRadera