Welcome to the Second Life Forums Archive

These forums are CLOSED. Please visit the new forums HERE

~Insecure Vendor?~

Shippou Oud
The Fox Within
Join date: 11 Jul 2005
Posts: 141
12-29-2006 05:14
This is odd, never happened in the past. I use older single prim vendors. Yesterday I went to one of my mall location's to add an item for sale, and noted one of my boxes infront of the booth. Out of curosity, I checked the name of the box, and who owned it (wanted to see what I sold). It turned out to be one of the AV's from one of my single prim vendor's. I did not remember selling any of that AV in the last few days, so I checked account history. The person who now owned the box did not show up anywere (any one who buys form the vendor shows up as paying the vendor), I went all the way back to the day I released the AV.

My thing is, how the hay did she rip the object out of the vendor, with out paying, and how can I prevent it in the future?
Zozo Plympton
Registered User
Join date: 26 Oct 2006
Posts: 26
12-29-2006 08:34
hm... this sounds strange. with the thousands of bendors out there and nobody else reporting anything like this..
I think the only way of saying something meaningfull could happen only after an analyse of the vendor in question.
Could you make an exact copy of the vendor, take your av out of it and make the vendor available for a "checkup"?

Zozo
Vares Solvang
It's all Relative
Join date: 26 Jan 2005
Posts: 2,235
12-29-2006 16:21
Is the object the vendor sells trans? Someone could have been there with them and bought it, then gave it to them as a gift. So the person that owns the prim would not show as the person that bought it from the vendor.
_____________________
Shippou Oud
The Fox Within
Join date: 11 Jul 2005
Posts: 141
12-29-2006 16:55
the object is not transferable....
here's the script
From: someone

integer item = 0;
integer maxitem;
integer price = 0;
integer line;
integer last_item;
string texture = "";
integer debug = FALSE;
string listitem = "null";
string note = "Inventory";
string name;
list inven;
list prices;
key query_id;
string title = "Jesus Vendor";
default
{
state_entry()
{
llSetTexture("d2665d83-d5f5-d0a8-7fb7-89656f2d3f7a",ALL_SIDES);
llSetText("OFFLINE MODE!\nAdd/Remove items safely,\nThen click to start.",<1,1,1>,1);
}
touch_start(integer total_number)
{
state run;
}
}

state run
{
state_entry()
{
query_id = llGetNotecardLine(note, 0);
}
touch_start(integer total_number)
{
item += 1;
@debug2;
if (debug == TRUE)
{
item = last_item;
debug = FALSE;
}
if (item > maxitem)
{
item = 0;
}
listitem = llList2String(inven,item);
string tempstring;
string tempstring2;
integer slen = llStringLength(listitem);
integer found = FALSE;
integer number = FALSE;
integer i = 0;
tempstring = listitem;
if (tempstring == "";)
{
debug = TRUE;
jump debug2;
}
while (tempstring != ":";)
{
tempstring = llGetSubString(listitem, i,i);
tempstring2 += tempstring;
i++;
}
listitem = tempstring2;
slen = llStringLength(listitem);
slen -= 2;
listitem = llGetSubString(listitem, 0, slen);
texture = listitem;
texture += "PIC";
llSetTexture(texture, ALL_SIDES);
llSetText(""+title+"\n"+listitem+"\nPrice: L$"+llList2String(prices, item)+"",<1,1,1>,1);
last_item = item;
}
changed(integer type)
{
if(type & CHANGED_INVENTORY)
{
llOwnerSay("Inventory has changed. the vendor has to reset now. Going offline...";);
llResetScript();
}
}
dataserver(key queryid, string data)
{
if (query_id == queryid) {
if (data != EOF) {
query_id = llGetNotecardLine(note, line);
string tempstring;
string tempstring2;
integer slen = llStringLength(data);
integer found = FALSE;
integer number = FALSE;
integer i = 0;
for (i = 0; i <= slen; i++)
{
tempstring =llGetSubString(data, i,i);
llSetText("Reading Notecard. Please wait.",<1,1,1>,1);
if (tempstring == ":";)
{
found = TRUE;
}
if (found == TRUE)
{
tempstring2 += tempstring;
}
}
prices = prices + [llGetSubString(tempstring2,1,-1)];
inven = inven + [data];
line++;
}
else
{
inven = llDeleteSubList(inven, 0,0);
prices = llDeleteSubList(prices, 0,0);
maxitem = llGetListLength(inven) - 1;
llRequestPermissions(llGetOwner(), PERMISSION_DEBIT);
llOwnerSay("Vendor is ready to go.";);
item = 0;
llSetTexture("733b86a4-576a-e62f-5f07-017fd00f1a50",ALL_SIDES);
llSetText("READY! Touch to browse vendor!",<1,1,1>,1);
last_item = item;
}
}
}
money(key id, integer amount)
{
integer cost = (integer)llList2String(prices, item);
if (amount == cost)
{
llInstantMessage(id,"Thank you for your purchase!";);
llGiveInventory(id,listitem);
}
if (amount > cost)
{
integer change =0;
llInstantMessage(id,"Here is your change. Thank you for your purchase.";);
llGiveInventory(id,listitem);
change = amount - cost;
llGiveMoney(id, change);
}
if (amount < cost)
{
llInstantMessage(id, "I'm sorry, but that is not enough for the item.";);
llGiveMoney(id, amount);
}
}
run_time_permissions(integer perm)
{
if (perm & PERMISSION_DEBIT)
{
}
else
{
llOwnerSay("Sorry, you must click [Yes] in order for this to work. Please re-rez your Vendor.";);
state black_hole;
}
}

}

