llkeywords version 2

# sections
[word .5, .1, .3]
default 		Name of default state that all scripts must have
state 			Keyword to indicate state block or state transition

# data types
[word .1, .3, .1]
integer			Integer type
float			Floating-point type
string			String type
key				Key type.  Use NULL_KEY to test for empty keys.
vector			Vector type of 3 floats.  Used to represent 3D motion, Euler angles, and color.:Access components by .x, .y. or .z
rotation		Rotation type of 4 floats.  Used to represent rotation.:Access components by .x, .y., .z, or .w
list			List of various data types

# events
[word 0, .3, .5]
state_entry		state_entry():Triggered on any state transition and startup
state_exit		state_exit():Triggered on any state transition
touch_start		touch_start(integer num_detected):Triggered by the start of agent clicking on task
touch			touch(integer num_detected):Triggered while agent is clicking on task
touch_end		touch_end(integer num_detected):Triggered when agent stops clicking on task
collision_start collision_start(integer num_detected):Triggered when task starts colliding with another task
collision		collision(integer num_detected):Triggered while task is colliding with another task
collision_end	collision_end(integer num_detected):Triggered when task stops colliding with another task
land_collision_start	land_collision_start(vector pos):Triggered when task starts colliding with land
land_collision			land_collision(vector pos):Triggered when task is colliding with land
land_collision_end		land_collision_end(vector pos):Triggered when task stops colliding with land
timer			timer():Result of the llSetTimerEvent library function call.
listen			listen(integer channel, string name, key id, string message):Result of the llListen library function call
sensor			sensor(integer num_detected):Result of the llSensor library function call
no_sensor		no_sensor():Result of the llSensor library function call
control			control(key id, integer level, integer edge):Result of llTakeControls library function call
at_target		at_target(integer tnum, vector targetpos, vector ourpos):Result of llTarget library function call
not_at_target	not_at_target():Result of llTarget library function call
at_rot_target	at_rot_target(integer tnum, rotation targetrot, rotation ourrot):Result of LLRotTarget library function call
not_at_rot_target	not_at_rot_target():Result of LLRotTarget library function call
money			money(key id, integer amount):Triggered when L$ is given to task
email			email(string time, string address, string subj, string message, integer num_left):Triggered when task receives email
run_time_permissions	run_time_permissions(integer perm):Triggered when an agent grants run time permissions to task
attach			attach(key id):Triggered when an agent attaches or detaches from agent
dataserver      dataserver(key queryid, string data):Triggered when task receives asynchronous data
moving_start	moving_start():Triggered when task begins moving
moving_end		moving_end():Triggered when task stops moving
on_rez			on_rez(integer start_param):Triggered when task is rezed in from inventory or another task
object_rez		object_rez(key id):Triggered when task rezes in another task
link_message	link_message(integer sender_num, integer num, string str, key id):Triggered when task receives a link message via LLMessageLinked library function call
changed			changed( integer change ):Triggered various event change the task:(test change with CHANGED_INVENTORY, CHANGED_COLOR, CHANGED_SHAPE, CHANGED_SCALE, CHANGED_TEXTURE, CHANGED_LINK, CHANGED_ALLOWED_DROP, CHANGED_OWNER, CHANGED_REGION, CHANGED_TELEPORT)
remote_data     remote_data(integer event_type, key channel, key message_id, string sender,integer idata, string sdata):Triggered by various XML-RPC calls (event_type will be one of REMOTE_DATA_CHANNEL, REMOTE_DATA_REQUEST, REMOTE_DATA_REPLY)
http_response   http_response(key request_id, integer status, list metadata, string body):Triggered when task receives a response to one of its llHTTPRequests

