How to diagnose AND FIX delivery problems

There are 3 basic kinds of delivery problems, and each is diagnosed differently. They are:

  • Buying for yourself doesn’t work
  • Buying as a gift doesn’t work
  • Redelivery doesn’t work

First step: Try it yourself

If you’ve received complaints from your customers that something isn’t delivering, the most important thing you can do, before anything else, is to try the same thing, from the same vendor, for yourself. There’s nothing like first-hand experience, and to efficiently diagnose and fix a problem you will need a consistent test case so you’ll know when it’s fixed.

Buying for yourself doesn’t work

First, reset the vendor. The safest and most effective way to reset any scripted item in SL is to delete and replace the script. This doesn’t mean you’ll have to replace all your vendor scripts! It’s just an extremely effective way to perform tests to find out what’s wrong.

When the vendor starts up, it will display some text in local chat. That text with contain the word “server” or “box” or “folder.”

“box” – it’s almost impossible for this to fail. Try it again now that you’ve reset the vendor.

“folder” – it’s almost impossible for this to fail. Try it again now that you’ve reset the vendor.

“server” – here is the chain of events/objects you need to check:

  1. The vendor must contact the Delivery Relay. Make sure the Delivery Relay is rezzed, shows “Active” on the front, and shows “00” as the count.
  2. The Delivery Relay must contact the Inventory Server. Make sure the Inventory Server responds when you click it. Pick “Reconnect” from its menu.
  3. The Inventory Server must contain an object by the exact same name as the vendor prim in any one of its Storage Box prims (not in the root prim). Case, spacing, and punctuation are all extremely important. Make sure the object is in the Server and has the correct name.
  4. If the object is present, take a copy of “bootstrap” script from the Storage Box that contains the item. Delete both the bootstrap script and the Storage Box script from the Storage Box linked prim. Add the bootstrap script back into the Storage Box. Click the server and pick Reset. Try the purchase again.

Buying as a gift doesn’t work

First, reset the vendor. The safest and most effective way to reset any scripted item in SL is to delete and replace the script. This doesn’t mean you’ll have to replace all your vendor scripts! It’s just an extremely effective way to perform tests to find out what’s wrong.

When the vendor starts up, it will display some text in local chat. That text with contain the word “server” or “box” or “folder.”

“box” – it’s almost impossible for this to fail. Try it again now that you’ve reset the vendor.

“folder” or “server” – Here’s what to check:

  1. The vendor must contact the Delivery Relay. Make sure the Delivery Relay is rezzed, shows “Active” on the front, and shows “00” as the count.
  2. The Delivery Relay must contact the Inventory Server. Make sure the Inventory Server responds when you click it. Pick “Reconnect” from its menu.
  3. The Inventory Server must contain an object by the exact same name as the vendor prim in any one of its Storage Box prims (not in the root prim). Case, spacing, and punctuation are all extremely important. Make sure the object is in the Server and has the correct name.
  4. If the object is present, take a copy of “bootstrap” script from the Storage Box that contains the item. Delete both the bootstrap script and the Storage Box script from the Storage Box linked prim. Add the bootstrap script back into the Storage Box. Click the server and pick Reset. Try the purchase again.

Most common mistakes

  • You have multiple Store Controllers or Delivery Relays rezzed on the region in question. This will cause seemingly random problems.
  • Your intention is to have the boxed item in the vendor, but when you reset the vendor, it shows “folder” instead of “box.” This means that the name of the vendor and the name of the box do not match exactly.
  • The name of the vendor and the name of the box in the Inventory Server do not match exactly. Check the name of the box in the server. Check your suffixes if you’re using them.
  • The boxed product is in the Inventory Server’s root prim, not in one of the linked Storage Boxes.

Copy scripts

The E2V-3 box contains two scripts to help copy the contents of one prim to another prim. The scripts are:

Copy prim contents - FROM HERE
Copy prim contents - TO HERE

We’ll call these the “FROM” script and the “TO” script.

To use the scripts:

  1. Drop the “FROM” script into the prim that contains the contents you want to copy.
  2. Drop the “TO” script into the prim that you want to copy the above contents into.
  3. Wait for a moment. The contents will be copied, and then both scripts will automatically remove themselves.
  4. Always complete one copy before doing another copy – even if you’re copying to/from the same prim(s) multiple times.

If you’re using these scripts to copy items into your E2V Inventory Server, remember that you will need to use “Edit Linked Parts” and put the TO script into one specific Storage Box at a time. You can place the TO script into the same prim over and over, to copy from several different objects into the same Storage Box, or you can put the TO script into a different Storage Box each time.

Splits in version 2 scripts

