Jump to content

Missy Restless

Resident
  • Posts

    30
  • Joined

  • Last visited

Everything posted by Missy Restless

  1. I've updated the free Marketplace boxed CheckCreator script incorporating the improved efficiency counting backwards suggestion made by PeterCanessa. This optimization avoids the possibility of traversing the inventory multiple times and produces the same results. Good suggestion. Here's the current version. // CheckCreator - check the creator name against a list of creators who have// stated their animations were pirated. Remove any animations by these// creators. This script is intended as an aid to content creators who are// packaging full-perm animations they have acquired for resale but who// wish to avoid redistribution of animations which are allegedly pirated.//// Written by Missy Restless (missyrestless at gmail dot com)// Modified 26-Dec-2011 - incorporate suggestion from PeterCanessa Oh to count// backwards in while loop to improve efficiency//// Usage: Drop this script into the Contents of a prim containing the// animations you wish to distribute/resell. Close the edit window// and touch the prim when prompted. The script will chat the// names of animations it is deleting as well as the creator's// name then the script will delete itself from the prim.//// License: You are free to use, modify, copy, and redistribute this script.// Please return relevant/useful modifications to Missy Restless.//// Info:// http://wiki.secondlife.com/w/index.php?title=62_Animation_MLP_Set// http://wiki.secondlife.com/wiki/Stroker_Serpentine_Sexgen_Animation_Set// http://bit.ly/vlOPKp// http://tinyurl.com/5wk3mr2//integer numkeys;integer keynum = 0;string creator_name = "";string creator_key;key name_query;list key_name_pairs = [];list creator_keys = ["b85e0cdf-4fb2-4383-8b0f-7ff15d01c427", "16c565f2-b5a2-4791-bf8a-24e4599abc28", "02409c8a-508c-4c68-8537-6c4166d2841b", "1f3f9aea-15cd-4a6d-85c2-2e724c8c045c", "32101244-c1f2-45a7-9a1f-96dc463068d8"];// Uncomment this key and add it to the above list if you also// wish to remove animations created by Stroker Serpentine// "368f6798-4d43-4a01-91b0-f6259e279170" default{ state_entry() { if (llGetInventoryType("CheckCreator Package Anchor") == -1) { numkeys = llGetListLength(creator_keys); // First we walk through the list of keys and get their names state getnames; } }}state getnames{ state_entry() { if (keynum < numkeys) { creator_key = llList2String(creator_keys, keynum); name_query = llRequestAgentData((key)creator_key, DATA_NAME); } else state doit; } dataserver(key queryid, string data) { if (name_query == queryid) { creator_name = data; key_name_pairs += [creator_key, creator_name]; keynum++; if (keynum == numkeys) state doit; else state default; } }}state doit{ state_entry() { llOwnerSay("CAUTION: Once removed the items are gone forever, they do not return to your inventory. Be careful with no copy items.\n"); llOwnerSay("\nTouch the prim to begin checking and removing potentially pirated animations."); } touch_start(integer num_detected) { key Creator = ""; integer i = 0; integer j = 0; integer index; string name = ""; integer numanims = llGetInventoryNumber(INVENTORY_ANIMATION); for(i=0; i<num_detected; i++) { if (llGetOwner() == llDetectedKey(i)) { // Only owner can do this i = num_detected; // Ignore multiple touches llOwnerSay("\nChecking " + (string)numanims + " animations in prim inventory"); while (numanims--) { name = llGetInventoryName(INVENTORY_ANIMATION, numanims); Creator = llGetInventoryCreator(name); creator_name = ""; index = llListFindList(key_name_pairs, [(string)Creator]); if (index != -1) { creator_name = llList2String(key_name_pairs, index + 1); llOwnerSay("Removing " + name + " created by " + creator_name); llRemoveInventory(name); llSleep(0.2); // Slow down a bit to avoid errors } } } llSleep(0.4); // Allow inventory to refresh numanims = llGetInventoryNumber(INVENTORY_ANIMATION); llOwnerSay("\nExiting. " + (string)numanims + " animations left in prim inventory"); llRemoveInventory(llGetScriptName()); return; } }}
  2. Thanks for the improvement. I assume this code is also released under a free license and can be incorporated into future iterations of the CheckCreator script. No thanks for the condescending attitude. Perhaps you are not familiar with open source development and the spirit with which it is conducted. When optimizing anothers initial release of a project it is considered poor behavior to impune the character or ability of the creator and quality of the code. That tends to discourage contribution and collaboration. At any rate, I will incorporate your improvements after testing.
  3. To clarify a bit, the script is intended primarily as a tool for content creators who are packaging animations they have acquired and wish to remove any animations with uncertain rights of redistribution and resale. If you have animations whose licensing rights are clear then they need not be loaded into the prim used by this script. The reason something like this script or a tedious manual process is needed is the great deal of uncertainty surrounding much of the content distributed inworld and on the marketplace. Especially freebie content. Even properly licensed content usually is not accompanied with a license so I may purchase something on the marketplace and it might be licensed for redistribution but how am I to know that. Second Life content typically has an "implicit license" derived from the content permissions - if it's full perm then you can redistribute/resell unless otherwise prohibited by the creator (e.g. use these full perm textures in your builds but do not resell them as-is). However, the proliferation of copybot pirated content with full perms undermines the "implicit licensing" model making everything suspect. Add to this the apparent inability of some business partners to separate their IP properly when the partnership ends and you have a situation where prudent content creators and builders just want to totally avoid content with so much licensing ambiguity. This script is meant to help people filter some of this type of content out of their builds.
  4. This script will find and delete animations that have commonly been distributed in freebie packs but whose creators maintain were not released full-perm. See http://wiki.secondlife.com/w/index.php?title=62_Animation_MLP_Set A free boxed version of this script is available on the Second Life Marketplace. // CheckCreator - check the creator name against a list of creators who have // stated their animations were pirated. Remove any animations by these // creators. This script is intended as an aid to content creators who are // packaging full-perm animations they have acquired for resale but who // wish to avoid redistribution of animations which are allegedly pirated. // // Written by Missy Restless (missyrestless at gmail dot com) // // Usage: Drop this script into the Contents of a prim containing the // animations you wish to distribute/resell. Close the edit window // and touch the prim when prompted. The script will chat the // names of animations it is deleting as well as the creator's // name then the script will delete itself from the prim. // // License: You are free to use, modify, copy, and redistribute this script. // Please return relevant/useful modifications to Missy Restless. // // Info: // http://wiki.secondlife.com/w/index.php?title=62_Animation_MLP_Set // http://wiki.secondlife.com/wiki/Stroker_Serpentine_Sexgen_Animation_Set // http://bit.ly/vlOPKp // http://tinyurl.com/5wk3mr2 // integer numkeys; integer keynum = 0; integer numnames = 0; integer numanims = 0; string anim_name = ""; string creator_name = ""; string creator_key; key name_query; list key_name_pairs = []; list creator_keys = ["b85e0cdf-4fb2-4383-8b0f-7ff15d01c427", "16c565f2-b5a2-4791-bf8a-24e4599abc28", "02409c8a-508c-4c68-8537-6c4166d2841b", "1f3f9aea-15cd-4a6d-85c2-2e724c8c045c", "32101244-c1f2-45a7-9a1f-96dc463068d8"]; // Uncomment this key and add it to the above list if you also // wish to remove animations created by Stroker Serpentine // "368f6798-4d43-4a01-91b0-f6259e279170" default { state_entry() { if (llGetInventoryType("CheckCreator Package Anchor") == -1) { numkeys = llGetListLength(creator_keys); // First we walk through the list of keys and get their names state getnames; } } } state getnames { state_entry() { if (keynum < numkeys) { creator_key = llList2String(creator_keys, keynum); name_query = llRequestAgentData((key)creator_key, DATA_NAME); } else state doit; } dataserver(key queryid, string data) { if (name_query == queryid) { creator_name = data; key_name_pairs += [creator_key, creator_name]; keynum++; if (keynum == numkeys) state doit; else state default; } } } state doit { state_entry() { numanims = llGetInventoryNumber(INVENTORY_ANIMATION); llOwnerSay("CAUTION: Once removed the items are gone forever, they do not return to your inventory. Be careful with no copy items.\n"); llOwnerSay("\nTouch the prim to begin checking and removing potentially pirated animations."); } touch_start(integer num_detected) { key Creator = ""; integer i = 0; integer j = 0; integer index; integer removed = 1; for(i=0; i<num_detected; i++) { if (llGetOwner() == llDetectedKey(i)) { // Only owner can do this llOwnerSay("\nChecking " + (string)numanims + " animations in prim inventory"); while (removed > 0) { removed = 0; for (j=0; j < numanims; j++) { anim_name = llGetInventoryName(INVENTORY_ANIMATION, j); Creator = llGetInventoryCreator(anim_name); creator_name = ""; index = llListFindList(key_name_pairs, [(string)Creator]); if (index != -1) { creator_name = llList2String(key_name_pairs, index + 1); llOwnerSay("Removing " + anim_name + " created by " + creator_name); llRemoveInventory(anim_name); removed++; llSleep(0.4); // Slow down a bit to avoid errors } } llSleep(0.4); // Allow inventory to refresh numanims = llGetInventoryNumber(INVENTORY_ANIMATION); } llSleep(0.4); // Allow inventory to refresh numanims = llGetInventoryNumber(INVENTORY_ANIMATION); llOwnerSay("\nExiting. " + (string)numanims + " animations left in prim inventory"); llRemoveInventory(llGetScriptName()); return; } } } }
  5. Is continually announcing your location on channel 2 considered a form of griefing ? It seems to me it should be. If so, has the OnDuty been reported ? If not, why not ?
  6. In Phoenix and older viewers the Key of an avatar is shown at the top of their profile. It seems in Viewer 3 that this is no longer the case. I need to be able to find an avatar's key for use by METAbolt and the auto-sit function. How does one find an avatar's key when using Viewer 3 ?
  7. Use a nice Windlight setting (I like Barcelona) Use a facelight or other lighting sources Crop your photo nicely (see http://en.wikipedia.org/wiki/Rule_of_thirds). I use Picnik Set your viewer to the highest graphics setting your system can support (Ultra if possible) Take a lot of snapshots, save to disk, edit and ruthlessly discard
  8. Thanks. I guess my next question would be why are comments on this blog post closed ?
  9. How do I leave a comment on the blog post at http://community.secondlife.com/t5/Tips-and-Tricks/VIDEO-Make-Second-Life-Behave-Better-in-the-Background/ba-p/753771 ?
  10. The viewers are primarily written in C++ along with some 3rd party libraries in C and C++. The server side is complicated and runs on Linux clusters using a variety of open source including Apache, MySQL, Squid, and Linux along with some proprietary software. Inworld dynamics are simulated using the Havoc physics engine. The Second Life article on Wikipedia has a fairly good overview - http://en.wikipedia.org/wiki/Second_Life although it tends to lag behind advancements in technical details. The viewer architecture is described at http://wiki.secondlife.com/wiki/Viewer_architecture The server architecture is described at http://wiki.secondlife.com/wiki/Server_architecture Second Life residents use the Linden Scripting Language (LSL) to control the behavior of inworld objects.
  11. Verify you satisfy the minimum hardware requirements at http://secondlife.com/support/system-requirements/ Additional system requirements info is available at http://wiki.secondlife.com/wiki/Linden_Lab_Official:System_Requirements Often it is necessary to purchase a compatible graphics card. See http://community.secondlife.com/t5/English-Knowledge-Base/Graphics-cards/ta-p/700073 If you are confident you satisfy the system requirements, try removing and re-installing your viewer.
  12. Missy Restless

    inventory

    Often the items are in the inventory but were placed in a subfolder and overlooked. Try looking in your subfolders. Also, sometimes it can take a while for an item to be delivered. There are numerous articles on Inventory Management one can read and try various suggested techniques to locate missing items: Inventory loss Missing inventory You may also need to unpack a box the items were delivered in: Opening boxes If you cannot find the items or they really were undelivered then asking the seller for redilivery usually works.
  13. My Macbook Pro overheated and died. I expect you would have better luck with the iMac. Either will satisfy the memory and cpu requirements but it is the graphics card/chip you need to worry about. At the time I had a Macbook Pro the SL viewer did not recognize the hardware as supported. I ended up just buying a cheap PC ($280) and good graphics card ($100) and running Windows 7 which got me much better performance, graphics, stability, ... for much less $$ than any Mac. If you do buy a Mac you might want to read the following and any later more current threads you can find: iMac and Second Life The iMac in Second Life How to deal with the MacBook Pro and MacBook Heat New MacBook Pro with NVIDIA 9600M GT
  14. There is an informative comment thread on specifying different cache locations over at http://community.secondlife.com/t5/Tips-and-Tricks/QUICKTIP-Running-multiple-Viewers-Separate-your-cache-folders/ba-p/672487 In my experience, running viewer 2 and Phoenix on the same system can cause all kinds of headaches unless separate caches are manually specified in your preferences.
  15. @Linda Brynner - There seem to be quite a few dissenting viewpoints on what the optimal maximum bandwidth setting is. In fact, Torley's latest recommendation is to "crank that baby!" (set it to 10000). See http://community.secondlife.com/t5/Tips-and-Tricks/QUICKTIP-Get-less-lag-in-seconds-by-increasing-your-Maximum/ba-p/670217 The comment thread in the above blog post further confuses things and references a pretty good article by Joel Foner at http://joelfoner.com/2010/03/understanding-the-maximum-bandwidth-option-in-the-second-life-viewer/ in which he recommends determining your download speed and setting maximum bandwidth to that value. I'm going with Joel's advice for now but I expect the final answer will be something like "your mileage may vary". I am curious as to how you determined that "SL hardly ever uses more than 1000". Did you perform some bandwidth measurements on your own connection while you had your maximum bandwidth set high and somehow separated out the SL traffic ? How does one go about doing that ? Sorry, starhunter, I am not answering your question but others have already said what I would say - delete those resize scripts in your shoes and hair if possible. Maybe try increasing the maximum bandwidth setting!
  16. He is certainly an interesting and thought provoking character. It's difficult for me to separate Kurzweil's great ideas from his rubbish. Still, very intriguing. I would encourage a holistic approach to these topics - there are a lot of interesting and divergant viewpoints. One perspetive I enjoy is Jaron Lanier's - http://www.edge.org/3rd_culture/lanier/lanier_p1.html
  17. Missy Restless

    Regions

    In the Phoenix viewer it is very similar to the previous answer: World -> Region/Estate. The estate owner is listed on the Covenant tab of the Region/Estate window.
  18. You can search the archived forums via Google by entering your search term(s) then site:forums-archive.secondlife.com For instance, to search for archived forum articles that contained the string "FPS" you would enter "FPS site:forums-archive.secondlife.com" in the Google search engine.
  19. I've created a Machinima playlist at https://wiki.secondlife.com/wiki/Media_playlists/Machinima_1 The page includes links to the individual videos at Youtube as well as the notecard with syntax for the NHC media player. Slight modification can make it suitable for other media players (Damani, Icarus, ...). Enjoy!
  20. My number one tip/shortcut is to leverage the already existing contributed work of others. That is, when I start a scripting project I first search the many archives of freely donated and licensed LSL scripts and examples to see what other folks have already done and how they did it. It would probably be a nice resource to create a wiki page in the LSL portal listing all the sites that freely redistribute LSL code examples. For starters, I use: Ferd's LSL Script Database SL4All LSL Examples LSL Script Library LSL Wiki Script Library Old Forum Scripting Library Index FoxSan's LSL Script Repository There are many more such repositories. Always be careful to comply with the licensing of these code examples. Most are free to use, modify, distribute, and sell but sometimes there are restrictions like your modifications must also be licensed under an open license or you must credit the original author, etc. Well, anyway, that is my tip/shortcut. Be lazy!
  21. A vendor is an inworld scripted object that usually displays the items it has to vend, accepts payment for those items, and delivers the purchased items. Just like a vending machine. Many commercial vendors are available on the Second Life Marketplace (see http://tinyurl.com/4qzvszn ). Alternately, one can build their own vendor using example scripts available in the LSL script library or elsewhere online. I would caution folks purchasing a vendor system to check the number of scripts the vendor uses - many are very script heavy and contribute to lag, especially in mall environments where many vendors are deployed.
  22. Vim - http://vim.org Free, open source, mature (based on the Unix vi), syntax highlighting, lightweight (compared to Eclipse!), multi-platform. Vim can be explained in 6 Kb - http://www.vim.org/6kbyte.php
  23. I use Radio Paradise which is actually really commercial free and listener supported. Plus, great music. The media URL I use is http://scfire-ntc-aa05.stream.aol.com:80/stream/1048 but there are higher bit streams you can choose from at http://www.radioparadise.com/content.php?name=Listen There is a long list of media streams for Internet radio stations at https://wiki.secondlife.com/wiki/Music_streams As the owner of the parcel, in your viewer select World -> About Land then click on the Audio tab. Enter the media stream URL you want to use. Alternately, you can use one of the many media viewer systems available inworld or on the marketplace (e.g. NHC, Damani, Icarus, ...). These SL media players all come with an audio selection feature to allow you to select from a wide variety of music url's. Not all are commercial free - in fact, many who claim to be commercial free actually play commercials (mostly for web hosting services). Radio Paradise is tried and true.
  24. I probably should have pointed out the advantages of using ImageMagick in my previous posting of a bash script to create seamless textures from any images. So, here's a few reasons why ImageMagick is my tool of choice: It's free open source software that has been around for years and is very mature It includes a command line interface so it can be run in batch mode processing many images in one command Runs on Windows, Linux, and Mac platforms Can do just about everything - that is, very extensive list of features/commands/options But, mostly ImageMagick is superior to other image editing and manipulation tools because of its command line interface. I can process hundreds of images in a few minutes and with only a few keystrokes. To do the same using Photoshop or other GUI interfaces would take thousands of clicks and a day or more of my time.
×
×
  • Create New...