Repro script:
default {
state_entry() {
llSetTimerEvent(0.25);
}
timer() {
integer agent = llGetAgentInfo(llGetOwner());
if (agent & AGENT_ON_OBJECT) {
llSay(0, "Sitting on an object.");
}
else {
llSay(0, "Not sitting on an object.");
}
}
}
Put it in an object, wear it, sit in a vehicle and drive across a sim border.
Expected result:
"Sitting on an object" after crossing border.
Actual result:
"Not sitting on an object:" after crossing border.
Workaround:
Use something like llGetAnimation() instead, and check for "Sitting".