Jump to content

Rotation offsets on rezz and llPassCollision


steph Arnott
 Share

You are about to reply to a thread that has been inactive for 3653 days.

Please take a moment to consider if this thread is worth bumping.

Recommended Posts

Hi, i am trying to rezz an object with a collision screen using RLV teleport. The problem is i can not work out how to get the rotation and vector offset for return teleport. As the screen is on an internal face, I was thinking maybe the llPassCollison would work as in the root prim would be able to llGetPos but i have never used this, an example would help or maybe this is not the best solution. Any help would be appreciated.

Link to comment
Share on other sites

I am sorry, but I just do not understand what you're trying to do. 

You force teleport someone to a pre-set coordinate using @tpto:x/y/z=force.   I think they collide with something when they get there, and that causes something to rez, but I'm not sure.   Other than that, I'm at a loss.

If you can explain more clearly what you want to do, I will do my best to help.

Link to comment
Share on other sites

Ok, hope this is more understandable.

im standing i a field, i rezz a teleport screen in front of me. (the screen has a hard code vector to send me to my home position). Its the return vector thats the problem. If i record the contact with the screen i will be bounced back to home pos. I can record the vector with an offset as long as it is rezzed with no rotation. If i turn 90 deg e.g and rezz, my offset is incorrect. What i was thinking is if i do a llPassCollision will the root prim im standing on be the returen vector or do i have to do some sort of rotation offset? I have never used PassCollision so i not know how it works and doing a rotation offset well not sure were to start on that one.

Link to comment
Share on other sites

I'm sorry, but I'm still puzzled.

You said you're using RLV to do this force teleport when you walk into the teleport screen.

So the code inside your teleport screen must look something like this (the vector will take you to my shop, if you try it):

 

vector HomeSim =  <237312.00000, 295936.00000, 0.00000>;// =<replace with vector given by calling llGetRegionCorner on your home sim>vector HomeBase= <148,42,22>; //=<replace with vector given by calling llGetPos while at home>string target;default{	state_entry()	{		target = (string)(HomeSim.x+HomeBase.x)+"/"+(string)(HomeSim.y+HomeBase.y)+"/"+(string)HomeBase.z;	}	collision_start(integer total_number)	{		if(llDetectedKey(0)==llGetOwner()){			llOwnerSay("@tpto:"+target+"=force");			llSetTimerEvent(5.0);		}	}	timer()	{		llDie();	}}

 

Where do rotations come into it?

Link to comment
Share on other sites

The home RLV forced teleport is at a fixed position, the other is rezzed from an attached HUD. If i rotate my self and call to rezz the screen i have a rotation problem in as i do not return to the center of the rezzed prim. without a vector rotation offset i arrive at the collision point which automaticaly invoke another collision start sending me back to the home position. Think of it like this an empty box i walk into the far wall that tp me to home, i walk into the homet screen and i tp to the centre of the box, not at the recorded tp point which will instantly invkoke the collision start event and bounce me back.

Link to comment
Share on other sites

I am sorry but I really can't understand what you're trying to explain.

You are rezzing something from an attached hud.     If you walk into this thing that you've just rezzed, you want to teleport home.   Have I got that bit right?

What I don't understand is all this about teleporting somewhere other than the home position you say you've hard coded.   What code is causing that to happen?   All this about returning to the centre of the rezzed prim makes me think I must be missing an important part of the story.   

If you simply want to rez the tp screen in front of you at a particular rotation,  then multiplying the desired offset and rotation by llGetRot() in the llRezAtRoot command  will do it, but I suspect there's more to it than that.

It would help no end to see your code rather than have to try to guess what you're trying to describe.  

Link to comment
Share on other sites

You are about to reply to a thread that has been inactive for 3653 days.

Please take a moment to consider if this thread is worth bumping.

Please sign in to comment

You will be able to leave a comment after signing in



Sign In Now
 Share

×
×
  • Create New...