# integer constants
[word .1, .1, .5]
TRUE			Integer constant for Boolean operations
FALSE			Integer constant for Boolean operations
STATUS_PHYSICS	Passed in the llSetStatus library function.  If TRUE, object moves physically
STATUS_PHANTOM	Passed in the llSetStatus library function.  If TRUE, object doesn't collide with other objects
STATUS_ROTATE_X Passed in the llSetStatus library function.  If FALSE, object doesn't rotate around local X axis
STATUS_ROTATE_Y Passed in the llSetStatus library function.  If FALSE, object doesn't rotate around local Y axis
STATUS_ROTATE_Z Passed in the llSetStatus library function.  If FALSE, object doesn't rotate around local Z axis
STATUS_SANDBOX	Passed in the llSetStatus library function.  If TRUE, object can't cross region boundaries or move more than 10 meters from its start location
STATUS_BLOCK_GRAB Passed in the llSetStatus library function.  If TRUE, object can't be grabbed and physically dragged
STATUS_DIE_AT_EDGE Passed in the llSetStatus library function.  If TRUE, objects that reach the edge of the world just die:rather than teleporting back to the owner
STATUS_RETURN_AT_EDGE Passed in the llSetStatus library function.  If TRUE, script rezzed objects that reach the edge of the world:are returned rather than killed:STATUS_RETURN_AT_EDGE trumps STATUS_DIE_AT_EDGE if both are set
STATUS_CAST_SHADOWS	Passed in the llSetStatus library function.  If TRUE, object casts shadows on other objects
AGENT			Passed in llSensor library function to look for other Agents
ACTIVE			Passed in llSensor library function to look for moving objects
PASSIVE			Passed in llSensor library function to look for objects that aren't moving
SCRIPTED		Passed in llSensor library function to look for scripted objects
CONTROL_FWD		Passed to llTakeControls library function and used control event handler to test for agent forward control
CONTROL_BACK	Passed to llTakeControls library function and used control event handler to test for agent back control
CONTROL_LEFT	Passed to llTakeControls library function and used control event handler to test for agent left control
CONTROL_RIGHT	Passed to llTakeControls library function and used control event handler to test for agent right control
CONTROL_ROT_LEFT				Passed to llTakeControls library function and used control event handler to test for agent rotate left control
CONTROL_ROT_RIGHT				Passed to llTakeControls library function and used control event handler to test for agent rotate right control
CONTROL_UP						Passed to llTakeControls library function and used control event handler to test for agent up control
CONTROL_DOWN					Passed to llTakeControls library function and used control event handler to test for agent down control
CONTROL_LBUTTON					Passed to llTakeControls library function and used control event handler to test for agent left button control
CONTROL_ML_LBUTTON				Passed to llTakeControls library function and used control event handler to test for agent left button control with the agent in mouse look
PERMISSION_DEBIT				Passed to llRequestPermissions library function to request permission to take L$ from agent's account
PERMISSION_TAKE_CONTROLS		Passed to llRequestPermissions library function to request permission to take agent's controls
# PERMISSION_REMAP_CONTROLS		Passed to llRequestPermissions library function to request permission to remap agent's controls (not implemented yet)
PERMISSION_TRIGGER_ANIMATION	Passed to llRequestPermissions library function to request permission to trigger animation on agent
PERMISSION_ATTACH				Passed to llRequestPermissions library function to request permission to attach/detach from agent
# PERMISSION_RELEASE_OWNERSHIP	Passed to llRequestPermissions library function to request permission to release ownership (not implemented)
PERMISSION_CHANGE_LINKS			Passed to llRequestPermissions library function to request permission to change links
# PERMISSION_CHANGE_JOINTS		Passed to llRequestPermissions library function to request permission to change joints (not implemented)
# PERMISSION_CHANGE_PERMISSIONS Passed to llRequestPermissions library function to request permission to change permissions
PERMISSION_TRACK_CAMERA			Passed to llRequestPermissions library function to request permission to track agent's camera
PERMISSION_CONTROL_CAMERA		Passed to llRequestPermissions library function to request permission to change agent's camera

DEBUG_CHANNEL		Chat channel reserved for debug and error messages from scripts
PUBLIC_CHANNEL		Chat channel that broadcasts to all nearby users

AGENT_FLYING		Returned by llGetAgentInfo if the Agent is flying
AGENT_ATTACHMENTS	Returned by llGetAgentInfo if the Agent has attachments
AGENT_SCRIPTED		Returned by llGetAgentInfo if the Agent has scripted attachments
AGENT_SITTING		Returned by llGetAgentInfo if the Agent is sitting
AGENT_ON_OBJECT		Returned by llGetAgentInfo if the Agent is sitting on an object
AGENT_MOUSELOOK		Returned by llGetAgentInfo if the Agent is in mouselook
AGENT_AWAY			Returned by llGetAgentInfo if the Agent is in away mode
AGENT_WALKING		Returned by llGetAgentInfo if the Agent is walking
AGENT_IN_AIR		Returned by llGetAgentInfo if the Agent is in the air
AGENT_TYPING		Returned by llGetAgentInfo if the Agent is typing
AGENT_CROUCHING		Returned by llGetAgentInfo if the Agent is crouching
AGENT_BUSY			Returned by llGetAgentInfo if the Agent is busy
AGENT_ALWAYS_RUN	Returned by llGetAgentInfo if the Agent has 'Always Run' enabled

PSYS_PART_FLAGS
PSYS_PART_START_COLOR
PSYS_PART_START_ALPHA
PSYS_PART_START_SCALE
PSYS_PART_END_COLOR
PSYS_PART_END_ALPHA
PSYS_PART_END_SCALE
PSYS_PART_MAX_AGE

PSYS_PART_BOUNCE_MASK
PSYS_PART_WIND_MASK
PSYS_PART_INTERP_COLOR_MASK
PSYS_PART_INTERP_SCALE_MASK
PSYS_PART_FOLLOW_SRC_MASK
PSYS_PART_FOLLOW_VELOCITY_MASK
PSYS_PART_TARGET_POS_MASK
PSYS_PART_EMISSIVE_MASK
PSYS_PART_TARGET_LINEAR_MASK

PSYS_SRC_PATTERN
PSYS_SRC_INNERANGLE	Deprecated -- Use PSYS_SRC_ANGLE_BEGIN
PSYS_SRC_OUTERANGLE	Deprecated -- Use PSYS_SRC_ANGLE_END
PSYS_SRC_ANGLE_BEGIN
PSYS_SRC_ANGLE_END
PSYS_SRC_BURST_RATE
PSYS_SRC_BURST_PART_COUNT
PSYS_SRC_BURST_RADIUS
PSYS_SRC_BURST_SPEED_MIN
PSYS_SRC_BURST_SPEED_MAX
PSYS_SRC_MAX_AGE
PSYS_SRC_ACCEL
PSYS_SRC_TEXTURE
PSYS_SRC_TARGET_KEY
PSYS_SRC_OMEGA

