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 9 februari (HUD)

Idag skall vi prata om script, jag antar att alla har vatt inne på script tidigare. Vi skall titta på ett script som påverkar en prim, dvs hur ni på er skärm kan påverka en prim.

Ni har ju alla sett att det dyker upp fält med knappar, tex när man skall betala hyra eller köpa en sak. Det är nåt liknande, vi skall titta på HUD. HUD betyder Head Up Display och det är ett fönster som öppnas (bara på er skärm) och ber om nåt (knapptryckning).

Vi börjar med att titta på scriptet på tavlan, sen skall nu få köpa en prim av mig och titta och testa själv.

Klicka på bilden för att se bättre! Tips: Håll ner skift när du klickar så får du ett eget fönster för scriptet.




Först ett antal rader som börjar med //. Det är kommentarer som berättar nåt om programmet.Gödsla med kommentarer! Det har ni nytta av 3 månader senare när ni inte kommer ihåg vad programmet gör.

Vi skall bygga en HUD (ett miniatyrfönster) med fyra val, vi skall göra en prim röd, gul, synlig och osynlig allt efter vad vi trycker på för knappar. Knapparna skall heta just det.

Först (rad 7) definieras en lista (en följd av variabler). Listan kallar vi hudchoices. Listan omges av hakparenteser. Mellan hakparenteserna anges texten på knapparna. Varje text omgiven av citationstecken, mellan varje text ett komma.

(Rad 8) Vi vill ha lite text också när fönstret visas så att tittaren vet vad som efterfrågas.
Det är en sträng (teckenföjd) som vi kallar dialogtext och som innehåller texten Exempel på HUD."

(Rad 9) Som ni vet så pratar man i SL via kanaler (om man inte voicar). HUD funkar så att den "pratar" när man trycker på en knapp. Den pratar på den kanal man definierar. Vi väljer att lagra kanalvärdet i dialogchannel (det är ett heltal = integer).

(Rad 12) Så är det dags för själva programmet. Man börjar med default (betyder starta här när allt är som vanligt.) Script är ju inte som gamla basicprogram som går och går tills dom kommer till slutet. Här är allting händelsestyrt, dvs nåt händer och DÅ startas en programsnutt.

(Rad 14) En händelse kan vara att primmen laddas in från inv till marken/tomten. Då primmen gör sin entre i världen! state_entry startas då.

(Rad 24) Primmen annonserar att den kommit till världen genom att säga (till alla) på kanal noll "Hello Avatar".

(Rad 18) Man kan ju inte låta alla HUD här prata på samma kanal. Då skulla alla primmar höra alla huddar. Därför är det elegant att alla primmar skapar sin egen kanal. Det gör dom med hjälp av ett slunptal. Värdet i dialogchannel blir beroende av ett slumptal. Slumptalet tas fram i llFrand(10000), som slumpar fram ett tal mellan noll och 10000 (ett decimaltal) . Vi vill inte ha kanal noll så vi läger till ett. Sen tar vi heltalet av summan, det får bli vår kanal.
Chansen att två script skulle få samma slunpltal är så liten så den finns nästan inte. ( Harrisburg...).

(Rad 19) Nu skall vi berätta för programmet att det skall lyssna efter vad HUD kommer att säga. Där säger vi, skulle nån prata på kanal dialogchannel (slumpkanalen) då skall en händelse starta ett program längre ner. Vi kan begränsa lyssnandet ytterligare men det gör vi inte nu (tex bara lyssna på en speciell ava) . Då har vi kommit fram till avslutande måsvinge och state_entry är klar.

(Rad 22) Startas när nån klickar på primmen, det är då som HUD skall presenteras. Då säger scriptet Touched på kanal noll, och lägger ut HUDDen (dialogen). llDialog lägger ut hudden och först kommer llDetectedKey , där får vi veta vem som tryckt på knappen, det kommer vi inte att använda. Sen kommer dialogtext (som vi definierade i början) det var en upplysande text bara. Sen kommer hudchoices, där vi redan har definierat hur knapparna skall se ut. Sist kommer kanalen som hudden skall prata på (dialogchannelI). Och så har HUDDen presenterats! Hudden kommer att prata! Scriptet lyssnar. När pratet kommer på slumpkanalen så startas listen. Vi kommer att få reda på vilken kanal (chan), men det vet vi ju redan vi lyssnar bara på en kanal. Sen får vi en sträng kallad name (den struntar vi i). Sen får vi id, som säger vem som pratar (vet ni att varje prim i SL har ett eget "namn"). Sist kommer string message som innehåller det som HUDden sagt.

Om vi klickat på tangenten "Röd", så kommer HUDden att säga "Röd" (var noga med versaler och gemener).

(Rad 30) Här berättar vi BARA FÖR ÄGAREN av primmen vad som tas emot av programmet. Observera ingen kanal anges, det går direkt till Ägaren av primmen).

(Rad 31) Första frågan: Är det kanappen med texten "Röd". if följs av en startparentes sen kommer villkoret som skall testas. Om message == (obs dubbla likhetstecken) "Röd" är villkoret uppfullt och då utförs blocket efter (inom måsvingar). Om det är sant så sätter vi primmen till röd (Rad 33). llSetColor sätter färg på primmen. Efter parentesen kommer <1,0,0> det betyder: en klick rött ingen klick grönt ingen klick blått. Det blir rött alltsammans. Och var skall då färgen placeras? Jo på på ALL_SIDES. Man kan säga en viss sida enbart om man anger en siffra 0-5. Oavsertt om message var rött eller inte så fortsätter programmet att testa vidare.

(Rad 36) Här kommer ett kortare sätt att skriva allt på en rad om det bara är ett kommande som skall utföras. Man slipper måsvingar och får allt på en rad. Där testar vi gul, då måste vi använda en droppe rött och en droppe grönt. Sen testar vi om det var Osynlig då sätter vi ALpha till 0 på alla sidor. Sen testar vi om det var Synlig, då blir Alpha ett.

(Rad 40) Nu är scriptet klart!

Adrina Welders: Ett tips: När du skriver scripts... eller för den delen bygger något... gör det aldrig när primen är attachad till avataren. För om du krachar så förlorar du allt arbete med stor sanorlikhet.

Nästa tisdag är det INGEN kurs, då kör APMEL stort partaj!
TACK TILL ALLA SOM KOMMIT!

För dom som är extra intresserade av script: En liten hemläxa!

Grunduppgift: Skapa en prim som har text svävande ovanför. Texten skall vara ditt namn, men det skall presenteras lite speciellt. På första raden första bokstaven, på andra raden första och andra bokstaven, på tredje raden första andra o tredje bokstaven osv.

Tilläggsuppgift: Komplettera scriptet så att primmen/scriptet lyssnar på kanal 99 och presenterar allt som sägs där, på samma sätt som i grunduppgiften.

Redovisning: Sök upp mig och visa!


/IronSide Carlberg

Inga kommentarer:

Skicka en kommentar