Jump to content

Lenny Stickfigure

Resident
  • Posts

    12
  • Joined

  • Last visited

Reputation

8 Neutral

Recent Profile Visitors

The recent visitors block is disabled and is not being shown to other users.

  1. Great points! And the animals would be a good touch with animations of them coming out of the woods into clearings and looking lost and nervous because those areas were once their home.
  2. You provided some excellent ideas I'd not even thought of! Thank you Mollymews! Running with your train of thought, I could even create a series of Non-Player Characters like little Lumberjacks and heavy equipment hacking down the trees. I'm busy making notes now! I have been learning LSL the past few months and I realize now that this would be a fun project for me to use to learn even more LSL.
  3. The Tree Module was discontinued a couple years back. It caused a wide range of headaches (trees popping up where buildings were, and causing some OS servers to crash due to memory hogging gone haywire, as examples). So it has been completely gutted from the core OS code. My plan in removing trees would be simple. Like in the Amazon, trees are often cut down forming 'bald' strips of land. I can easily just create a small parcel in the midst of the trees, then return all objects within that parcel to clear out the trees. It can still be implemented, but it's complex and very finicky.
  4. Way back around 2008 I came across some new mainland regions being set up by LL and I saw a little object that was a small green cube that had a sphere under it as well as an upside down pyramid pointing downward. It was called "??? Tree Planter" - not sure if it was LDPW, or Linden, or Mole for the first word, but Tree Planter was the rest of the title. Anyway, it appeared to be a scripted tool that would run along the ground unattended, following the elevation of the ground, and randomly planting trees at the proper depth. If I recall, it would run back and forth over the ground, slowly going forward so that the trees it planted were not too close together and it avoided going back over land it previously covered. Kind of like a zig-zagging Roomba. Since then I have looked through every resource I could find and have yet to find an automated tree planter script. I have 64 regions in OpenSim that depict a large island and about 50 of those regions I want covered in trees. The idea is to gradually remove trees as structures are constructed and lumber is harvested for a project I'm doing (visual depictions of deforestation in the Amazon). Since every region has different terrain I can't just duplicate the same regions and I really don't want to plant several thousand trees manually. Anyone familiar with what I'm referring to? Oh, and though I'm referring to using a script like this in OpenSim, it would obviously be very useful in Second Life, especially for those who own whole regions.
  5. Now, I need to figure out how to edit the original title of this thread so it says "Solved" at the end - anyone know how I can do that?
  6. I DID IT! I spent the past several days studying available full perm scripts and learned how to use a number of functions. It now works and does precisely what I wanted it to. It feels so good to have researched, studied and experimented with this rather than just asking for a free lunch ("I don't want to put out any personal effort - I just want someone to hand me a working script"). People like that really grind my gears. So now, not only do I have a working script, I also UNDERSTAND how and why it does what it does. So now I can build upon that to make it even more useful. Ok, 'nuff said about that. So here's the setup I created: A prim cube. Inside the cube are four objects named "Object 1" to "Object 4" and the script I wrote. The script causes each object to appear over the cube for 10 seconds, then is replaced by the next object, and so on. At the end, it simply restarts with the first object again. Script: vector pos = <0,0,1>; // where to rez inventory item in-world vector rot = <0,0,0>; // if the rezzed object needs to be rotated float te = 10.0; // the time in seconds before the next object is rezzed integer no = 0; integer co = 0; string obj = ""; default { on_rez(integer start_param) { llResetScript(); } state_entry() { no = llGetInventoryNumber(INVENTORY_OBJECT); obj = llGetInventoryName(INVENTORY_OBJECT,co); llShout(6672,(string)llGetOwner()+","+"Delete"); llRezAtRoot(obj,llGetPos()+pos,<0,0,0>,llEuler2Rot(rot*DEG_TO_RAD),42); state sequence; } } state sequence { state_entry() { llSetTimerEvent(te); } timer() { co = co + 1; obj = llGetInventoryName(INVENTORY_OBJECT,co); llShout(6672,(string)llGetOwner()+","+"Delete"); llRezAtRoot(obj,llGetPos()+pos,<0,0,0>,llEuler2Rot(rot*DEG_TO_RAD),42); if ( co == (no-1)) { llSleep(te); llResetScript(); } } }
  7. Alright! Thank you Rolig Loon, KT Kingsley and Mollymews. Mollymews, I see your point. Just because "someone" wrote the wiki entry doesn't always mean it's entirely correct. In fact,, looking at the bottom of the page it shows it was last edited on November 26, 2015. That's a pretty big gap between then and now also. Thank you all. I will spend a few days studying and working on the code and will report back with (hopefully) a working script, or at least my progress thus far.
  8. KT Kingsley, thanks! I do need some clarification with regard to the use of a float value. At present, my script rezzes a new temp prim every 60 seconds perfectly. I just read the following in regard to float value, and it seems to suggest that leaving off the .0 saves bytecode space: "If a function requires a float as a parameter, and the number is an integer (e.g. 5), you can add the .0 to clearly indicate it's a float, but omitting the .0 is equally valid and actually saves bytecode space in the compiled code." From: http://wiki.secondlife.com/wiki/Category:LSL_Float I'm doing my best to "do my homework" because that's the only effective way to learn. I'm determined to learn!
  9. Rolig Loon, I've made some progress! I created a temp prim and put it in the main prim along with the script below. Now it rezzes the temp prim every 60 seconds, 1 meter over the main prim: default { state_entry() { llSetTimerEvent("60"); } timer() { llRezObject(llGetInventoryName(INVENTORY_OBJECT,0), llGetPos()+<0,0,1>,ZERO_VECTOR,ZERO_ROTATION,0); llSay(0,"It works!"); } } So I got the loop working, the temp prim rezzing and being replaced every 60 seconds. Now I need to figure out how to get it to go down a list of stored prims, rezzing each one in sequence, then repeat. I'm a 'little' less intimidated now. I found a few scripts, but they were set up to randomly rez the stored items. I need mine to rez them in order. How may I do that?
  10. Thank you so very much Rolig Loon! I've had a lot of fun looking over full perm scripts and making little changes to see what effect it has. I've picked up a thing or two doing that; or at least the code doesn't look so foreign to me, and in some cases it almost makes sense! I will definitely do as you suggest. And yeah, I kinda figured the script I'm wanting to write is pretty simple. I just didn't really know where to begin looking. You're been a great help! Thanks!
  11. I want to build a simple display base that temp-rezzes an item from its inventory every 60 seconds, replacing the previously rezzed item that disappears. It should go through the items in order and then repeat. As an example... Let's say every 60 seconds I want a mesh or sculpted number to appear over the base. It starts with the number 1. In 60 seconds when that number disappears (because it is a temp) then the number 2 appears (is rezzed). Then 3, 4 and so on, every 60 seconds. At the end I want it to simply go back to the beginning and rez the first item again. I've searched for quite a while and the only thing I've seen that comes very close is the behavior of PlantPets. I've seen that they are simply a series of objects, with each slightly more developed than the previous, to give the impression of the plant growing as it cycles through it's inventory. Each object is temp-rezzed and the next object is rezzed when the previous one disappears. P.S. This is my very first post even though I've been in SL since May 2010! Please be kind to me if my post is not in the right place or if there is already an answer to my question I hadn't seen. I'm pushing 50 y/o in RL... LOL
×
×
  • Create New...