OsReplaceAgentEnvironment
From OpenSimulator
(Difference between revisions)
(Add exemple) |
(Add a second exemple) |
||
Line 10: | Line 10: | ||
* transition should be the viewer transition time to the new one. May not work on most viewers. | * transition should be the viewer transition time to the new one. May not work on most viewers. | ||
|ossl_example=<source lang="lsl"> | |ossl_example=<source lang="lsl"> | ||
+ | // | ||
+ | // osReplaceAgentEnvironment Script Example | ||
+ | // | ||
+ | |||
+ | // Can be asset's name in object's inventory or the asset uuid | ||
+ | string daycycle_a = "A-12AM"; | ||
+ | string daycycle_b = NULL_KEY; | ||
+ | integer transition = 3; | ||
+ | integer switch; | ||
+ | |||
+ | default | ||
+ | { | ||
+ | state_entry() | ||
+ | { | ||
+ | llSay(PUBLIC_CHANNEL, "Touch to see osReplaceAgentEnvironment usage."); | ||
+ | } | ||
+ | |||
+ | touch_start(integer number) | ||
+ | { | ||
+ | key agentKey = llDetectedKey(0); | ||
+ | |||
+ | llSay(PUBLIC_CHANNEL, "agentKey: " + (string)agentKey); | ||
+ | llSay(PUBLIC_CHANNEL, "transition: " + (string)transition); | ||
+ | |||
+ | if (switch =! switch) | ||
+ | { | ||
+ | osReplaceAgentEnvironment(agentKey, transition, daycycle_a); | ||
+ | llSay(PUBLIC_CHANNEL, "daycycle_a: " + daycycle_a); | ||
+ | } | ||
+ | |||
+ | else | ||
+ | { | ||
+ | osReplaceAgentEnvironment(agentKey, transition, daycycle_b); | ||
+ | llSay(PUBLIC_CHANNEL, "daycycle_b: " + daycycle_b); | ||
+ | } | ||
+ | } | ||
+ | } | ||
+ | </source> | ||
+ | <source lang="lsl"> | ||
// | // | ||
// osReplaceAgentEnvironment Script Example | // osReplaceAgentEnvironment Script Example |
Revision as of 15:55, 24 November 2020
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
| |
Threat Level | Moderate |
Permissions | ${OSSL|osslParcelO}ESTATE_MANAGER,ESTATE_OWNER |
Extra Delay | 0 seconds |
Example(s) | |
// // osReplaceAgentEnvironment Script Example // // Can be asset's name in object's inventory or the asset uuid string daycycle_a = "A-12AM"; string daycycle_b = NULL_KEY; integer transition = 3; integer switch; default { state_entry() { llSay(PUBLIC_CHANNEL, "Touch to see osReplaceAgentEnvironment usage."); } touch_start(integer number) { key agentKey = llDetectedKey(0); llSay(PUBLIC_CHANNEL, "agentKey: " + (string)agentKey); llSay(PUBLIC_CHANNEL, "transition: " + (string)transition); if (switch =! switch) { osReplaceAgentEnvironment(agentKey, transition, daycycle_a); llSay(PUBLIC_CHANNEL, "daycycle_a: " + daycycle_a); } else { osReplaceAgentEnvironment(agentKey, transition, daycycle_b); llSay(PUBLIC_CHANNEL, "daycycle_b: " + daycycle_b); } } } // // osReplaceAgentEnvironment Script Example // // Can be asset's name in object's inventory or the asset uuid string daycycle = "A-12AM"; integer transition = 3; default { state_entry() { llSay(PUBLIC_CHANNEL, "Touch to see osReplaceAgentEnvironment usage."); } touch_start(integer number) { key agentKey = llDetectedKey(0); if (llGetAgentSize(agentKey) != ZERO_VECTOR) { integer result = osReplaceAgentEnvironment(agentKey, transition, daycycle); if (result == 1) { llRegionSayTo(agentKey, PUBLIC_CHANNEL, "Applying environment for " + osKey2Name(agentKey)); } else { llRegionSayTo(agentKey, PUBLIC_CHANNEL, "Cannot apply environment for " + osKey2Name(agentKey) + " due to reason id : " + (string)result); } } else { llRegionSayTo(agentKey, PUBLIC_CHANNEL, "You need to be in the same region to change environment."); } } } | |
Notes | |
This function was added in 0.9.2 |