Jump to content

Scaler Rexen

Resident
  • Posts

    85
  • Joined

  • Last visited

Posts posted by Scaler Rexen

  1. 34 minutes ago, Rolig Loon said:

    If I were trying to make smooth movements, the very first approach I would think of is llSetKeyframedMotion, not incremental llSetPos steps. KFM has its own limitations, but it beats what you are trying now. 9_9

    I would have suggested KeyFramedMotion but since he's making a Lightsaber  I'm assuming it's an attachment. KeyFramedMotion does not work for attachments from what I remember.

  2. Assuming this is for an attachment you'd do something like a for() loop and divide the movement up into parts by having a variable named  float movementSteps = 0.80274 / 10; to break it into a smaller section and then do...

    integer steps = 10; // Adjust this to make it more smooth
    float movementSteps = 0.80274 / steps;
    
    integer x;
    for(x; x < steps; x++)
    {
    	llSetPos(llGetPos() + <0,0,movementSteps>);
    	llSleep(.01); // Small delay so it's not instant.
    }

    I am not online and might miss something or make an error if someone notices one please correct me.

  3. Looks as if it's because you're listening for the llGetOwner() in the listen but you're having an object send the message not the actual owner. Remove the llGetOwner() and replace it with llGetOwnerKey(id) == llGetOwner() in the listen event.

    llGetOwnerKey returns the owner of the object.

  4. Also a cool trick you can do to make it look a lot smoother during the transition place the texture you want it to change to on another prim either invisible (like the collision cube) or on a hidden face so when it does switch it's already loaded in their viewers cache so it'll flip instantly instead of a smudge until it loads.

  5. You've honestly got so much extra stuff. I will write you a more simple example and explain it.

     

    The message sender yours is good.

    default
    {
        touch_start(integer total_number)
        {
            llSay(-55343,"Does this Work?"); // Send the text on channel -55343
        }
    }

     

    And secondly the receiver.

    default
    {
        on_rez(integer p)
        {
            llResetScript(); // Reset the script on attach / rez.
        }
        state_entry()
        {
            llListen(-55343,"","",""); // Allow the object to hear a command/message on channel -55343.
        }
        listen(integer channel, string name, key id, string message)
        {
            llSetText(message,<1,1,1>,1); // This takes the variable 'message' from the listen event which is filled with what was said on that channel spcified above placing it above with llSetText();
        }
    }

     

    The receiver does not filter out anything it takes any message from anyone and puts it above as long as it's on your channel.

  6. I have wrote up a simple sample for you to go off of comments added so you know what each section does.

     

    integer sendChannel = 4;
    integer receiveChannel = -4324;
    
    key owner;
    
    default
    {
        on_rez(integer p)
        {
            llResetScript(); // Reset when attached to make sure it updates for new users.
        }
        state_entry()
        {
            owner = llGetOwner(); // Store the owners key(uuid)
            llListen(sendChannel,"",owner,""); // Listen to owner only for sending messages.
            llListen(receiveChannel,"","",""); // Listen for incoming messages.
        }
        listen(integer channel, string name, key id, string message)
        {
            if(channel == receiveChannel)
            {
                if(llGetOwnerKey(id) != owner) // Ignore messages sent from the owner.
                {
                    string userName = llGetOwnerKey(id); // Get the name of the person who has sent the message.
                    llOwnerSay(userName+": "+message); // Say the message to the user.
                }
            }
            else if(channel == sendChannel)
            {
                llRegionSay(sendChannel,message); // Send the message to other users.
            }
        }
    }

     

    • Like 2
    • Thanks 1
  7. This is more advanced but when I first learned this it opened me up to sooo much more..

    Using llParseString2List can easily separate multiple commands storing that infromation into a list. You can then pull each piece out of the list via llList2String, llList2Integer, llList2Key, and llList2Float just depending on your data type.

    list data = llParseString2List(message,["|"],[]); This will convert the listen message into a list full of your messages or commands.

    So if you sent out llShout(1600,displayName+"|"+"other info"); llParseString2List will make a list like this ["displayName","other info"]

    You can now pull each one of these out separately with llList2String like so

    string displayName = llList2String(data,0); data being the name of the list where the information is being stored and 0 being the index in the list. Index is the placeholder for where it's located all list start at 0.

    So to now get the other piece of data..

    string command = llList2String(data,1); This is now getting the second piece of information from the list if you had a third piece of information you'd do llList2String(data,2) and so on.

    I'll add a simple script below showing these all in action for you to play with.

    // The message sender.
    
    default
    {
        touch_start(integer t)
        {
            key id = llDetectedKey(0); // Get the key(uuid) of the avatar who has clicked.
            string displayName = llGetDisplayName(id); // Get their display name.
            llShout(1600,displayName+"|"+"other info"); // Send commands out.
        }
    }

     

    // Message receiver
    
    default
    {
        state_entry()
        {
            llListen(1600,"","","");
        }
        listen(integer channel, string name, key id, string message)
        {
            list data = llParseString2List(message,["|"],[]); // Seperate your message by '|' you can change it to be anything like a ';'
            
            string displayName = llList2String(data,0);
            string command = llList2String(data,1);
            
            if(displayName == llGetDisplayName(llGetOwner())) // If the owner of the object clicks it'll say hello
            {
                llOwnerSay("Hello Owner!");
            }
            else
            {
                llSetText(command,<1,1,1>,1); // Else if it's not the owner set the text.
            }
        }
    }

     

    I'm not the best at explaining things but again this was such an advancement for myself when I learned it.

     

    • Like 1
    • Thanks 1
  8. Hello, We're looking for a DJ for our Halloween event on October 31st 2015 at 8pm - 10pm SLT. Since it's a Holiday we'll be paying you a flat rate of L$ 2500 plus you can collect 100% of the tips. We have a few requirements and they must all be followed or you will be disqualified. 

     

    Requirements

    • Your avatar must be at least 60 days old.
    • You must have a mic and interact with the residents.

     

    How To Apply

    •  Send me a notecard  not an IM with your name and a short bio about your DJing

     

     *Please do not waste our time if you're unreliable or think you will not be able to show.*

     

  9. Hello,

    I'm looking to have a logo created for my rental company. I want the logo to be very clean and modern. I'm looking to talk with someone if I like your work if you're interested please...

     

    If Interested

    • Include in a notecard a link or list of images you've done
    • Include how much you charge

     

    Requirements

    • Must include a PSD
    • Must be original work
    • Must be creative
    • Don't contact me unless you've got a portfolio to show me
  10. Thank you for the responses to everyone else I've used a lot of freesounds actually all of that was from freesounds and not sure if you're being sarcastic or not but it was a test vidoe only a test :P

  11. So I've always had an intrest in videos and creating odd things.

    I'd like some feedback on what you think also some tips on some good audio sources would be great.

    I used Sony Vegas Pro 12 for editing and I used Bandicam for the recording.

     

    Your teleport to YouTube!

×
×
  • Create New...