Difference between revisions of "User:Talia Tokugawa/scripts/MapUrlExample"
Jump to navigation
Jump to search
(One intermediate revision by the same user not shown) | |||
Line 2: | Line 2: | ||
<lsl> | <lsl> | ||
key request; | |||
key request; | string name; | ||
string name; | string sim_name; | ||
string sim_name; | vector pos; | ||
vector pos; | integer current=0; | ||
integer current=0; | // | ||
default { | |||
default { | |||
state_entry() { | state_entry() { | ||
if(llGetInventoryNumber(INVENTORY_LANDMARK)) { | if(llGetInventoryNumber(INVENTORY_LANDMARK)) { | ||
Line 39: | Line 38: | ||
llResetScript(); | llResetScript(); | ||
} | } | ||
} | } | ||
</lsl> | </lsl> |
Latest revision as of 13:36, 23 August 2023
Just a quick example for a Map Url Teleport system. Will take the first landmark it finds in inventory and display the location on the map for that landmark. I added in a few things to reset the script if things get changed.
<lsl>
key request; string name; string sim_name; vector pos; integer current=0; // default { state_entry() { if(llGetInventoryNumber(INVENTORY_LANDMARK)) { current = 0; request = llRequestInventoryData(name = llGetInventoryName(INVENTORY_LANDMARK,0)); } } dataserver(key kid, string sdt) { if(kid == request) { pos = (vector)sdt; sim_name = llGetRegionName(); } } touch_start(integer itn) { if(name != "") llMapDestination(sim_name, pos, pos); } changed(integer ich) { if(ich & (CHANGED_INVENTORY | CHANGED_ALLOWED_DROP)) { if(llGetInventoryNumber(INVENTORY_LANDMARK)) { current = 0; request = llRequestInventoryData(name = llGetInventoryName(INVENTORY_LANDMARK,0)); } } } on_rez(integer irp) { llResetScript(); } }
</lsl>