PSYS_SRC_PATTERN_DROP
PSYS_SRC_PATTERN_EXPLODE
PSYS_SRC_PATTERN_ANGLE
PSYS_SRC_PATTERN_ANGLE_CONE
PSYS_SRC_PATTERN_ANGLE_CONE_EMPTY

OBJECT_UNKNOWN_DETAIL	Returned by llGetObjectDetails when passed an invalid object parameter type.
OBJECT_NAME				Used with llGetObjectDetails to get an object's name.
OBJECT_DESC				Used with llGetObjectDetails to get an object's description.
OBJECT_POS				Used with llGetObjectDetails to get an object's position.
OBJECT_ROT				Used with llGetObjectDetails to get an object's rotation.
OBJECT_VELOCITY			Used with llGetObjectDetails to get an object's velocity.
OBJECT_OWNER			Used with llGetObjectDetails to get an object's owner's key.  Will be NULL_KEY if group owned.
OBJECT_GROUP			Used with llGetObjectDetails to get an object's group's key.
OBJECT_CREATOR			Used with llGetObjectDetails to get an object's creator's key.

# some vehicle params
VEHICLE_TYPE_NONE
VEHICLE_TYPE_SLED
VEHICLE_TYPE_CAR
VEHICLE_TYPE_BOAT
VEHICLE_TYPE_AIRPLANE
VEHICLE_TYPE_BALLOON

VEHICLE_REFERENCE_FRAME		Rotation of vehicle axes relative to local frame

VEHICLE_LINEAR_FRICTION_TIMESCALE 	A vector of timescales for exponential decay of linear velocity along the three vehicle axes
VEHICLE_ANGULAR_FRICTION_TIMESCALE	A vector of timescales for exponential decay of angular velocity about the three vehicle axes
VEHICLE_LINEAR_MOTOR_DIRECTION		The linear velocity that the vehicle will try to achieve
VEHICLE_LINEAR_MOTOR_OFFSET			An offset from the center of mass of the vehicle where the linear motor is applied
VEHICLE_ANGULAR_MOTOR_DIRECTION		The angular velocity that the vehicle will try to achieve

VEHICLE_HOVER_HEIGHT		The height the vehicle will try to hover
VEHICLE_HOVER_EFFICIENCY	A slider between 0 (bouncy) and 1 (critically damped) hover behavior
VEHICLE_HOVER_TIMESCALE		The period of time for the vehicle to achieve its hover height
VEHICLE_BUOYANCY			A slider between 0 (no anti-gravity) and 1 (full anti-gravity)

VEHICLE_LINEAR_DEFLECTION_EFFICIENCY	A slider between 0 (no deflection) and 1 (maximum strength)
VEHICLE_LINEAR_DEFLECTION_TIMESCALE		The exponential timescale for the vehicle to redirect its velocity to be along its x-axis

VEHICLE_LINEAR_MOTOR_TIMESCALE			The exponential timescale for the vehicle to achive its full linear motor velocity
VEHICLE_LINEAR_MOTOR_DECAY_TIMESCALE	The exponential timescale for the linear motor's effectiveness to decay toward zero

VEHICLE_ANGULAR_DEFLECTION_EFFICIENCY	A slider between 0 (no deflection) and 1 (maximum strength)
VEHICLE_ANGULAR_DEFLECTION_TIMESCALE	The exponential timescale for the vehicle to achieve full angular deflection

VEHICLE_ANGULAR_MOTOR_TIMESCALE			The exponential timescale for the vehicle to achive its full angular motor velocity
VEHICLE_ANGULAR_MOTOR_DECAY_TIMESCALE	The exponential timescale for the angular motor's effectiveness to decay toward zero

VEHICLE_VERTICAL_ATTRACTION_EFFICIENCY	A slider between 0 (bouncy) and 1 (critically damped) attraction of vehicle z-axis to world z-axis (vertical)
VEHICLE_VERTICAL_ATTRACTION_TIMESCALE	The exponential timescale for the vehicle to align its z-axis to the world z-axis (vertical)

VEHICLE_BANKING_EFFICIENCY	A slider between -1 (leans out of turns), 0 (no banking), and +1 (leans into turns)
VEHICLE_BANKING_MIX			A slider betwen 0 (static banking) and 1 (dynamic banking)
VEHICLE_BANKING_TIMESCALE	The exponential timescale for the banking behavior to take full effect

VEHICLE_FLAG_NO_DEFLECTION_UP	Prevents linear deflection along world-z axis
VEHICLE_FLAG_LIMIT_ROLL_ONLY	Removes vertical attraction for changes in vehicle pitch
VEHICLE_FLAG_HOVER_WATER_ONLY	Hover only pays attention to water level
VEHICLE_FLAG_HOVER_TERRAIN_ONLY	Hover only pays attention to terrain height
VEHICLE_FLAG_HOVER_GLOBAL_HEIGHT Hover only pays attention to global height
VEHICLE_FLAG_HOVER_UP_ONLY 		Hover only pushes up
VEHICLE_FLAG_LIMIT_MOTOR_UP		Prevents ground vehicles from motoring into the sky
VEHICLE_FLAG_MOUSELOOK_STEER	Makes vehicle try to turn toward mouselook direction.
VEHICLE_FLAG_MOUSELOOK_BANK		Makes vehicle try to turn toward mouselook direction assuming banking is enabled.
VEHICLE_FLAG_CAMERA_DECOUPLED 	Causes the camera look-at axis to NOT move when the vehicle rotates.

