Jump to content

Advanced Scripter Needed (Paid Gig)


You are about to reply to a thread that has been inactive for 1047 days.

Please take a moment to consider if this thread is worth bumping.

Recommended Posts

Looking to hire a scripter. Read the description below and contact me in world, via notecard if I'm offline. 

I'll describe what I'm looking for the best I can! If you're familiar with Amaretto Breedable Horses - I'm referring to the bundles produced by the horses. I'm not a scripter and it makes my brain hurt; I don't know scripting limitations. 

The project involves a storage object, and multiple objects (called bundles) that are no copy/no mod and can only be renamed manually via a menu.

Details about the bundle object:

  1. it's a no mod/no copy item
  2. it can only be renamed via a menu
  3. the name is max of 36 characters with no special characters except for "\" (dashes ok) but NO hyphens
  4. default name of the bundle is "Amaretto Breedable Bundle"
  5. I'm copy/pasting the name of the bundle from local chat after clicking the bundle object and requesting "stats" (which includes the full UUID)

What I want to do/not do:

  1. Store the bundle object in a storage device in-world
  2. Be able to click the storage device and request the bundle object by name; if it's possible for the script to just use the UUID of the object without me having to name it at all - PERFECT!! 
  3. NOT increase keystrokes to rename the object; hence why I'd like to copy/paste part of the UUID from local chat - keep it simple 
  4. NOT have to scroll through menu pages looking for a bundle object name like "3622226828b4" or the full UUID. 
  5. Ideally, I input the bundle object name into a dialogue box then the storage object will either rezz or deliver it to my inventory. Please keep in mind I don't know the limitations of scripts and have no idea if this is possible - but this is the best way to descript what I'm looking for. 

Extra info in case this helps:

The reason why I'm doing this is to search for bundle traits from an Excel doc I'm going to store the traits in. Luckily the bundle object will say the traits in local chat, I can copy/paste that into Excel and create a sort of database (it does past the traits into separate cells so I can easily search the Excel doc by the trait I'm looking for). The object description contains a code for those traits - but I'm not sure if the creator of them item is giving out API info anymore. The bundle also will give the parent info and UUID. Big Wish: the trait info I want is coded into the description of the object (ie: SUCCESSFUL_BUNDLE:e05e959d-9f53-b1d7-dba6-57e244fd655c!585!1!1!11!1!0!0!0!10!9!2!0!11:NULL:5.0) along with the UUID. If instead of an excel spreadsheet, a website/google docs could be created that uses the code from the description to automatically database the traits...and you think this is something you can script...I'd entertain the idea with a quote for the work and discussion about database/server upkeep, etc. This again is *big wish* and not the focus. 

Thank you!

 

 

Link to comment
Share on other sites

If I'm reading this correctly you just want to have an in-world object (lets call it a "Safe") that when you touch it brings up a dialog box and gives you the object you type in form its inventory?

A cool thing about Object inventories is that even if an object is no-mod if you store more than one of an object with the same name in your safe, SL automatically renames them 'object', 'object 1', 'object 2' etc. so you could just keep track of them by the order you put them in the safe.

integer gDialogChannel = -34795;
default
{
   state_entry()
   {   llListen(gDialogChannel,"",llGetOwner(),"");
   }
   touch_start(integer i)
   {
     key ID = llDetectedKey(0);
     if(ID==llGetOwner())
     {
       llTextbox(ID,"Type in the name of an object in my inventory to retrieve.",gDialogChannel);
     }
   }
   listen(integer channel, string name, key ID, string text)
   {
     llGiveInventory(ID,text);
   }
}

If you want to retrieve an object by the uuid in its description instead, that's also possible but a little more involved.

integer gDialogChannel = -34795;
list gUUIDs
uFetchUUIDs()
{ gUUIDs = [];
  integer index = llGetInventoryNumber(INVENTORY_OBJECT);
  while(~--index)
  {
    string parsed = llParseString2List(llGetInventoryDesc(index),[":","!"],[]);
    gUUIDs=llList2String(parsed,1)+gUUIDs;
  }
}

default
{
   state_entry()
   {   llListen(gDialogChannel,"",llGetOwner(),"");
       uFetchUUIDs();
   }
   touch_start(integer i)
   {
     key ID = llDetectedKey(0);
     if(ID==llGetOwner())
     {
       llTextbox(ID,"Type in the UUID (as found in its description) of an object in my inventory to retrieve.",gDialogChannel);
     }
   }
   listen(integer channel, string name, key ID, string text)
   {
     llGiveInventory(ID,llGetInventoryName(INVENTORY_OBJECT,llListFindList(gUUIDs,[text])));
   }
  changed(integer c)
  {
    if(c&CHANGED_INVENTORY)
    {  uFetchUUIDs();
    }
  }
}

Automatically indexing the traits might be possible with experience based key-value pairs,(edit, probably not) although that sounds like a task best suited for a web based relational database. (a bit above my skill level at the moment.)

Edited by Quistessa
  • Like 1
Link to comment
Share on other sites

You are about to reply to a thread that has been inactive for 1047 days.

Please take a moment to consider if this thread is worth bumping.

Please sign in to comment

You will be able to leave a comment after signing in



Sign In Now
 Share

×
×
  • Create New...