There are a few scripts in the E2V system that are actually still version 2 scripts, just renamed to fit into the rest of the version 3 package. The SimpleVendor and AnimVendor scripts are two of these.

This article will explain how to do splits with these scripts.

Step 1 – Create the split plan on the version 2 website. Log in with your normal avatar name and password from the version 3 site. Click the Splits tab, and create a new split.

Step 2 – Refer to the split in the vendor description field. Vendor options with version 2 scripts use the “s:” option to specify a split name. For example, the following options line set the item for sale for L$100, and uses a split named “dts”:

p:100 s:dts

Step 3 – For the animation vendor only, you will need to use the extra Utils script provided in the box also. This is because each script can hold permissions for only 1 avatar at a time. The main script will hold the animate permissions for the person posing, and the Utils script will hold the permissions for the store owner to pay the splits. Add the utils script first, then the main script.

 

Working with others: Partnering vs Splitting

When you work with other people there are subtle, yet crucial differences between split profits and partnering. Here are the basic ideas…

First, whoever owns the vendor object gets 100% of the customer’s payment when that object is purchased. This is just how SL works, and has nothing to do with any vendor system. When someone pays money to an object you own, you get the money.

But, think about what else this means. If you own the vendor object, that means you also own the entire product itself. That’s because you can’t put something into your Inventory Server that you don’t own. So this means that even if someone helped you create all or part of your product, they would have given it to you at least with copy/transfer permissions, making you the final owner of the product.

The term “split” is really a bit of a misnomer. “Split” implies that you get part of the money coming in, but part of it is somehow diverted to someone else. This isn’t the case! You get 100% of the money. If you want someone else to also make money from this sale, then you have to pay them from your account. The split feature of a vendor system is intended to do this automatically for you, based on who you tell it to pay, and how much. As the sale is recorded, the system simply pays the split target the amount you specify, taking it from your account. That’s why splits require debit permissions.

Now, what if the person you’re working with doesn’t want to give you the item with copy/transfer perms, and wants to retain full ownership of the item they create, even though it’s selling in your store? You cannot place this item in your Inventory Server, and thus you cannot sell this item from a vendor object you own.

The owner of the item has to sell this item from their own vendor. But, if they do that, then the purchase will not show up under your redelivery terminal, any store credit earned will not be credited to the customer under your store, etc. All that sales data would go to the store of the owner of the vendor object.

This is where partnering comes in!

Partnering allows the vendor owner to say “I want sales of this item to be part of someone else’s store, instead of my store.” So whether a customer buys an item owned by you, or by your partner, the item still shows up your store’s redelivery page, any buyer’s rewards still affect their credit balance in your store, etc.

In version 4, partner mode can be applied to every vendor on a region, or only to specific vendors.

Events vs Main Stores

“How do I set up for an event, which is on a different region than my main store?”

I answer this question a lot, which is a sure indication that it’s confusing! There are big changes coming in Version 4, to simplify this (and a million other things). But for now, I’ll recap how things work in Version 3.

No Difference Between Events and Main Stores

This is the important thing to remember: there is no difference between your “main store” and an “event.” Here’s all the system cares about: regions. Any region where you want to have vendors will be set up the same as any other region.

Sometimes people get confused by the Inventory Server being on the same region as one of their stores. The Inventory Server can live on any region in SL, whether you have a store there or not. If you have a private home sim, your Inventory Server can live there. It’s the one special-case object in the system, because you only need one of them to cover the entire SL grid, and it does not matter what region you keep it on.

How to Set Up on Any Region

Here’s how you set up any region in SL to have your vendors on it (in the current version!)

  1. Rez a Store Controller, then a Transaction Relay, and then a Delivery Relay. Remember that only objects that come from the Release 9 folder will work.
  2. Now you can create vendors.

If you use Take in your viewer to grab copies of working vendors from one region to rez them on another region, it’s always a good idea to reset everything once you’re done rezzing vendors.

Can’t Spare The Prims?

If you can’t spare the 3 prims needed for the store support objects, there are other options.

I can spare 2 prims – If you place a boxed copy of the product inside every vendor prim, then you will no longer need the Delivery Relay.

I can’t spare any prims – Then you will need to use a script called the EventVendor, which you’ll find in your Release 9 folder. The EventVendor also requires that the boxed product be placed inside the vendor prim. It also has a different way of setting the vendor options. If you need to use this script, please shoot me an IM and I’ll help you get the options set correctly.

 

Erase floating text

