Land Impact (server weight) not correctly updated when script deleted
tracked
Qie Niangao
When a script is deleted from object contents, the object's server weight is not reliably reduced according to the (updated) calculation at https://wiki.secondlife.com/wiki/Mesh/Mesh_Server_Weight as it is when a script is added. So in order to get the correct server weight reflected in the Land Impact, it may be necessary to remove _two_ scripts and add one of them back.
This can be observed manually, but to simplify testing and demonstrate that it's a server-side effect, here's a little script:
report()
{
list details = llGetObjectDetails(llGetKey(),
[ OBJECT_PRIM_EQUIVALENCE
, OBJECT_SERVER_COST
, OBJECT_TOTAL_SCRIPT_COUNT
]);
llOwnerSay(llGetObjectName()+" consists of "+(string)llGetNumberOfPrims()+" links, having "
+(string)llList2Integer(details, 2)+" scripts for a server weight of "
+(string)llList2Float(details, 1)+" and total land impact of "
+(string)llList2Float(details, 0));
}
default
{
state_entry()
{
llSetLinkPrimitiveParamsFast(LINK_ALL_CHILDREN,
[ PRIM_PHYSICS_SHAPE_TYPE, PRIM_PHYSICS_SHAPE_NONE
, PRIM_LINK_TARGET, LINK_ROOT
, PRIM_PHYSICS_SHAPE_TYPE, PRIM_PHYSICS_SHAPE_CONVEX
]);
report();
}
changed(integer change)
{
if (CHANGED_LINK & change)
llResetScript();
if (CHANGED_INVENTORY & change)
report();
}
touch_start(integer num_detected)
{
report();
}
}
Log In
Maestro Linden
marked this post as
tracked
Maestro Linden
Hi Qie Niangao thanks for the report. We've had similar reports about this issue in the past, but your repro script is very helpful to demonstrate the matter.