state black_hole
{
on_rez(integer start_param)
{
llResetScript();
}
}
Winter Ventura
Eclectic Randomness
Join date: 18 Jul 2006
Posts: 2,579
12-29-2006 17:05
IN the prim settings, is there "anyone can copy" checked off? is the vendor itself for sale? What are the permission settings on the vendor?

Is it possible that somone "took a copy" of the vendor, and pulled the item out themselves?

I'd be interested to come poke at things a bit in your store, and see if it can be reproduced, to help you find out what happened and therefore how to stop it. Is that box still out on the floor where people could inspect it?

Of course, it's also possible that the transaction data got lost in the shuffle of one of SL's recent asset server issues.

Might want to add a line in there, to have it email you with the transaction info when people buy.
_____________________

● Inworld Store: http://slurl.eclectic-randomness.com
● Website: http://www.eclectic-randomness.com
● Twitter: @WinterVentura
Shippou Oud
The Fox Within
Join date: 11 Jul 2005
Posts: 141
12-30-2006 01:07
Rainbow tiger mall ...my booth is on the ground floor, with the anilated texture of the matrix scrolling by...I have a Jesus AV vendor, and some other stuff crammed in there.
Winter Ventura
Eclectic Randomness
Join date: 18 Jul 2006
Posts: 2,579
12-30-2006 18:03
The vendor appears to have a "touch" action associated with it. but that may be screened in the scripting to "only touches by owner".. so that may be nothing to worry about.

The Jesus AV itself (just bought one to test) is transferrable. so it's possible that someone else purchased it, and gave it to their friend. Perhaps they were like "I just bough this thing, and it's not what I want, let me put it all back in the box and return it" and the friend was like "a Jesus avatar? I want it!" and then the friend TP'd them to the shop, and handed them the box... and the new owner dropped it and opened it. (did the dropped box have it's contents still?)

Of course, the offending "dropped box" is gone now, so I can't look at that.

UNderpaying the vendor seems to work properly - it gives the money back- (you should really avoid this whole thing by only offering them a single button with the correct price.)

The vendor itself is NOT forsale, and does not have a weird permission setting allowing me to "take a copy" of the vendor, or anything like that. Attempting to "drag the item out of the vendor's inventory, into my own" ... fails as it should.

Put simply.. the box was here, so I suspect that a legitimate transaction went down here.

Check your transaction history now.. and see if you've sold any of these avatars... because I just bought one. And while it's nice.. I don't actually want it. Just bought it to test the mechanism. (I'd say it's more possible that something is wrong with the notecard you have set up in the vendor.. if you don't see my transaction, you may have entered your UUID incorrectly in the notecard (if you have to).
_____________________

● Inworld Store: http://slurl.eclectic-randomness.com
● Website: http://www.eclectic-randomness.com
● Twitter: @WinterVentura