Jump to content
Eidolon Aeon

Simple vendor - sell by detected face touched - possible?

Recommended Posts


I'm looking to be able to do a specific thing, but don't want to pursue it if it's not possible, so I guess I'm mostly looking for a yes/no answer, and grateful for anything beyond that.

Example of what I'd like to do:

Let's say I have a product for sale, and I made several colors. (The number of colors I make per product varies.) I have one color out as a demo, and all the other colors are represented by pictures/swatches. Since I'm renting and quickly running up against my prim limit, I want to cut LI even more, so instead of one prim for every color, I use one multi-face prim for ALL the colors. The customer clicks on the color (face) they want in order to pay for that color.

I'm sure this is really obvious, but I'm back in SL after a very long break and I've been pretty focused on just building since coming back. I know there are vendor systems out there, but I'd rather just set this up for myself or buy a script that does what I want. I've seen low prim, multi-panel vendors, but I don't want the customer to have to scroll through, and I don't want or need the large, main center picture. I just want e.g. a row of colors, and the customer pays for one. 


  • Is this a thing that can be done?
  • Optional: Is this a thing that can be done simply, by me? If I was eyeing DetectedTouchFace, would I be going in the right direction? I don't really have much LSL scripting experience, but I can usually work simple things out by trial and error. 
  • Optional: Is this a thing somebody else has already done? Ideally in script form for me to configure and use in my own mesh object.


Share this post

Link to post
Share on other sites

It depends a bit on how your vendor is built and what you find easier, but you can use either llDetectedTouchST or llDetectedTouchFace.

TouchST is intended for detecting where on a face was touched in XY coordinates. TouchFace detects which face was touched and gives you the face number.

From your description, it sounds like you should use TouchFace because you want to use multiple faces rather than having multiple buttons on a single face. 

Edited by Wulfie Reanimator
  • Thanks 1

Share this post

Link to post
Share on other sites

The approach is a little unintuitive for the buyer, though. The thing is, llDetectedTouch*() functions work, as the wiki says, "for the touch category of events only." So that means the buyer must first touch to indicate the desired item and only then pay the vendor. There's no way to tell which face the user right-clicked on to select "Pay". The extra step isn't prohibitively difficult or anything, but I don't think I've ever seen it done quite this way, so I'd be concerned that customers might make mistakes and ask for refunds, etc.

The script could only accept payment from folks who've recently made the item-selecting touch, and that would likely reduce the error rate. There also may be some way to clearly indicate which item will be bought if the vendor is paid (some face-specific attribute such as full-bright or glow, maybe?) but even still, unless this is more common than I know, it may invite errors and customer support load.

  • Like 2

Share this post

Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

  • Create New...