OsReplaceAgentEnvironment
From OpenSimulator
integer osReplaceAgentEnvironment(key agentKey, integer transition, string daycycle)
| |
Forces a dayclycle on a agent. Will do nothing if the agent is using a viewer local environment
The errors returned are: return 0 : Never 0 for now return 1 : Daycycle applied with success return -1 : Never -1 return -2 : No ossl rights return -3 : Daycycle not found return -4 : Agent not found return -5 : Fail to decode daycycle asset | |
Threat Level | Moderate |
Permissions | ${OSSL|osslParcelO}ESTATE_MANAGER,ESTATE_OWNER |
Extra Delay | 0 seconds |
Example(s) | |
// // osReplaceAgentEnvironment Script Example // Author: djphil // // Can be asset's name in object's inventory or the asset uuid string daycycle_a = "Daycycle_A"; string daycycle_b = NULL_KEY; integer transition = 3; integer switch; default { state_entry() { llSay(PUBLIC_CHANNEL, "Touch to see osReplaceAgentEnvironment usage."); llSay(PUBLIC_CHANNEL, "Transition: " + (string)transition + " second(s)."); } touch_start(integer number) { key agentKey = llDetectedKey(0); if (llGetAgentSize(agentKey) != ZERO_VECTOR) { integer result; if (switch = !switch) { result = osReplaceAgentEnvironment(agentKey, transition, daycycle_a); llRegionSayTo(agentKey, PUBLIC_CHANNEL, "daycycle_a: " + daycycle_a); } else { result = osReplaceAgentEnvironment(agentKey, transition, daycycle_b); llRegionSayTo(agentKey, PUBLIC_CHANNEL, "daycycle_b: " + daycycle_b); } if (daycycle_a == "" || daycycle_a == NULL_KEY || daycycle_b == "" || daycycle_b == NULL_KEY) { llRegionSayTo(agentKey, PUBLIC_CHANNEL, "The normal environment for the parcel or region has been selected."); } if (result > 0) { llRegionSayTo(agentKey, PUBLIC_CHANNEL, "Agent environment replaced with success!"); } else if (result < 0) { llRegionSayTo(agentKey, PUBLIC_CHANNEL, "Agent environment replaced without success!"); } } else { llInstantMessage(agentKey, "You need to be in the same region to use this function ..."); } } } With all errors message: // // osReplaceAgentEnvironment Script Example // Author: djphil // // Can be asset's name in object's inventory or the asset uuid string daycycle_a = "Daycycle_A"; string daycycle_b = NULL_KEY; integer transition = 3; integer switch; default { state_entry() { llSay(PUBLIC_CHANNEL, "Touch to see osReplaceAgentEnvironment usage."); llSay(PUBLIC_CHANNEL, "Transition: " + (string)transition + " second(s)."); } touch_start(integer number) { key agentKey = llDetectedKey(0); integer result; if (switch = !switch) { result = osReplaceAgentEnvironment(agentKey, transition, daycycle_a); llRegionSayTo(agentKey, PUBLIC_CHANNEL, "daycycle_a: " + daycycle_a); } else { result = osReplaceAgentEnvironment(agentKey, transition, daycycle_b); llRegionSayTo(agentKey, PUBLIC_CHANNEL, "daycycle_b: " + daycycle_b); } if (daycycle_a == "" || daycycle_a == NULL_KEY || daycycle_b == "" || daycycle_b == NULL_KEY) { llRegionSayTo(agentKey, PUBLIC_CHANNEL, "The normal environment for the parcel or region has been selected."); } if (result > 0) { llRegionSayTo(agentKey, PUBLIC_CHANNEL, "Agent environment replaced with success!"); } else if (result < 0) { llRegionSayTo(agentKey, PUBLIC_CHANNEL, "Agent environment replaced without success!"); if (result == -2) { llRegionSayTo(agentKey, PUBLIC_CHANNEL, "You don't have OSSL rights ..."); } if (result == -3) { llRegionSayTo(agentKey, PUBLIC_CHANNEL, "The daycycle is not found ..."); } if (result == -4) { llRegionSayTo(agentKey, PUBLIC_CHANNEL, "The agent is not found ..."); } if (result == -5) { llRegionSayTo(agentKey, PUBLIC_CHANNEL, "Fail to decode daycycle asset ..."); } } } } | |
Notes | |
This function was added in 0.9.2 |
See Also
- osReplaceAgentEnvironment
- osReplaceParcelEnvironment
- osReplaceRegionEnvironment
- osResetEnvironment