Welcome to the Second Life Forums Archive

These forums are CLOSED. Please visit the new forums HERE

Shield script problem

Sylvan Shilling
Registered User
Join date: 21 Nov 2008
Posts: 141
01-17-2010 22:39
Spellfire shields act weird for me. Some do not throw the blocking prim.

I have shields from 4 merchants. In each case, one or all don't work.

In two cases, I have more than one shield from the same merchant. Some work, some don't.

Some work at first but then stop.

Merchants try shields to make sure they work, then give them to me. They don't work.

I have checked that I don't have anything on that would interfere.

I have checked in various sims that allow scripts.

None of the scripts are mod, so I can't reset.

None of the merchants have a clue what's wrong.

One of my alts has had the problem too.

Something about my computer? Relatively new iMac desktop.
Twisted Pharaoh
if ("hello") {"hey hey";}
Join date: 24 Mar 2007
Posts: 315
01-17-2010 23:54
You can reset a no mod script with the Tools menu > Reset Scripts in Selection (in Edit mode of course).
Sylvan Shilling
Registered User
Join date: 21 Nov 2008
Posts: 141
Nope
01-18-2010 08:21
I have tried that. It gives me a pop-up with Mono and LSL grayed out.
Innula Zenovka
Registered User
Join date: 20 Jun 2007
Posts: 1,825
01-18-2010 10:09
From: Sylvan Shilling
I have tried that. It gives me a pop-up with Mono and LSL grayed out.
Reset, not recompile -- the reference to the particular pop-up suggests you may have hit the wrong button. And assuming the object (though not the script) is mod, don't you get the option to reset it if you try to open the script? I know you can't see the script but I thought the blanked-out window it opens had a reset button at the bottom right.
Sylvan Shilling
Registered User
Join date: 21 Nov 2008
Posts: 141
01-18-2010 10:25
From: Innula Zenovka
Reset, not recompile -- the reference to the particular pop-up suggests you may have hit the wrong button. And assuming the object (though not the script) is mod, don't you get the option to reset it if you try to open the script? I know you can't see the script but I thought the blanked-out window it opens had a reset button at the bottom right.
Thanks. Reset is grayed out. Object is not mod.
Innula Zenovka
Registered User
Join date: 20 Jun 2007
Posts: 1,825
01-18-2010 10:43
I don't know much about Spellfire, but I wonder if it's one of these deals where builders buy scripts from third parties to put in their shields or whatever.

The most likely reason -- the easiest mistake to make, anyway, or I find it so -- that would cause these things to work for the merchant and not for you is that the merchant has put into the object a script that sets up a listener like llListen(some_channel, "", llGetOwner(),"";); in state entry (so it works fine for the merchant, who owns the shield when he puts the script in) but that doesn't include something to reset the script when the object's owner changes and thus make it listen to the new owner.

Since the objects are no mod, I think all you can do is take it up with the scripter, or ask the merchants to.
Sylvan Shilling
Registered User
Join date: 21 Nov 2008
Posts: 141
01-18-2010 10:50
From: Innula Zenovka
I don't know much about Spellfire, but I wonder if it's one of these deals where builders buy scripts from third parties to put in their shields or whatever.

The most likely reason -- the easiest mistake to make, anyway, or I find it so -- that would cause these things to work for the merchant and not for you is that the merchant has put into the object a script that sets up a listener like llListen(some_channel, "", llGetOwner(),"";); in state entry (so it works fine for the merchant, who owns the shield when he puts the script in) but that doesn't include something to reset the script when the object's owner changes and thus make it listen to the new owner.

Since the objects are no mod, I think all you can do is take it up with the scripter, or ask the merchants to.
Thanks. May well be the reason for some of them, although, in one case, the merchant is Aaron Cerveau, the guy who scripts Spellfire. I will mention to the merchants.
Rolig Loon
Not as dumb as I look
Join date: 22 Mar 2007
Posts: 2,482
01-18-2010 11:07
The "something to reset the script when the object's owner changes" can be as simple as

CODE

changed (integer change)
{
if (change & CHANGED_OWNER)
{
llResetScript();
}
}
_____________________
It's hard to tell gender from names around here but if you care, Rolig = she. And I exist only in SL, so don't ask.... ;)

Look for my work in XStreetSL at
Sylvan Shilling
Registered User
Join date: 21 Nov 2008
Posts: 141
01-18-2010 11:52
From: Rolig Loon
The "something to reset the script when the object's owner changes" can be as simple as

CODE

changed (integer change)
{
if (change & CHANGED_OWNER)
{
llResetScript();
}
}
I, myself, am just learning to script. But I will bookmark this thread for reference.

In some cases, the shield works at first, then stops. So it doesn't seem like the owner issue would apply.

Also, the shields from one merchant give the error: Cannot rez no copy objects from an attached object. The merchant has tried copies of the shields, found they worked, and immediately given them to me. I tried them right away and they did not work. These shields work for other people.
Luke Poplin
Registered User
Join date: 2 Feb 2007
Posts: 32
01-19-2010 06:40
I think your best bet is to contact Aaron (Spell Fire Creator) and have him work through it with you.
Rolig Loon
Not as dumb as I look
Join date: 22 Mar 2007
Posts: 2,482
01-19-2010 07:27
From: Sylvan Shilling

In some cases, the shield works at first, then stops. So it doesn't seem like the owner issue would apply.
I'm not even sure that I know what this device is intended to do, but there are several reasons why a scripted device might fail intermittently. Lag, in its many forms, is a major culprit. If there's too much load on the sim, or on your own client, there can often be a delay in execution. If several signals arrive at the device during a period of heavy lag, the device can miss some (or all) of them. You may also have competing devices sending signals that interfere with each other. Other scripted objects in the area or attached to you may be trying to compete on the same channel. These and other factors might affect different users in different ways and various times. (Or, of course, you could just have bad luck or be cursed. :rolleyes: )
From: someone
Also, the shields from one merchant give the error: Cannot rez no copy objects from an attached object. The merchant has tried copies of the shields, found they worked, and immediately given them to me. I tried them right away and they did not work. These shields work for other people.

This one happens when the creator tried to set permissions on an object while it was still in his inventory. New perms don't take effect until the next time an object is rezzed, so the creator may have thought he made the rezzable object copiable, but the rezzer didn't know it. (ETA: The system works for the creator because he's the creator, not the next owner. Permissions apply to the next owner.) The right way to set up a system like this is to rez it parts on the ground, set all permissions, and then put the rezzable object into the contents of the rezzer. The next time the rezzer works, it knows that it contains a copiable object.
_____________________
It's hard to tell gender from names around here but if you care, Rolig = she. And I exist only in SL, so don't ask.... ;)

Look for my work in XStreetSL at
Sylvan Shilling
Registered User
Join date: 21 Nov 2008
Posts: 141
Thanks
01-19-2010 12:59
Thanks Rolig. The merchant fixed the second problem. Not sure what he did.

The shields are used for combat. Opponents are throwing prims at you from their swords, bows, etc. A shield can throw out a prim to block the incoming one. You press the LMB and the C or down key.