<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>https://wiki.secondlife.com/w/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Eraz+Rhode</id>
	<title>Second Life Wiki - User contributions [en]</title>
	<link rel="self" type="application/atom+xml" href="https://wiki.secondlife.com/w/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Eraz+Rhode"/>
	<link rel="alternate" type="text/html" href="https://wiki.secondlife.com/wiki/Special:Contributions/Eraz_Rhode"/>
	<updated>2026-07-27T15:46:25Z</updated>
	<subtitle>User contributions</subtitle>
	<generator>MediaWiki 1.42.1</generator>
	<entry>
		<id>https://wiki.secondlife.com/w/index.php?title=State_variables&amp;diff=22101</id>
		<title>State variables</title>
		<link rel="alternate" type="text/html" href="https://wiki.secondlife.com/w/index.php?title=State_variables&amp;diff=22101"/>
		<updated>2007-05-30T17:54:19Z</updated>

		<summary type="html">&lt;p&gt;Eraz Rhode: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;While all variables that might be used within more than a single state must be global right now, poluting memory statically, there also some problematic situation to purely event driven state scripts, where there is switched between a number of states with only little number of calls to self defined functions.   In such case, where there are only very little number of self defined functions that might be called with arguments, data management is, within one and the same state, only solved through static global memory(heap) / variable allocation.   A possible solution might be to allow state variables that are declared after the opening brace from a state declaration and which is/are allocated on stack only when the state is active, but removed from memory when a state becomes inactive from switching to another state.   If a stack based solution is not conform to compiler design, another solution might be to have a memory layout of heap based state variables, where there is a fixed allocation of the static part of state variables in size of the largest possible set form state variables, that is reused when switching from one state to another.   Such a solution of state local variables might help to provide a significant lower memory footprint in event driven multi state scripts.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Example:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
