Jump to content

Bloodsong Termagant

  • Content Count

  • Joined

  • Last visited

Community Reputation

4 Neutral

About Bloodsong Termagant

  • Rank
    Advanced Member

Recent Profile Visitors

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

  1. Bloodsong Termagant

    Mesh Car Front Tires: Omega vs Texture Rotation

    yes, that's what's not working. as i explained under part 2: "TEXTURE ANIMATION" in my original post.
  2. Bloodsong Termagant

    Mesh Car Front Tires: Omega vs Texture Rotation

    which still leaves the question... why isn't the texture rotation working right?
  3. heyas! okay, so i built a set of front wheels and axle for my mesh car; it's really simple and to 'turn' the wheels i just rotate the whole axle on the z axis left and right. the y axis is the 'spin' axis. 1: TARGET OMEGA: am i reading this right? it is impossible to apply a (corrected) target omega rotation to a child prim in a physical object, because the root object keeps rotating and throwing off the child's omega. ??? i mean, it works fine if the child stays on its original rotation, and the y axis matches the root prim's y axis. but as soon as i turn the child's y axis, then target omega doesn't know what the dip it is doing. (despite the fact the wiki SAYS it's local to the child object.) 2: TEXTURE ANIMATION: so not a problem. the wheels are rounded off cylinders, with a basically square map. so if i use texture rotation to rotate the texture, it will look as if the wheels are spinning. except, no. i apply the texture animation, and the texture rotates about 30 degrees, then pops back to 0 degrees. over and over again. why?? i went into the texture tab and manually spun it around with the texture rotate dials. it was fine. i'm guessing it's SOMETHING freaky with uvmapping instead of flat squares everywhere like prims, but... what?
  4. Bloodsong Termagant

    Pet Adoption Agencies for Animals

    i did see one kid adoption place with i think the option for pets... all the boards were empty. so if you know of any currently active adoption agencies for families and animals, that would help narrow down the search fiona, i'd be really really interested to know what group or groups your friend uses. i have seen in the teegle update group that horse avatars and/or stable owners post looking for rp. hmmm. i do now have a big dog avatar that might make a (very scary) police dog. but for my puppy, i was just looking for something lightweight and playful. fersiara; that's... not the pet adoption i was talking about. thanks for the link, though!
  5. Bloodsong Termagant

    Pet Adoption Agencies for Animals

    i'm not new to roleplay, but i haven't done much if any of it in SL. does anybody have a pet (for animals, not bdsm 'pets') adoption agency they can reommend? i did a search in sl, but it's not always clear what type of pet they're talking about. thanks a bunch!
  6. Bloodsong Termagant

    13T Texture Applier SETUP

    This script will help texture creators create texture applier scripts for any object. It is NOT foolproof. It will screw up if the end user has somehow changed the link order of their object. It may also choke if any link in a linkset has settings for more than 3 or 4 faces. RELEASED AS-IS; USE AT YOUR OWN RISK; ETC Open Source; please share any improvements you make to it. Thanks and Enjoy! //---------------------------------------------- //-- Texture Applier SETUP v 1.0 //-- by bloodsong termagant //---------------------------------------------- // WARNING: make croak if one link has many faces/materials set up. // The script only writes textures and colours & transparency. // It does not do shine or bump or glow or anything else. // WARNING: this is a free script, distributed as-is // use at your own risk. TEST. // If you improve it, please share on the SL forum topic -- thanks! //---------------------------------------------- // This script will create a script (chat output) // to apply textures, via UUID, to various links/faces in a set. // // Throw it in an object you have textured. // If you make changes afterwards, click the object. // Copy and paste the output to a New Script. // // See bottom for complete instructions. //----------------------------------------------- string s = "\n"; list ListOfLists = [];//--our list variable names list ListOfNumbers = []; //--which links have lists...! doRead() { string name = llGetObjectName(); llSetObjectName("//"); string output = ""; //--this will write our lines list l; //--temp holding list string txname = ""; //--texture name check key id; //--key check integer n = llGetNumberOfPrims(); integer i = 1; //--counting prims if(n == 1) i = 0; //-- solo = 0; root = 1 integer nt; //-- how many texture sides integer t = 0; //-- texture face # 0-7 integer TEST = FALSE; doHeader(name); llOwnerSay(s+"integer nLinks = "+(string)n+";"); //--line to load nLinks variable for(i; i<=n; i++) {//llOwnerSay("Checking Link#"+(string)i); TEST = FALSE; output = ""; nt = llGetLinkNumberOfSides(i); for(t=0; t<nt; t++) {//llOwnerSay("Checking Face#"+(string)t); l = llGetLinkPrimitiveParams(i, [PRIM_TEXTURE, t, PRIM_COLOR, t]); txname = llList2String(l, 0); //--dont do anything if its not our texture if(txname == "00000000-0000-0000-0000-000000000000") jump out; else //--YTF do i need this??? i dont, if i do ^^ right { llOwnerSay("Texture="+txname); TEST = TRUE; //--now surgically alter the list, because ANNOYANCES txname = "\""+(string)llGetInventoryKey(txname)+"\""; l = llListReplaceList(l, [txname], 0,0); l = llListInsertList(l, ["PRIM_COLOR", t], -2); if(output == "") {//--first face in list output += s; //--skip a line output += "list Link"+(string)i+" = ["; //--variable list //--add to our ListOfLists ListOfLists += "Link"+(string)i; } else { //llOwnerSay("^^^^^ DELETE ABOVE ENTRY ^^^^^"); output = llGetSubString(output, 0, -3); //chop off ; and ] output += ", "; } output += "PRIM_TEXTURE, "+(string)t+", "; output += llDumpList2String(l, ","); output += "];"; } @out; }//--end Face loop if(TEST) { llOwnerSay(output); ListOfNumbers += i; llOwnerSay("Adding "+(string)i+" to list."); } }//--end Link loop doBody(); llSetObjectName(name); } //-- Start our chat output for the script with a header //-- x is the name of the object doHeader(string x) { llOwnerSay("===================START SCRIPT==================="); llOwnerSay("----TEXTURE APPLIER SCRIPT-----"); llOwnerSay("-----"+x+"-----"); } //--this part does the whole script default state and state_entry doBody() { llOwnerSay(s+"default\n{\nstate_entry()\n{"); //--start //--state entry; run through and apply per Link per Face string output = ""; //--this will write our lines integer n = llGetListLength(ListOfLists); integer i = 0; for(i; i<n; i++) {//llOwnerSay("Writing Link#"+(string)i); output = ""; output += s; //--skip a line to avoid commenting it out output += "llSetLinkPrimitiveParamsFast("+llList2String(ListOfNumbers, i)+", "; //--command output += llList2String(ListOfLists, i); //--which list params output += ");"; llOwnerSay(output); } llOwnerSay("-- Uncomment next line to make it self destruct. WARNING: SAVE A COPY TO YOUR INVENTORY!"); llOwnerSay("llRemoveInventory(llGetScriptName());"); //--end the state entry and the script llOwnerSay("\n}\n}"); llOwnerSay("===================END SCRIPT==================="); } default { state_entry() { doRead(); } touch_start(integer total_number) { doRead(); } } /*============================================= FULL INSTRUCTIONS: If You Created The Object:----------------------------- 1: (Re)texture it how you wish. 2: Throw the textures you used into the object's inventory. 3: Throw in this script. If it doesn't work, see below. 4: Open chat history and copy the script. 5: (In Inventory) Create a New Script. Select all, Paste. Save. (Make sure you name it so you know what it is, and what it goes to!) (Also, uncomment the Self Destruct line at the end.) (And set the script perms as you wish.) If You Are Not The Creator:---------------------------- 1: Retexture the object. 2: Throw the textures you used into the object, AND throw whatever texture you used in child objects into those child objects. 3: Throw in this script (to the Root Prim). 4: Open chat history and copy the script. 5: (In Inventory) Create a New Script. Select all, Paste. Save. (Make sure you name it so you know what it is, and what it goes to!) (Also, uncomment the Self Destruct line at the end.) (And set the script perms as you wish.) //-------------------------------------------------- It works like this: "With texture as with llGetTexture, NULL_KEY is returned when the owner does not have full permissions to the object and the texture is not in the prim's inventory." So, if you did not create the object (not full perms), &AND& the texture is not IN the object, it will not tell you the texture name or UUID. Therefore, if you don't have full perms on the object, you need to put your texture in the object for it to return the texture name. To get the script to get the texture KEY... it needs to find the texture name in its inventory and get the key from that. Therefore, if you DO have full perms on the object, you still need to throw the textures in it. THEN The script it generates is pretty basic. It has one list variable for each link in the object. It goes through each list, applying it to the link it goes to. NOTE If you don't want to dick with throwing this script (and a buncha textures) into each variant of an object you textured, but prefer to dick with copying and pasting UUIDs from your inventory, you can do that, too. The output will look something like this: //: Texture=13T-TM-AlbinoBase //: list Link0 = [PRIM_TEXTURE, 0, "5452154c-f1fd-c5e8-32zz-8e45c9439689",<0.600000, 1.000000, 0.000000>,<-0.499985, 0.000000, 0.000000>,0.000000,PRIM_COLOR,0,<1.000000, 1.000000, 1.000000>,1.000000]; The texture name is in the comment above. So, for example, to change the AlbinoBase texture to a PiebaldBase texture, you'd just copy the UUID of PiebaldBase from your inventory and paste it into that long text line of secret code, there. GOOD LUCK! ====================================================================*/
  7. Bloodsong Termagant

    LOD Models Voodoo

    okay, i was banging my head against this for THREE WEEKS... and i still haven't figured it out. so i have a couple of poll questions. A: Have you ever built a lower-LOD version of your model from scratch (and had it work/upload)? IE: for some reason you didn't take the full-res object and decimate it somehow or other to get the lower-res version. B: Does the SL mesh importer stretch the lower-LOD models so that their bounding box matches the full-res model's bounding box, the same way it stretches/squashes the physics model? tl;dr------------------------------------------------------- i made a simple cushion/beanbag chair, and then i built a really low-res physics model for it. (if i had been older and wiser, i would have had the foresight to just have saved the original box model i started with, but. oops.) the automatically generated lower res versions were... crappy. and had more triangles. 'i know!' i said, 'i'll use the physics model as the lowest res model!' but all i ever got was 'material is not a subset' errors. and yes, i worked through all the fixes on this page: http://www.pader.world/fixing-errors-on-mesh-upload.html i took the physics model and i put the three materials of my object on it. my 'object' was also technically TWO objects in a linkset. (one with 2 materials, 1 with 1 material.) so i divided off the 3rd material's faces into a separate object, also. this is where i got the weird result of this square, which was supposed to be the flat bottom of the mesh, ending up as a diagonal plane through the seat of the chair. (leading me to suspect some bounding box thing was going on, though i could not find any reference to that, anywhere.) since i can't get, by hook or by crook or by ImportLegacyMatching, this thing to recognize my other model's materials as a 'subset' of the original model's materials (yes, the same exact materials, no .001s)... i'm starting to wonder if the actual VERTICES need to be... i dunno, actual vertices that were in the original model somehow. :/ OR... maybe it can just never work on two separate objects uploaded as a single mesh thing? looking for clues, so that's why i'm asking those with more experience in mesh than me.
  8. Bloodsong Termagant

    Avatar Link Location to llSitTarget Formula

    okay so... i have nPose, and i have AVsitter (version 2 and version 1), and i have SitTargetHelper.... but all i want to do is write a SIMPLE script that takes ONE avatar sitting on ONE thing, moves it around, and can save that as a new sit target. now, i can get the seated avatar's link position and rotation no problem. and i can change those and scoot it around. and i have scripts and functions that can get an ACCURATE sit target from the avatar seated on a TOTALLY SEPARATE prim/object... but i haven't found any that can get it from the avatar actually linked TO it. and im bad at math in general, but when you start mathing vectors and rotations and quaternions and radians... OMG! as for avsitter... it apparently doesn't even use llSitTarget at all, but grabs the avatar and sticks it in position based on stored settings. (and as for npose, my eyes were so bleary from peering at avsit code, i just couldn't... :X ) does anybody know this forumula? if it's not proprietary to you, can you tell me what it is? if it IS proprietary, how much you selling it for?
  9. Bloodsong Termagant

    Non Human Avatar Search (Mall)

    tl;dr-------------------------------------------------------- once upon a time, i used to shop at north star av mall. and everybody had a vendor there! furries, ferals, strange aliens, cartoon creatures, chibi furries, tinies, robots, it was a smorgasbord of the weird and wonderful. but then north star gave out a notice it was 'relocating' somewhere. and... it never made it?? rocket city fur meet closed it's mall section, so now... i can't find one conglomerate location for non-human avatars. (and trying to search the marketplace... seems to NEVER work.) TL;DR------------------------------------------------------ so i'm trying to find a 'mall' -- a collection of different vendors in one place (also, i will want to rent a spot there). and it has to be not on an 'adult' sim. if you know of one, can you please throw me a landmark in-world if you have time? or if you can tell me here a store/place name i can find in search. anything! (or maybe they're just all on adult sims? :/) now, i know about Isle of Wyrms. i went there, and it seems to be in the middle of being under re-construction? i'm not sure they're taking new rentals, or if anyone is going there... and of course i know about grendel's. they have a TONNE (and i buy a bunch from them), but they're still just one vendor. (that i know of, unless they changed? no, they barely had room for their own stuff.) i did find a nice place for breeder's choice/teegle/waterhorse horses and rats, with lots of vendors and shops for rent, but most of those seemed to be add-ons for the horses and rat avatars... so that was kinda limited. thanks a bunch!
  10. Bloodsong Termagant

    Blank Texture Applied by Script not the same Blank Texture as Applied in Edit

    wulfie is correct. the COLOR is white, the transparency is usually set to 44%. BUT the grey colour i'm seeing is in the texture swatch, when i'm editing. (and of course, also making the object 'dimmer'). and when i click the grey swatch and press the 'blank' button, it turns from grey to white. it is a DEFINITIVE difference, i mean from 50% grey to 100% white. as for the 3 reasons you cited... 1: the uuid is either A: what i got from reading the texture key or B: the constant TEXTURE_BLANK. 2: the blank texture loads. when i press the button. 3: mmm, no. ;D ...although if i recall correctly, i tried to get the uuid for the grey texture and it was the same as the white one. i'm gonna report this to LL as a bug. it makes no sense. ... of course, now i can't get it to do it today. thanks, guys!!
  11. Bloodsong Termagant

    llMoveToTarget() Not Getting There?

    thanks, elle!
  12. heyas, guys! i was working on my mesh dolphin on the beta grid. i used a custom texture (95% white grey) in the "shiny" setting, so that i could access the shininess settings and tweak them. i came up with a good setting of 33 highlight and 33 environment for the skin. not SHINY, but... you know, wet looking, like a dolphin. when i went to the main grid, i uploaded everything (mesh, textures), and when i applied the 95% brightness to the shiny channel and set it to 33/33... it was barely shiny at all. so i cranked it up until it looked as it had in the beta grid, which was very high. then one of my beta testers mentioned that it was way too shiny. like eye-hurtingly shiny. my question is... what could be causing these discrepancies in the appearance of the shine? i'm using the firestorm client, on both grids. is it the client? is it the sim windlight settings? is it some preference about 'basic shaders' or something? (but i can still see shiny, so it's turned on.) are the custom shiny controls not actually active on the main grid? or something? i'm just confused, and now i don't know how shiny to make stuff.
  13. okay, this is weird. i'm making a texture applier, and if there is no texture, it of course uses the blank texture. but i have used both the default blank texture key, as well as the constant BLANK_TEXTURE (or is it TEXTURE_BLANK? you know what i mean.) when i'm editing the object, and i select the texture swatch, and click 'blank,' i get a blank white texture. (i'm using firestorm, if that makes any difference.) when i apply the blank texture from the script, i'm getting a middle-grey blank texture. when i go to edit this, and hit the 'blank' button, the texture definitely changes. when i set it to the white blank, and fetch its UUID from the script, and use that, i ALSO get the grey blank texture when i apply it via that key. i kinda need the applier to set the blank textures to a WHITE blank texture, so any colours/tints applied are correct, and not darkened by the middle grey. help?
  14. Bloodsong Termagant

    Touch Linked vs Touch Texture Coordinate

    thanks guys! uh. i'm gonna go with wulfie on this one. link number for the win! you math gurus say the math is easy... hmmm... not for me! ;D
  15. Bloodsong Termagant

    llMoveToTarget() Not Getting There?

    so i have this swimming script, and it's using llMoveToTarget to make you swim around in the water. i want to be able to artificially adjust the height of the avatar/animations in the water, so i have a menu thing with the +++ and the -- and stuff like that, to dial in the water surface height. so that changes the depth by, say, 1 meter. and i want it to move the avatar up 1 meter.... so i can see where it is. the weird thing is, if i get in the water, and i'm standing (hovering? falling? technically, i'm 'inair' i guess) there, and i press these menu buttons... i don't move. if i swim forwards or around a little bit, then click the button for the menu and work on the menu... it works fine. so...??? what is going on? what can cause llMoveToTarget to fail? being in a menu dialogue?? already having an llMoveToTarget command on you? (i put in llStopMoveToTarget before the new call; no help.) you are in a certain minimum distance where llMoveToTarget thinks you're close enough to the target already? (how small of an increment can it move you. i started with .15 meter, but now i'm using .33 meter as the smallest increment.) the damping? do i need less? or more. i tried less, let me try more... no, no help. ugh.