If you have some floating text over a prim and you want to get rid of it, follow these steps:

  1. Create a new script anywhere in your inventory.  The name doesn’t matter, but you might want to name it something other than New Script so that you can find it again later.
  2. Double click the script to open the script editor.
  3. Press Ctrl+A or select ALL the text in the script with the mouse, and press Backspace, or Delete, so that the script editor is completely empty.
  4. Copy/paste the script code that appears below into your script, and then click Save in the script editor. Make sure that no errors appear in the bottom of the script editor window.
  5. Drag this script from your inventory directly on top of any prim, and it will erase the floating text, and then delete itself automatically.
default
{
  state_entry()
  {
    llSetText("", ZERO_VECTOR, 0.0);
    llRemoveInventory(llGetScriptName());
  }
}

Berry’s “Have you ever?”

I’M TRYING TO BE ONE OF THE COOL KIDS, OK? STOP MAKING FUN.

OK, with that out of the way, here are the goods:

    1. Have you ever owned a sim in Second Life? I currently own a homestead, does that count?
    2. Have you ever created content in Second Life? Yup! Before scripting, I even trying to make clothes. It was … abysmal. I hated it, and I probably sold 2 things. Then I tried my hand at tattoos and other trinkets, before finally figuring out that doing in SL what I do for a first life job made a lot more sense. Aduh.
    3. Have you ever driven a vehicle in Second Life? Only anything and everything I can get my hands on. Warbugs are a favorite … bumper cars … you name it. I like to move it.
    4. Have you ever gone sky diving in Second Life? Haha YES. Way back in the day. Pretty sure that was like the first “activity” I ever took part in! Hmm, I think I jumped off the Eiffel Tower in that Paris sim like 400 times.
    5. Have you ever played a sport in Second Life? Is bumper cars a sport? What about shooting people down? If so, then yes. Maybe I surfed a little, back in the day?
    6. Have you ever gone clubbing in Second Life? Ugh, who hasn’t? Gol mostly, as far as I remember, and friend’s clubs.
    7. Have you ever fangirled/fanboyed someone in Second Life? Only every day. I am very fortunate in my line of SL business in that I get to meet/talk to some pretty amazing and creative people. My very first fanboy moments were Dove, Elika, and Hely. Shhh.
    8. Have you ever taken a picture of your avatar in water in Second Life? Can’t say that I have.
    9. Have you ever taken a picture of a sunset in Second Life? I think my region stays on daytime!
    10. Have you ever taken a nude picture of your avatar in Second Life? Hmmm, gonna have to say “no” to this one, as far as I can recall. I’ve taken pictures of lots of OTHER people’s naked pixels, but not mine.
    11. Have you ever dated in Second Life? Yup. You’re not asking for details, right? Good.
    12. Have you ever had or attended a wedding in Second Life? Proud to say: nope.
    13. Have you ever drank, smoked or taken drugs in Second Life? Is this a thing? No.
    14. Have you ever engaged in sexual activity in Second Life? Hahaha … no. And by “no” I mean yes, of course.
    15. Have you ever been to Bukkake Bliss in Second Life?  Wait, this exists in SL, too? Oh, I should check it out sometime.

 

Limited Quantity Items in Version 3

Doing limited quantity items in version 3 is doable, but nowhere near as streamlined as I would like, so I apologize for this in advance. In version 4 this feature will be a million times easier!

That said, here’s a step by step guide to doing limited quantity items in version 3:

  1. You must be using Release 9, which everyone should be using already.
  2. In the Release 9 folder you have a script called EventVendor 3.0 – this is the script you’ll be using instead of the regular Vendor 3.7 script.
  3. Using your regular login info, log in here: http://www.e2-sl.com/e2v/owners/index.php
  4. IMPORTANT: Click the Settings tab and press the Save Changes button. DO NOT SKIP THIS STEP.
  5. GO BACK AND READ STEP 4.
  6. Click the Reports tab, then the Limited Stock tab.
  7. Click the Create New Item button.
  8. Enter a Product Name. This name is only a reminder for you, it doesn’t matter to the system, and does not need to match the actual box you’re selling.
  9. Enter a starting quantity.
  10. Press OK
  11. You will see the item you just created at the top of the list. The system will assign a Product ID to your item automatically. You need this number, so write it down.
  12. Create your vendor object and place the box you’re selling inside the vendor object’s inventory. It should also go into the Inventory Server, to allow for redelivery.
  13. Place the price in the vendor object description using the p: option. For example “p:200” would be L$200.
  14. Add a space and put the Product ID using the l: option (lower-case L). For example, “l:451” if you were assigned a Product ID of 451.
  15. Options should have spaces between them, so in this example, the final Description line would be “p:200 l:451” (without the quotes)
  16. Drop in the EventVendor 3.0 script.