Scrivimi!

Fai una donazione al Blog con Paypal!

venerdì 7 settembre 2007

Script per le porte

//Script Base per le porte

//============================================

// Dichiara le costanti globali.
//
integer SW_OPEN = FALSE; // usato per apire la porta
integer SW_CLOSE = TRUE; // usato per chiudere la porta
integer SW_NORMAL = FALSE; // usato per una apertura normale
integer SW_REVERSE = TRUE; // usato per la chiusura

// Notate che è difficile dare uno swing verso l'esterno
//o verso l'interno in quanto ha a che fare
//con la rotazione e l'orientamento della porta,
//in quanto deve essere riferita non solo alla

//direzione corretta/desiderata, ma anche se vi riferite
//al fatto che la porta debba andare verso

//l'interno o l'esterno.
//Per questo è più facile denominare lo swing normal e reverse.

//============================================
// Dichiara i campi globali.
//
key gfOwnerKey; // Proprietario dell'oggeto
integer gfDoorClosed; // Stato attuale della porta (Aperto, Chiuso)
integer gfDoorSwing; // Determina in quale verso va la porta
//(Interno, Esterno)

//============================================
// gmInitFields
//
gmInitFields()
{
//
// trova il prorietario della porta.
//
gfOwnerKey = llGetOwner();

//
// La porta è chiusa di default.
//
gfDoorClosed = TRUE;

//
// La port.a apre e chiude.
//
gfDoorSwing = SW_NORMAL;

return;
}
//
// fine del gmInitVars
//============================================

// gmSwingDoor
//
gmSwingDoor(integer direction)
{
//-----------------------
//Definisce le varianti locali

rotation rot;
rotation delta;
float piVal;


// Prima di tutto dobbiamo decidere se stiamo applicando
//un PI negativo o positivo
//all'algoritmo della porta.
//Il parametro positivo negativo è determinate per sceglire la direzione
// in cui si muoverà la porta.
// Abbiamo quindi due variabili da considerare: aperto/chiuso e direzione
// interna/esterna. Iniziamo con aperto/chiuso. Presumiamo il
// seguente:

// SW_OPEN: +PI
// SW_CLOSE: -PI
// Presumiamo inoltre la direzione normale:
// SW_NORMAL.

// Una porta con una direzione diversa avrebbe i valori rovesciati:
// SW_OPEN: -PI
// SW_CLOSE: +PI

// La variabile di questo metodo detrmina se l'intento sia
//di aprire o chiudere la porta

// Il campo globale gfDoorSwing sarà usato per modificare
//il PI basato su una porta che ha
//come direzione un dentro/fuori normale.

if (direction == SW_OPEN)
{

// La porta si apre.. Assegnamole un valore +PI al piVal.

piVal = PI/4;

// Ora controlliamo se la porta fa il contrario.

if (gfDoorSwing == SW_REVERSE)
{
piVal = -PI/4;
}
} else
{
piVal = -PI/4;

if (gfDoorSwing == SW_REVERSE)
{
piVal = PI/4;
}
}
rot = llGetRot();
delta = llEuler2Rot(<0,0,pival> );
rot = delta * rot;
llSetRot(rot);
llSleep(0.25);
rot = delta * rot;
llSetRot(rot);

return;
}

// Fine di gmSwingDoor
//============================================

// gmCloseDoor

// Questo comando serve a chiudere la porta.
//Se le porte sono bloccate,
// la porta non può essere chiusa.
//Se la porta è chiusa non può essere richiusa.


gmCloseDoor()
{

// Prima di tutto controliamo che la porta sia già chiusa.
//Se lo è facciamo in modo che l'utente lo sappia.

if (gfDoorClosed == TRUE)
{

// E' già chiusa.

llSay (0, "Questa porta è già chiusa.");
return;
}

// Chiamiamo il metodoC gmSwingDoor con l'argomentoSW_CLOSE

gmSwingDoor(SW_CLOSE);


// Ora la porta è chiusa, settiamo lo stato.

gfDoorClosed = TRUE;

return;
}

