Tänään aamulla käytiin läpi skriptauksen alkeita EduFinlandin järjestämällä opintojaksolla ja mukana olikin useita innostuneita osanottajia. Kuutioprimitiiveillä (ja muunkin muotoisilla) testailtiin, mitä voi yksinkertaisilla LSL -skriptikielen palasilla saada aikaan - lopputuloksena informatiiviisia, värikkäitä, saranoituja sekä hyppiviä kuutioita.

Joukko skriptaajia tutustumassa LSL -kielen mysteereihin EduFinland I:n hiekkalaatikolla

The Doors
Esimerkkiskriptit ovat myös saatavilla EduFinland II:lla sijaitsevalta Demoalueelta (228,128,24), ja tässä seuraa lyhyt tiivistelmä / kertaus ja dokumentaatio, mikä minkäkin skriptin toiminnallinen tarkoitus on.
01_notecard_giver - yksinkertainen notecardin (tai minkä tahansa muun objektin, esineen antaja) - sijoita notecard skriptin kanssa primitiivin inventaarioon (contents-välilehti), ja kopioi notecardin nimi täsmälleen skriptin riville 11 lainausmerkkien sisään, korvaten tekstin “notecard name here” - huom! isot ja pienet kirjaimet ovat merkitseviä, joten kirjoitusasun on oltava täsmälleen niinkuin se on notecardin (tai jonkin muun objektin) nimessä
02_notecard_and_landmark_giver - täysin vastaava toiminnallisuus kuin edellisessä, tämä skripti antaa kaksi esinettä, jotka voivat olla esim. notecard ja maamerkki (landmark) - riviltä 11 on korvattavat “notecard name here” ja riviltä 12 “landmark name here” - kopiomalla koko rivi, voi skriptin saada antamaan useampia kuin kaksi esinettä
03_give_all_contents - tämä skripti ei vaadi mitään muokkausta, sijoitetaan primitiivin contents-välilehdelle (niinkuin kaikki muutkin skriptit) ja skriptin kumppaniksi voi sijoittaa haluamansa määrän objekteja - mitä tahansa, notecard, landmark, esine, vaate, jne. - ja skripti antaa kaikki esineet avatarille, joka primitiiviä klikkaa - huom! esineet päätyvät avatarin inventoryyn kansioon, jonka nimi on sama kuin primitiivin nimi, valitse siis primitiiville hyvä nimi (esim. “object” on huono nimi
)
04_website_link - helppo webbilinkki - korvaa riviltä 11 tekstinkohta “Vieraile EduFinlandin sivuilla” haluamallasi viestillä, joka opastaa käyttäjälle että kyse on web-sivusta, ja “http://edufinland.fi” kohtaan sijoitetaan web-sivun URL-osoite
05_chat_message - tulostaa viestin chat-ikkunaan, kun primitiiviä klikataan hiirellä - korvaa riviltä 11 kohta “Chatviesti tulee tähän” haluamallasi viestillä - jos et halua että viesti kiirii hyvin kauas (llSay kuuluu 22 metrin päähän), niin llSay -komennon voi korvata komennolla llWhisper, jonka kuuluvuus on 9 metriä
06_hovertext - asettaa primitiivin yläpuolelle leijuvan tekstin, jota voi käyttää vaikka opastetekstinä - korvaa skriptin riviltä 11 kohta “Hovertext tulee tähän” haluamallasi viestillä - hovertekstin väriä voi muuttaa vaihtamalla lukuarvoja kanttisulkeiden välissä < 1.0, 1.0, 1.0 > (jotka vastaavat värejä < punainen, vihreä, sininen >) niin, että 1.0 on suurin arvo, ja nolla pienin arvo - hovertext on toisinaan kätevä esim. opasteissa ja usein kiinnittää avatarien huomion, mutta liiallinen hovertextien käyttö voi olla häiritsevää - kannattaa siis käyttää harkiten ja säästeliäästi
07_sittarget - esimerkki kuinka avatar voidaan “pakottaa” istumaan primitiivin päällä tietyssä asennossa, esimerkiksi tuolin tai muun huonekalun päällä - istuma-asennon kulmaa voi vaihtaa muokkaamalla arvoja riviltä 11 ja sijaintia muokkaamalla arvoja riviltä 13 - skripti oli alkeiskurssilla mukana lähinnä esimerkkinä, tarkempia tietoja sittargetista enemmän kiinnostuneille löytyy LSL portalista
08_texture_change_on_touch - yksinkertainen “powerpoint” - esittää primitiivin inventoryyn (contents-välilehti) sijoitettuja tekstuureja eli kuvia aakkosjärjestyksessä, klikkaamalla primitiiviä siirtyy aina seuraavaan kuvaan - jos skripti ei ole ladannut kaikkia kuvia, voidaan skripti resetoida Second Lifen tools valikosta -> “reset scripts in selection”, jolloin skripti lataa primitiivin inventoryn uudelleen - jos haluaa että kuva näytetään vain primitiivin yhdellä sivulla, niin vaihda riviltä 24 ALL_SIDES esimerkiksi numeroarvoon 1 (tarkempia tietoja, mikä taho primitiivistä vastaa mitäkin numeroarvoa löytyy jälleen LSL Portalista)
09_deluxe_door_script - helppokäyttöinen ovi! - sijoita skripti primitiivin inventoryyn (contents-välilehti), ja skripti valmistelee primitiivistä täysin toimivan oven - skriptin alkuosassa on hyvin dokumentoituja arvoja, joita voi muokata tarpeen mukaan
10_impulse - yksinkertainen esimerkki fysikaalisesta primitiivistä - skripti asettaa primitiivin fysiikan päälle, jonka jälkeen hiiren klikkaus ponnauttaa sen ylöspäin - impulssin suuntaa voi vaihtaa muokkaamalla arvoja kanttisulkeista rivillä 16 ( arvot vastaavat koordinaattiakseleita seuraavasti: < x, y, z > ) - huom! tässä esimerkissä skripti muuttaa primitiivin fysikaaliseksi, mutta sen voi tehdä helposti myös ilman skriptiä, build-ikkunan “object” -välilehdeltä laittamalla rastin ruutuun “Physical”
11_impulse_and_rotational_impulse - vastaava esimerkki kuin edellinen, mutta tässä tapauksessa primitiiville annetaan myös kiertoimpulssi, jolloin se alkaa pyörimään akseleidensa ympäri - tällä tavoin voitaisiin simuloida esim. arpakuutiota, etenkin kehittämällä skriptiä eteenpäin niin, että kiertoimpulssien arvot otettaisiin vaikka satunnaisluvuista - kiertoimpulssin määrää eri akseleiden ympäri voidaan vaihtaa muokkaamalla arvoja riviltä 17 (arvot vastaavat jälleen kiertoa koordinaattiakselien ympäri < x, y, z >)
Muutamia lisämuistiinpanoja ja kommentteja löytyy ainakin Sannan blogista osoitteesta http://recognisingcreativity.wordpress.com/2009/03/31/skriptauksen-alkeet/ - ja tänne EduFinlandin blogiin voi toki kommentoida myös, tai sitten lähettämällä minulle suoraan palautetta vaikka IM:llä Second Lifessä (ja avatar nimihän oli Case Dirval).
Kiitokset kaikille osallistuneille, toivottavasti kaikki saivat jotain irti kurssista!
Edit: Ei nyt aivan skriptauksen alkeisiin liittyen, mutta Marjan Blogista löytyy hienoja kuvia viime viikon rakentamisen alkeiden kurssilta - http://blogs.helsinki.fi/msilenti/2009/03/27/rakentamisen-alkeita-second-lifessa/
casedirval EduFinland koulutus, kurssit, LSL, opetus, skriptaus