Dadreena Jewell Posted June 1, 2020 Share Posted June 1, 2020 Hi everyone, I have a simple color change script that starts when you touch it. How do I change it from touch to automatic? In other words, I'd like to put the script into something and the colors just change automatically without me having to touch it to activate. Thanks so much in advance for your help :) Link to comment Share on other sites More sharing options...
Rolig Loon Posted June 1, 2020 Share Posted June 1, 2020 I'm not sure exactly what you are trying to do, but it sounds like "automatically" means "continuously," so that the object keeps changing from red to green and back to red every few seconds, for example. If that's the case, you just need to put your toggle switch into a timer event instead of the touch_start event. So, if your touch_start event looks something like this now touch_start(integer num) { llSetColor( llList2Vector([<1.0,0.0,0.0>,<0.0.1.0,0.0>], (iSwitch = !iSwitch) ), ALL_SIDES); } then you just put the equivalent code into a timer event: timer() { llSetColor( llList2Vector([<1.0,0.0,0.0>,<0.0.1.0,0.0>], (iSwitch = !iSwitch) ), ALL_SIDES); } Just remember to make the toggle variable, iSwitch, a global integer, and to start the timer someplace like the state_entry event with llSetTimerEvent(5.0); // or whatever timer interval you like. 1 Link to comment Share on other sites More sharing options...
Eth3l Posted June 1, 2020 Share Posted June 1, 2020 Hi there, ~{NOTE}~ ======== This script will make your object able to change it's color every 2nd sec. If you touch it once it will trigger the color-changing functionality, and if you touch it again it will reset itself. it will respond to your commands only. I hope this helps. PS: u can modify the speed of the color switching function by editing the gap variable. cheers. ~{USER GUIDE}~ ============== 1. right-click on the object. 2. edit. 3. choose the content tab. 4. click: new script. 5. open the script (called 'New Script'). 6. paste the code below. 7. save. 8. left click on the object to trigger the script. float gap = 2.0; integer counter; default { touch_end(integer n) { key objOwnerKey = llGetOwner(); key objTriggerKey = llDetectedKey(0); if (objOwnerKey == objTriggerKey) { state timer_state; } } } state timer_state { state_entry() { llSetTimerEvent(gap); } timer() { if (counter == 0) { llSetColor(<1.000, 1.000, 1.000>, ALL_SIDES); counter = 1; } else if (counter = 1) { llSetColor(<0.067, 0.067, 0.067>, ALL_SIDES); counter = 0; } } touch_end(integer n) { key objOwnerKey = llGetOwner(); key objTriggerKey = llDetectedKey(0); if (objOwnerKey == objTriggerKey) { state default; } } state_exit() { llSetColor(<1.000, 1.000, 1.000>, ALL_SIDES); llSetTimerEvent(0.0); counter = 0; } } 1 Link to comment Share on other sites More sharing options...
Dadreena Jewell Posted June 1, 2020 Author Share Posted June 1, 2020 Thanks so very much!! ♥♥ 1 Link to comment Share on other sites More sharing options...
Recommended Posts
Please take a moment to consider if this thread is worth bumping.
Please sign in to comment
You will be able to leave a comment after signing in
Sign In Now