OSSL/TELEPORTER

Below is the video on how to Install OSSL

and Setup Walk In Teleporter

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

Below is the code you neeed

OSFunctionThreatLevel = VeryLow

; OS Functions enable/disable
; For each function, you can add one line, as shown
; The default for all functions allows them if below threat level

Allow_osDrawEllipse = true
Allow_osDrawFilledPolygon = true
Allow_osDrawFilledRectangle = true
Allow_osDrawImage = true
Allow_osDrawLine = true
Allow_osDrawPolygon = true
Allow_osDrawRectangle = true
Allow_osDrawText = true
Allow_osGetAgents = true
Allow_osGetAvatarList = true
Allow_osGetCurrentSunHour = true
Allow_osGetMapTexture = true
Allow_osGetSunParam = true
Allow_osGetTerrainHeight = true
Allow_osIsNpc = true
Allow_osList2Double = true
Allow_osMovePen = true
Allow_osNpcGetOwner = true
Allow_osParseJSON = true
Allow_osParseJSONNew = true
Allow_osSetFontName = true
Allow_osSetFontSize = true
Allow_osSetPenCap = true
Allow_osSetPenColor = true
Allow_osSetPenColour = true
Allow_osSetPenSize = true
Allow_osSetSunParam = true
Allow_osTeleportOwner = true
Allow_osWindActiveModelPluginName = true
;;
;; *** Threat-Level=Nuisance
Allow_osSetEstateSunSettings = false
Allow_osSetRegionSunSettings = false
;;
;; *** Threat-Level=VeryLow
Allow_osGetDrawStringSize = true
Allow_osGetWindParam = true
Allow_osNpcStopMoveToTarget = true
Allow_osSetDynamicTextureData = true
Allow_osSetDynamicTextureDataBlend = true
Allow_osSetDynamicTextureDataBlendFace = true
Allow_osSetDynamicTextureURL = true
Allow_osSetDynamicTextureURLBlend = true
Allow_osSetDynamicTextureURLBlendFace = true
Allow_osSetParcelMediaURL = false
Allow_osSetParcelSIPAddress = false
Allow_osSetPrimFloatOnWater = true
Allow_osSetWindParam = false
Allow_osTerrainFlush = false
Allow_osUnixTimeToTimestamp = true
;;
;; *** Threat-Level=Low
Allow_osAvatarName2Key = true
Allow_osFormatString = true
Allow_osKey2Name = true
Allow_osLoadedCreationDate = false
Allow_osLoadedCreationID = false
Allow_osLoadedCreationTime = false
Allow_osMessageObject = true
;;
;; *** Threat-Level=Moderate
Allow_osGetGridCustom = false
Allow_osGetGridHomeURI = false
Allow_osGetGridLoginURI = false
Allow_osGetGridName = true
Allow_osGetGridNick = true
Allow_osGetRegionStats = true
Allow_osGetSimulatorMemory = true
Allow_osSetSpeed = true
Allow_osGetGridGatekeeperURI = true
;;
;; *** Threat-Level=High
Allow_osOwnerSaveAppearance = ESTATE_OWNER, ESTATE_MANAGER
Allow_osCauseDamage = ESTATE_OWNER, ESTATE_MANAGER
Allow_osCauseHealing = ESTATE_OWNER, ESTATE_MANAGER
Allow_osGetAgentIP = false
Allow_osGetLinkPrimitiveParams = ESTATE_OWNER, ESTATE_MANAGER
Allow_osGetPrimitiveParams = ESTATE_OWNER, ESTATE_MANAGER
Allow_osGetRegionMapTexture = ESTATE_OWNER, ESTATE_MANAGER
Allow_osGetScriptEngineName = ESTATE_OWNER, ESTATE_MANAGER
Allow_osGetSimulatorVersion = ESTATE_OWNER, ESTATE_MANAGER
Allow_osMakeNotecard = ESTATE_OWNER, ESTATE_MANAGER
Allow_osMatchString = ESTATE_OWNER, ESTATE_MANAGER
Allow_osNpcCreate = ESTATE_OWNER, ESTATE_MANAGER
Allow_osNpcGetPos = ESTATE_OWNER, ESTATE_MANAGER
Allow_osNpcGetRot = ESTATE_OWNER, ESTATE_MANAGER
Allow_osNpcLoadAppearance = ESTATE_OWNER, ESTATE_MANAGER
Allow_osNpcMoveTo = ESTATE_OWNER, ESTATE_MANAGER
Allow_osNpcMoveToTarget = ESTATE_OWNER, ESTATE_MANAGER
Allow_osNpcPlayAnimation = ESTATE_OWNER, ESTATE_MANAGER
Allow_osNpcRemove = ESTATE_OWNER, ESTATE_MANAGER
Allow_osNpcSaveAppearance = ESTATE_OWNER, ESTATE_MANAGER
Allow_osNpcSay = true
Allow_osNpcSetRot = ESTATE_OWNER, ESTATE_MANAGER
Allow_osNpcSit = ESTATE_OWNER, ESTATE_MANAGER
Allow_osNpcStand = ESTATE_OWNER, ESTATE_MANAGER
Allow_osNpcStopAnimation = ESTATE_OWNER, ESTATE_MANAGER
Allow_osParcelJoin = false
Allow_osParcelSubdivide = false
Allow_osRegionRestart = false
Allow_osSetParcelDetails = ESTATE_OWNER, ESTATE_MANAGER
Allow_osSetPrimitiveParams = ESTATE_OWNER, ESTATE_MANAGER
Allow_osSetProjectionParams = ESTATE_OWNER, ESTATE_MANAGER
Allow_osSetRegionWaterHeight = ESTATE_OWNER, ESTATE_MANAGER
Allow_osSetStateEvents = ESTATE_OWNER, ESTATE_MANAGER
Allow_osSetTerrainHeight = ESTATE_OWNER, ESTATE_MANAGER
;;
;; *** Threat-Level=VeryHigh
Allow_osAvatarPlayAnimation = ESTATE_OWNER, ESTATE_MANAGER
Allow_osAvatarStopAnimation = ESTATE_OWNER, ESTATE_MANAGER
Allow_osGetNotecard = ESTATE_OWNER, ESTATE_MANAGER
Allow_osGetNotecardLine = ESTATE_OWNER, ESTATE_MANAGER
Allow_osGetNumberOfNotecardLines = ESTATE_OWNER, ESTATE_MANAGER
Allow_osRegionNotice = ESTATE_OWNER, ESTATE_MANAGER
Allow_osAgentSaveAppearance = ESTATE_OWNER, ESTATE_MANAGER
Allow_osSetRot = ESTATE_OWNER, ESTATE_MANAGER
;;
;; *** Threat-Level=Severe
Allow_osConsoleCommand = false
Allow_osKickAvatar = ESTATE_OWNER, ESTATE_MANAGER
Allow_osTeleportAgent = ESTATE_OWNER, ESTATE_MANAGER

