Difference between revisions of "User:Meyermagic Salome"

From Second Life Wiki
Jump to navigation Jump to search
m (→‎Some code: lsl code tagging)
(Replacing page with '== About == Programmer, photographer, musician, chemist. Programs in: * Python * PHP * LSL * Javascript')
Line 1: Line 1:
== About me ==
== About ==
''Name'': Meyer S. Jacobs
Programmer, photographer, musician, chemist.


''Alias'': Meyermagic, if(x), |-1|
Programs in:
 
* Python
''Age'': 472794735 as of 1175103075 (seconds since the Unix Epoch)
* PHP
 
* LSL
''Avoids'': Carbonated drinks, dressing up, political parties, organized religion
* Javascript
 
''Is drawn to'': Math, physics, technology, interesting people, old cartoons, sci-fi, anime, good books, things that spin, magnets, food
 
My plot in TG SL: {{simpleslurl|Nailsworth|116|25|62|TransGrid Corporation HQ}}<br />
My DeviantART Page: [http://meyermagic.deviantart.com Meyermagic on DeviantART]<br />
My last.fm Page: [http://www.last.fm/user/Meyermagic/ Meyermagic's Music Profile]
 
== Projects ==
''Perception'' - A four part story<br />
&rArr; Part One: ''The Crystals of Power''<br />
&rArr; Part Two: ''The Tower Archive''<br />
&rArr; Part Three: ''Perpetual''*<br />
&rArr; Part Four: ''Transcend''<br />
 
''The WeFiki'' - A next generation web protocol
 
''null_Void'' - My personal site; not yet online
 
== Some code ==
My Single-prim, scrollable Image Gallery:<br />
<lsl>
integer texture_count;
list textures;
 
integer current = 0;
 
string str_repeat(string src, integer count)
{
    string output;
    integer i;
    for(i = 0; i < count; i++)
    {
        output += src;
    }
    return output;
}
 
next()
{
    if(current < texture_count - 1)
    {
        current++;
    }
    else
    {
        current = 0;
    }
    llSetTexture(llList2String(textures, current), ALL_SIDES);
}
 
prev()
{
    if(current > 0)
    {
        current--;
    }
    else
    {
        current = texture_count - 1;
    }
    llSetTexture(llList2String(textures, current), ALL_SIDES);
}
 
//list image_data()
//{
//    return [];
//}
 
 
vector grab;
integer gc;
 
default
{
    state_entry()
    {
        texture_count = llGetInventoryNumber(INVENTORY_TEXTURE);
        integer i;
        for(i = 0; i < texture_count; i++)
        {
            textures += [llGetInventoryKey(llGetInventoryName(INVENTORY_TEXTURE, i))];
        }
        llSetTexture(llList2String(textures, current), ALL_SIDES);
    }
   
    touch(integer num_detected)
    {
        grab = llDetectedGrab(0);
        gc++;
       
        float scroll = grab.x;
        //float shift = grab.y;
       
        float trans = scroll * (float)llPow(gc, 0.5);
        //float vtrans = shift * (float)llPow(gc, 0.5);
       
        if(trans > 5.0)
        {
            next();
            gc = 0;
        }
       
        if(trans < -5.0)
        {
            prev();
            gc = 0;
        }
       
        trans = trans / 5.0;
        string prev_char;
        string next_char;
       
        if(trans > 0.0)
        {
            next_char = ">";
            prev_char = "|";
            trans = llFabs(trans);
            if(trans > 1.0)
            {
                trans = 1.0;
            }
            llSetText(prev_char + str_repeat("-", (integer)(trans * 50)) + next_char + str_repeat("-", 50 - (integer)(trans * 50)) + "|", <1,1,1>, trans);
        }
       
        if(trans < 0.0)
        {
            next_char = "|";
            prev_char = "<";
            trans = llFabs(trans);
            if(trans > 1.0)
            {
                trans = 1.0;
            }
            llSetText("|" + str_repeat("-", 50 - (integer)(trans * 50)) + prev_char + str_repeat("-", (integer)(trans * 50)) + next_char, <1,1,1>, trans);
           
        }
    }
   
    touch_end(integer num_detected)
    {
        gc = 0;
        llSetText("", <1,1,1>, 10.0);
    }
   
    changed(integer change)
    {
        if(change == CHANGED_INVENTORY)
        {
            key old = llList2Key(textures, current);
            texture_count = llGetInventoryNumber(INVENTORY_TEXTURE);
            textures = [];
            integer i;
            for(i = 0; i < texture_count; i++)
            {
                textures += [llGetInventoryKey(llGetInventoryName(INVENTORY_TEXTURE, i))];
            }
            if((current = llListFindList(textures, [old])) == -1)
            {
                current = 0;
            }
            llSetTexture(llList2String(textures, current), ALL_SIDES);
        }
    }
   
}
</lsl>
 
== Notes ==
* *Title tentative

Revision as of 15:09, 27 April 2008

About

Programmer, photographer, musician, chemist.

Programs in:

  • Python
  • PHP
  • LSL
  • Javascript