CAMERA_PITCH				(-45 to 80) (Adjusts the angular amount that the camera aims straight ahead vs. straight down, maintaining the same distance. Analogous to 'incidence'.")
CAMERA_FOCUS_OFFSET			(-10 to 10) A vector that adjusts the position of the camera focus position relative to the subject
CAMERA_POSITION_LAG			(0.0 to 3.0)  How much the camera lags as it tries to move towards its 'ideal' position
CAMERA_FOCUS_LAG			(0.0 to 3.0) How much the camera lags as it tries to aim towards the subject
CAMERA_DISTANCE				(0.5 to 10) Sets how far away the camera wants to be from its subject
CAMERA_BEHINDNESS_ANGLE		(0 to 180) Sets the angle in degrees within which the camera is not constrained by changes in subject rotation
CAMERA_BEHINDNESS_LAG		(0.0 to 3.0) Sets how strongly the camera is forced to stay behind the target if outside of behindness angle
CAMERA_POSITION_THRESHOLD	(0.0 to 4.0) Sets the radius of a sphere around the camera's ideal position within which it is not affected by subject motion
CAMERA_FOCUS_THRESHOLD		(0.0 to 4.0) Sets the radius of a sphere around the camera's subject position within which its focus is not affected by subject motion
CAMERA_ACTIVE				(0 or 1) Turns on or off scripted control of the camera
CAMERA_POSITION				Sets the position of the camera
CAMERA_FOCUS				Sets the focus (target position) of the camera
CAMERA_POSITION_LOCKED		(0 or 1) Locks the camera position so it will not move
CAMERA_FOCUS_LOCKED			(0 or 1) Locks the camera focus so it will not move

INVENTORY_TEXTURE	Passed to task inventory library functions to reference textures
INVENTORY_SOUND		Passed to task inventory library functions to reference sounds
INVENTORY_OBJECT	Passed to task inventory library functions to reference objects
INVENTORY_SCRIPT	Passed to task inventory library functions to reference scripts
INVENTORY_LANDMARK	Passed to task inventory library functions to reference landmarks
INVENTORY_CLOTHING	Passed to task inventory library functions to reference clothing
INVENTORY_NOTECARD	Passed to task inventory library functions to reference notecards
INVENTORY_BODYPART	Passed to task inventory library functions to reference body parts
INVENTORY_ANIMATION	Passed to task inventory library functions to reference animations
INVENTORY_GESTURE	Passed to task inventory library functions to reference gestures
INVENTORY_ALL		Passed to task inventory library functions to reference all inventory items
INVENTORY_NONE		Returned by llGetInventoryType when no item is found.

ATTACH_CHEST		Passed to llAttachToAvatar to attach task to chest
ATTACH_HEAD			Passed to llAttachToAvatar to attach task to head
ATTACH_LSHOULDER	Passed to llAttachToAvatar to attach task to left shoulder
ATTACH_RSHOULDER	Passed to llAttachToAvatar to attach task to right shoulder
ATTACH_LHAND		Passed to llAttachToAvatar to attach task to left hand
ATTACH_RHAND		Passed to llAttachToAvatar to attach task to right hand
ATTACH_LFOOT		Passed to llAttachToAvatar to attach task to left foot
ATTACH_RFOOT		Passed to llAttachToAvatar to attach task to right foot
ATTACH_BACK			Passed to llAttachToAvatar to attach task to back
ATTACH_PELVIS		Passed to llAttachToAvatar to attach task to pelvis
ATTACH_MOUTH		Passed to llAttachToAvatar to attach task to mouth
ATTACH_CHIN			Passed to llAttachToAvatar to attach task to chin
ATTACH_LEAR			Passed to llAttachToAvatar to attach task to left ear
ATTACH_REAR			Passed to llAttachToAvatar to attach task to right ear
ATTACH_LEYE			Passed to llAttachToAvatar to attach task to left eye
ATTACH_REYE			Passed to llAttachToAvatar to attach task to right eye
ATTACH_NOSE			Passed to llAttachToAvatar to attach task to noce
ATTACH_RUARM		Passed to llAttachToAvatar to attach task to right upper arm
ATTACH_RLARM		Passed to llAttachToAvatar to attach task to right lower arm
ATTACH_LUARM		Passed to llAttachToAvatar to attach task to left upper arm
ATTACH_LLARM		Passed to llAttachToAvatar to attach task to left lower arm
ATTACH_RHIP			Passed to llAttachToAvatar to attach task to right hip
ATTACH_RULEG		Passed to llAttachToAvatar to attach task to right upper leg
ATTACH_RLLEG		Passed to llAttachToAvatar to attach task to right lower leg
ATTACH_LHIP			Passed to llAttachToAvatar to attach task to left hip
ATTACH_LULEG		Passed to llAttachToAvatar to attach task to left upper leg
ATTACH_LLLEG		Passed to llAttachToAvatar to attach task to left lower leg
ATTACH_BELLY		Passed to llAttachToAvatar to attach task to belly
ATTACH_RPEC			Passed to llAttachToAvatar to attach task to right pectoral
ATTACH_LPEC			Passed to llAttachToAvatar to attach task to left pectoral

LAND_LEVEL			Passed to llModifyLand to level terrain
LAND_RAISE			Passed to llModifyLand to raise terrain
LAND_LOWER			Passed to llModifyLand to lower terrain
LAND_SMOOTH			Passed to llModifyLand to smooth terrain
LAND_NOISE			Passed to llModifyLand to randomize terrain
LAND_REVERT			Passed to llModifyLand to revert terrain toward original state
LAND_SMALL_BRUSH	Passed to llModifyLand to modify small land areas
LAND_MEDIUM_BRUSH	Passed to llModifyLand to modify medium land areas
LAND_LARGE_BRUSH	Passed to llModifyLand to modify large land areas

DATA_PAYINFO		Passed to llRequestAgentData to get payment status of an agent
DATA_ONLINE			Passed to llRequestAgentData to determine if agent is online
DATA_NAME			Passed to llRequestAgentData to get full agent name
DATA_BORN			Passed to llRequestAgentData to get born on date as a string
DATA_RATING			Passed to llRequestAgentData to get a comma separated sting of integer ratings
DATA_SIM_POS		Passed to llRequestSimulatorData to get a string (cast to vector) of a simulator's global position
DATA_SIM_STATUS		Passed to llRequestSimulatorData to get the status of a simulator
DATA_SIM_RATING		Passed to llRequestSimulatorData to get the rating of a simulator

PAYMENT_INFO_ON_FILE		Used with llRequestAgentData to tell if Agent is of "Payment Info On File" status
PAYMENT_INFO_USED	Used with llRequestAgentData to tell if Agent is of "Payment Info Used" status

ANIM_ON				Enable texture animation
LOOP				Loop when animating textures
REVERSE				Animate in the reverse direction
PING_PONG			Animate forward, then reverse.
SMOOTH				Textures slides, instead of stepping
ROTATE				Rotates the texture, instead of using frames
SCALE				Scales the texture, instead of using frames

ALL_SIDES			Passed to various texture and color library functions to modify all sides

LINK_SET			Passed to various link functions to modify all blocks in the object
LINK_ROOT			Passed to various link functions to modify only the root block (no effect on single block objects)
LINK_ALL_OTHERS		Passed to various link functions to modify all other blocks in the object
LINK_ALL_CHILDREN	Passed to various link functions to modify all child blocks in the object
LINK_THIS			Passed to various link functions to modify only the calling block

CHANGED_INVENTORY	Parameter of changed event handler used to indicate change to task's inventory
CHANGED_COLOR		Parameter of changed event handler used to indicate change to task's color
CHANGED_SHAPE		Parameter of changed event handler used to indicate change to task's shape parameters
CHANGED_SCALE		Parameter of changed event handler used to indicate change to task's scale
CHANGED_TEXTURE		Parameter of changed event handler used to indicate change to task's texture
CHANGED_LINK		Parameter of changed event handler used to indicate change to task's link status
CHANGED_ALLOWED_DROP Parameter of changed event handler used to indicate a user dropped an inventory item:onto task that was allowed only by llAllowInventoryDrop function call
CHANGED_OWNER		Parameter of changed event handler used to indicate change to task's owner ONLY when an object is sold as original or deeded to group
CHANGED_REGION		Parameter of changed event handler used to indicate the region has changed
CHANGED_TELEPORT	Parameter of changed event handler used to indicate teleport has completed

TYPE_INTEGER		Indicates that the list entry is holding an integer
TYPE_FLOAT			Indicates that the list entry is holding an float
TYPE_STRING			Indicates that the list entry is holding an string
TYPE_KEY			Indicates that the list entry is holding an key
TYPE_VECTOR			Indicates that the list entry is holding an vector
TYPE_ROTATION		Indicates that the list entry is holding an rotation
TYPE_INVALID		Indicates that this wasn't a valid list entry


REMOTE_DATA_CHANNEL	Value of event_type in remote_event after successful llOpenRemoteDataChannel
REMOTE_DATA_REQUEST	Value of event_type in remote_event if XML-RPC request is received
REMOTE_DATA_REPLY	Value of event_type in remote_event if XML-RPC reply is received


PRIM_TYPE			Followed by PRIM_TYPE_BOX, PRIM_TYPE_CYLINDER, PRIM_TYPE_PRISM, PRIM_TYPE_SPHERE,:PRIM_TYPE_TORUS, or PRIM_TYPE_TUBE and their arguments
PRIM_MATERIAL		Sets material to PRIM_MATERIAL_STONE, PRIM_MATERIAL_METAL, PRIM_MATERIAL_GLASS,:PRIM_MATERIAL_WOOD, PRIM_MATERIAL_FLESH, PRIM_MATERIAL_PLASTIC,:PRIM_MATERIAL_RUBBER, or PRIM_MATERIAL_LIGHT
PRIM_PHYSICS		Sets physics to TRUE or FALSE
PRIM_FLEXIBLE		Sets primitive flexibility to TRUE or FALSE
PRIM_POINT_LIGHT	Sets light emission to TRUE or FALSE
PRIM_TEMP_ON_REZ	Sets temporay on rez to TRUE or FALSE
PRIM_PHANTOM		Sets phantom to TRUE or FALSE
PRIM_CAST_SHADOWS	DEPRECATED. Takes 1 parameter, an integer, but has no effect when set and always returns 0 if used in llGetPrimitiveParams.
PRIM_POSITION		Sets primitive position to a vector position
PRIM_SIZE			Sets primitive size to a vector size
PRIM_ROTATION		Sets primitive rotation
PRIM_TEXTURE		Followed by an integer face, key id, vector repeats, vector offsets,:and float rotation in radians
PRIM_COLOR			Followed by an integer face, vector color, and float alpha
PRIM_BUMP_SHINY		Followed by an integer face, one of PRIM_SHINY_NONE, PRIM_SHINY_LOW,:PRIM_SHINY_MEDIUM, or PRIM_SHINY_HIGH,:and one of PRIM_BUMP_NONE, PRIM_BUMP_BRIGHT, PRIM_BUMP_DARK, etc
PRIM_FULLBRIGHT		Followed by an integer face, and TRUE or FALSE
PRIM_TEXGEN			Followed by an integer face, and one of PRIM_TEXGEN_DEFAULT or PRIM_TEXGEN_PLANAR
PRIM_GLOW			Followed by an integer face, and a float from 0.0 to 1.0 specifying glow amount

PRIM_TYPE_BOX		Followed by integer hole shape, vector cut, float hollow, vector twist,:vector top size, and vector top shear
PRIM_TYPE_CYLINDER	Followed by integer hole shape, vector cut, float hollow, vector twist,:vector top size, and vector top shear
PRIM_TYPE_PRISM		Followed by integer hole shape, vector cut, float hollow, vector twist,:vector top size, and vector top shear
PRIM_TYPE_SPHERE	Followed by integer hole shape, vector cut, float hollow, vector twist,:and vector dimple
PRIM_TYPE_TORUS		Followed by integer hole shape, vector cut, float hollow, vector twist,:vector hole size, vector top shear, vector advanced cut, vector taper,:float revolutions, float radius offset, and float skew
PRIM_TYPE_TUBE		Followed by integer hole shape, vector cut, float hollow, vector twist,:vector hole size, vector top shear, vector advanced cut, vector taper,:float revolutions, float radius offset, and float skew
PRIM_TYPE_RING		Followed by integer hole shape, vector cut, float hollow, vector twist,:vector hole size, vector top shear, vector advanced cut, vector taper,:float revolutions, float radius offset, and float skew
PRIM_TYPE_SCULPT	Followed by a key or string texture uuid.

PRIM_HOLE_DEFAULT	Sets hole type to match the prim type.
PRIM_HOLE_SQUARE	Sets hole type to square.
PRIM_HOLE_CIRCLE	Sets hole type to circle.
PRIM_HOLE_TRIANGLE	Sets hole type to triangle.

PRIM_MATERIAL_STONE		Sets material to stone
PRIM_MATERIAL_METAL		Sets material to metal
PRIM_MATERIAL_GLASS		Sets material to glass
PRIM_MATERIAL_WOOD		Sets material to wood
PRIM_MATERIAL_FLESH		Sets material to flesh
PRIM_MATERIAL_PLASTIC	Sets material to plastic
PRIM_MATERIAL_RUBBER	Sets material to rubber
PRIM_MATERIAL_LIGHT		Sets material to light

PRIM_SHINY_NONE			No shininess
PRIM_SHINY_LOW			Low shininess
PRIM_SHINY_MEDIUM		Medium shininess
PRIM_SHINY_HIGH			High shininess

PRIM_BUMP_NONE			No bump map
PRIM_BUMP_BRIGHT		Generate bump map from highlights
PRIM_BUMP_DARK			Generate bump map from lowlights
PRIM_BUMP_WOOD			Wood bump map
PRIM_BUMP_BARK			Bark bump map
PRIM_BUMP_BRICKS		Brick bump map
PRIM_BUMP_CHECKER		Checker bump map
PRIM_BUMP_CONCRETE		Concrete bump map
PRIM_BUMP_TILE			Tile bump map
PRIM_BUMP_STONE			Stone bump map
PRIM_BUMP_DISKS			Disk bump map
PRIM_BUMP_GRAVEL		Gravel bump map
PRIM_BUMP_BLOBS			Blob bump map
PRIM_BUMP_SIDING		Siding bump map
PRIM_BUMP_LARGETILE		Large tile bump map
PRIM_BUMP_STUCCO		Stucco bump map
PRIM_BUMP_SUCTION		Suction cup bump map
PRIM_BUMP_WEAVE			Weave bump map

PRIM_TEXGEN_DEFAULT		Default texture mapping
PRIM_TEXGEN_PLANAR		Planar texture mapping

PRIM_SCULPT_TYPE_SPHERE		Stitch edges in a sphere-like way
PRIM_SCULPT_TYPE_TORUS		Stitch edges in a torus-like way
PRIM_SCULPT_TYPE_PLANE		Do not stitch edges
PRIM_SCULPT_TYPE_CYLINDER	Stitch edges in a cylinder-like way
PRIM_SCULPT_TYPE_MASK		Mask used to determine stitching type
PRIM_SCULPT_FLAG_INVERT     Flag to specify that the surface normals should be inverted
PRIM_SCULPT_FLAG_MIRROR     Flag to specify that the prim should be reflected along X axis

MASK_BASE				Base permissions
MASK_OWNER				Owner permissions
MASK_GROUP				Group permissions
MASK_EVERYONE			Everyone permissions
MASK_NEXT				Next owner permissions

PERM_TRANSFER			Transfer permission
PERM_MODIFY				Modify permission
PERM_COPY				Copy permission
PERM_MOVE				Move permission
PERM_ALL				Move/Modify/Copy/Transfer permissions

PARCEL_MEDIA_COMMAND_STOP  Stop media stream
PARCEL_MEDIA_COMMAND_PAUSE Pause media stream
PARCEL_MEDIA_COMMAND_PLAY  Play media stream
PARCEL_MEDIA_COMMAND_LOOP  Loop media stream
PARCEL_MEDIA_COMMAND_TEXTURE  Get or set the parcel's media texture
PARCEL_MEDIA_COMMAND_URL  Get or set the parcel's media url
PARCEL_MEDIA_COMMAND_TYPE Get or set the parcel's media mimetype
PARCEL_MEDIA_COMMAND_DESC Get or set the parcel's media description
PARCEL_MEDIA_COMMAND_TIME Set media stream to specific time
PARCEL_MEDIA_COMMAND_SIZE Get or set the parcel's media pixel resolution
PARCEL_MEDIA_COMMAND_AGENT Allows media stream commands to apply to only one agent
PARCEL_MEDIA_COMMAND_UNLOAD Unloads the media stream
PARCEL_MEDIA_COMMAND_AUTO_ALIGN Auto aligns the media stream to the texture size.  May cause a performance hit and loss of some visual quality.

PAY_HIDE			Used with llSetPayPrice to hide a button
PAY_DEFAULT			Used with llSetPayPrice to use the default price for a button

LIST_STAT_MAX			Used with llListStatistics to find the largest number in a list
LIST_STAT_MIN			Used with llListStatistics to find the smallest number in a list
LIST_STAT_MEAN			Used with llListStatistics to find the mean of the numbers in a list
LIST_STAT_MEDIAN			Used with llListStatistics to find the median of the numbers in a list
LIST_STAT_STD_DEV		Used with llListStatistics to find the standard deviation of the numbers in a list
LIST_STAT_SUM			Used with llListStatistics to find the sum of the numbers in a list
LIST_STAT_SUM_SQUARES	Used with llListStatistics to find the sum of the squares of the numbers in a list
LIST_STAT_NUM_COUNT		Used with llListStatistics to find how many numbers are in a list
LIST_STAT_GEOMETRIC_MEAN	Used with llListStatistics to find the geometric mean of the numbers in a list (all numbers must be > 0)
LIST_STAT_RANGE			Used with llListStatistics to find the range of the numbers in a list

PARCEL_FLAG_ALLOW_FLY				Used with llGetParcelFlags to find if a parcel allows flying
PARCEL_FLAG_ALLOW_GROUP_SCRIPTS		Used with llGetParcelFlags to find if a parcel allows group scripts
PARCEL_FLAG_ALLOW_SCRIPTS			Used with llGetParcelFlags to find if a parcel allows outside scripts
PARCEL_FLAG_ALLOW_LANDMARK			Used with llGetParcelFlags to find if a parcel allows landmarks to be created
PARCEL_FLAG_ALLOW_TERRAFORM			Used with llGetParcelFlags to find if a parcel allows anyone to terraform the land
PARCEL_FLAG_ALLOW_DAMAGE			Used with llGetParcelFlags to find if a parcel allows damage
PARCEL_FLAG_ALLOW_CREATE_OBJECTS	Used with llGetParcelFlags to find if a parcel allows anyone to create objects
PARCEL_FLAG_USE_ACCESS_GROUP		Used with llGetParcelFlags to find if a parcel limits access to a group
PARCEL_FLAG_USE_ACCESS_LIST			Used with llGetParcelFlags to find if a parcel limits access to a list of residents
PARCEL_FLAG_USE_BAN_LIST			Used with llGetParcelFlags to find if a parcel uses a ban list
PARCEL_FLAG_USE_LAND_PASS_LIST		Used with llGetParcelFlags to find if a parcel allows passes to be purchased
PARCEL_FLAG_LOCAL_SOUND_ONLY		Used with llGetParcelFlags to find if a parcel restricts spacialized sound to the parcel
PARCEL_FLAG_RESTRICT_PUSHOBJECT		Used with llGetParcelFlags to find if a parcel restricts llPushObject() calls
PARCEL_FLAG_ALLOW_ALL_OBJECT_ENTRY		Used with llGetParcelFlags to find if a parcel allows all objects to enter
PARCEL_FLAG_ALLOW_GROUP_OBJECT_ENTRY	Used with llGetParcelFlags to find if a parcel only allows group (and owner) objects to enter

REGION_FLAG_ALLOW_DAMAGE			Used with llGetRegionFlags to find if a region is entirely damage enabled
REGION_FLAG_FIXED_SUN				Used with llGetRegionFlags to find if a region has a fixed sun position
REGION_FLAG_BLOCK_TERRAFORM			Used with llGetRegionFlags to find if a region terraforming disabled
REGION_FLAG_SANDBOX					Used with llGetRegionFlags to find if a region is a sandbox
REGION_FLAG_DISABLE_COLLISIONS		Used with llGetRegionFlags to find if a region has disabled collisions
REGION_FLAG_DISABLE_PHYSICS			Used with llGetRegionFlags to find if a region has disabled physics
REGION_FLAG_BLOCK_FLY				Used with llGetRegionFlags to find if a region blocks flying
REGION_FLAG_ALLOW_DIRECT_TELEPORT	Used with llGetRegionFlags to find if a region allows direct teleports
REGION_FLAG_RESTRICT_PUSHOBJECT		Used with llGetRegionFlags to find if a region restricts llPushObject() calls

HTTP_METHOD                         Used with llHTTPRequest to specify the method, such as "GET" or "POST"
HTTP_MIMETYPE                       Used with llHTTPRequest to specify the MIME type, defaults to "text/plain"
HTTP_BODY_MAXLENGTH                 Used with llHTTPRequest to specify the maxium reponse body to return
HTTP_VERIFY_CERT                    Used with llHTTPRequest to specify SSL certificate verification
HTTP_BODY_TRUNCATED                 Used with http_response to indicate truncation point in bytes

PARCEL_COUNT_TOTAL		Used with llGetParcelPrimCount to get the total number of prims on the parcel
PARCEL_COUNT_OWNER		Used with llGetParcelPrimCount to get the number of prims on the parcel owned by the owner
PARCEL_COUNT_GROUP		Used with llGetParcelPrimCount to get the number of prims on the parcel owned by the group
PARCEL_COUNT_OTHER		Used with llGetParcelPrimCount to get the number of prims on the parcel owned by others
PARCEL_COUNT_SELECTED	Used with llGetParcelPrimCount to get the number of prims on the parcel currently selected or sat upon
PARCEL_COUNT_TEMP		Used with llGetParcelPrimCount to get the number of prims on the parcel that are temp on rez

PARCEL_DETAILS_NAME		Used with llGetParcelDetails to get the parcel name.
PARCEL_DETAILS_DESC		Used with llGetParcelDetails to get the parcel description.
PARCEL_DETAILS_OWNER	Used with llGetParcelDetails to get the parcel owner id.
PARCEL_DETAILS_GROUP	Used with llGetParcelDetails to get the parcel group id.
PARCEL_DETAILS_AREA		Used with llGetParcelDetails to get the parcel area in square meters.

STRING_TRIM_HEAD		Used with llStringTrim to trim leading spaces from a string.
STRING_TRIM_TAIL		Used with llStringTrim to trim trailing spaces from a string.
STRING_TRIM				Used with llStringTrim to trim both leading and trailing spaces from a string.

CLICK_ACTION_NONE       Used with llSetClickAction to disable the click action
CLICK_ACTION_TOUCH      Used with llSetClickAction to set touch as the default action when object is clicked
CLICK_ACTION_SIT        Used with llSetClickAction to set sit as the default action when object is clicked
CLICK_ACTION_BUY        Used with llSetClickAction to set buy as the default action when object is clicked
CLICK_ACTION_PAY        Used with llSetClickAction to set pay as the default action when object is clicked
CLICK_ACTION_OPEN       Used with llSetClickAction to set open as the default action when object is clicked
CLICK_ACTION_PLAY       Used with llSetClickAction to set play as the default action when object is clicked
CLICK_ACTION_OPEN_MEDIA Used with llSetClickAction to set open-media as the default action when object is clicked

TOUCH_INVALID_TEXCOORD  Value returned by llDetectedTouchUV() and llDetectedTouchST() when the touch position is not valid.
TOUCH_INVALID_VECTOR    Value returned by llDetectedTouchPos(), llDetectedTouchNormal(), and llDetectedTouchBinormal() when the touch position is not valid.
TOUCH_INVALID_FACE      Value returned by llDetectedTouchFace() when the touch position is not valid.

# string constants
[word .1, .3, .5]
NULL_KEY			Indicates an empty key
EOF					Indicates the last line of a notecard was read
TEXTURE_BLANK			UUID for the "Blank" texture
TEXTURE_DEFAULT			UUID for the "Default Media" texture
TEXTURE_PLYWOOD			UUID for the default "Plywood" texture
TEXTURE_TRANSPARENT		UUID for the "White - Transparent" texture

# float constants
[word .3, .1, .5]
PI					3.1415926535897932384626433832795
TWO_PI				6.283185307179586476925286766559
PI_BY_TWO			1.5707963267948966192313216916398
DEG_TO_RAD			To convert from degrees to radians
RAD_TO_DEG			To convert from radians to degrees
SQRT2				1.4142135623730950488016887242097

# compound constants
[word .4, .2, .4]
ZERO_VECTOR			<0.0, 0.0, 0.0>
ZERO_ROTATION		<0.0, 0.0, 0.0, 1.0>


# flow control keywords
[word 0, 0, .8]
for					for loop:for (initializer; test; iteration):{:   statements:}
do					do loop:do:{:   statements:} while (test);
while				while loop:while (test):{    statements:}
if					if statement:if (test):{    statements:}
else				else clause:if (test):{    statements:}:else:{    statements:}
jump				jump statement:jump label;:
return				Leave current function or event handler

# flow control label
[line 0, 0, .8]
@					Label:Target for jump statement

# Comment
[one_sided_delimiter .8, .3, .15]
//					Comment:Non-functional commentary or disabled code

# String literals
[two_sided_delimiter 0, .2, 0]
"					String literal

#functions are supplied by the program now.