//////////////////////////////////////////////////////////////////////

Below is the code for the Walk-In Teleporter

//////////////////////

////Below is LSL Place this inside as Script inworld/////
// 0.3 Collision Filter Trap added to prevent recurring collsion transports
//
// Revision Contributors:
// 0.3 patch submitted by Tiffany Sicling @ OSGrid
//
//
//
// Conditions:
// Please maintain this header. If you modify the script indicate your
// revision details / enhancements
// ================================================================
// General Information:
// Operational / functional on OpenSim Rev. 9395
// Subject to change depending on future revisions
// Dependencies require ossl & XEngine functions
// see section immediately below for OpenSim.ini mods
// [ScriptEngine.DotNetEngine]
// Enabled = true
// AllowOSFunctions = true
// OSFunctionThreatLevel = Low
// [XEngine]
// Enabled = true
// AllowOSFunctions = true
//
// ; REPLACE the 000-UUID below with YOUR (Region/Sim Owner) UUID
// Allow_osTeleportAgent = 00000000-0000-0000-0000-000000000000
//
// ; Threat level to allow, one of None, VeryLow, Low, Moderate, High, VeryHigh, Severe
// OSFunctionThreatLevel = Low
//
// Licensing:
// OpenSource Component, use AS/IS, Whereis
// This is for educational purposes. No Warranty Expressed or Implied
// Support is limited to the original authors discretion OR contributors
// So do as you will with it.
// ================================================================
// ** SCRIPT NOTES **
// This system reads a Notecard “HGLocations” of HyperGrid Addresses in and stores
// the info in a list
//
// -This Script is designed to operate within the ROOT PRIM that AVATAR will walk/step through TP
// -2 Scroll Button Prims (UP & DN) communicate to this script to go through list
// -1 Help Button Prim, Raises Menu & Dialog
// -1 Menu Button Prim, Raises Selection Teleport Menu
// examples provided separately.
//
// Data Format:
// HgSite=TargetName,TargetAddress:port,,
// HgSite=FirstStar Systems|first-star.dyndns.org:9000|<37,200,33>|<-1,0,0>
// !! NOTE !!
// TargetLandingVector (a good default is <128,128,30> )
// Places arrival point @ centre of Region, 30m Height
// TargetLookAtVector (a good default is <-1,0,0> )
// Places Avatar @ neutral viewing position.
// === GLOBAL VARIABLES
//
integer DEBUG = TRUE; //TRUE; // for DEBUG msgs
//
list LastAgents = []; // to capture avatar collisions, prevent recurrance.
// // Thanks to Tiffany Sicling for this !
integer LSTidx = 0; //Main Index Reference
integer LSTpos = 0; //Position keeper used by Buttons +
// Vars used to generate osTP string data

