Difference between revisions of "EOF"
Jump to navigation
Jump to search
Line 2: | Line 2: | ||
|name=EOF | |name=EOF | ||
|type=string | |type=string | ||
|value="\n\n\n" | |value={{HoverText|"\n\n\n"|Three newline characters (0x0a)}} | ||
|desc=EOF | |desc=EOF is a value returned by the [[dataserver]] event, as a result of a call to [[llGetNotecardLine]], specifically when the requested line is past the end of the notecard. The value returned equals "\n\n\n", which is to say, three newline characters (0x0a). | ||
Essentially, it is used to let you know when you have finished reading information (usually user configurable parameters) from a notecard, and are ready to move onto the next state | Essentially, it is used to let you know when you have finished reading information (usually user configurable parameters) from a notecard, and are ready to move onto the next stage or state of the script. | ||
|comment | |comment | ||
|notes=EOF is an acronym that stands for "End Of File". | |||
|examples= | |examples= | ||
<lsl> | <lsl>integer iLine; | ||
integer iLine | |||
string card = "~config" | string card = "~config" | ||
key myquery; | key myquery; | ||
default{ | default{ | ||
state_entry() { | state_entry() { | ||
if(llGetInventoryType(card) != INVENTORY_NONE) | if(llGetInventoryType(card) != INVENTORY_NONE) | ||
myquery = llGetNotecardLine(card, iLine); | myquery = llGetNotecardLine(card, iLine = 0); | ||
else | else | ||
llSay("The " + card + " notecard is missing | llSay("The \"" + card + "\" notecard is missing! Cannot proceed!"); | ||
} | } | ||
dataserver(key request, string sdata){ | dataserver(key request, string sdata){ | ||
if(request == myquery){ | if(request == myquery){ | ||
Line 30: | Line 28: | ||
else { | else { | ||
//here you would process the data | //here you would process the data | ||
//llOwnerSay(sdata); | |||
myquery = llGetNotecardLine(card, iLine); // now read in next line, and start the dataserver process all over again | myquery = llGetNotecardLine(card, ++iLine); // now read in next line, and start the dataserver process all over again | ||
} | } | ||
} | } | ||
} | |||
} | |||
state ready{ | |||
state_entry(){ | |||
llOwnerSay("I'm ready for action!"); | |||
} | } | ||
} | } | ||
</lsl> | </lsl> | ||
|functions={{LSL DefineRow||[[llGetNotecardLine]]|}} | |functions={{LSL DefineRow||[[llGetNotecardLine]]|}} | ||
|events={{LSL DefineRow||[[dataserver]]|}} | |events={{LSL DefineRow||[[dataserver]]|}} | ||
|cat1 | |cat1=Dataserver | ||
|cat2 | |cat2=Notecard | ||
|cat3 | |cat3 | ||
|cat4 | |cat4 | ||
}} | }} |
Revision as of 05:54, 8 July 2008
LSL Portal | Functions | Events | Types | Operators | Constants | Flow Control | Script Library | Categorized Library | Tutorials |
Description
Constant: string EOF = "\n\n\n";The string constant EOF has the value "\n\n\n"
EOF is a value returned by the dataserver event, as a result of a call to llGetNotecardLine, specifically when the requested line is past the end of the notecard. The value returned equals "\n\n\n", which is to say, three newline characters (0x0a).
Essentially, it is used to let you know when you have finished reading information (usually user configurable parameters) from a notecard, and are ready to move onto the next stage or state of the script.
Caveats
Related Articles
Examples
<lsl>integer iLine; string card = "~config" key myquery;
default{
state_entry() { if(llGetInventoryType(card) != INVENTORY_NONE) myquery = llGetNotecardLine(card, iLine = 0); else llSay("The \"" + card + "\" notecard is missing! Cannot proceed!"); } dataserver(key request, string sdata){ if(request == myquery){ if(sdata == EOF){ // no more text in the notecard state ready; //move to the next state } else { //here you would process the data //llOwnerSay(sdata); myquery = llGetNotecardLine(card, ++iLine); // now read in next line, and start the dataserver process all over again } } }
}
state ready{
state_entry(){ llOwnerSay("I'm ready for action!"); }
} </lsl>
Notes
EOF is an acronym that stands for "End Of File".