Jump to content

Quistess Alpha

Resident
  • Posts

    3,999
  • Joined

  • Last visited

Everything posted by Quistess Alpha

  1. Just going to drop this here, if you're an American, it's definitely worth a watch:
  2. If the script is full perm, and you can edit it, can't you just remove the check for llGetObjectDetails( ... OBJECT_CREATOR or llGetCreator() ?
  3. I've not rigorously tested it, but I often see notecards I've given/received as 0L$ transactions in my history. A better comparison would be taking an object out of a notecard.
  4. Yeah, I Use Kokua full-time version, and switch to a different viewer when I need to "cheat".
  5. Strange, I switch between Kokua and Firestorm on occasion, and I've never had that problem; I always get logged in where I logged out from.
  6. vector rot2Zdir(rotation r) { vector up = <0,0,1>*rot; if(up.z>0.99) // allow for a little error. { vector fwd = <1,0,0>*rot; fwd.z = 0; return llVecNorm(fwd); }else { up.z=0; return llVecNorm(up); } } ❤
  7. I'm still a bit in the dark as what it actually is you're trying to do. Trying a bunch of things and hammering on it until it "looks right" is fine in some cases, and I know I've done just that on occasion, but more often than not, it's more productive to figure out a technically exact definition of what you expect the result to be, perhaps working out some example inputs and expected outputs by hand, before throwing a bunch of different methods at it and seeing what sticks. When you have a specification laid out, it's a lot easier to go back and examine why function X didn't give output Y.
  8. I was curious and did some "research" comparing https://nma.org/wp-content/uploads/2016/09/historic_gold_prices_1833_pres.pdf and https://babel.hathitrust.org/cgi/pt?id=hvd.hl4p9r&view=1up&seq=722 With respect to gold, eggs (and presumably most other farm goods) are way less expensive; in 1860~80 an ounce of gold would buy you 63~126 dozen eggs. Today, 500~1000. Rent is a bit more expensive, in 1860~80 an ounce of gold could pay 2~3 months rent, today only about 1. It's all relative; you'd have to take "approximately" with a pretty wide margin. ETA: if you look at the numbers, everything got more expensive around 1870, which checks out historically: https://en.wikipedia.org/wiki/Long_Depression
  9. FOr cases in which you have one rotation (the current rotation of the object) and you want to transform that rotation, keeping one of the axes the same (lets say, let z always be what it was) I've landed on swapping around cross products as being the most correct solution. This will try and align the X-axis of the prim with the X-axis of the world, keeping the Z-axis unchanged: default { state_entry() { llSetTimerEvent(0.5); } timer() { rotation rot = llGetRot(); vector X = <1,0,0>; // we want to face forward. vector Z = <0,0,1>*rot; // Up stays constant. vector Y = Z%X; // so find left, X = Y%Z; // forward might actually be a bit up or down rotation rot2 = llAxes2Rot(X,Y,Z); llSetRot(rot2); // for demonstration, say what the angle was we changed by: float diff = llRot2Angle(rot2/rot); if(diff>0.01) llOwnerSay((string)(RAD_TO_DEG*diff)); } }
  10. If it was also physical, it may have fallen below the world and been returned to your lost+found folder. (Phantom physical objects interact with linden ground, volume detect objects magically tp a meter or so above the ground after going below 0. Neat.) Other options to find it are Highlight transparent objects with ctrl+alt+t. Script another prim to do a sensor scan for it. Use the 'area search' function present in many third party viewers.
  11. Not really my place to tell you how to do your business, but setting up offlines to go to a dedicated SL email seems like a no-brainer for anyone who might receive important IMs. login to www.secondlife.com, then: https://accounts.secondlife.com/change_email/
  12. From the project short-descriptions, sounds more like you need a data entry specialist rather than a scripter.
  13. TL;DR you're not just buying the tech, you're buying the support as well, and you're paying to maintain unused and public land. Moles, developers and support services need to be paid for somehow.
  14. I had a go at it; applying a constant upwards force while moving seems to fix stairs without using any complex dirty tricks. a redacted version of my script: integer gnSpeeds = 3; list gSpeeds = [1.25,5.0,7.0]; integer gSpeedIndex = 0; default() { //... request permisions and all that llTakeControls(CONTROL_FWD/*|CONTROL_BACK|CONTROL_LEFT|CONTROL_RIGHT*/,TRUE,FALSE); // speed control is most important going forward; // other directions have a bug/confusion between looking camera-forward and looking movement-forward. control(key ID, integer level,integer edge) { if(level&edge&CONTROL_FWD) { if(llGetAndResetTime()<0.2) { ++gSpeedIndex; }else { gSpeedIndex=0; } llSetForce(<0,0,4.5>,FALSE); }else if(~level&CONTROL_FWD) { llResetTime(); llSetForce(<0,0,0>,FALSE); } if(gSpeedIndex>=gnSpeeds) gSpeedIndex=(gnSpeeds-1); float speed = llList2Float(gSpeeds,gSpeedIndex); vector vel= speed*/*llVecNorm(*/ //superfluous since not using other directions. < 1, 0,0.0>/*!!(level&CONTROL_FWD) + <-1, 0,0.0>*!!(level&CONTROL_BACK)+ < 0, 1,0.0>*!!(level&CONTROL_LEFT)+ < 0,-1,0.0>*!!(level&CONTROL_RIGHT))*/; vector v = llGetVel(); vel.z=v.z; llSetVelocity(vel,TRUE); } } it's interesting to note that the anti-gravity increases your observed forward speed slightly.
  15. There seem to be some useful magic tricks that aren't well documented on the Wiki for web API The name of a region can be fetched from it's region corner by querying gRequestHTTP= llHTTPRequest( "https://cap.secondlife.com/cap/0/b713fe80-283b-4585-af4d-a3b7d9a32492?" + "var=name&grid_x=" + (string)llFloor(grid.x) + "&grid_y=" + (string)llFloor(grid.y), [], ""); https://community.secondlife.com/forums/topic/321317-how-can-i-use-a-script-to-extract-the-region-name-from-a-landmark/ Any texture can be reached at http://secondlife.com/app/image/<UUID>/1 which could be very useful for creating MoaP texture galleries. This /Is/ documented, but profile texture UUID (among other things) is fetchable given a username. Are there other tricks that aren't documented? Is there a better place to find information on what kinds of web queries can be made? What does the UUID in the cap URL refer to? What does 'cap' even stand for? What other useful things can It be asked?
  16. Wasn't there a club with the same name that opened like a year ago?
  17. Hmm, so perhaps KVP is using UTF-8, and script memory is using UTF-16? ~1350 characters is indeed about a third of 4096 bytes.
  18. So I did a simple test to see how much data I could cram into the value of a key-value pair, and got, considerably less storage than the wiki lead me to believe I should get: string gsStorage; default { state_entry() { integer baseline = llGetUsedMemory(); integer i = 110; while(~--i) { gsStorage+="❤❤❤❤❤❤❤❤❤❤❤❤❤"; // 13 2-byte characters. } llOwnerSay((string)(llGetUsedMemory()-baseline)+"::"+(string)llStringLength(gsStorage)); llUpdateKeyValue("Debug:Storage",gsStorage,FALSE,""); } dataserver(key ID,string data) { integer success = (integer)data; if(success) { llSay(0,"Success!"); }else { integer failure = (integer)llDeleteSubString(data,0,1); llSay(0,llGetExperienceErrorMessage(failure)); } } } Attempting to store above 1400 2-byte characters (actually a bit less) results in an XP_ERROR_INVALID_PARAMETERS return value, but 1300~1350 works. The amount of used memory heavily implies the characters are getting stored 2 bytes each. 1400*2=2800 and the wiki says I should be able to store 4095 bytes. What gobbled up the other 1295 bytes?
  19. You can fetch it by setting your parcel's environment to use the region setting-> customize -> 'save as' instead of apply to parcel. It's called "Region (legacy)" by default, and I just passed it to you in-world.
  20. Just a Ⓡ is simple enough that you could probably do it yourself, if you took a bit to learn how. I think @Annabell Wandsworth also makes tattoos.
  21. the mesh is a bunch of dots, basically very low poly spheres. The texture is something like a vertical white stripe with transparency on either side. the UV map is such that most of the dots take up a very small portion of the image, as the stripe is moved left to right, the white part moves onto the dot and it becomes glowey (because the glow setting is set really high) then as the white part moves past the dot it becomes transparent and not glowey looking again. A single mesh object cna have up to 8 faces that could have different textures (moving at different speeds) and different parts of the same texture could be used for different dots.
  22. I did that recently. You can do it that way, but paypal will also constantly nag you about trying their "fast" option which has you give your bank account login details to a third party who also needs you to be able to receive text messages. (I don't use a cellphone, so slow checking my bank transactions it was for me.)
  23. '!' is also a lot more visually distinct than a space, and intuitively makes sense as a 'this is kinda important' symbol.
  24. Assigning blame to emotions is kinda icky. Just like you don't really 'choose' what genders/types-of-faces you're attracted to, feeling differently about a person because you heard their voice isn't really your 'fault'. It is definitely your fault if you're not being open and communicative about it, and if you know that's a thing you've experienced before, you ought to be upfront about it, before it happens; either voice early or never. *If it wasn't clear I'm using "you" in the generic sense, not necessarily ~You.
  25. Some people do that sort of roleplay in SL. . .
×
×
  • Create New...