string tpHgData;

string tpDestName;
string tpDestAddr;
vector tpDestTrgt;
vector tpDestLook;

//
//
// Recuring Strings Variables
string strTitle = “=[HyperGrid TelePortal]=\n”;
//
// ================================

// =================
// TELEPORT FUNCTION
// LastAgents
TP_Out(key agent )
{

//
if(DEBUG) llOwnerSay(“TP_Out: Data\n”+(string)agent+
“,”+tpDestName+” @ “+tpDestAddr+”\n”+
(string)tpDestTrgt+”\n”+(string)tpDestLook);
//

osTeleportAgent(agent, tpDestAddr, tpDestTrgt, tpDestLook);//HG Teleport
//llResetScript();

}

GetRec()
{ list parts;

tpHgData = llGetObjectDesc();

parts = llParseString2List(tpHgData, [“/”],[]);

tpDestName = llList2String(parts, 0);
tpDestAddr = llList2String(parts, 1);
tpDestTrgt = (vector)llList2String(parts, 2);
tpDestLook = (vector)llList2String(parts, 3);
// llSetText(“-=[Destination: “+tpDestName+”]=-“,<0.0,1.0,0.5>,1.0); // in lt_green
llSetText(tpDestName,<0.0,1.0,0.5>,1.0); // in lt_green

llSetObjectName(tpDestName);

if(DEBUG)llOwnerSay(“LST_GetRec=”+tpDestName+” , “+tpDestAddr+” , “+(string)tpDestTrgt+” , “+(string)tpDestLook); //OwnerOnly
}

RESET_VOL_DET()
{
// THIS IS A PATCH. Resets the Volume Detection as it is bporked in OS
llVolumeDetect( 0 ); // turn off volume detection
llVolumeDetect( 1 ); // turn it back on again
}
//===========================
// ==== MAIN APPLICATION ====
//===========================
//
default
{
on_rez(integer start_param)
{
llSetText(strTitle+”\nInitializing”,<0.0,0.5,1.0>,1.0); // in blue
llResetScript();
}

changed(integer change) // something changed, take action
{
if(change & CHANGED_INVENTORY)
{

}
else if(change & CHANGED_OWNER)
{
if (DEBUG) llOwnerSay(“Owner Changed, Resetting Script”);
llResetScript();
}
//else if (change & CHANGED_REGION_RESTART) // 256? that bit is set during a region restart
else if (change & 1024) // 256? that bit is set during a region restart
{
RESET_VOL_DET();//llResetScript();
}

}

state_entry()
{
GetRec();
RESET_VOL_DET();

}
//
collision_start(integer num_detected)
// touch_start(integer num_detected)
{
if(DEBUG)llWhisper(0,”Portal Collision Occured”); // said in Whisper so that it is stored in Chat History
// CODE PATCH // To stop avatars from getting multi TP attempts from Tiffany Sicling. Adapted.
// get current time & check against list to see if the agent is in it at XX time.
// if found & XX time passed remove from list, OR just return them if Time XX not elapsed
key agent = llDetectedKey(0);
integer TimeNow = llGetUnixTime();
integer a_idx = llListFindList( LastAgents, [ agent ] );
if (a_idx != -1)
{
integer TimeLast = llList2Integer( LastAgents, a_idx + 1 );
if (TimeLast >= (TimeNow – 6)) return;
LastAgents = llDeleteSubList( LastAgents, a_idx, a_idx+1);
}
LastAgents += [ agent, TimeNow ]; // agent just TP’d so add to list with NOWTIME
// END PATCH
TP_Out(agent); // Send collided avatar to destination.
}

}

/////////////////////////////
Below is the format for the name and description for the walk in teleporter prim
///////////////////////////

Object Name

FloatingTextName/regionname/<213,114,38>/<-1,0,0>

for hyperrid use below

floatintextname/gridloginurl:port:region/<94,163,24>/<-1,0,0>

Use the below to set the teleporter for the welcome region of the Hypergrid address
floatintextname/gridloginurl:port/<94,163,24>/<-1,0,0>

 

 

 

Previous Step Next Step