// Both variables &amp;quot;x&amp;quot; and &amp;quot;y&amp;quot; refer to the same memory location&lt;br /&gt;
// while only one can be referenced when the given state is active&lt;br /&gt;
// Overloading of names in sense of C++ must not be implemented if&lt;br /&gt;
// this would cause too much problems with the actual given&lt;br /&gt;
// LSL compiler.&lt;br /&gt;
&lt;br /&gt;
state default&lt;br /&gt;
{&lt;br /&gt;
    integer x = 0; // with scope of default state&lt;br /&gt;
&lt;br /&gt;
    state_entry()&lt;br /&gt;
    {&lt;br /&gt;
        llOwnerSay( (string)x ); // produces output &amp;quot;0&amp;quot;&lt;br /&gt;
        llOwnerSay( (string)y ); // produces compiler ERROR !!!&lt;br /&gt;
        state ExampleState;&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
state ExampleState&lt;br /&gt;
{&lt;br /&gt;
    integer y = 1;  // with scope of &amp;quot;ExampleState&amp;quot; state&lt;br /&gt;
&lt;br /&gt;
    state_entry()&lt;br /&gt;
    {&lt;br /&gt;
        llOwnerSay( (string)x ); // produces compiler ERROR !!!&lt;br /&gt;
        llOwnerSay( (string)y ); // produces output &amp;quot;1&amp;quot;&lt;br /&gt;
        state default;&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
--[[User:Eraz Rhode|Eraz Rhode]] 07:09, 29 May 2007 (PDT)&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
State functions (methods) would be interesting too. This sort of complication would require some language design (the exact implementation would end up being controversial). -- [[User:Strife Onizuka|Strife Onizuka]] 09:46, 29 May 2007 (PDT)&lt;/div&gt;</summary>
		<author><name>Eraz Rhode</name></author>
	</entry>
	<entry>
		<id>https://wiki.secondlife.com/w/index.php?title=LlGetAgentPreferredLanguage&amp;diff=22009</id>
		<title>LlGetAgentPreferredLanguage</title>
		<link rel="alternate" type="text/html" href="https://wiki.secondlife.com/w/index.php?title=LlGetAgentPreferredLanguage&amp;diff=22009"/>
		<updated>2007-05-29T14:10:55Z</updated>

		<summary type="html">&lt;p&gt;Eraz Rhode: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{LSL_Function|func_id|mode=request|func_sleep=1.0|func_energy=10.0|func=llGetAgentPrefedLanguage|sort=GetAgentPreferedlanguage|func_desc=Returns a string with the content of the profiles entry about languages.&lt;br /&gt;
|return_text|spec|caveats=Requires data from the Owners profile, which is atm not generic and this way difficult to parse.|examples|helpers|related|also|notes=This function would allow us to get information about prefered languages the agent is capable of and this way offer scripts to alternate dialogs texts, notecards etc. to the specific language prefered by the agent.}}&lt;br /&gt;
&lt;br /&gt;
--[[User:Eraz Rhode|Eraz Rhode]] 07:10, 29 May 2007 (PDT)&lt;/div&gt;</summary>
		<author><name>Eraz Rhode</name></author>
	</entry>
	<entry>
		<id>https://wiki.secondlife.com/w/index.php?title=State_variables&amp;diff=22008</id>
		<title>State variables</title>
		<link rel="alternate" type="text/html" href="https://wiki.secondlife.com/w/index.php?title=State_variables&amp;diff=22008"/>
		<updated>2007-05-29T14:10:10Z</updated>

		<summary type="html">&lt;p&gt;Eraz Rhode: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;While all variables that might be used within more than a single state must be global right now, poluting memory statically, there also some problematic situation to purely event driven state scripts, where there is switched between a number of states with only little number of calls to self defined functions.   In such case, where there are only very little number of self defined functions that might be called with arguments, data managament is, within one and the same state, only solved through static global memory(heap) / variable allocation.   A possible solution might be to allow state variables that are declared after the openening brace from a state declaration and which is/are allocated on stack only when the state is active, but removed from memory when a state becomes inactive from switching to another state.   If a stack based solution is not conform to compiler design, another solution might be to have a memory layout of heap based state variables, where there is a fixed allocation of the static part of state variables in size of the largest possible set form state variables, that is reused when switching from one state to another.   Such a solution of state local variables might help to provide a significant lower memory footprint in event driven multi state scripts.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Example:&lt;br /&gt;
&lt;br /&gt;
state default&lt;br /&gt;
{&lt;br /&gt;
    integer x = 0; // with scope of default state&lt;br /&gt;
&lt;br /&gt;
    state_entry()&lt;br /&gt;
    {&lt;br /&gt;
        llOwnerSay( (string)x ); // produces output &amp;quot;0&amp;quot;&lt;br /&gt;
        state ExampleState;&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
state ExampleState&lt;br /&gt;
{&lt;br /&gt;
    integer x = 1;  // with scope of &amp;quot;ExampleState&amp;quot; state&lt;br /&gt;
&lt;br /&gt;
    state_entry()&lt;br /&gt;
    {&lt;br /&gt;
        llOwnerSay( (string)x ); // produces output &amp;quot;1&amp;quot;&lt;br /&gt;
        state default;&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
--[[User:Eraz Rhode|Eraz Rhode]] 07:09, 29 May 2007 (PDT)&lt;/div&gt;</summary>
		<author><name>Eraz Rhode</name></author>
	</entry>
	<entry>
		<id>https://wiki.secondlife.com/w/index.php?title=State_variables&amp;diff=22007</id>
		<title>State variables</title>
		<link rel="alternate" type="text/html" href="https://wiki.secondlife.com/w/index.php?title=State_variables&amp;diff=22007"/>
		<updated>2007-05-29T14:09:42Z</updated>

		<summary type="html">&lt;p&gt;Eraz Rhode: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;While all variables that might be used within more than a single state must be global right now, poluting memory statically, there also some problematic situation to purely event driven state scripts, where there is switched between a number of states with only little number of calls to self defined functions.   In such case, where there are only very little number of self defined functions that might be called with arguments, data managament is, within one and the same state, only solved through static global memory(heap) / variable allocation.   A possible solution might be to allow state variables that are declared after the openening brace from a state declaration and which is/are allocated on stack only when the state is active, but removed from memory when a state becomes inactive from switching to another state.   If a stack based solution is not conform to compiler design, another solution might be to have a memory layout of heap based state variables, where there is a fixed allocation of the static part of state variables in size of the largest possible set form state variables, that is reused when switching from one state to another.   Such a solution of state local variables might help to provide a significant lower memory footprint in event driven multi state scripts.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Example:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;state default&lt;br /&gt;
{&lt;br /&gt;
    integer x = 0; // with scope of default state&lt;br /&gt;
&lt;br /&gt;
    state_entry()&lt;br /&gt;
    {&lt;br /&gt;
        llOwnerSay( (string)x ); // produces output &amp;quot;0&amp;quot;&lt;br /&gt;
        state ExampleState;&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
state ExampleState&lt;br /&gt;
{&lt;br /&gt;
    integer x = 1;  // with scope of &amp;quot;ExampleState&amp;quot; state&lt;br /&gt;
&lt;br /&gt;
    state_entry()&lt;br /&gt;
    {&lt;br /&gt;
        llOwnerSay( (string)x ); // produces output &amp;quot;1&amp;quot;&lt;br /&gt;
        state default;&lt;br /&gt;
    }&lt;br /&gt;
}&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
--[[User:Eraz Rhode|Eraz Rhode]] 07:09, 29 May 2007 (PDT)&lt;/div&gt;</summary>
		<author><name>Eraz Rhode</name></author>
	</entry>
	<entry>
		<id>https://wiki.secondlife.com/w/index.php?title=State_variables&amp;diff=22006</id>
		<title>State variables</title>
		<link rel="alternate" type="text/html" href="https://wiki.secondlife.com/w/index.php?title=State_variables&amp;diff=22006"/>
		<updated>2007-05-29T14:07:51Z</updated>

		<summary type="html">&lt;p&gt;Eraz Rhode: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;While all variables that might be used within more than a single state must be global right now, poluting memory statically, there also some problematic situation to purely event driven state scripts, where there is switched between a number of states with only little number of calls to self defined functions.   In such case, where there are only very little number of self defined functions that might be called with arguments, data managament is, within one and the same state, only solved through static global memory(heap) / variable allocation.   A possible solution might be to allow state variables that are declared after the openening brace from a state declaration and which is/are allocated on stack only when the state is active, but removed from memory when a state becomes inactive from switching to another state.   If a stack based solution is not conform to compiler design, another solution might be to have a memory layout of heap based state variables, where there is a fixed allocation of the static part of state variables in size of the largest possible set form state variables, that is reused when switching from one state to another.   Such a solution of state local variables might help to provide a significant lower memory footprint in event driven multi state scripts.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Example:&lt;br /&gt;
&lt;br /&gt;
state default&lt;br /&gt;
{&lt;br /&gt;
    integer x = 0; // with scope of default state&lt;br /&gt;
&lt;br /&gt;
    state_entry()&lt;br /&gt;
    {&lt;br /&gt;
        llOwnerSay( (string)x ); // produces output &amp;quot;0&amp;quot;&lt;br /&gt;
        state ExampleState;&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
state ExampleState&lt;br /&gt;
{&lt;br /&gt;
    integer x = 1;  // with scope of &amp;quot;ExampleState&amp;quot; state&lt;br /&gt;
&lt;br /&gt;
    state_entry()&lt;br /&gt;
    {&lt;br /&gt;
        llOwnerSay( (string)x ); // produces output &amp;quot;1&amp;quot;&lt;br /&gt;
        state default;&lt;br /&gt;
    }&lt;br /&gt;
}&lt;/div&gt;</summary>
		<author><name>Eraz Rhode</name></author>
	</entry>
	<entry>
		<id>https://wiki.secondlife.com/w/index.php?title=Talk:LlGetMyAccountBalance&amp;diff=22005</id>
		<title>Talk:LlGetMyAccountBalance</title>
		<link rel="alternate" type="text/html" href="https://wiki.secondlife.com/w/index.php?title=Talk:LlGetMyAccountBalance&amp;diff=22005"/>
		<updated>2007-05-29T14:01:44Z</updated>

		<summary type="html">&lt;p&gt;Eraz Rhode: /* Security issues from scripts within vendor machines etc. */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Name of Function ==&lt;br /&gt;
Maybe, to match the current nomenclature of LSL, this should be called &amp;quot;llGetOwnerAccountBalance&amp;quot; or &amp;quot;llGetOwnerMoney&amp;quot; &amp;lt;br /&amp;gt; [[User:Cron Stardust|Cron Stardust]] 14:25, 21 March 2007 (PDT)&lt;br /&gt;
&lt;br /&gt;
== Possible security issues ==&lt;br /&gt;
I just noted that with this function it would be possible to detect when the owner paid money to another person/object or received funds by recording the current amount of money, then testing again after a period of time and comparing the values.  This would allow a malicious script to siphon money away from the owner to another player slowly and at each transaction so as to hide traces of it&#039;s activity. &amp;lt;br /&amp;gt; [[User:Cron Stardust|Cron Stardust]] 14:25, 21 March 2007 (PDT)&lt;br /&gt;
&lt;br /&gt;
== Security issues from scripts within vendor machines etc. ==&lt;br /&gt;
&lt;br /&gt;
Such functionality will bring new security issues. Vendor software, which is often not editable by customers using them, might contain spyware functionality to spray account balance information around in SL and into the internet. This is a seriuos issue related to privacy!&lt;/div&gt;</summary>
		<author><name>Eraz Rhode</name></author>
	</entry>
	<entry>
		<id>https://wiki.secondlife.com/w/index.php?title=State_variables&amp;diff=22004</id>
		<title>State variables</title>
		<link rel="alternate" type="text/html" href="https://wiki.secondlife.com/w/index.php?title=State_variables&amp;diff=22004"/>
		<updated>2007-05-29T13:59:37Z</updated>

		<summary type="html">&lt;p&gt;Eraz Rhode: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;While all variables that might be used within more than a single state must be global right now, poluting memory statically, there also some problematic situation to purely event driven state scripts, where there is switched between a number of states with only little number of calls to self defined functions.&lt;br /&gt;
 In such case, where there are only very little number of self defined functions that might be called with arguments, data managament is, within one and the same state, only solved through static global memory(heap) / variable allocation.&lt;br /&gt;
&lt;br /&gt;
 A possible solution might be to allow state variables that are declared after the openening brace from a state declaration and which is/are allocated on stack only when the state is active, but removed from memory when a state becomes inactive from switching to another state.&lt;br /&gt;
 If a stack based solution is not conform to compiler design, another solution might be to have a memory layout of heap based state variables, where there is a fixed allocation of the static part of state variables in size of the largest possible set form state variables, that is reused when switching from one state to another. &lt;br /&gt;
&lt;br /&gt;
Such a solution of state local variables might help to provide a significant lower memory footprint in event driven multi state scripts.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Example:&lt;br /&gt;
&lt;br /&gt;
state default&lt;br /&gt;
{&lt;br /&gt;
    integer x = 0; // with scope of default state&lt;br /&gt;
&lt;br /&gt;
    state_entry()&lt;br /&gt;
    {&lt;br /&gt;
        llOwnerSay( (string)x ); // produces output &amp;quot;0&amp;quot;&lt;br /&gt;
        state ExampleState;&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
state ExampleState&lt;br /&gt;
{&lt;br /&gt;
    integer x = 1;  // with scope of &amp;quot;ExampleState&amp;quot; state&lt;br /&gt;
&lt;br /&gt;
    state_entry()&lt;br /&gt;
    {&lt;br /&gt;
        llOwnerSay( (string)x ); // produces output &amp;quot;1&amp;quot;&lt;br /&gt;
        state default;&lt;br /&gt;
    }&lt;br /&gt;
}&lt;/div&gt;</summary>
		<author><name>Eraz Rhode</name></author>
	</entry>
	<entry>
		<id>https://wiki.secondlife.com/w/index.php?title=LSL_Useful_Function_WishList&amp;diff=22001</id>
		<title>LSL Useful Function WishList</title>
		<link rel="alternate" type="text/html" href="https://wiki.secondlife.com/w/index.php?title=LSL_Useful_Function_WishList&amp;diff=22001"/>
		<updated>2007-05-29T13:34:27Z</updated>

		<summary type="html">&lt;p&gt;Eraz Rhode: /* Other functionality */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;__NOTOC__&lt;br /&gt;
{{LSL Header}}&lt;br /&gt;
==A==&lt;br /&gt;
[[llAddToEstateBanList]]&lt;br /&gt;
==C==&lt;br /&gt;
[[llChangeLandPassPrice]]&lt;br /&gt;
&lt;br /&gt;
To allow the access price to enter a parcel of land to be changed via a script.&lt;br /&gt;
&lt;br /&gt;
==E==&lt;br /&gt;
{{LSLG|llExecuteMenuCommand}}&lt;br /&gt;
&lt;br /&gt;
==F==&lt;br /&gt;
{{LSLG|llFrandom}}&lt;br /&gt;
&lt;br /&gt;
==G==&lt;br /&gt;
{{LSLG|llGetParcelBanList}}&lt;br /&gt;
{{LSLG|llGetEstateBanList}}&lt;br /&gt;
{{LSLG|llGetAvatarKeysOnParcel}}&lt;br /&gt;
{{LSLG|llGetAvatarKeysOnEstate}}&lt;br /&gt;
{{LSLG|llGetMyAccountBalance}}&lt;br /&gt;
{{LSLG|llGetGroup}}&lt;br /&gt;
&amp;lt;s&amp;gt;llGetScriptCreatorKey&amp;lt;/s&amp;gt; - use [[llGetInventoryCreator]]([[llGetScriptName]]()) instead&lt;br /&gt;
{{LSLG|llGetRegionPopulation}}&lt;br /&gt;
{{LSLG|llGetParcelPopulation}}&lt;br /&gt;
{{LSLG|llGetWorldPopulation}}&lt;br /&gt;
{{LSLG|llGetPrice}}&lt;br /&gt;
{{LSLG|llGetAgentPreferedLanguage}}&lt;br /&gt;
&lt;br /&gt;
==I==&lt;br /&gt;
{{LSLG|llInstantMessageGroup}}&lt;br /&gt;
{{LSLG|llInviteToGroup}}&lt;br /&gt;
==L==&lt;br /&gt;
{{LSLG|llLBETMB}}&lt;br /&gt;
==N==&lt;br /&gt;
{{LSLG|llName2Key}}&lt;br /&gt;
==P==&lt;br /&gt;
{{LSLG|llPizza}}&lt;br /&gt;
{{LSLG|position_change}}&lt;br /&gt;
&lt;br /&gt;
==R==&lt;br /&gt;
{{LSLG|llRaiseError}}&lt;br /&gt;
{{LSLG|llRemoveFromEstateBanList}}&lt;br /&gt;
{{LSLG|llReturnObject}}&lt;br /&gt;
{{LSLG|llReturnOwnersObjects}}&lt;br /&gt;
{{LSLG|llRotateAgent}}&lt;br /&gt;
&lt;br /&gt;
==S==&lt;br /&gt;
{{LSLG|llSoundex}}&lt;br /&gt;
{{LSLG|llSpeakText}}&lt;br /&gt;
{{LSLG|llSpeech2Text}}&lt;br /&gt;
{{LSLG|llSpeech2TextRemove}}&lt;br /&gt;
{{LSLG|llSayWithinRange}}&lt;br /&gt;
&lt;br /&gt;
==T==&lt;br /&gt;
{{LSLG|llTeleportAgent}}&lt;br /&gt;
{{LSLG|llTriggerLandmark}}&lt;br /&gt;
{{LSLG|llTrackTouches}}&lt;br /&gt;
&lt;br /&gt;
==Other functionality==&lt;br /&gt;
{{LSLG|Block comments}}&lt;br /&gt;
{{LSLG|True tab-stops}}&lt;br /&gt;
{{LSLG|Code Folding}}&lt;br /&gt;
{{LSLG|Windowed Scripting}}&lt;br /&gt;
{{LSLG|Switch Statement}}&lt;br /&gt;
{{LSLG|Array}}&lt;br /&gt;
{{LSLG|on_unrez|Event: Unrez / Delete}}&lt;br /&gt;
{{LSLG|Conditionals}}&lt;br /&gt;
{{LSLG|State variables}}&lt;/div&gt;</summary>
		<author><name>Eraz Rhode</name></author>
	</entry>
	<entry>
		<id>https://wiki.secondlife.com/w/index.php?title=LlGetAgentPreferredLanguage&amp;diff=21299</id>
		<title>LlGetAgentPreferredLanguage</title>
		<link rel="alternate" type="text/html" href="https://wiki.secondlife.com/w/index.php?title=LlGetAgentPreferredLanguage&amp;diff=21299"/>
		<updated>2007-05-22T22:42:52Z</updated>

		<summary type="html">&lt;p&gt;Eraz Rhode: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{LSL_Function|func_id|mode=request|func_sleep=1.0|func_energy=10.0|func=llGetAgentPrefedLanguage|sort=GetAgentPreferedlanguage|func_desc=Returns a string with the content of the profiles entry about languages.&lt;br /&gt;
|return_text|spec|caveats=Requires data from the Owners profile, which is atm not generic and this way difficult to parse.|examples|helpers|related|also|notes=This function would allow us to get information about prefered languages the agent is capable of and this way offer scripts to alternate dialogs texts, notecards etc. to the specific language prefered by the agent.}}&lt;/div&gt;</summary>
		<author><name>Eraz Rhode</name></author>
	</entry>
	<entry>
		<id>https://wiki.secondlife.com/w/index.php?title=LlGetAgentPreferredLanguage&amp;diff=21296</id>
		<title>LlGetAgentPreferredLanguage</title>
		<link rel="alternate" type="text/html" href="https://wiki.secondlife.com/w/index.php?title=LlGetAgentPreferredLanguage&amp;diff=21296"/>
		<updated>2007-05-22T22:41:49Z</updated>

		<summary type="html">&lt;p&gt;Eraz Rhode: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{LSL_Function|func_id|mode=request|func_sleep=1.0|func_energy=10.0|func=llGetAgentPrefedLanguage|sort=GetAgentPreferedlanguage|func_desc=Returns a string with the content of the profiles entry about languages.&lt;br /&gt;
|return_text|spec|caveats=Requires data from the Owners profile,which is atm not formatted and dificult to parse|examples|helpers|related|also|notes=This function would allow us to get information about prefered languages the agent is capable of and this way offer scripts to alternate dialogs texts, notecards etc. to the specific language prefered by the agent.}}&lt;/div&gt;</summary>
		<author><name>Eraz Rhode</name></author>
	</entry>
	<entry>
		<id>https://wiki.secondlife.com/w/index.php?title=Talk:LlGetMyAccountBalance&amp;diff=21232</id>
		<title>Talk:LlGetMyAccountBalance</title>
		<link rel="alternate" type="text/html" href="https://wiki.secondlife.com/w/index.php?title=Talk:LlGetMyAccountBalance&amp;diff=21232"/>
		<updated>2007-05-22T22:31:18Z</updated>

		<summary type="html">&lt;p&gt;Eraz Rhode: /* Security issues from scripts within vendor machines etc. */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Name of Function ==&lt;br /&gt;
Maybe, to match the current nomenclature of LSL, this should be called &amp;quot;llGetOwnerAccountBalance&amp;quot; or &amp;quot;llGetOwnerMoney&amp;quot; &amp;lt;br /&amp;gt; [[User:Cron Stardust|Cron Stardust]] 14:25, 21 March 2007 (PDT)&lt;br /&gt;
&lt;br /&gt;
== Possible security issues ==&lt;br /&gt;
I just noted that with this function it would be possible to detect when the owner paid money to another person/object or received funds by recording the current amount of money, then testing again after a period of time and comparing the values.  This would allow a malicious script to siphon money away from the owner to another player slowly and at each transaction so as to hide traces of it&#039;s activity. &amp;lt;br /&amp;gt; [[User:Cron Stardust|Cron Stardust]] 14:25, 21 March 2007 (PDT)&lt;br /&gt;
&lt;br /&gt;
== Security issues from scripts within vendor machines etc. ==&lt;br /&gt;
&lt;br /&gt;
Such functionality will bring new security issues. Vendor software, which is often not editable by customers using them, might contain spyware funtionality to spray account balance information around in SL and into the internet. This is a seriuos issue related to privacy!&lt;/div&gt;</summary>
		<author><name>Eraz Rhode</name></author>
	</entry>
	<entry>
		<id>https://wiki.secondlife.com/w/index.php?title=Talk:LlGetMyAccountBalance&amp;diff=21215</id>
		<title>Talk:LlGetMyAccountBalance</title>
		<link rel="alternate" type="text/html" href="https://wiki.secondlife.com/w/index.php?title=Talk:LlGetMyAccountBalance&amp;diff=21215"/>
		<updated>2007-05-22T22:29:23Z</updated>

		<summary type="html">&lt;p&gt;Eraz Rhode: Security issues from scripts within vendor machines etc.&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Name of Function ==&lt;br /&gt;
Maybe, to match the current nomenclature of LSL, this should be called &amp;quot;llGetOwnerAccountBalance&amp;quot; or &amp;quot;llGetOwnerMoney&amp;quot; &amp;lt;br /&amp;gt; [[User:Cron Stardust|Cron Stardust]] 14:25, 21 March 2007 (PDT)&lt;br /&gt;
&lt;br /&gt;
== Possible security issues ==&lt;br /&gt;
I just noted that with this function it would be possible to detect when the owner paid money to another person/object or received funds by recording the current amount of money, then testing again after a period of time and comparing the values.  This would allow a malicious script to siphon money away from the owner to another player slowly and at each transaction so as to hide traces of it&#039;s activity. &amp;lt;br /&amp;gt; [[User:Cron Stardust|Cron Stardust]] 14:25, 21 March 2007 (PDT)&lt;br /&gt;
&lt;br /&gt;
== Security issues from scripts within vendor machines etc. ==&lt;br /&gt;
&lt;br /&gt;
Such functionality will bring new security issues.&lt;br /&gt;
Vendor software, which is often not editable by customers using them, might contain spyware funtionality with such functionality to spray account balance information around in SL and into the internet.&lt;/div&gt;</summary>
		<author><name>Eraz Rhode</name></author>
	</entry>
	<entry>
		<id>https://wiki.secondlife.com/w/index.php?title=LlGetMyAccountBalance&amp;diff=21154</id>
		<title>LlGetMyAccountBalance</title>
		<link rel="alternate" type="text/html" href="https://wiki.secondlife.com/w/index.php?title=LlGetMyAccountBalance&amp;diff=21154"/>
		<updated>2007-05-22T22:20:52Z</updated>

		<summary type="html">&lt;p&gt;Eraz Rhode: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{LSL_Function|func_id|mode=request|func_sleep=0.1|func_energy=10.0|func=llGetMyAccountBalance|sort=GetMyAccountBalance|func_desc=Returns an integer representing the script owner&#039;s Linden Dollar account balance.&lt;br /&gt;
|return_text|spec|caveats=Requires Permission|examples|helpers|related|also|notes=This function would allow us to get the current status of our Linden dollar account balance, and open the door for accounting after Money() events.}}&lt;/div&gt;</summary>
		<author><name>Eraz Rhode</name></author>
	</entry>
	<entry>
		<id>https://wiki.secondlife.com/w/index.php?title=LlGetMyAccountBalance&amp;diff=21100</id>
		<title>LlGetMyAccountBalance</title>
		<link rel="alternate" type="text/html" href="https://wiki.secondlife.com/w/index.php?title=LlGetMyAccountBalance&amp;diff=21100"/>
		<updated>2007-05-22T22:00:21Z</updated>

		<summary type="html">&lt;p&gt;Eraz Rhode: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{LSL_Function|func_id|mode=request|func_sleep=0.1|func_energy=10.0|func=llGetMyAccountBalance|sort=GetMyAccountBalance|func_desc=Returns an integer representing the script owner&#039;s Linden Dollar account balance.&lt;br /&gt;
|return_text|spec|caveats=Requires Permission|examples|helpers|related|also|notes=This function would allow us to get the current status of our Linden dollar account balance, and open the door for accounting after Money() events. Remark from Eraz Rhode: It also might bring new security issues, when sold scripts may look after the owners balance, but sends such sensible data to third parties without the knownledge of the  owner, which is not typically the script creator.}}&lt;/div&gt;</summary>
		<author><name>Eraz Rhode</name></author>
	</entry>
	<entry>
		<id>https://wiki.secondlife.com/w/index.php?title=LlGetMyAccountBalance&amp;diff=21098</id>
		<title>LlGetMyAccountBalance</title>
		<link rel="alternate" type="text/html" href="https://wiki.secondlife.com/w/index.php?title=LlGetMyAccountBalance&amp;diff=21098"/>
		<updated>2007-05-22T21:59:02Z</updated>

		<summary type="html">&lt;p&gt;Eraz Rhode: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{LSL_Function|func_id|mode=request|func_sleep=0.1|func_energy=10.0|func=llGetMyAccountBalance|sort=GetMyAccountBalance|func_desc=Returns an integer representing the script owner&#039;s Linden Dollar account balance.&lt;br /&gt;
|return_text|spec|caveats=Requires Permission|examples|helpers|related|also|notes=This function would allow us to get the current status of our Linden dollar account balance, and open the door for accounting after Money() events. Remark from Eraz Rhode: It also allow security issues, when sold items may look after the owners balance, but sends such sensible data to third parties without the knownledge of the account owner, which is not typically the script creator.}}&lt;/div&gt;</summary>
		<author><name>Eraz Rhode</name></author>
	</entry>
	<entry>
		<id>https://wiki.secondlife.com/w/index.php?title=LSL_Useful_Function_WishList&amp;diff=21047</id>
		<title>LSL Useful Function WishList</title>
		<link rel="alternate" type="text/html" href="https://wiki.secondlife.com/w/index.php?title=LSL_Useful_Function_WishList&amp;diff=21047"/>
		<updated>2007-05-22T17:46:23Z</updated>

		<summary type="html">&lt;p&gt;Eraz Rhode: /* G */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;__NOTOC__&lt;br /&gt;
{{LSL Header}}&lt;br /&gt;
==A==&lt;br /&gt;
[[llAddToEstateBanList]]&lt;br /&gt;
==C==&lt;br /&gt;
[[llChangeLandPassPrice]]&lt;br /&gt;
&lt;br /&gt;
To allow the access price to enter a parcel of land to be changed via a script.&lt;br /&gt;
&lt;br /&gt;
==E==&lt;br /&gt;
{{LSLG|llExecuteMenuCommand}}&lt;br /&gt;
&lt;br /&gt;
==F==&lt;br /&gt;
{{LSLG|llFrandom}}&lt;br /&gt;
&lt;br /&gt;
==G==&lt;br /&gt;
{{LSLG|llGetParcelBanList}}&lt;br /&gt;
{{LSLG|llGetEstateBanList}}&lt;br /&gt;
{{LSLG|llGetAvatarKeysOnParcel}}&lt;br /&gt;
{{LSLG|llGetAvatarKeysOnEstate}}&lt;br /&gt;
{{LSLG|llGetMyAccountBalance}}&lt;br /&gt;
{{LSLG|llGetGroup}}&lt;br /&gt;
&amp;lt;s&amp;gt;llGetScriptCreatorKey&amp;lt;/s&amp;gt; - use [[llGetInventoryCreator]]([[llGetScriptName]]()) instead&lt;br /&gt;
{{LSLG|llGetRegionPopulation}}&lt;br /&gt;
{{LSLG|llGetParcelPopulation}}&lt;br /&gt;
{{LSLG|llGetWorldPopulation}}&lt;br /&gt;
{{LSLG|llGetPrice}}&lt;br /&gt;
{{LSLG|llGetAgentPreferedLanguage}}&lt;br /&gt;
&lt;br /&gt;
==I==&lt;br /&gt;
{{LSLG|llInstantMessageGroup}}&lt;br /&gt;
{{LSLG|llInviteToGroup}}&lt;br /&gt;
==L==&lt;br /&gt;
{{LSLG|llLBETMB}}&lt;br /&gt;
==N==&lt;br /&gt;
{{LSLG|llName2Key}}&lt;br /&gt;
==P==&lt;br /&gt;
{{LSLG|llPizza}}&lt;br /&gt;
{{LSLG|position_change}}&lt;br /&gt;
&lt;br /&gt;
==R==&lt;br /&gt;
{{LSLG|llRaiseError}}&lt;br /&gt;
{{LSLG|llRemoveFromEstateBanList}}&lt;br /&gt;
{{LSLG|llReturnObject}}&lt;br /&gt;
{{LSLG|llReturnOwnersObjects}}&lt;br /&gt;
{{LSLG|llRotateAgent}}&lt;br /&gt;
&lt;br /&gt;
==S==&lt;br /&gt;
{{LSLG|llSoundex}}&lt;br /&gt;
{{LSLG|llSpeakText}}&lt;br /&gt;
{{LSLG|llSpeech2Text}}&lt;br /&gt;
{{LSLG|llSpeech2TextRemove}}&lt;br /&gt;
{{LSLG|llSayWithinRange}}&lt;br /&gt;
&lt;br /&gt;
==T==&lt;br /&gt;
{{LSLG|llTeleportAgent}}&lt;br /&gt;
{{LSLG|llTriggerLandmark}}&lt;br /&gt;
{{LSLG|llTrackTouches}}&lt;br /&gt;
&lt;br /&gt;
==Other functionality==&lt;br /&gt;
{{LSLG|Block comments}}&lt;br /&gt;
{{LSLG|True tab-stops}}&lt;br /&gt;
{{LSLG|Code Folding}}&lt;br /&gt;
{{LSLG|Windowed Scripting}}&lt;br /&gt;
{{LSLG|Switch Statement}}&lt;br /&gt;
{{LSLG|Array}}&lt;br /&gt;
{{LSLG|on_unrez|Event: Unrez / Delete}}&lt;br /&gt;
{{LSLG|Conditionals}}&lt;/div&gt;</summary>
		<author><name>Eraz Rhode</name></author>
	</entry>
	<entry>
		<id>https://wiki.secondlife.com/w/index.php?title=LSL_Useful_Function_WishList&amp;diff=21046</id>
		<title>LSL Useful Function WishList</title>
		<link rel="alternate" type="text/html" href="https://wiki.secondlife.com/w/index.php?title=LSL_Useful_Function_WishList&amp;diff=21046"/>
		<updated>2007-05-22T17:26:34Z</updated>

		<summary type="html">&lt;p&gt;Eraz Rhode: /* G */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;__NOTOC__&lt;br /&gt;
{{LSL Header}}&lt;br /&gt;
==A==&lt;br /&gt;
[[llAddToEstateBanList]]&lt;br /&gt;
==C==&lt;br /&gt;
[[llChangeLandPassPrice]]&lt;br /&gt;
&lt;br /&gt;
To allow the access price to enter a parcel of land to be changed via a script.&lt;br /&gt;
&lt;br /&gt;
==E==&lt;br /&gt;
{{LSLG|llExecuteMenuCommand}}&lt;br /&gt;
&lt;br /&gt;
==F==&lt;br /&gt;
{{LSLG|llFrandom}}&lt;br /&gt;
&lt;br /&gt;
==G==&lt;br /&gt;
{{LSLG|llGetParcelBanList}}&lt;br /&gt;
{{LSLG|llGetEstateBanList}}&lt;br /&gt;
{{LSLG|llGetAvatarKeysOnParcel}}&lt;br /&gt;
{{LSLG|llGetAvatarKeysOnEstate}}&lt;br /&gt;
{{LSLG|llGetMyAccountBalance}}&lt;br /&gt;
{{LSLG|llGetGroup}}&lt;br /&gt;
&amp;lt;s&amp;gt;llGetScriptCreatorKey&amp;lt;/s&amp;gt; - use [[llGetInventoryCreator]]([[llGetScriptName]]()) instead&lt;br /&gt;
{{LSLG|llGetRegionPopulation}}&lt;br /&gt;
{{LSLG|llGetParcelPopulation}}&lt;br /&gt;
{{LSLG|llGetWorldPopulation}}&lt;br /&gt;
{{LSLG|llGetPrice}}&lt;br /&gt;
{{LSLG|llGetAvatarPreferedLanguage}}&lt;br /&gt;
&lt;br /&gt;
==I==&lt;br /&gt;
{{LSLG|llInstantMessageGroup}}&lt;br /&gt;
{{LSLG|llInviteToGroup}}&lt;br /&gt;
==L==&lt;br /&gt;
{{LSLG|llLBETMB}}&lt;br /&gt;
==N==&lt;br /&gt;
{{LSLG|llName2Key}}&lt;br /&gt;
==P==&lt;br /&gt;
{{LSLG|llPizza}}&lt;br /&gt;
{{LSLG|position_change}}&lt;br /&gt;
&lt;br /&gt;
==R==&lt;br /&gt;
{{LSLG|llRaiseError}}&lt;br /&gt;
{{LSLG|llRemoveFromEstateBanList}}&lt;br /&gt;
{{LSLG|llReturnObject}}&lt;br /&gt;
{{LSLG|llReturnOwnersObjects}}&lt;br /&gt;
{{LSLG|llRotateAgent}}&lt;br /&gt;
&lt;br /&gt;
==S==&lt;br /&gt;
{{LSLG|llSoundex}}&lt;br /&gt;
{{LSLG|llSpeakText}}&lt;br /&gt;
{{LSLG|llSpeech2Text}}&lt;br /&gt;
{{LSLG|llSpeech2TextRemove}}&lt;br /&gt;
{{LSLG|llSayWithinRange}}&lt;br /&gt;
&lt;br /&gt;
==T==&lt;br /&gt;
{{LSLG|llTeleportAgent}}&lt;br /&gt;
{{LSLG|llTriggerLandmark}}&lt;br /&gt;
{{LSLG|llTrackTouches}}&lt;br /&gt;
&lt;br /&gt;
==Other functionality==&lt;br /&gt;
{{LSLG|Block comments}}&lt;br /&gt;
{{LSLG|True tab-stops}}&lt;br /&gt;
{{LSLG|Code Folding}}&lt;br /&gt;
{{LSLG|Windowed Scripting}}&lt;br /&gt;
{{LSLG|Switch Statement}}&lt;br /&gt;
{{LSLG|Array}}&lt;br /&gt;
{{LSLG|on_unrez|Event: Unrez / Delete}}&lt;br /&gt;
{{LSLG|Conditionals}}&lt;/div&gt;</summary>
		<author><name>Eraz Rhode</name></author>
	</entry>
</feed>