Jump to content

Looking for a simple teleporter script


Mog Munster
 Share

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

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

Recommended Posts

For my land, I've been looking for a decent teleporter, but I couldn't find any.

Free teleporters/scripts were limited by height and Non-free teleporters had all these gimicks that are useless for me.

What I'm looking for is a copy/mod teleporter or copy teleport script that simply does this:

When you have your mouse cursor over a teleporter item, the icon changes into a chair icon (sit) and you simply click to get to the other teleporter's location.

I need it to teleport to altitude over 1600m. 

I've seen plenty of these teleporters in shops and RP areas, but I can't seem to find it on my own.  I've IMed them, but I get no response.  So I'm turning to the forums.  Is this script a freebie (public)?  If it is where can I get it?

Thank you.

Link to comment
Share on other sites

https://marketplace.secondlife.com/p/Unlimited-Teleport-Range-Script-FULL-PERM-now-with-menu-multi-locations-3-access-modes/326493?id=326493&slug=Unlimited-Teleport-Range-Script-FULL-PERM-now-with-menu-multi-locations-3-access-modes

This script is simple and not limited to heights either.  You can use a single location script or a multi location script..both in the package. You don't have to script anything, all there is to do is paste the coordinates of the destination in the script. Then when you want to teleport on touch..right click the prim you put the script in/edit/tab general and there select the action 'Click to 'Sit on object'. Now you tp on touch.

  • Like 1
Link to comment
Share on other sites

  • 4 years later...

This TP script no longer works.

 

If a scripted can fix here it is.

 

//_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/
//_/_/_/_/_/_/_/_/_/_/_/_/_/ The script begins _/_/_/_/_/_/_/_/_/_/_/_/_/_/
//_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/
vector destination = <128,128,3800>; // the destination coordinate
string text = "Touch To Teleport"; // optional floating text on the teleporter, input a space if not used
vector text_color = <1.0,1.0,1.0>; // the floating text's color
integer touch2sit = TRUE; // TRUE - left click to sit; FALSE - left click to touch
integer access_mode = 1; // 1 - public; 2 - owner; 3 - group;

//=================================================
posJump( vector target_position )
{// Trickery discovered by Uchi Desmoulins and Gonta Maltz. More exact value provided by Fake Fitzgerald.
llSetPrimitiveParams([PRIM_POSITION, <1.304382E+19, 1.304382E+19, 0.0>, PRIM_POSITION, target_position ]);
}
//=================================================
warpPos( vector destpos )
{ //R&D by Keknehv Psaltery, 05/25/2006; unlimited modified by Klug Kuhn 10/01/2008

// Change this safety range depends on your script memory
// The larger the range, the quicker (and less "flashes") to get to the destination, however, the more to eat up script memory.
float safety_range = 1000.0;


integer arrived = FALSE;
integer within_range = FALSE;
vector inter_pos = ZERO_VECTOR;
vector current_pos = llGetPos();
vector checking_pos = destpos;
integer jumps = 0;
list rules = [];
integer count = 0;

if (llVecDist(destpos, current_pos) <= safety_range)
{
jumps = (integer)(llVecDist(destpos, current_pos) / 10.0) + 1;
rules = [ PRIM_POSITION, destpos ]; //The start for the rules list
count = 1;
while ( ( count = count << 1 ) < jumps)
rules = (rules=[]) + rules + rules; //should tighten memory use.
llSetPrimitiveParams( rules + llList2List( rules, (count - jumps) << 1, count) );
}
else
{
while (!arrived)
{
current_pos = llGetPos();
checking_pos = destpos;

within_range = FALSE;
while (!within_range)
{
if (llVecDist(checking_pos,current_pos) > safety_range)
{
checking_pos = <(current_pos.x + checking_pos.x) / 2.0,(current_pos.y + checking_pos.y) / 2.0,(current_pos.z + checking_pos.z) / 2.0>;
}
else
{
within_range = TRUE;

if (llVecDist(destpos, current_pos) <= safety_range)
{
jumps = (integer)(llVecDist(destpos, current_pos) / 10.0) + 1;
rules = [ PRIM_POSITION, destpos ]; //The start for the rules list
count = 1;
while ( ( count = count << 1 ) < jumps)
rules = (rules=[]) + rules + rules; //should tighten memory use.
llSetPrimitiveParams( rules + llList2List( rules, (count - jumps) << 1, count) );

arrived = TRUE;
}
}
}

if (!arrived)
{
jumps = (integer)(llVecDist(checking_pos, current_pos) / 10.0) + 1;
rules = [ PRIM_POSITION, checking_pos ]; //The start for the rules list
count = 1;
while ( ( count = count << 1 ) < jumps)
rules = (rules=[]) + rules + rules; //should tighten memory use.
llSetPrimitiveParams( rules + llList2List( rules, (count - jumps) << 1, count) );
}
}
}
}
//=================================================
default
{
state_entry()
{
llSitTarget(<0.0, 0.0, 0.01>, ZERO_ROTATION);
llSetText(text,text_color,1.0);
if (touch2sit)
llSetClickAction(CLICK_ACTION_SIT);
else
llSetClickAction(CLICK_ACTION_NONE);
}
changed(integer change)
{
if (change & CHANGED_LINK)
{
key user = llAvatarOnSitTarget();
if (llGetAgentSize(user) != ZERO_VECTOR)
{
integer access_granted = FALSE;
if (access_mode == 1)
access_granted = TRUE;
else if (access_mode == 2)
{
if (user == llGetOwner())
access_granted = TRUE;
else
{
llUnSit(user);
llSay(0," sorry, owner access only.");
}
}
else if (access_mode == 3)
{
if (llSameGroup(user))
access_granted = TRUE;
else
{
llUnSit(user);
llSay(0," sorry, group memeber access only.");
}
}

if (access_granted)
{
vector init_pos = llGetPos();
// warpPos(destination); // use warPos() function
posJump(destination); // use posJump() function
llUnSit(user);
llSleep(0.2);
// warpPos(init_pos); // use warPos() function
posJump(init_pos); // use posJump() function
}
}
}
}
}
//_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/
//_/_/_/_/_/_/_/_/_/_/_/_/_/ The script ends _/_/_/_/_/_/_/_/_/_/_/_/_/_/_/
//_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/

Link to comment
Share on other sites

  • 1 year later...
On 4.2.2018 at 9:28 PM, samphonic said:

This is not working for me.

You know this is an old thread and it might have been better to start a brand new one.

But since you ask, if you are looking for a teleporter that only needs to work within a single sim and doesn't need more than 13 destinations, this is the one you want:
https://marketplace.secondlife.com/p/Eightball-Magics-Auto-Configuring-Teleporter-FREE-FULL-PERM/2753003

  • Thanks 1
Link to comment
Share on other sites

You are about to reply to a thread that has been inactive for 2272 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...