Welcome to the Second Life Forums Archive

These forums are CLOSED. Please visit the new forums HERE

Rez objects on collide

SirSticky Hornpipe
Registered User
Join date: 24 Jun 2005
Posts: 43
01-01-2007 15:25
i have a script to rez objects on touch , i was wondering if there was a way to make objects rez on collide, i know very little about scripting
Lazink Maeterlinck
Registered User
Join date: 8 Nov 2005
Posts: 332
01-01-2007 15:45
same as rezzing on touch, but change the event to one of the collisions :)
SirSticky Hornpipe
Registered User
Join date: 24 Jun 2005
Posts: 43
01-02-2007 13:45
that was helpful thankyou .. BUT LOL i now need to to stop after each collide, this i what i have so far , could you help me and explain how to impliment the collision_end

CODE

default
{
collision_start(integer total_number)
{
string object_to_rez = llGetInventoryName(INVENTORY_OBJECT,0);
llSay(0, "Rezzing - " + object_to_rez);
llRezObject(object_to_rez,llGetPos() + <0,0,1>,ZERO_VECTOR,ZERO_ROTATION,1);
}


}
Perwin Rambler
Registered User
Join date: 24 Mar 2005
Posts: 152
collisions
01-03-2007 09:41
What is it that is colliding with the objects? if you have something constantly trying to move into|through|at this rez object, there may not be much you can do
collision() is while an object collides with another object
collision_start() is obviously just t the very begining of a collision
collision_end() is just after the objects stop colliding

if youe collision_start() is rezzing multiple copies you may want to give it a time out
like this
integer RezOn = 0;

default
{
on_rez(integer param)
{
llResetScript(); // Always a good thing to add to any script
}

collision_start(integer total_number)
{
if(RezOn == 0 )
{
string object_to_rez = llGetInventoryName(INVENTORY_OBJECT,0);
llSay(0, "Rezzing - " + object_to_rez);
llRezObject(object_to_rez,llGetPos() <0,0,1>,ZERO_VECTOR,ZERO_ROTATION,1);
RezOn = 1;
llSetTimerEvent(10.0); // Sets the timer for 10 seconds
}
}

timer()
{
RezOn = 0;
}
}

There may be more that is needed, I am at work and cannot test any of this out for you, however the general conditions and applications apply.


** Frag lost all my spaces, one day I will figure out these forums so I can keep the layout. **


From: SirSticky Hornpipe
that was helpful thankyou .. BUT LOL i now need to to stop after each collide, this i what i have so far , could you help me and explain how to impliment the collision_end

CODE

default
{
collision_start(integer total_number)
{
string object_to_rez = llGetInventoryName(INVENTORY_OBJECT,0);
llSay(0, "Rezzing - " + object_to_rez);
llRezObject(object_to_rez,llGetPos() + <0,0,1>,ZERO_VECTOR,ZERO_ROTATION,1);
}


}
Lee Ponzu
What Would Steve Do?
Join date: 28 Jun 2006
Posts: 1,770
01-03-2007 10:33
From: SirSticky Hornpipe
i now need to to stop after each collide



What do you mean? Only rez one object on the first collision? Stop moving after the collision?
SirSticky Hornpipe
Registered User
Join date: 24 Jun 2005
Posts: 43
01-03-2007 23:13
Thankyou for the info Perwin, i'll look into that.

Yes lee i do mean rez only one obj on collision