Difference between revisions of "PRIM TEXT"

From Second Life Wiki
Jump to: navigation, search
m
m (add an example of setting PRIM_TEXT and getting it...)
Line 45: Line 45:
 
|toc=llGetPrimitiveParams
 
|toc=llGetPrimitiveParams
 
}}
 
}}
|examples=
+
|examples=<lsl>default
 +
{
 +
    state_entry()
 +
    {
 +
        // a string to display
 +
        string displayMessage = llGetDisplayName( llGetOwner() ) + ", test number ";
 +
       
 +
        // just so could test changing the displayMessage
 +
        integer loopControl;
 +
        for( loopControl = 1; loopControl < 3; ++loopControl )
 +
        {
 +
            // on first iteration set the text
 +
            if( loopControl == 1 )
 +
            {
 +
                llSetPrimitiveParams([PRIM_TEXT, displayMessage + (string)loopControl + ".", <1, 0, 0>, 1.0]);
 +
            }
 +
           
 +
            // on second iteration get the text and say it.
 +
            else if( loopControl == 2 )
 +
            {
 +
                llSay(0, llDumpList2String(llGetPrimitiveParams([PRIM_TEXT]), " "));
 +
            }
 +
        }
 +
    }
 +
}</lsl>
 
|constants=
 
|constants=
 
|functions=
 
|functions=

Revision as of 20:08, 21 November 2013

Description

Constant: integer PRIM_TEXT = 26;

The integer constant PRIM_TEXT has the value 26

Used to get or set the object's floating text.

llSetPrimitiveParams

llSetPrimitiveParams([ PRIM_TEXT, string text, vector color, float alpha ]);
• string text floating text to display
• vector color color in RGB <R, G, B> (<0.0, 0.0, 0.0> = black, <1.0, 1.0, 1.0> = white)
• float alpha from 0.0 (clear) to 1.0 (solid) (0.0 <= alpha <= 1.0)

Syntax for: llSetPrimitiveParams, llSetLinkPrimitiveParams & llSetLinkPrimitiveParamsFast

llGetPrimitiveParams

llGetPrimitiveParams([ PRIM_TEXT ]);

Returns the list [ string text, vector color, float alpha ]

• string text floating text displayed
• vector color color in RGB <R, G, B> (<0.0, 0.0, 0.0> = black, <1.0, 1.0, 1.0> = white)
• float alpha from 0.0 (clear) to 1.0 (solid) (0.0 <= alpha <= 1.0)

Syntax for: llGetPrimitiveParams, llGetLinkPrimitiveParams

Caveats

  • Do not rely on Floating Text as a storage medium; it is neither secure nor finalized.
    • Floating text has been altered in past server updates, breaking existing content; future changes may occur.
    • Even "invisible"[1] floating text is transmitted to the client.
      • It can be viewed by anyone with a client that is capable of rendering text that is supposed to be invisible.
      • The network packets that contain the text can be sniffed and the text read.
All Issues ~ Search JIRA for related Bugs

Related Articles

Functions

•  llSetPrimitiveParams
•  llSetLinkPrimitiveParams
•  llSetLinkPrimitiveParamsFast
•  llGetPrimitiveParams
•  llGetLinkPrimitiveParams
•  llSetText

Articles

•  Limits SL limits and constrictions
•  Color in LSL
•  Translucent Color

Examples

<lsl>default {

   state_entry()
   {
       // a string to display
       string displayMessage = llGetDisplayName( llGetOwner() ) + ", test number "; 
       
       // just so could test changing the displayMessage
       integer loopControl;
       for( loopControl = 1; loopControl < 3; ++loopControl )
       {
           // on first iteration set the text 
           if( loopControl == 1 )
           {
               llSetPrimitiveParams([PRIM_TEXT, displayMessage + (string)loopControl + ".", <1, 0, 0>, 1.0]);
           }
           
           // on second iteration get the text and say it. 
           else if( loopControl == 2 )
           {
               llSay(0, llDumpList2String(llGetPrimitiveParams([PRIM_TEXT]), " "));
           }
       }
   }

}</lsl>

Deep Notes

Search JIRA for related Issues

Footnotes

  1. ^ Floating text with an alpha set to 0.0 is rendered "invisible"

Signature

integer PRIM_TEXT = 26;