Assimilator

When you hear ‘Assimilator‘ then I have your attention.

assimilator_artnet

Now you have to move to the next level. To visit the Grand Opening on Thursday, January 30, 2014 at grid Metropolis.

22.00 CET [= 1.00 PM PDT / SLT]

Here comes the Borg Cube as you expected. A cube for art!

the_assimilator

Maybe you have heared from VULCANICUS, the rollercoaster for art? Indeed The Volcano of Art is much harder to handle when you fall from 2.000 meter down … as this kids toy here claiming the name BORG assimilator.

You shall experience live ‘the assimilation’.

Phantom gets REAL. REAL gets SOLID.

No pictures here? Yes, thats why you have to expierence it live!

An art exhibition with JadeYu FhangGem PreizAurora Mycano Insl, Exy [Sean Lennon], Gainaned Franciso di Cremona. Kitchen by Michio Funaki. Presented by Art Blue as Zaphod Beeblebrox. Sponsored by SR Hadden.

There will be food! You will not get home hungry.

real_food_01

And as full perm gift: The ONE prim book! – FULL EDIT … FULL COPY … TRANS … SCRIPT IN SOURCE [working in Opensim and SL]

Example is inworld:

rez_2014-01_00 rez_2014-01_01 rez_2014-01_02 rez_2014-01_03 rez_2014-01_04

Here the code:

This script you may get also inworld so you can drag it into the book. In case you dont have it or lost it, here it comes again. Just copy the lines and add them in a new script named 1primbook

// —————————————————————-
// adapted to r_e_z format by Art Blue 01-2014
// Script Title: 1-Prim Book
// Created by: WhiteStar Magic
// Creation Date: Feb.06.2012
// Platforms:
// SecondLife: Yes by Art Blue
// OpenSim: Yes
//
// Revision: V.0.3
// Revision History:
//
// Origination:
// Initially Based loosely off the Improved book script Script @ http://forums.osgrid.org/viewtopic.php?f=5&t=2400
//
// Revision Contributors:
// WhiteStar V.0.3 March.23.2012
// – small mod, adding BLANK_TEXTURE @ end of pages list IF the list is an odd number
// corrects for the last page not being shown properly if odd pages in list
// WhiteStar V.0.2
// – Streamlined page handling
// – Divided pages up so each inside face holds a full texture
// – Modified texture pre-caching to use “spine & bottom” edges to preload up coming textures
// – added facility to use front & back covers
// – add states for “run” and “GET_NOTECARDS”
// – Installed Notecard reader facility to eliminate script from having to be edited.
// – Size= allows use of REG, LG & XLG book sizes depending on material
// – CoverFR= for front Cover entry into NoteCard
// – CoverBK= for back Cover entry into NoteCard
// – Page= to specify the pages. 1 per line using name(if contained in prim) or UUID, in sequential order. Page-1, Page-2 Page-3 etc
//
// ================================================================
// ** SCRIPT NOTES **
//
// drop script & notecard into a BOX prim and it will set up.
// edit the Book.CFG and add the texture UUID’s or Texture Names if contained in prim.
// — sit back & enjoy your new book.
//================================================================
// ** Licence **
// !Attribution-NonCommercial-ShareAlike 3.0 Unported (CC BY-NC-SA 3.0)
// http://creativecommons.org/licenses/by-nc-sa/3.0/
//================================================================
// adjust below to make book only respond to owner
integer OWNER_ONLY = FALSE; // default FALSE allows anyone to use book
//
// ====================================== \\
// Make changes below at your own peril ! \\
// ====================================== \\
//

