Jump to content

Marioni Unplugged

Resident
  • Posts

    49
  • Joined

  • Last visited

Everything posted by Marioni Unplugged

  1. Yes, you definitively have a point there. Perhaps I was a little lazy. I will take a closer look at Ruthven's script. Thank you all for the great feedback!!!
  2. UPDATE: I have solved it according to Love's first reply, which is IMO the most elegant solution: Send names to the balls after rezzing it. No fuz, no lists to be processed. Each rezzed ball does a llListenremove() after receiving the name and then displays the name with llSetText before dying. As my parcel never gets more than say, 5 visitors simultaneously, this works perfect! Next step: get the data from av's up to Z height being 600 mtr! (the 3D Map is after all eh... 3D
  3. Yes nice one arton, having a fixed number of linked prims sounds really good, no rezzing needed! Just make them visible when needed. Thank you all so much for helping me getting on the right track. And thx Rolig, Innula and Love for the llgetAgentList tip! I'll keep you guys posted when I got it all working ..
  4. concidering each rezzed object being the same, how would they idetify themselves? by some number when rezzed? if so, how so? remember each ball is lost after 5 secs.
  5. No, my scenario is from another sort: we rez a <number> of objects and each must be unique. Each object represents an avatar within scanning range. The problem is that each object dies after 5 seconds, whilst the actual avatar is most likely still there. To goal is to LIST their names even while they are moving, or deleted when gone ..
  6. Hi there, here's one fur ya vector origin = <7.180, 31.280, 51.265>; // origin is lower left corner of the 3D Map's ground square ((0, 0) vector detPos; // detected position of avatar(s) vector newPos; float scale = 0.01; integer scanning = FALSE; default { touch_start(integer total_number) { if (llDetectedKey(0) == llGetOwner()) { scanning = !scanning; if (scanning) { llSensorRepeat("", NULL_KEY, AGENT, 96.0, PI, 5.0); // scan for all avatars (AGENT) with any name ("") and any id (NULL_KEY) within 96 mtr (the maximum scan range) in all directions (PI) // if any avatars are detected create an indexed list of them and raise a sensor() event llWhisper(0, "Scanning started..."); } else { llSensorRemove(); llWhisper(0, "Scanning stopped"); } } } sensor(integer total_number) // the sensor event is raised when avatars are detected, the number of detected avatars is passed to the script below in the parameter total_number { integer i; for (i = 0; i < total_number; i++) { //llWhisper(0, "Avatar name: " + llDetectedName(i)); detPos = llDetectedPos(i); if (detPos.x <= 63 && detPos.y <= 63) // limit to 64 x 64 mtr parcel { newPos = origin + <scale * (integer)detPos.x, scale * (integer)detPos.y, scale * ((integer)detPos.z - 52)>; llRezObject("AV detected*", newPos, ZERO_VECTOR, ZERO_ROTATION, 0); } } } } Now this all works fine. The REZZED object is a small red sphere that appears on the map, which dies after 5 seconds due to an llDie command in the script within it. A new ball is then rezzed immediatly, so we can see where each avatar is on a 64 x 64 mtr parcel.. Now what I want is floating names above each red ball .. Any smart ideas? thx in advance
  7. Aw, thank you so much Best regards, Marioni Unplugged EDIT: I found that the above code in my first message actually DOES work. My script failed silently for another reason. But arton's reply definately got me in the right direction, thx!
  8. default { touch_start(integer total_number) { llSetLinkPrimitiveParams(2, [PRIM_POS_LOCAL, llGetLocalPos() + <0.0, 0.0, 1.0>]); } }Greetings coders, Can anyone tell me why this code, when put in the root prim of a 2 prim linkset, does NOT move the child prim (i.e. linknumber 2) one meter up when touched?
  9. So llResetTime and then read llGetTime to get a millisecond elapsed time later. Thank you, Rolig!
  10. https://community.secondlife.com/t5/LSL-Scripting/LSL-Scripter-looking-for-a-new-project/td-p/3016207
  11. https://community.secondlife.com/t5/LSL-Scripting/Creating-a-HUD-to-attach-itens/td-p/3016125
  12. Greetings coders! How does one go about timing a specific custom made function in realtime? I mean timing an event that's part of my script, preferably in milliseconds. Does one use llGetWallClock or such twice, and then simply subtract the 2 values? Or are then more advanced techniques outthere?
  13. If only one person is interested, how come the number of views just increased by 10 the last 10 minutes? - I enabled anti-alias, why is Snugs still here?
  14. For those interested, Madelaine is right; repeat = scale. My script seemed to behave along a curve formula (stretching the texture too much at near-zero values) because llSetPrimitiveParamsFast was simply running TOO fast! If I slow down the loop, it works perfectly Thanks again all for your input.
  15. Hi Mandy, just a thought: how about making two seperate scripts, one for group A and the other for group B and have them activated both simultaneously? That way the user will be offered two different dialog menus...
  16. http://wiki.secondlife.com/wiki/LlSetTextureAnim
  17. Thank you for your answers, steph clearly descibed my issue better than I did. Unfortunately I cannot use the 'partly alpha' idea, because users will have to able to use their own textures in the final product (a photo frame). I will give your suggestions a whirl. thx!
  18. hello steph, I did not say I thought otherwise, all I'm asking is the math function of the curve that describes it.
  19. Yes Rolig, I'm aware of that, but this is exactly what I do NOT want In my script, a prim is squeezing to minimum size and moving left, while the texture on it's front face remains relatively (to the eye) unchanged, to create a wipe effect. Compensating the texture's scale while squeezing.This works fine, except for the last part, where the size gets nearer to zero, there the texture suddenly stretches out. float i; float delta; for (i = size2.x; i >= 0.010; i -= wStep) { delta = size2.x - i; llSetLinkPrimitiveParamsFast(back, [ PRIM_SIZE, <i, size2.y, size2.z>, // resize (squeeze) canvas 2 (now front) PRIM_POS_LOCAL, <pos2.x - (delta / 2), pos2.y - 1.020, pos2.z>, // move canvas 2 left PRIM_TEXTURE, 1, name1, <(i / size2.x), 1.0, 0.0>, ZERO_VECTOR, 0.0]); // scale texture larger to compensate }
  20. Lahemic, if you specify a specific project or task, I would be happy to help if I can. I've done many projects in the past 10 years in SL, so... shoot Gtz, Marioni
  21. When one wants the relative size of a texture to remain the same, while resizing a prim, the relationship (ratio) between texture scale and face size seems to be a curve. Near-zero scale values stretch the texture more and more strongly. Does anyone know of a math function that describes this phenomenon?
  22. I agree with you completely. I was merely trying to pinpoint what could be wrong in your case. As far as I recall the option for owner or renters to reject object entry has always been there from viewer 1 on. Bear in mind, that people with less noble intentions would be able to fire countless numbers of prims over the border of a sim, causing annoyance and even crashes. I think thats why they've included that option. But your problem might also be bandwidth related. Have you tried LOWERING your bandwitdh in preferences? (just a wild guess, I've seen weirder things happen.) Anyway, I totally agree that sim-crossing should be way more obvious then it seems to be these days. Best of luck!
  23. Just a idea: have you tried flying over these regions WITHOUT sitting on a prim? Some owners/renters might recently have the Object Entry option disabled in the parcel's preferences. Good luck!
  24. Just a idea: have you tried LOWERING your bandwith in preferences? Perhaps data flow is too fast causing the viewer to crash.
×
×
  • Create New...