// Fine di gmCloseDoor

//============================================
// gmOpenDoor

// Questo comando serve per aprire.
//Se la porta è già apertanon si riaprirà.
//Stesso vale se la porta è bloccata.

gmOpenDoor()
{
//Controlliamo che non sia già aperta, e avvisiamo l'utente.

//
if (gfDoorClosed == FALSE)
{

// E' già aperta.

llSay (0, "La porta è già aperta.");
return;
}


//Chiamiamo il metodo di apertura gmSwingDoor
//con l'argomento SW_OPEN .

gmSwingDoor(SW_OPEN);


// Ora che la porta è aperta, settiamo lo stato.

gfDoorClosed = FALSE;
return;
}

// fine di gmOpenDoor
//============================================

// Stato di default
//Questo stato si setta automaticamente quando rezzate la porta.

default
{

// state_entry() è l'inizio dell'azione.

state_entry()
{

// Campi globali di inizio

gmInitFields();


// Stiamo settando due comandi.
//La porta reagisce ai comandi vocali del proprietario.

llListen(0, "", "", "aperto");
llListen(0, "", "", "chiuso");
}

listen(integer channel, string name, key id, string msg)
{
//-----------------------
// Variabili definite

string operName;
string ownerName;

//Controllo id proprietario.


operName = llKey2Name(id);
ownerName = llKey2Name(gfOwnerKey);


// Trova il proprietario.

if (ownerName != operName)
{


llSay(0, "I comandi vocali sono a disposizione solo del proprietario.");
return;
}

//----------------------------------------
// APERTURA

if(msg == "aperto")
{
gmOpenDoor();
}

//----------------------------------------
// CHIUSO

if (msg == "chiuso")
{
gmCloseDoor();
}
}

touch_start(integer i)
{


if (gfDoorClosed == FALSE)
{
gmSwingDoor(SW_CLOSE);
gfDoorClosed = TRUE;
return;
} else
{

gmSwingDoor(SW_OPEN);
gfDoorClosed = FALSE;
return;
}
}
}

Ballo delle debuttanti

Venerdì 7 settembre alle ore 23.00 (02.00 PM PDT)

Al Billionaire club si terrà il Gran Ballo delle Debuttanti edizione 2007



La tradizione del “ballo delle debuttanti” nasce nel 1700, quando nei palazzi nobiliari dell’epoca, giovani aristocratiche dell’epoca, dall’età compresa tra i 17 e i 23 anni, avevano la loro occasione per trovare il proprio “principe azzurro”. Purtroppo….a quei tempi, dopo i 23 anni si era considerate “zitelle”

Noi del Billionaire non saremo così “rigidi” tutte le signorine/signore potranno partecipare a prescindere dall’età e potranno farlo sia da singol che da accompagnate dai loro partners….unico vincolo sarà l’abito da sera.
I signori dovranno invece indossare possibilmente una divisa (a prescindere dalla forza armata e dall’epoca di riferimento), in alternativa sarà ammesso l’abito elegante che però non consentirà di partecipare al concorso
Una giuria (i cui nomi saranno comunicati poco prima della premiazione), selezionerà tra i partecipanti, durante la serata, la coppia (militare/damigella scelti singolarmente tra i partecipanti) che nel complesso bellezza avatar e abbigliamento risulterà la/il vincitrice/vincitore del concorso.

Ai vincitori la DUCATILLIONS INVESTMENTS consegnerà un premio di 500 L$ per uno.

La serata danzante avrà luogo nello splendido edificio del Billionaire club e le musiche saranno proposte dal nostro DJ Yena Koba. Il tutto all’insegna del piacere di stare insieme e di divertirci in piacevole compagnia.

P.R. Spenny Benelli

In ricordo di Pavarotti

