Don't click here unless you want to be banned.

LSL Wiki : StateKeyword

HomePage :: PageIndex :: RecentChanges :: RecentlyCommented :: UserSettings :: You are ec2-204-236-235-245.compute-1.amazonaws.com
state

This keyword is used to transition between states in a script. It's also used to define states, with the exception of the default state. State changes generally only happen in event handlers, although it's possible to hack around this limitation and transition from inside user-defined functions.

Example:
default
{
   touch_start(integer detectedCount)
   {
      llOwnerSay( "Transitioning to the foo state.");
      state foo;
   }
}

state foo
{
   touch_start(integer detectedCount)
   {
      llOwnerSay( "Transitioning back to the default state.");
      state default;
   }
}

The maximum number of states a single script can support is 144 (including the default state). 144 is 128 + 16, both powers of two. Adding any states to a single script beyond 144 will generate a syntax error. To test this, create a script containing the contents below:

//
//
default {state_entry(){}}state state0{state_entry(){}}state state1{state_entry(){}}state state2{state_entry(){}}state state3{state_entry(){}}state state4{state_entry(){}}state state5{state_entry(){}}state state6{state_entry(){}}state state7{state_entry(){}}state state8{state_entry(){}}state state9{state_entry(){}}state state10{state_entry(){}}state state11{state_entry(){}}state state12{state_entry(){}}state state13{state_entry(){}}state state14{state_entry(){}}state state15{state_entry(){}}state state16{state_entry(){}}state state17{state_entry(){}}state state18{state_entry(){}}state state19{state_entry(){}}state state20{state_entry(){}}state state21{state_entry(){}}state state22{state_entry(){}}state state23{state_entry(){}}state state24{state_entry(){}}state state25{state_entry(){}}state state26{state_entry(){}}state state27{state_entry(){}}state state28{state_entry(){}}state state29{state_entry(){}}state state30{state_entry(){}}state state31{state_entry(){}}state state32{state_entry(){}}state state33{state_entry(){}}state state34{state_entry(){}}state state35{state_entry(){}}state state36{state_entry(){}}state state37{state_entry(){}}state state38{state_entry(){}}state state39{state_entry(){}}state state40{state_entry(){}}state state41{state_entry(){}}state state42{state_entry(){}}state state43{state_entry(){}}state state44{state_entry(){}}state state45{state_entry(){}}state state46{state_entry(){}}state state47{state_entry(){}}state state48{state_entry(){}}state state49{state_entry(){}}state state50{state_entry(){}}state state51{state_entry(){}}state state52{state_entry(){}}state state53{state_entry(){}}state state54{state_entry(){}}state state55{state_entry(){}}state state56{state_entry(){}}state state57{state_entry(){}}state state58{state_entry(){}}state state59{state_entry(){}}state state60{state_entry(){}}state state61{state_entry(){}}state state62{state_entry(){}}state state63{state_entry(){}}state state64{state_entry(){}}state state65{state_entry(){}}state state66{state_entry(){}}state state67{state_entry(){}}state state68{state_entry(){}}state state69{state_entry(){}}state state70{state_entry(){}}state state71{state_entry(){}}state state72{state_entry(){}}state state73{state_entry(){}}state state74{state_entry(){}}state state75{state_entry(){}}state state76{state_entry(){}}state state77{state_entry(){}}state state78{state_entry(){}}state state79{state_entry(){}}state state80{state_entry(){}}state state81{state_entry(){}}state state82{state_entry(){}}state state83{state_entry(){}}state state84{state_entry(){}}state state85{state_entry(){}}state state86{state_entry(){}}state state87{state_entry(){}}state state88{state_entry(){}}state state89{state_entry(){}}state state90{state_entry(){}}state state91{state_entry(){}}state state92{state_entry(){}}state state93{state_entry(){}}state state94{state_entry(){}}state state95{state_entry(){}}state state96{state_entry(){}}state state97{state_entry(){}}state state98{state_entry(){}}state state99{state_entry(){}}state state100{state_entry(){}}state state101{state_entry(){}}state state102{state_entry(){}}state state103{state_entry(){}}state state104{state_entry(){}}state state105{state_entry(){}}state state106{state_entry(){}}state state107{state_entry(){}}state state108{state_entry(){}}state state109{state_entry(){}}state state110{state_entry(){}}state state111{state_entry(){}}state state112{state_entry(){}}state state113{state_entry(){}}state state114{state_entry(){}}state state115{state_entry(){}}state state116{state_entry(){}}state state117{state_entry(){}}state state118{state_entry(){}}state state119{state_entry(){}}state state120{state_entry(){}}state state121{state_entry(){}}state state122{state_entry(){}}state state123{state_entry(){}}state state124{state_entry(){}}state state125{state_entry(){}}state state126{state_entry(){}}state state127{state_entry(){}}state state128{state_entry(){}}state state129{state_entry(){}}state state130{state_entry(){}}state state131{state_entry(){}}state state132{state_entry(){}}state state133{state_entry(){}}state state134{state_entry(){}}state state135{state_entry(){}}state state136{state_entry(){}}state state137{state_entry(){}}state state138{state_entry(){}}state state139{state_entry(){}}state state140{state_entry(){}}state state141{state_entry(){}}state state142{state_entry(){}}
//
//

The above script will compile successfully. However, if you add a single additional state to it, the script will generate a syntax error during compilation, despite no "real" syntax error being present, and despite the script being well under the 16k script limit.
Tax Consultant | Outsourcing Indonesia

Flow Control | state
There is one comment on this page. [Display comments/form]