Jump to content

LAHIN Milo

Resident
  • Posts

    29
  • Joined

  • Last visited

Posts posted by LAHIN Milo

  1. Hi,

    I've the same problem as Madame thespian.

    I'd like to use my texture changer script on my mesh object but which could  be used by the owner only.

    I tried what ppl say up there, so i added the line  if (llDetectedKey(0)==llGetOwner()) as it say.

    But now, when another avatar click on the object, the menu pop on my window !

    Somebody knows why ?

    Here's the script:

    //Drop this script into an object with up to 22 textures inside. 

    //When anyone Touches they will get a menu with all the textures available. Button names in menu will be first 10 characters from that item's name.  

    //NOTE: Texture Names may not exceed 24 characters or script error and menu fails. 


    integer side = ALL_SIDES; //ALL_SIDES or any face number 0 through 5 

    list texture_list; 
    list texture_list2; 
    key user = NULL_KEY; 

    composelist() 

        integer currenttexture = 0; 
        integer totaltextures = llGetInventoryNumber(INVENTORY_TEXTURE); 
         
        if(totaltextures > 0 & totaltextures <= 12) 
        { 
            texture_list = []; 
            do 
            { 
                texture_list = texture_list + llGetInventoryName(INVENTORY_TEXTURE, currenttexture); 
                currenttexture++; 
            } 
            while (currenttexture > 0 & currenttexture < totaltextures); 
        } 
         
        if(totaltextures > 12 & totaltextures <= 22) 
        { 
            texture_list = ["Next Page"]; 
            do 
            { 
                texture_list = texture_list + llGetInventoryName(INVENTORY_TEXTURE, currenttexture); 
                currenttexture++; 
            } 
            while (currenttexture > 0 & currenttexture < 11); 
             
            texture_list2 = ["Last Page"]; 
            do 
            { 
                texture_list2 = texture_list2 + llGetInventoryName(INVENTORY_TEXTURE, currenttexture); 
                currenttexture++; 
            } 
            while (currenttexture >= 11 & currenttexture < totaltextures); 
        } 
         
        if(totaltextures > 22) 
        { 
            llWhisper(0, "You may only have a maximimum of 22 Textures. Please remove any extra ones."); 
        } 
        if(totaltextures == 0) 
        { 
            llWhisper(0, "Please add up to 22 Textures inside this object."); 
        } 


    //The Menu 
    integer menu_handler; 
    integer menu_channel; 
    menu(key user,string title,list texture_list) 

        menu_channel = (integer)(llFrand(99999.0) * -1); //random channel 
        menu_handler = llListen(menu_channel,"","",""); 
        llDialog(user,title,texture_list,menu_channel); 
        llSetTimerEvent(30.0); //menu channel open for 30 seconds 

    default 

        state_entry() 
        { 
            composelist(); //make list from inventory textures 
        } 

        touch_start(integer total_number) 
        {   if (llDetectedKey(0)  == llGetOwner())
            user = llDetectedKey(0); 
            menu(user,"nnPlease select one below.",texture_list); 
        } 
         
        listen(integer channel,string name,key id,string message) 
        { 
            if (channel == menu_channel) 
            { 
                llSetTimerEvent(0.0); 
                llListenRemove(menu_handler); 
                if(message == "Next Page") 
                { 
                    menu(user,"nnPlease select one below.",texture_list2); 
                } 
                else if(message == "Last Page") 
                { 
                    menu(user,"nnPlease select one below.",texture_list); 
                } 
                else 
                { 
                    llSetTexture(message, side); 
                } 
            } 
        } 
         
        timer() //Close the Menu Listen or we'll get laggy 
        { 
            llSetTimerEvent(0.0);  
            llListenRemove(menu_handler); 
        } 
         
        changed(integer change)  
        { 
            if (change & CHANGED_INVENTORY) //inventory has changed 
            { 
                llSleep(0.5); 
                composelist(); //rebuild the list 
            } 
        } 
    }

  2. Hi guys , i'm posting here about PERMISSION_TRIGGER_ANIMATION.

    I've a drink dispenser and inside it, there's avmenu script, avprop script and the drinks to "give".

    In the drinks objects, there's avobject script, play animation script and the animation.

    When you get a drink, it ask your permission to play the "hold animation" AND there's an error script from the drinks that say "Script trying to stop animations but PERMISSION_TRIGGER_ANIMATION permission not set" 😤  i've been searching on the internet on how to set the permission but Nothing clear.

    So, if someone knows how to stop this error message it would be cool to let me know ! ☺️

     

  3. Thank you @panterapolnocy for your help !

    I was thinking about to link each lamps together and then when you click on any of them all the lamps turns on ..🤔

    I tried to find a way to do this on google but i didnt find it :(

    Sorry @Lucia Nightfire i didnt find the same problem as me in this topic thats why i didnt started a new topic cause this one was talkin about light script .

  4. Hello

    I'd like to know if someone could help me with a light script.

    I made a lamp which has 3 faces and i'd like to light up the face 0 .

    I have a script to light my lamp up BUT all the faces are on light and i see no place into the script to select which face i want to light up.

    Someone know how to add this into the script ? and also if that was possible to add an access to the lamp like owner or public ...

    Thanks for your replies :)

     

    // Touch the object to light it up.
    // Lighting is configurable.
     
    integer light_s    = TRUE;
    vector  lightcolor = <1.0, 0.75, 0.5>;
    float   intensity  = 1.0;             // 0.0 <= intensity <= 1.0
    float   radius     = 10.0;            // 0.1 <= radius <= 20.0
    float   falloff    = 0.01;            // 0.01 <= falloff <= 2.0
    float   glow       = 0.05;
     
    toggle()
    {
        float thisglow = 0.0;
        light_s = !light_s;
     
        if (light_s)
            thisglow = glow;
     
        llSetPrimitiveParams([
            PRIM_POINT_LIGHT, light_s, lightcolor, intensity, radius, falloff,
            PRIM_FULLBRIGHT, ALL_SIDES, light_s,
            PRIM_GLOW,       ALL_SIDES, thisglow
        ]);
          llSetColor(lightcolor, ALL_SIDES);
    }
     
    default
    {
        state_entry()
        {
            llSetText("", <1.0, 1.0, 1.0>, 1.0);
            toggle();
        }
     
        touch_start(integer total_number)
        {
            toggle();
        }
    }

  5. yay ! now i can hear the sound ! Thank you for your patience :)

    About the glow and transparency , i can see the glow line set to 0.30 but i dont see any line with transparency set to 0.5. I just see transparency to 50.0 .

    Anyway now everything works fine !

    thank you Fritigern Thank you Mollymews ! 👍:)

    • Like 1
  6. @Mollymews hum i see ... but if you try on a cube .. put any texture in the edit menu (texture) and any UUID sound into the script you will see :)

    Ifnot i can show you in world ...

    If somebody know why i cant hear the sound .. please let me know :D 

  7. Hi @Mollymews yes that's what i did. i've made my own sound with audacity. I took the UUID and paste it into the script but it doesnt work... i cant hear it ...

    And for texture issue, i slided the texture into the texture tab in edit menu... Still nothing i even tried to slide the texture in the content object but nothing change.

  8. @Mollymews so it works now, but i cant hear the sound of the fire :D maybe i've to fix something . I increased the volume but cant hear it ..

    @Fritigern Gothly well in the flame script i gave you before (with the 2 others scripts) the texture show up on the mesh . With the combined scripts it doesnt work .

  9. @Fritigern Gothly Thank you ! it works, but ... my flame texture don't show up on the mesh .

    @Mollymews Thank you, I tried your script but it doesnt work.. it says syntax error on 19 & 4 .

    i hope that i (or we or you :D ) will find the solution to make it work in only one script  :D

  10. Thx for your reply Fritigern :)

    the 1st script is Flame with sound :

     

    float volume = 0.5; //Set the sound effects volume (0-1)
    float rate = 0.3; //Set the speed of the animation in frames per second

    default
    {
            touch_start(integer num_detected)
            {
             llLoopSound("3643f41e-fc7b-d44c-120a-35a9aecb4de7",volume);
            llSetTextureAnim(ANIM_ON | SMOOTH | LOOP, ALL_SIDES,
                1, 1,
                0, 1,
                rate
            );
             state loop;
            }
    }
           

    The second script is the light and glow :

     

    // Touch the object to light it up.
    // Lighting is configurable.
     
    integer light_s    = TRUE;
    vector  lightcolor = <1.0, 0.75, 0.5>;
    float   intensity  = 1.0;             // 0.0 <= intensity <= 1.0
    float   radius     = 10.0;            // 0.1 <= radius <= 20.0
    float   falloff    = 0.01;            // 0.01 <= falloff <= 2.0
    float   glow       = 0.30;
     
    toggle()
    {
        float thisglow = 0.0;
        light_s = !light_s;
     
        if (light_s)
            thisglow = glow;
     
        llSetPrimitiveParams([
            PRIM_POINT_LIGHT, light_s, lightcolor, intensity, radius, falloff,
            PRIM_FULLBRIGHT, ALL_SIDES, light_s,
            PRIM_GLOW,       ALL_SIDES, thisglow
        ]);
          llSetColor(lightcolor, ALL_SIDES);
    }
     
    default
    {
        state_entry()
        {
            llSetText("", <1.0, 1.0, 1.0>, 1.0);
            toggle();
        }
     
        touch_start(integer total_number)
        {
            toggle();
        }
    }

    The thirsd script is the transparent texture when it's turned off :

     

     float transparency = 50.0;
    float changeBy     = 100.0;

    default
    {
        touch_start(integer count)
        {
           

                
                transparency = transparency + changeBy;
                if (transparency > 100.0)
                {
                    transparency = 0.0;
                }
               
                llSetAlpha(1.0 - (transparency / 100.0), ALL_SIDES);
           
        }
        changed(integer change)
        {
            
            if (change & CHANGED_OWNER)
            {
                llResetScript();
            }
        }
    }

  11. Hi everyone,

    I made a campfire with mesh flame, and my problem is that i'm using 3 scripts to make it work .

    1 for the animation texture (that contain the crackling fire sound) , 1 for the light and glow and 1 for the transparent texture when its off, i click on it to turn it on/off it works well, but 3 scripts it's toomuch just for a mesh !

    so my question is if it's possible to have thoses 3 script in 1 ? If yes how ?

  12. Hello world !

    First of all, I sought my problem in an existing topic but did not find it, so I created one.

    So, i've a free door script that work fine, but my problem is that the door is opening in the wrong side. See Gyazo : https://gyazo.com/c359acb9afc0b46a19dc5d067d420495

    i would appreciate some help, if someone could tell me what to change in the script it would be cool ! I tried to contact the scripter but no response..

    Here is the script :

    /***************** Script Data *****************/


    integer STATE = FALSE;  
    integer LOCKED = FALSE;
    float Rotation = 90.0;
    float Volume = 1.0;


    key CloseSound = "e7ff1054-003d-d134-66be-207573f2b535";
    key OpenSound = "cb340647-9680-dd5e-49c0-86edfa01b3ac";
    key Loking = "4a23b467-2e4d-d783-3643-6fe1fe4eb179";
    key Loked = "378b553c-d511-aab3-d220-c239a6d15ad3";

    /***************** Variable *****************/
    float LRot;  
    key Sound;


    Rotate_Door(){
        if(STATE){
            Sound = CloseSound;
            LRot = -Rotation;
            llSetTimerEvent(FALSE);
        } else {
            if(LOCKED) {
                llTriggerSound(Loked, Volume);
                return;
            }
            
            Sound = OpenSound;
            LRot = Rotation;
            llSetTimerEvent(30.0);
        }
        
        llTriggerSound(Sound, Volume);
        
        llSetLinkPrimitiveParamsFast(LINK_THIS,[ PRIM_ROT_LOCAL,llEuler2Rot(<0, 0, LRot> * DEG_TO_RAD) * llGetLocalRot()]);
        STATE = !STATE;
    }


    default {
        state_entry(){
            
            
            
            llSetMemoryLimit(llGetUsedMemory()+500);
        }
        touch_start(integer n) { llResetTime(); }
        touch_end(integer n){
            
            if(llGetTime()>1.0 &&  llDetectedKey(FALSE) == llGetOwner()){
                LOCKED = !LOCKED;
                llTriggerSound(Loking, Volume);
            } else Rotate_Door();
            
        }
        timer() {
            if(STATE) Rotate_Door();
            llSetTimerEvent(FALSE);
        }
    }

  13. Hello, scripters ! Like Jewel, i have a particle script and i'd like to add a touch on/off , i've been trying what sndbad Ghost said , but i've a syntax error (44.0).

    Im not a scripter at all ... if someone could help me by correcting the error it would help me alot !

    This is the script :

     

    // touch to toggle particle on/off

     

    integer isOn = 1;

     

    startParticle()

    {

    llParticleSystem

    (

    [

    PSYS_PART_FLAGS,( 0
    |PSYS_PART_WIND_MASK

    |PSYS_PART_FOLLOW_VELOCITY_MASK ),
    PSYS_SRC_PATTERN, PSYS_SRC_PATTERN_EXPLODE ,
    PSYS_PART_START_ALPHA,1,
    PSYS_PART_END_ALPHA,1,
    PSYS_PART_START_COLOR,<1,1,1> ,
    PSYS_PART_END_COLOR,<1,1,1> ,
    PSYS_PART_START_SCALE,<4,4,0>,
    PSYS_PART_END_SCALE,<4,4,0>,
    PSYS_PART_MAX_AGE,5,
    PSYS_SRC_MAX_AGE,0,
    PSYS_SRC_ACCEL,<0,0,-5>,
    PSYS_SRC_BURST_PART_COUNT,2,
    PSYS_SRC_BURST_RADIUS,15,
    PSYS_SRC_BURST_RATE,0.01,
    PSYS_SRC_BURST_SPEED_MIN,0,
    PSYS_SRC_BURST_SPEED_MAX,0,
    PSYS_SRC_ANGLE_BEGIN,1,
    PSYS_SRC_ANGLE_END,1,
    PSYS_SRC_OMEGA,<0,0,0>,
    PSYS_SRC_TEXTURE, (key)"6918812d-8e7f-b347-4732-456e7918624b",
    PSYS_SRC_TARGET_KEY, (key)"00000000-0000-0000-0000-000000000000"
     ]);
    }
    }

    ]

    );

    }

     

    default {

     

    state_entry()

    { startParticle(); isOn = 1;

    }

     

    touch_start(integer num_detected)

    {

    if (isOn == 1) {

    llParticleSystem([]); isOn = 0;

    }

    else

    {

    startParticle(); isOn = 1;

    }

    }

    }

  14. Hi,

    i took a script from the web, cause i needed a giver items script.

    The script that i took works very well, i can add 22 items in the content tab of the prim. But my problem is that when i add an item that have more than 24 characters it doesnt work.

    A script error appears.

    So i was wondering if i could find a giver items script, without limit characters . (i've been looking on the web, but can't find it)

    Sorry if  my question has already been asked, and sorry for my english it's not my main language.

×
×
  • Create New...