AlcScript

Revision as of 19:36, 27 February 2008 by Paradox (Talk | contribs) (SoftDist variable)

AlcScript is a simple way to use a limited form of programming in your Ages.

AlcScript Tutorials

List of Properties

This list describes current AlcScript properties. If you add to it, be sure to add it under the correct code. Use heading levels to reflect the AlcScript indentation level. Follow the example given to describe the functionality of the field. Please note that not all properties listed on this page are fully implemented at the time of writing! However, the documentation exists so that future implementations can follow existing standards. Properties marked "NIE" are not implemented.

type

type type:string

Can be used to set the type of an object. Valid values include:

object     #Default setting, drawable and other settings
collider   #Acts as a collision mesh, no drawable
region     #Acts as a region
soundemit  #A point from which sound is emitted
oneshotmod #A seek point for an avatar animation
softvolume #A volume to confine objects
lamp       #A lamp
camera     #A camera

visual

visregion

visual.visregion type: string

The name of a soft volume which will be used to confine drawing of objects. Objects with this property set will only be drawn when the avatar is within the confines of the soft volume. You can combine soft volumes using methods such as U for union, I for intersection, and ! for inverse.

sprite

visual.sprite type:boolean string ('true' or 'false')

Allows the objects to rotate to always face the camera.

lamp

softvolume

lamp.softvolume type: string

Confine the light to the soft volume. You can combine soft volumes using methods such as U for union, I for intersection, and ! for inverse.

flags

lamp.flags type:string

Manually set the flag properties of the lamp.

physical

friction

physical.friction type: float

Sets friction of object. If not set, or if set to a value lower than 0.0, friction will be disabled. (This means full friction)

elasticity

physical.elasticity type: float

Sets elasticity of object. Only useful on kickables.

campassthrough

physical.campassthrough type: boolean string ('true' or 'false')

If set to 'true', the camera will pass through the object. If omitted or not set to 'true' the object will block the camera.

physlogic

physical.physlogic type:string

Force the object's physical logic settings

logic

This "logic" is not at all logical... so don't expect anything until Trylon has time to document the changes

camera

brain

Contains camera brain settings:

type

camera.brain.type type:string range:[fixed, circle, firstperson, avatar] default: fixed

Sets the type of camera brain to use. Further camera.brain keys depend on brain type used.

region

type

region.type type:string range:[logic, footstep, swim, climbing, swimdetect, panic, camera] default:logic

oneshot

animation

oneshot.animation type:string

The name of the avatar animation to play. Do not include the avatar gender!

seektime

oneshot.seektime type:float default:1.0

A bit confusing, this is the length of time that the avatar will try to move to the seek point. After this time has elapsed, if the avatar has not reached the seek point, it will warp to the point and start the animation.

reversable

oneshot.reversable type:boolean

Whether the animation can be played backwards(?). Default is true.

smartseek

oneshot.smartseek type:boolean

Whether smart seeking in enabled. Default is true.

drivable

oneshot.drivable type:boolean

Unknown at this point. Default is true.

noseek

oneshot.noseek type:boolean

Disable seeking(?). Default is true.

sound

flags

sound.flags type:string range:[loop, 3d, start, local] default:null

This controls the sound properties. These can be combined! To combine the properties, separate them with the pipe character (|).

loop: causes the sound file to loop indefinitely
3d: causes the sound to occur from a 3D emission point
start: causes the sound to start immediately upon linking in
local: causes the sound to play only for the local avatar (other avatars will not hear it in a multiplayer environment)

file

sound.file type:string

This is the name of the Blender Sound block that will be exported as a sound file.

type

sound.type type:string range:[SoundFX, Ambience, BackgroundMusic, GUISound, NPCVoices] default:Ambience

This controls which type of sound it is. Remember that the volume can be adjusted for each type, so be sure to set the type correctly.

volume

sound.volume type:float

A value between 0.0 and 1.0 that determines the maximum volume of the sound.

softvolume

sound.softvolume type:string

The name of a soft volume object in the Age to which the sound will be confined. You can combine soft volumes using the same method as for lights (U for union, I for intersection, ! for inverse). This will make your sound not work. Do not use it at this point.

channel

sound.channel type:string range:[left, right] default:null

The channel to which the sound is bound. If no channel is specified, then the sound will be heard through both channels.

maxfdist

sound.fmaxdist type:float

The maximum distance that the sound can be heard. This is only relevant to 3D sounds.

minfdist

sound.minfdist type:float

The minimum distance before the sound begins to fade. This is only relevant to 3D sounds.

buffer

sound.buffer type:string range:[static, stream] default:stream

The type of sound object. Streaming sounds are best for longer pieces of background music; whereas static sounds are best for short sound effects.

softvolume

softdist

softvolume.softdist type:float

Controls the attenuation of the soft volume.

AlcScript Technical Information

See AlcScript Technical Information.