Welcome to the Second Life Forums Archive

These forums are CLOSED. Please visit the new forums HERE

Temp Rez on Rez?

ZeeScarlet Zenovka
Registered User
Join date: 11 Jul 2007
Posts: 26
11-23-2008 11:07
Soooo I've started my own prefab business and I'm trying to set up the venders. I've spent about 4000 l on a nice little vender system that was supposedly supposed to supply me with a temp rezzing box that saved the positions of the pieces inside while at the same time letting me set them to "temp rez" so these huge structures don't eat up my prims.


Well...it does everything that I want..EXCEPT the temp rez bit....(which I don't have to tell you is completely frustrating)

Boxing scripts are free..and so are temp rezzers. I actually use a freebie boxing script when I sell my structures......but I need the buildings to rez as temporary for my vending system.

Right now I am more or less setting the build to temporary manually ..picking it up as a module using the box "store as 1" option and having my customers press "rez" over and over on the vender interface if they want to look at the building for more then a minute.

So..is there a good script out there that anyone can recommend that will

1. Act as a boxing script by saving the rotations of all the objects.
but then
2. Rez those objects over and over in a "temp" capacity as soon as the box itself is rezzed by my vender.

?

Thanks in advance.


edit: Here's an example of the boxing script I'm currently using.

-------------------------------------------------------------------------------------

integer listenchannel = 31;
integer talkchannel = -23987;

vector lastpos;
rotation lastrot;

integer timeout = 1800;//say pos|rot every this many seconds even if we haven't moved, as a keepalive
integer counter;

integer RandInt(integer lower, integer higher)
{
integer range = higher - lower;
integer result = llFloor(llFrand(range + 1)) + lower;
return result;
}

default
{
state_entry()
{
llListen(listenchannel, "", llGetOwner(), "";);
}

on_rez(integer param)
{
//if there are objects in me, tell owner how to unpack
//if there are no objects in me, tell owner how to pack
if (llGetInventoryNumber(INVENTORY_OBJECT) > 0)
{
llOwnerSay("It looks like I'm packed and ready to rez. Say /" + (string)listenchannel + "help to see my instructions.";);

}
else
{
llOwnerSay("I can help you pack up and rez big multi-object builds. Say /" + (string)listenchannel + "help to see my instructions.";);
}
llResetScript();
}

listen(integer channel, string name, key id, string message)
{
if (message == "record";)
{
llRegionSay(talkchannel, "record|" + (string)llGetPos() + "|" + (string)llGetRot());
}
else if (message == "set";)
{
llRegionSay(talkchannel, "set|" + (string)llGetPos() + "|" + (string)llGetRot());
}
else if (message == "rez";)
{
talkchannel = RandInt(-2000000, -1000);
integer n;
for (n = 0; n < llGetInventoryNumber(INVENTORY_OBJECT); n++)
{
llRezObject(llGetInventoryName(INVENTORY_OBJECT, n), llGetPos() + <0,0,1>, ZERO_VECTOR, llGetRot(), talkchannel);
}
llSleep(1.0);
llRegionSay(talkchannel, "set|" + (string)llGetPos() + "|" + (string)llGetRot());
lastpos = llGetPos();
lastrot = llGetRot();
llSetTimerEvent(1.0);
}
else if (message == "help";)
{
llGiveInventory(id, llGetInventoryName(INVENTORY_NOTECARD, 0));
}
else
{
llRegionSay(talkchannel, message);
}
}

timer()
{
if (llGetPos() == lastpos && llGetRot() == lastrot)
{
//position hasn't changed, just increment the timer and fo keepalive if necessary
counter++;
if (counter >= timeout)
{
llRegionSay(talkchannel, "set|" + (string)llGetPos() + "|" + (string)llGetRot()); counter = 0;
}
}
else
{
llRegionSay(talkchannel, "set|" + (string)llGetPos() + "|" + (string)llGetRot());
lastpos = llGetPos();
lastrot = llGetRot();
}
}
}




--------------------------------------------------------------------------------------------

It currently requires you to type /31rez to rez an object...is there anyway to set it up to temp rez the object every minute or so...and to do so ONREZ?
Void Singer
Int vSelf = Sing(void);
Join date: 24 Sep 2005
Posts: 6,973
11-23-2008 12:07
actually you want the part script to have the temp on rez status changer, and since you don't want even momentary bumps in you limits, it'll need to loop through and change all prims in each set to temp on rez before you take it... could be a pain if you're slow on the draw. possible add a click to temp, then a ready msg for the take to inventory...
_____________________
|
| . "Cat-Like Typing Detected"
| . This post may contain errors in logic, spelling, and
| . grammar known to the SL populace to cause confusion
|
| - Please Use PHP tags when posting scripts/code, Thanks.
| - Can't See PHP or URL Tags Correctly? Check Out This Link...
| -
ZeeScarlet Zenovka
Registered User
Join date: 11 Jul 2007
Posts: 26
11-23-2008 12:14
Hmmm is there anyway to tell the script to repeat?

I tinkered and got the box to rez on rez.....and I can set the objects inside to temporary manually before picking them up and shoving them in the box.....

Is there a way I can script it so llsleep = 1 minute before it goes back and rezzes again? actually I could probably have it do it for like 5 minutes scripting it that way..which would be more then enough time for the person to get a good look.....but would be oh so sloppy :/
ZeeScarlet Zenovka
Registered User
Join date: 11 Jul 2007
Posts: 26
11-23-2008 12:22
Hmmm is there anyway to tell the script to repeat?

I tinkered and got the box to rez on rez.....and I can set the objects inside to temporary manually before picking them up and shoving them in the box.....

Is there a way I can script it so llsleep = 1 minute before it goes back and rezzes again? actually I could probably have it do it for like 5 minutes scripting it that way..which would be more then enough time for the person to get a good look.....but would be oh so sloppy :/

I'm gonna try having it rez on rez...wait 1 minute and rez again...doing this 5 times to see if it works...wish me Luck :P