• All submissions to this site are governed by Second Life Project Contribution Agreement. By submitting patches and other information using this site, you acknowledge that you have read, understood, and agreed to those terms.
Issue Details (XML | Word | Printable)

Key: SVC-2935
Type: Bug Bug
Status: Resolved Resolved
Resolution: Duplicate
Priority: Major Major
Assignee: Unassigned
Reporter: madgeek nixdorf
Votes: 3
Watchers: 2
Operations

If you were logged in you would be able to see more operations.
2. Second Life Service - SVC

llSetLinkPrimitiveParams() will only move an agent 54m from the root object in the linkset.

Created: 28/Aug/08 01:51 PM   Updated: 28/Aug/08 04:13 PM
Return to search
Component/s: Scripts
Affects Version/s: 1.24 Server
Fix Version/s: None

Issue Links:
Duplicate
 
Relates
 


 Description  « Hide
llSetLinkPrimitiveParams() was (yet again) throttled back to only work in a 54m radius sphere from the root object in a linkset. This breaks many newer teleporters and personal avatar movement devices, and is not acceptable.

Here is some demo code for anyone who wants to see this for themselves.

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

vector key2pos(key in_target)
{
return llList2Vector(llGetObjectDetails(in_target, [OBJECT_POS]), 0);
}
default
{
state_entry()

{ llSitTarget(<0.0, 0.0, 1.0>, ZERO_ROTATION); }

touch_start(integer total_number)
{
if (llAvatarOnSitTarget() == llDetectedKey(0))

{ vector position_a = key2pos(llAvatarOnSitTarget()); llSay(0, "You are currently located at " + (string)position_a + ". Attempting to move your position up 70.0m, keeping this root object stationary."); llSetLinkPrimitiveParams(llGetNumberOfPrims(), [PRIM_POSITION, <0.0, 0.0, 70.0>]); vector position_b = key2pos(llAvatarOnSitTarget()); llShout(0, "Now you are located at " + (string)position_b + ". You SHOULD be located at " + (string)(position_a + <0.0, 0.0, 70.0>) + ". You are offset from the root prim by " + (string)llVecDist(position_a, position_b) + " meters."); }

}
changed(integer change)
{
if (change & CHANGED_LINK)
{
if (llAvatarOnSitTarget())

{ llSay(0, "Click the box to run the demo."); llSetLinkPrimitiveParams(llGetNumberOfPrims(), [PRIM_POSITION, ZERO_VECTOR]); }

}
}
}



 All   Comments   Change History      Sort Order: Ascending order - Click to sort in descending order
Gregory Maurer added a comment - 28/Aug/08 02:17 PM
The only effect this has is to break existing, (positive) content. A sit target can extend 300m in any direction, and this function is very useful for low-lag teleporters. Limiting it to 54m makes no sense at all. Even with full sim range, this couldn't be used as a weapon ( orbiter ).

Benefits of 54m:
Force teleporter makers to use warpPos() , multiple llSetPos() , or client based teleporter for any distance over 300m on an axis

Benefits of Full Sim:
Simple teleporter to anywhere in the sim, without having to use memory intensive/looped functions.

Conclusion: I hope this is not intentional


darling brody added a comment - 28/Aug/08 02:27 PM - edited
Soft Linden wanted to know if they break it again.

He had previously fixed it to move the avatar anywayere within a region of 256,256,4096.

Later it was discovered that the objects rotation was not tacken into account maning that you could end up with a safe destination area outside of the region, such as 256,4096,256.

I spent two months developing a line of teleporters based on this and have sold about $500 USD worth of them after a linden had confirmed what the limits are going to be. It is totaly unreasonable to restrick them in this way. How do they expect people to develop products?

At the very least a range of 256x256x256 or 300,300,300 (like sit target) should be permitted.

Personally i think 256x2656x4096 should be re-instated as promised. It was announced. It was tested on beta. and products have been developed and solf based on it.

Darling


Harleen Gretzky added a comment - 28/Aug/08 04:13 PM
Duplicate of SVC-2931