Friday, September 12, 2008

it rubs the lotion on its skin, or else it gets the hose again

Sari Telling is having a little grand opening hunt at her shop space in Jirisan.

Photobucket

She has a fun design sense, and she strongly believes that color brings vibrant joy to life. She may not be wrong.

Photobucket

The hunt is for seventeen small balls of multicolored yarn that her turtle, Pladoon, hid. (The turtle in question lopes around the shop--he's slow, but very amusing.) The hunt is only within the shop buildings around her enclosure, not outside of it, and yes, nothing is buried underground or hanging mysteriously in midair. She's done a good job of hiding, but it's not brain-fracturing as a hunt.

By the end of it, your wardrobe will be richer for tattoos, henna work, bindis, choli tops, and flowing skirts--all of it in intensely shaded silks or busily batiked Indian cottons. Her prices for her normal outfits aren't bad, either. Check it out.

In other news...I've been talking to friends who script, and friends who build, who know more than I do.

[0:14] Hn: The thing in your blog?
[0:14] You: that wasn't a hunt, that was a haunted house
[0:14] Hn: Ah
[0:14] You: We're *still* trying to figure it out
[0:14] You: Fawkes says it cannot, absolutely cannot, be the scripting
[0:15] Hn: Nope
[0:15] You: Zen says he's not responsible, which is what I expected him to say
[0:15] Hn: It isn't.
[0:15] You: But it *only* happens with his scripts, so it has to feed into the glitch *some*how
[0:15] Hn: It's holding the control while clicking in the inventory.


So. Expected behavior when any object is dragged from the inventory, into another item? It's when ctrl is held down, for anything?

[0:15] Hn: Well, his scripts are part of the problem.
[0:15] You: Oh, I did ask if we have any HUDs in common? Drill and I have Mysti Cookie's hud, she has the free version; but Neome doesn't
[0:15] Hn: He didn't bother to build in any trash collection or any intelligence at all.
[0:16] You: And I'm running ZHAO, and so is Neome, but Drill's running Franimations
[0:16] Emilly Orr nods
[0:16] You: Which is part of the problem?
[0:16] Hn: If he had written the script better, it would have never done that.
[0:16] Sf: that would explain why Zen's is the only script you've encountered like that, does that
[0:16] Hn: Well, it didn't help, but it was a user error as well.
[0:16] Hn: So, it was a combo of ebil.


So in a sense, Sir Zen was right when he said that it was Neome's fault, but it's also his fault for writing a shoddy script, was my initial conclusion from this. But we went on from there.

[0:17] You: Fawkes and Becky--and Zen, too--insist this is what happened:
[0:17] You: Inventory open.
[0:17] You: Select folder.
[0:17] You: Hold ctrl down, select another folder, click open, drag key to locker--everything previously selected copies over
[0:17] Hn: Actually?
[0:17] You: And that makes sense. that makes logical sense.
[0:17] You: Save I didn't do that
[0:17] Hn: It doesn't even need that.
[0:17] You: And neither did Neome
[0:18] You: Oh?
[0:18] Hn: Nope
[0:18] You: So what did happen?
[0:18] Hn: Open inventory. Open folder with item. SL has tagged a random folder. Hold control on the item to drag out = Mayhem.
[0:19] You: Okay, fine, but what you're saying is, when you click objects, say, SL tags a random folder too?
[0:19] You: Or what?
[0:19] Hn: It can.
[0:19] Hn: Not always.
[0:19] You: Why?
[0:19] Hn: It can also keep the last opened folder as part of the mass-select.
[0:20] You: Right, if you're holding Ctrl down
[0:20] Hn: Why? Because of sloppy coding of course.


And the sloppy coding in question, we're thinking, may not be Zen's at all, but Linden Labs'. In which case, it's a larger grid-based behavior, not localized.

[0:20] You: Well, okay, but--maybe we're looking at it wrong
[0:20] Hn: They don't start the control selection after you hold control.
[0:20] You: We've been looking at our end, the end user end
[0:20] You: Open objects, click on key, hold down ctrl, drag item over
[0:20] You: You're saying it goes beyond that
[0:21] Hn: They include any items that were selected before you held control.


Now, this is a baffling thing to me. Who remembers which folders you've had open and active for all the hours you've been on the grid? The grid, apparently. So there's a set chance of this happening, to anyone, at any time, because of how SL structures memory and inventory.

This is not good.

[0:21] You: How long does SL 'remember' things?
[0:21] Sf: too damn long :P
[0:21] Hn: Till log
[0:21] Hn: Or relog
[0:22] You: Because in my case, I am in and out of the notecards folder CONSTANTLY
[0:22] Hn: That clears it
[0:22] You: But Neome swears she didn't do anything with the latex folder--one of the folders she lost--before dragging the copper ring out to the paintintg
[0:23] Hn: I have seen all sorts of inventory issues with lag at the wrong moment.
[0:23] Hn: It's not a good system.


So partially, it's a hint to keep your cache cleared, and to relog every now and again, even if you don't need to, because it kills those history markers that SL is placing in, that the end user doesn't know about. Again, though? This is not good.

[0:25] Sf: Had you determined yet whether any no-trans items were affected?
[0:26] Hn: I have some of them backed up out of world, but not all of them.
[0:26] You: Not yet
[0:26] Hn: Oh, LL is also to blame for one more part of the debacle.
[0:26] You: I need to work on the names, and run by Draconic's
[0:26] You: See what she's selling those items as
[0:26] You: Because they're most likely to be notrans
[0:26] Hn: They should have the same warning about moving trans items.


So my friend decided to set up a test, to see--on his own--if notrans items were copied over and deleted in a similar script. What he discovered astounded us all. A notrans, copy/mod item that he had in inventory--an extra one his partner had sent him, before she fully understood the permissions system--was eaten without a stray chat line by his mailbox. Which he wrote the script for. And subsequently the original item vanished from his inventory.

So, notrans items can copy over in situations like this. This, in my opinion? Makes this a potentially major problem.

I have no clue how to phrase something like this for the JIRA, however, and we're still having the problem of reproducing it, every single time. Because the main problems reported on the JIRA, I thought, had to be verifiable.

So this is now a larger problem with the structure of memory and inventory, and the structure of LSL when dealing with items and objects crossing paths. I still don't get why all previous tests worked fine without Zen's scripts, and didn't with them, but my friend has now proven it can happen with other inventory-drop scripted items.

We're still working on things.

4 comments:

Edward Pearse, Duke of Argylle said...

This may sound daft, but when you're dragging something from your inventory to put somewhere else (on the ground, in a painting, to another AV) why are you holding the CTL key down anyway? The only time I do that is when I'm transferring multiple items and that usually involves folder to folder transfer, or having an open contents tab while creating a vendor.

Emilly Orr said...

1. Because Brookhaven's instructions ask you to hold the ctrl key down to transfer.

2. Because you can't transfer a single item into a prim that's not yours without holding down ctrl.

That last one is very important--you can drag things from your inventory into prims you've made all day long, and have no problems. Dragging things into prims that aren't yours, though, requires some small bit of finessing...and can result in inventory loss.

Baron K. Wulfenbach said...

Might I suggest you contact Torley about this for help with the reproduction? He might have some suggestions on proper JIRA presentation.

KW

ZenMondo Wormser said...

Em,

For further testing of the behavior and to take my scripting out of it I suggest using the following as a control. One Line of Code

========

default
{
state_entry()
{
llAllowInventoryDrop(TRUE);
}

}

========

That's it. See if the behavior still manifests. One line that allows inventory to be dropped, the rest is window dressing.