OsNpcSay
From OpenSimulator
(Difference between revisions)
m (Change See Also) |
|||
| (6 intermediate revisions by 2 users not shown) | |||
| Line 1: | Line 1: | ||
{{osslfunc | {{osslfunc | ||
|threat_level=High | |threat_level=High | ||
| − | |permissions=${ | + | |permissions=${OSSL|osslNPC} |
|delay=0 | |delay=0 | ||
| − | |function_syntax= | + | |function_syntax=osNpcSay(key npc, integer channel, string message)<br> |
| − | + | osNpcSay(key npc, string message) | |
| − | + | ||
|description='''npc''' says '''message''' on the given '''channel''' (channel is 0 in the second form) | |description='''npc''' says '''message''' on the given '''channel''' (channel is 0 in the second form) | ||
| + | |ossl_example=<source lang="lsl"> | ||
| + | // | ||
| + | // osNpcSay (without channel) Script Exemple | ||
| + | // Author: djphil | ||
| + | // | ||
| + | |||
| + | key npc; | ||
| + | |||
| + | default | ||
| + | { | ||
| + | state_entry() | ||
| + | { | ||
| + | llSay(PUBLIC_CHANNEL, "Touch to see osNpcSay (without channel) usage."); | ||
| + | } | ||
| + | |||
| + | touch_start(integer number) | ||
| + | { | ||
| + | key toucher = llDetectedKey(0); | ||
| + | vector npcPos = llGetPos() + <-1.0, 0.0, 1.0>; | ||
| + | osAgentSaveAppearance(toucher, "appearance"); | ||
| + | npc = osNpcCreate("ImYour", "Clone", npcPos, "appearance"); | ||
| + | state hasNPC; | ||
| + | } | ||
| + | } | ||
| + | |||
| + | state hasNPC | ||
| + | { | ||
| + | state_entry() | ||
| + | { | ||
| + | llSetTimerEvent(5.0); | ||
| + | } | ||
| + | |||
| + | timer() | ||
| + | { | ||
| + | llSetTimerEvent(0.0); | ||
| + | osNpcSay(npc, "Hello world!"); | ||
| + | osNpcSay(npc, "I Love OpenSimulator!"); | ||
| + | osNpcSay(npc, "The Open Source Metaverse!"); | ||
| + | } | ||
| + | |||
| + | touch_start(integer number) | ||
| + | { | ||
| + | osNpcSay(npc, "Goodbye!"); | ||
| + | llSetTimerEvent(0.0); | ||
| + | osNpcRemove(npc); | ||
| + | npc = NULL_KEY; | ||
| + | state default; | ||
| + | } | ||
| + | } | ||
| + | </source> | ||
| + | '''And with channel:''' | ||
| + | <source lang="lsl"> | ||
| + | // | ||
| + | // osNpcSay (with channel) Script Exemple | ||
| + | // Author: djphil | ||
| + | // | ||
| + | |||
| + | key npc; | ||
| + | |||
| + | default | ||
| + | { | ||
| + | state_entry() | ||
| + | { | ||
| + | llSay(PUBLIC_CHANNEL, "Touch to see osNpcSay (with channel) usage."); | ||
| + | } | ||
| + | |||
| + | touch_start(integer number) | ||
| + | { | ||
| + | key toucher = llDetectedKey(0); | ||
| + | vector npcPos = llGetPos() + <-1.0, 0.0, 1.0>; | ||
| + | osAgentSaveAppearance(toucher, "appearance"); | ||
| + | npc = osNpcCreate("ImYour", "Clone", npcPos, "appearance"); | ||
| + | state hasNPC; | ||
| + | } | ||
| + | } | ||
| + | |||
| + | state hasNPC | ||
| + | { | ||
| + | state_entry() | ||
| + | { | ||
| + | llSetTimerEvent(5.0); | ||
| + | } | ||
| + | |||
| + | timer() | ||
| + | { | ||
| + | llSetTimerEvent(0.0); | ||
| + | osNpcSay(npc, PUBLIC_CHANNEL, "Hello world!"); | ||
| + | osNpcSay(npc, PUBLIC_CHANNEL, "I Love OpenSimulator!"); | ||
| + | osNpcSay(npc, PUBLIC_CHANNEL, "The Open Source Metaverse!"); | ||
| + | } | ||
| + | |||
| + | touch_start(integer number) | ||
| + | { | ||
| + | osNpcSay(npc, PUBLIC_CHANNEL, "Goodbye!"); | ||
| + | llSetTimerEvent(0.0); | ||
| + | osNpcRemove(npc); | ||
| + | npc = NULL_KEY; | ||
| + | state default; | ||
| + | } | ||
| + | } | ||
| + | </source> | ||
|additional_info=This function was added in 0.7.4-post-fixes | |additional_info=This function was added in 0.7.4-post-fixes | ||
}} | }} | ||
| + | == See Also == | ||
| + | * [[osNpcWhisper]] | ||
| + | * [[osNpcSay]] | ||
| + | * [[osNpcSayTo]] | ||
| + | * [[osNpcShout]] | ||
Latest revision as of 19:53, 5 December 2020
osNpcSay(key npc, integer channel, string message)
osNpcSay(key npc, string message) | |
| npc says message on the given channel (channel is 0 in the second form) | |
| Threat Level | High |
| Permissions | ${OSSL|osslNPC} |
| Extra Delay | 0 seconds |
| Example(s) | |
// // osNpcSay (without channel) Script Exemple // Author: djphil // key npc; default { state_entry() { llSay(PUBLIC_CHANNEL, "Touch to see osNpcSay (without channel) usage."); } touch_start(integer number) { key toucher = llDetectedKey(0); vector npcPos = llGetPos() + <-1.0, 0.0, 1.0>; osAgentSaveAppearance(toucher, "appearance"); npc = osNpcCreate("ImYour", "Clone", npcPos, "appearance"); state hasNPC; } } state hasNPC { state_entry() { llSetTimerEvent(5.0); } timer() { llSetTimerEvent(0.0); osNpcSay(npc, "Hello world!"); osNpcSay(npc, "I Love OpenSimulator!"); osNpcSay(npc, "The Open Source Metaverse!"); } touch_start(integer number) { osNpcSay(npc, "Goodbye!"); llSetTimerEvent(0.0); osNpcRemove(npc); npc = NULL_KEY; state default; } } And with channel: // // osNpcSay (with channel) Script Exemple // Author: djphil // key npc; default { state_entry() { llSay(PUBLIC_CHANNEL, "Touch to see osNpcSay (with channel) usage."); } touch_start(integer number) { key toucher = llDetectedKey(0); vector npcPos = llGetPos() + <-1.0, 0.0, 1.0>; osAgentSaveAppearance(toucher, "appearance"); npc = osNpcCreate("ImYour", "Clone", npcPos, "appearance"); state hasNPC; } } state hasNPC { state_entry() { llSetTimerEvent(5.0); } timer() { llSetTimerEvent(0.0); osNpcSay(npc, PUBLIC_CHANNEL, "Hello world!"); osNpcSay(npc, PUBLIC_CHANNEL, "I Love OpenSimulator!"); osNpcSay(npc, PUBLIC_CHANNEL, "The Open Source Metaverse!"); } touch_start(integer number) { osNpcSay(npc, PUBLIC_CHANNEL, "Goodbye!"); llSetTimerEvent(0.0); osNpcRemove(npc); npc = NULL_KEY; state default; } } | |
| Notes | |
| This function was added in 0.7.4-post-fixes | |
[edit] See Also
- osNpcWhisper
- osNpcSay
- osNpcSayTo
- osNpcShout