Self Sims Teleport

Written by: Headmaster

Great for combat sims when you mlandmarks wornt work you you need a quick way to tp to a new location.  This can be used in a HUD.  This was written by Mulligan Silversmith

How to use:

Simply click on hud

Main_menu ( first option when clicked on)
  • Save  ( Save position Option)
  • Go To ( Teleport Options)

Save Options

  • Save 1 ( This will save a first point)
  • Save 2 ( This will save a second point)

Go To

  • Go 1 ( This will teleport you to your first saved point)
  • Go 2 ( This will teleport you to your second saved point)

How it Works:

The way it teleports you is it pushes the objected and when its wear by someone it pushes that person.

It goes throughSmiley Tonguelayers/Buildings/Solid Ground

  • You can change how fast it goes but be warned it could crash you. It also doesn't have a limit on how high it goes.. I setup to 999999 Feet and it worked kinda slow but worked

Known Problems:

  • Setting the "Movement" speed too fast could crash you
  • I wouldn't use on a laggy sims
  • Only works on one sims

 

/*  
    Sims Self Teleport v1.0
*/
integer menuChannel = 5666;             // What Channel the script listens too.
integer FASTGO = TRUE;                  // Used to see if main in fast mode or not
vector position_01;                     // The saved position.
vector position_02;                     // The saved position.

list menu=;             // The main menu when first clicking on hud/object
list Save=;   // Save options
list Go_Too=;     // Teleport options    
list Fast_Go=;      // This enabled or disable the main_menu so you can Teleport faster     

Pos_01()
{//The First Position to save on.
    position_01 = llGetPos(); // Get your position there and then

    llOwnerSay("Saving Position 1: "+(string)position_01); // Resays your position
}

 

Pos_02()
{//The Second Position to save on.
   position_02 = llGetPos(); // Get your position there and then

    llOwnerSay("Saving Position 2: "+(string)position_02);// Resays your position 

}//You can add more by copy/paste. Or ask for help Smiley Happy

GO_POS01()
{//User function
    do //Do-while loop.
    {
        llPushObject((llGetOwner()),(position_01-llGetPos())*(llVecDist(llGetPos(),position_01)),ZERO_VECTOR,FALSE); //Pushes the avatar to the position.

        llMoveToTarget(position_01,0.05); //If your agent gets close to the avatar it will direct the path.
    }
    while(llVecDist(position_01,llGetPos()) > 40.0); //End of do-while loop
    llMoveToTarget(position_01,0.05); //Movement
    llSleep(0.5); //Prevents you from flying.
    llStopMoveToTarget(); //Stops the movement

} 
 

GO_POS02()
{//User function
    do //Do-while loop.
    {
        llPushObject((llGetOwner()),(position_02-llGetPos())*(llVecDist(llGetPos(),position_02)),ZERO_VECTOR,FALSE); //Pushes the avatar to the position.

        llMoveToTarget(position_02,0.05); //If your agent gets close to the avatar it will direct the path.
    }

    while(llVecDist(position_02,llGetPos()) > 40.0); //End of do-while loop

    llMoveToTarget(position_02,0.05); //Movement

    llSleep(0.5); //Prevents you from flying.

    llStopMoveToTarget(); //Stops the movement

}

default
{
    state_entry()
    {
        llListen(menuChannel,"",llGetOwner(),""); // To change number this listen too change it up top!
    }
    listen(integer channel,string name,key id,string message)
    {
    if(message == "back")
    {//Takes you back to main menu after going into a second option menu
        llDialog(id,"Main Menu",menu,menuChannel);
    }
    if(message == "Save")
    {
        llDialog(id,"Save Menu",Save,menuChannel); // Opens second Dialog box
    }
    if(message == "FastGo")
    {
        llDialog(id,"Fast Go",Fast_Go,menuChannel); // Opens the Fast Go Options
    }
    if(message == "enable")
    {
        llOwnerSay("Hot Key enabled. Note that save option disabled");
        FASTGO = FALSE;
    }
    if(message == "disable")
    {
        llOwnerSay("Hot Key disabled. Note that save option enabled");

        FASTGO = TRUE;
    }
    if(message == "Go To")
    {
       llDialog(id,"Go Too Menu",Go_Too,menuChannel); // Opens second Dialog box
    }
    if(message == "Save 1")
    {
        Pos_01();//Sends info to function up top
    }
    if(message == "Save 2")
    {
        Pos_02();//Sends info to function up top
    }
    if(message == "Go 1")
    {
        llOwnerSay("Slapping to this point: "+(string)position_01+".");// Says when begin teleported and where

        GO_POS01();//Sends info to function up top
    }
    if(message == "Go 2")
    {
        llOwnerSay("Slapping to this point: "+(string)position_02+".");// Says when begin teleported and where

        GO_POS02();//Sends info to function up top
    }
}
    touch_start(integer total_number)
    {
        if(FASTGO)
        {
            llDialog(llDetectedKey(0),"Main Menu",menu,menuChannel); //When touched ui box will pop up
        }
        else
        {
            llDialog(llDetectedKey(0),"Main Menu",Go_Too,menuChannel); //This loads up if the Fast Option is enabled

        }
    }
}
/*

    Sims Self Teleport v1.1
    With dialog menu
    Created by: Mulligan Silversmith
    Finished on: Jan 2011
    All Rights Reserved
    

    This script is free software: you can redistribute it and/or modift it under the terms that you share         this script with other people.

    -You are allowed to use this script in your products however the script may not be sold stand alone under     any circumstance.

    -If you give this script to other people please give the original script with this license.

 

 

*/