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 through
layers/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.
*/