// Global Variables
vector sz_open; // open & closed changed in notecard reader
vector sz_closed;
vector sz_reg_o = <0.050,3.066,1.836>; // reg sizes fitting to ferrisquito now
vector sz_reg_c = <0.015,.612,.511>; // based on a third of vector sz_reg_c = <0.025,1.836,1.533> ;
vector sz_lg_o = <0.1,3.072,2.048>; // lg sizes – not fiting to ferrisquito now
vector sz_lg_c = <0.05,1.536,2.048>;
vector sz_xlg_o = <0.1,4.608,3.072>; // xlg sizes – not fiting to ferrisquito now
vector sz_xlg_c = <0.05,2.304,3.072>;
//
list pcut_close = [PRIM_TYPE, PRIM_TYPE_BOX, 0, <0.0,1.0,0.0>, 0.0, <0.0,0.0,0.0>, <1.0,1.0,1.0>, <0.0,0.0,0.0>];
list pcut_open = [PRIM_TYPE, PRIM_TYPE_BOX, 0, <0.0,0.700,0.0>, 0.0, <0.0,0.0,0.0>, <1.0,1.0,1.0>, <0.0,0.0,0.0>];
// FR=Front, BK=Back covers. from notecard. UUID or TextureName if contained
string cover_FR;
string cover_BK;
//
string bookstate = “closed”;
string bookconfig = “Book.CFG”;
key NChandle = NULL_KEY;
integer line = 0;
//
list Lst_pages; // page= data from notecard (uuid or name)
integer page_qty; // # of pages in Lst_pages
integer page_crnt = 0;
integer page_next = 1;
//
integer tLT = 6; // Left page Touchface
integer tRT = 5; // Right page Touchface
float timer_delay = 5.0;
//
// ==================== \\
// SCRIPT STARTS HERE ! \\
//======================\\
set_pages() // set textures for both inner pages
{
key Lt_pg = (key)llList2String(Lst_pages,page_crnt); // ODD Pages on left
key Rt_pg = (key)llList2String(Lst_pages,(page_crnt+1)); // EVEN pages on Right
llSetPrimitiveParams([PRIM_TEXTURE, 5, Rt_pg, <1.0,1.0,0.0>, <0.0,0,0>, 0.0]); // Right Face: full image
llSetPrimitiveParams([PRIM_TEXTURE, 6, Lt_pg, <1.0,1.0,0.0>, <0.0,0,0>, 0.0]); // Left Face: full image
}

pre_cache()
{
llSetTimerEvent(0.0); // do this only once
if(bookstate==”closed”) return;
key oddcache=llList2Key(Lst_pages,page_next+1);
key evencache=llList2Key(Lst_pages,page_next+2);
//llSetColor(<0,0,0>, 3); // colour over left face
llSetTexture(oddcache,3); // left face edge (spine) when open
//llSetColor(<0,0,0>, 4); // colour over bottom face
llSetTexture(evencache,4); // bottom face edge when open
}

openbook()
{
bookstate=”open”;
llSetPrimitiveParams([PRIM_SIZE, sz_open]); // set new size
llSetPrimitiveParams(pcut_open); // set the cut params
llSetPrimitiveParams([PRIM_TEXTURE, 2, cover_BK, <2.0,1.0,0.0>, <0.50,0,0>, 0.0]); // set back cover & scale for display on new prim form
}

closebook()
{
bookstate=”closed”;
page_crnt=0;
page_next=1;
//
llSetPrimitiveParams([PRIM_SIZE, sz_closed]);
llSetPrimitiveParams(pcut_close);
llSetPrimitiveParams([PRIM_TEXTURE, 4, cover_FR, <1.0,1.0,0.0>, <0.0,0,0>, 0.0]); // Front Cover
llSetPrimitiveParams([PRIM_TEXTURE, 2, cover_BK, <1.0,1.0,0.0>, <0.0,0,0>, 0.0]); // Back Cover, rescaled for prim form
//
//llSetColor(<1.0,1.0,1.0>, 4); // re-colour cover white IF bottom face edge was blackened in pre_cache()
//
llSetTexture(TEXTURE_BLANK,0); // top face edge
llSetTexture(TEXTURE_BLANK,1); // rigt side edge
llSetTexture(TEXTURE_BLANK,3); // left side edge (spine)
llSetTexture(TEXTURE_BLANK,5); // bottom face adge
}