Domenica 9 settembre dalle ore 23.00 l Mediterraneo OC ricorderà la figura di Pavarotti "La voce del mondo".
Per l'occasione la land diventerà un loggione e si potranno ascoltare i brani che hanno reso unico ed irripetibile "big Luciano".
A tutti i partecipanti verrà consegnato un ricordo della serata.
Considerato il tema della serata non si svolgeranno giochi o divertimenti speciali ma verranno proposte alcune prove di cultura sull'opera lirica in particolare e l'arte in generale.

Tatoo contest

Dalle 21.45, venerdì serra presso l'ITLAND BEACH (la spiaggia di ITLAND) si terrà il Tatoo contest, aperto a tutti gli amanti di questa splendida forma d'espressione.

L'inizio è fissato per le ore 21.45, mentre la chiusura per le ore 24.00.

Il montepremi? 500 L$!

Vince ovviamente il tatuaggio più votato dal pubblico presente!

Siete tutti invitati, non mancate!
_________________
*Franzk Karas, al vostro servizio*

Fumetti e contest

Ecco un posto davvero simpatico.

Sopra una galleria di foto di Second life, trova sede un contest molto divertente.

Si chiama Comics ed ha come tema i Fumetti, le strisce comiche, i cartoni, la comicità.
Oggi è l'ultimo giorno per partecipare, ma l'installazione resterà per creare mille situazioni divertenti!

Andate qui per un video con le spegazioni d'utilizzo.

Ecco i premi per i vincitori:

#1 - 500 L per il migliore fumetto
utilizzando un'inedita Toon Studio snapshot (single frame)

#2 - 500 L per il miglior fumetto
usando 3 o più Toon Studio snaps unite insieme a formare una sola striscia.

#3 - 100L special bonus per la battuta più divertente.

Il tema è comico. Detto ciò create ciò che volete. Non ci sono limiti.
Manipolate pure gli Snaps.


Termini:

7 Settembre 2007 - i lavori che giungeranno oltre questa data non saranno in gara, ma entreranno a far parte del gruppo delle opere.
Mostra: 10 Settembrer - 30 Settembre 2007 nello studio di foto della galleria.

Ci sarà una cerimonia di chusura.

Per inserire i lavori dovete:

Metterli in texture su di un prim o creare 3 texture. Devono essere 512x512, rettangolari.

Il titolo deve essere composto da: Nome+Titolo. MOD e COPY.

Inviatele a: Osprey Therian

Scrivetegli un IM per avvisarlo.

Non inviatele in una Notecard.

Rilassamento

Venite ad imparare come rilassare i vostri muscoli e togliere lo stress e l'ansia.

La sessione inizierà con 20 minuti di progressivo rilassamento dei muscoli, che sarà seguito da un relax della mente attraverso il subconscio del cervello per circa 15 minuti.

Poi ci sarà un risveglio... una suggestione che vi farà sentire magnificamente nel vostro weekend.

Assicuratevi di non essere disturbati durante la sessione.

Attivate la voce e mettevi le cuffie.

Dalle ore 2 PM.

Conoscere lo scrpting

Curiousi dello scriptng ma non sapete da dove cminciare? Questa è una lezione per principianti, non abbiate paura!

La vostra insegnate sarà Simon Kline, e questa settimana impareremo le basi mentre spiegheremo cosa può fare uno script.
Alla fine della lezione ne saprete di più.

Dalle ore 2.30 AM.

Posti Da Vedere

Cosa c'è da visitare su Second Life? Guarda qui!

Guida a Second Life

Qui potrai trovare tutte le risposte che cerchi, gli indirizzi utili per guadagnare qualche L$, Freebie, Camping e tutto ciò che può servire ad un Newbie!

Tutorial

Vuoi approfondire qualcosa sul Building, lo scripting o il texturing? O magari vuoi sapere come creare vestiti, oggetti o accessori per il tuo avatar? Questa è la sezione giusta per te!