• Content count

  • Joined

  • Last visited

Community Reputation

49 Excellent

About ellestones

  • Rank
    Advanced Member
  1. A forced animation script.

    do a web search on keywords: LSL HUG SCRIPT will return quite a few different sites where you can get one to start with
  2. Most discriminated against group of avatars

    a vampire that is not real is gonna bite an avatar that is not real, yet some people who are real think its annoying to be bitten at by a real person playing a not real vampire that would be right for some people yes for myself in SL I don't care. Any not real vampire disappears into my 99+ bin. I don't even care enough to click the Ignore button on the dialog box. I only have so many clicks in me and I have to save them for real stuff although if take the whole not real vampire biting at real people in the real world then it can go like this sometimes:
  3. Optimal Chat Relay Placement

    i would like to come back to the 2 things I mentioned earlier, as a general discussion about algorithmic Big O time this one: integer newchan() { integer num = 0; while(num > -2000) { num = (integer)llFrand(-2147483648); } return num; } there is a catatonic state here. The 'while' loop will never exit should 'llFrand' always return a value in [-1999..-0] how likely is this? 2000/2147483648 * 2000/2147483648 * 2000/2147483648 * ... infinity pretty small but the possibility remains. This kinda function is of the class O(INF) time. I am guilty of writing this kinda code myself sometimes also to eliminate this possibility and also have the function execute in O(1) time ( O(1) time being optimal in this case) then example: integer newchan() { return (integer)llFrand(-2147481648) - 2000; } example of a more generalised O(1) function to fetch a random channel within a range integer rnd_range(integer start, integer end) { return (integer)llFrand(1 + end - start) + start; } channel = rnd_range(2000, 2147483647); // positive n channel = -rnd_range(2000, 2147483647); // negative n the other is this one for edge detection float y = start.y; float tempy = y; while(tempy > 0.0) { tempy -= 4; key id = llList2Key(llGetParcelDetails(<start.x,tempy,start.z>, [PARCEL_DETAILS_ID]),0); if(id == parcelid)y = tempy; } lower.y = y; this is a O(N) time algorithm. The optimal in this case is O(log N) time a O(log N) time algorithm stops when the target is found. Example: vector p = start; while ((p.y >= 0.0) && (parcelid == llList2Key(llGetParcelDetails(p, [PARCEL_DETAILS_ID]), 0))) { p.y -= 4.0; } lower.y = (float)((integer)(p.y + 4.0) / 4 * 4); // lower.y is in [0, 4, 8, 12, 16, ... etc] more info about O() time algorithms here: https://en.wikipedia.org/wiki/Big_O_notation
  4. Most discriminated against group of avatars

    if vampires where real then sure. But they aren't so the victim has to be at least willing
  5. Are Free Accounts Throttled

    when our home sim cannot be found then we get sent to a Linden Welcome Area
  6. Group tag fun and frolics

    Please Ignore
  7. What are you listening right know.

    went to type recode in goggle search. Typed decode instead. Ended up clicking: spent the rest of the day playing vids from about them days and a bit before and after. In no particular order, songs that meant something to me back then and still do really Paramore - Decode Linkin Park - Given Up Cranberries - Zombie Kings of Leon - Use Somebody Hoobastank - The Reason No Doubt - Don't Speak Avril Lavigne - Innocence Chevelle - Send The Pain Below Flyleaf - All Around Me Breaking Benjamin - Breath In This Moment - Beautiful Tragedy Three Days Grace - Never Too Late Evanescence - Bring Me To Life is all a bit emo but then "Waking up I see that everything is OK The first time in my life and now it's so great Slowing down I look around and I am so amazed I think about the little things that make life great" - Avril Lavigne and they do, all the little things
  8. Optimal Chat Relay Placement

    calculating the offset. As a exercise we look at a full region. 256x256 meters. 256 / 28.28 = 9.05 9 * 28.28 = 254.52 we are short by 1.48 meters. so we need a 10x10 grid we divide 1.48 by 2 to get our start position 1.48 / 2 = 0.74; plotting this: 0.74, 29.02, 57.3, 85.58, 113.86, 142.14, 170.42, 198.7, 226.98, 255.26 check: 256 - 255.26 = 0.74 for other size planes the algorithm is the same. In the 128x64 case: 128 / 28.28 = 4.53 4 * 28.28 = 113.12 128 - 113.12 = 14.88 14.88 / 2 = 7.44 the other axis: 64 / 28.28 = and so on
  9. Random Item picker w/delete

    another way can be to shuffle list all; integer n = llGetInventoryNumber(INVENTORY_OBJECT); integer i; for (i = 0; i < n; i++) { all += [i]; } all = llListRandomize(all, 1); // get 'some' integer c = n / 2; // or some other c < n; list some = llDeleteSubList(all, c, n-1); // the remainder of 'all' - 'some' is list remainder = llDeleteSubList(all, 0, c-1);
  10. Racism in player profiles

    ^ that
  11. Likes and or Wishes About Second Life

    it still breaks my heart a little bit that in the beginning of SL the runtime build tools where never expansively and progressively added too. Nor were any resources applied to surfacing in the design-time build tools prim properties like particles, text, omega, , etc. All these years later we still have to set these kinda prim properties with a script in the LL viewer the other little heart breaker was that the avatar has always had cloth effects, and we never got any new tools to take this to the next level. Attachable tops and bottoms that could have been extruded, cut, deformed. Able to cut our hair differently, etc. All with the existing cloth effects i often wonder where we would be at now, if LL had seen all this as something worth doing for us in the early days i don't think they will ever come now. I still wish for them though
  12. Touch Linked vs Touch Texture Coordinate

    i would go for A in the first instance i would only go for B or C if I wanted to have button effects. Like button down and button up for example
  13. Optimal Chat Relay Placement

    ok i tend to get itchy fingers when I see this kinda problem. Write some code itchy. But I try to resist as best I can so lets state the problem. What is the optimal number of devices to place on a rectangular plane so that the plane is fully covered? we start with Pythagoras. A device has a radius of say 20 meters, diameter 40 meters. Pythagoras tells us that each device is 28.28 meters apart. sqrt(40 * 40 / 2) next we get the length and width of the plane. divide the length by 28.28 to get the number of rows; divide the width by 28.28 to get the number of columns; offset the position of the first row to be as equidistant from the edge as the last row offset the position of the first column to be as equidistant from the edge as the last column plot the drop positions. Something like: for (x = firstrow; x <= lastrow; x += 28.28) { for (y = firstcolumn; y <= lastcolumn; y += 28.28) { ... rez device at x y ... } } the other thing to consider is device overlap (circle vs square). In each device check that the origin of the chat is within the square. Something like: if ((origin.x >= (pos.x - 14.14)) && (origin.x <= (pos.x + 14.14)) && (origin.y >= (pos.y - 14.14)) && (origin.y <= pos.y + 14.14)) { ... then ok ... };
  14. Optimal Chat Relay Placement

    the loops like 'while(tempx > 0.0)' don't break as an aside. To avoid the catatonic state in the newchan function then can consider: newchan = (integer)llFrand(-2147481648) - 2000;
  15. Loop with exceptions

    building on what has already been mentioned. if the contents of 'gateid' are dynamic then the Slppf parameters list could be build at the top of the function another thing that could be done is to link the prims named "designation" as a contiguous block