Difference between revisions of "User:Cory Fimicoloud"

From Second Life Wiki
Jump to navigation Jump to search
m
m
 
(12 intermediate revisions by the same user not shown)
Line 1: Line 1:
{{User:Cory Fimicoloud/hcard}}
{{User:Cory Fimicoloud/hcard}}
==LSL Functions==
==Miscellaneous==
Functions I have created. Will add more as I go through my scripts.
===LSO/MONO Differences===
''Will create a separate page for them and categorize/move the functions into it later.''
{| border="1" cellpadding="3" cellspacing="0"
!VM
!Average
!Total
|+State Changing<br>''1000 iterations, in seconds.''
|-
|LSO
|0.000038
|00.037993
|-
|MONO
|0.010054
|10.053950
|}


===UTF8Len===
{| border="1" cellpadding="3" cellspacing="0"
Returns the UTF-8 byte count of the string passed to it.
!VM
<lsl>
!Count
integer UTF8Len(string fsString)
!Count + 1 Error
{
|+Nested If Statements Limit
// Author: Cory Fimicoloud
|-
// License: http://creativecommons.org/licenses/by-sa/3.0/us/
|LSO
integer liLen = ~llStringLength(fsString);
|1474
string lsChar = "";
|Byte code assembly failed -- out of memory
string lsEnc = "";
|-
integer liByteLen = 0;
|MONO
while (++liLen < 0)
|2497
{
|Syntax error
lsEnc = llEscapeURL((lsChar = llGetSubString(fsString, liLen, liLen)));
|}
if (lsChar != lsEnc)
liByteLen += llStringLength(lsEnc) / 3;
else
++liByteLen;
}
return liByteLen;
}
default
{
state_entry()
{
string lsString = "Can I have $10 and 7¢, please? I would prefer it in €'s though."; // Length is 63 characters. Each of the characters uses 1 byte except for ¢ (2 bytes) and € (3 bytes). 66 bytes.
llOwnerSay("'" + lsString + "' is " + (string)UTF8Len(lsString) + " bytes.");
}
}</lsl>
 
===UTF8Split===
Returns a list containing the string passed to it, split every fiSplit bytes.
<lsl>
list UTF8Split(string fsString, integer fiSplit)
{
// Author: Cory Fimicoloud
// License: http://creativecommons.org/licenses/by-sa/3.0/us/
string lsSplit = "";
list laSplit = [];
integer liLen = ~llStringLength(fsString);
string lsChar = "";
string lsEnc = "";
integer liByteLen = 0;
while (++liLen < 0)
{
lsChar = llGetSubString(fsString, liLen, liLen);
lsEnc = llEscapeURL(lsChar);
if (lsChar != lsEnc)
liByteLen += llStringLength(lsEnc) / 3;
else
++liByteLen;
if (liByteLen <= fiSplit)
lsSplit += lsChar;
else
{
laSplit += [lsSplit];
lsSplit = lsChar;
liByteLen = 0;
}
}
return laSplit + [lsSplit];
}
default
{
state_entry()
{
list laSplit = UTF8Split("Can I have $10 and 7¢, please? I would prefer it in €'s though.", 33);
llOwnerSay("UTF8Split\n==========\t0: " + llList2String(laSplit, 0) + "\n\t1: " + llList2String(laSplit, 0));
}
}</lsl>


==See Also==
==See Also==
* [[User:Cory_Fimicoloud/SimIPScan|Simulator IP Scan]]
* [[User:Cory_Fimicoloud/LSLFunctions|LSL Functions]]
* {{Jira Reporter}}
* {{Jira Reporter}}



Latest revision as of 12:43, 10 June 2009

Profile
Born:
Sat 12th May 2007

Miscellaneous

LSO/MONO Differences

VM Average Total
State Changing
1000 iterations, in seconds.
LSO 0.000038 00.037993
MONO 0.010054 10.053950
VM Count Count + 1 Error
Nested If Statements Limit
LSO 1474 Byte code assembly failed -- out of memory
MONO 2497 Syntax error

See Also