// START //
default
{
state_entry()
{
state GET_NOTECARDS;
}
}
// RUNNING //
state run
{
state_entry()
{
closebook();
llOwnerSay(“[ ” + (string)llGetListLength(Lst_pages) + ” ] Pages loaded. Ready, click on cover to read”);
page_qty = llGetListLength(Lst_pages);
float d = ((float)page_qty / 2);
integer e = (page_qty / 2);
if((float)d != (float)e) {Lst_pages += [TEXTURE_BLANK]; page_qty = llGetListLength(Lst_pages);} // ODD # so add BLANK TEXTURE to make EVEN #

}

touch_start(integer num_times)
{
if(OWNER_ONLY && llDetectedKey(0)!=llGetOwner()) return; // only owner is set, to ignore others
//
if(bookstate==”closed”)
{
openbook();
set_pages();
// pre_cache(); deactivated for SL by Art Blue
}
else if(bookstate==”open”)
{
if(llDetectedTouchFace(0) == tRT) // RTface touched
{
page_crnt=page_crnt + 2;

if(page_crnt>(page_qty-2))
{
closebook();
}
else
{
set_pages();
page_next = page_crnt+1;
}

if ( page_next < llGetListLength(Lst_pages) )
{
llSetTimerEvent(timer_delay);
}
else llSetTimerEvent(0.0);
}
else if(llDetectedTouchFace(0) == tLT) // LTface touched
{
page_crnt=page_crnt – 2;
if(page_crnt< 0)
{
closebook();
}
else
{
set_pages();
page_next = page_crnt-1;
}
if ( page_next < llGetListLength(Lst_pages) )
{
llSetTimerEvent(timer_delay);
}
else llSetTimerEvent(0.0);
}
}
}

timer()
{
// pre_cache(); // preload next page after a delay deactivated for SL
}

changed(integer change)
{
if (change & CHANGED_INVENTORY)
{
llOwnerSay(“The inventory changed. Restarting book”);
llResetScript();
}
if (change & 1024) llResetScript();
}
}
//——————-\\
// Get Notecard Data \\
//——————-\\
state GET_NOTECARDS
{
state_entry()
{
line = 0;
NChandle = llGetNotecardLine(bookconfig, 0);
}
dataserver(key query_id, string data)
{
if(query_id == NChandle) // Filtering the call
{

if (data == EOF)
{
state run;
}
else
{
data = llStringTrim(data, STRING_TRIM_HEAD);
if (llGetSubString (data, 0, 0) != “#”) // If it’s # skip the line, it’s a comment
{
integer s = llSubStringIndex(data, “=”);
if(~s) // does it have an “=” in it? if YES it’s Valid!
{
string token = llToLower(llStringTrim(llDeleteSubString(data, s, -1), STRING_TRIM)); // trim up token & lower case it
data = llStringTrim(llDeleteSubString(data, 0, s), STRING_TRIM);

if(token == “size”) // Set Sizing
{
if(llToLower(data)==”reg”)
{
sz_closed = sz_reg_c;
sz_open = sz_reg_o;
}
else if(llToLower(data)==”lg”)
{
sz_closed = sz_lg_c;
sz_open = sz_lg_o;
}
else if(llToLower(data)==”xlg”)
{
sz_closed = sz_xlg_c;
sz_open = sz_xlg_o;
}
}

if (token == “coverfr”) // Set Front Cover
{
if(data==””) llOwnerSay(“CoverFR= is not identified in “+bookconfig+” No Front Cover will be shown”);
else cover_FR = data;
}
else if (token == “coverbk”) // Set Back Cover
{
if(data==””) llOwnerSay(“CoverBK= is not identified in “+bookconfig+” No Back Cover will be shown”);
else cover_BK = data;
}
else if (token == “page”)
{
if(data !=””)
{
//llOwnerSay(“The Data is: “+(string)data);
Lst_pages += [data];

}
else llOwnerSay(“Loading Page= from “+bookconfig+” NoteCard: Data is Empty ! No Pages Available”);
}
}
}
NChandle = llGetNotecardLine(bookconfig,++line);
}
}
}
}

Advertisements

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s