if you want to learn ASL, have coding experience with any language this forum may help you
to be with ASL.
ASL is based on C and is a interpreted Scripting language for Anim8or.
if you can programe in C language or understand coding in it, it will be helpfull.
if you know Action Script (flash), lingo (directory), python (blender, maya, & other)
C++ ,pascal ,visual basic ,java or even Java Script it will be helpfull too.
but there are few thing that may work different way :
1. ASL have no support for function, module, procedure, recursion, iteration, sub-routine.
2. ASL have no support for user input, event trace, interface access (have but limited).
3. ASL work top-down order way, no support for 'goto' like looping control.
4. ASL have 'for', 'if', 'while' support but check their usage in the manual.
5. ASL can't take all Array data in a single statement, from Linear-List/Data-Set like C.
6. you must use '$' sign (like PHP) with all variable and other if needed.
7. ASL support complex, compound argument, parameter to default function.
8. ASL have no support for 2d, 3d Array, DataList and 'evalute' like function.
9. you can't use compound value assignment like k+=1 or k++, use k=k+1 for it.
a. ASL have no support for User-Defined-Data-Type, using many array is only solution.
b. ASL is for 3D mostly so a little knowledge of 3D (mostly OpenGL) will be helpfull.
c. you will be required to know about vector, matrix, trigonometry & physics as well
to be able to make complex Script that can do amusing things!
d. ASL only support file Read / Write operation for Inport / Export Script.
e. timing based Scripting is supported in 'Scene' only with Object parameter.
f. ASL is limited to memory, very big array or long process can crash Anim8or.
g. there is a option (using while loop) to create inter-active / auto tool's.
h. debuging is possible only using Print statement with Consol,
you can also output data / info to a file to analyse it manualy.
i. you can't make edge directly, can move point, polyGon require to be replaced
for modification, ASL can't feed selection data to a array like other do.
j. dealing with normal, texture co-ordinate can be tough some time.
k. if you use polyGon be aware of the vertex order, & winding way (usualy CCW).
l. some time using pre-defined data and logical pattern will be a good solution.
m. Set / Query operation for array are not present, can push / pop element to / from it of same kind.
n. use '.size' to know or set the size of array, set size to 0 to free up memory and element.
o. deliting anything like vertex, normal, edge, face re-index the rest of the them.
p. there is no way to keep any data in the memory for future reference (esp. in scene view).
q. using Consol to feedback processing information to user can slow it down.
r. ASL support linear (mostly), compound (usualy), complex (possible) way of logical processing.
s. ASL work in single script file, complex number is not supported.
t. ASL script have no undo support. esp. modeling / command script.
before doing any thing check if it is done by another user, check the forum and
other site for ASL or Anim8or Script (.a8s), if it is check if you can do it better
or different way - to not to make anybody upset / unhappy.
you may use 'ASL Editor' (by Kubajzz) or 'NotePad2' (i use it with c++ scheme)
to get help with bracket matching and easy / confuseless coding.
best practice is to make clear what, where, how you want it to work, what will be
needed, what you know for it, make a simple test check the output & your need.
ask for help if needed (at least creating a temporary post for it, you will know).
only available source is : "
http://www.anim8or.com/scripts/spec/Anim8or_Scripting_Language.html"
there were other source too, but now most are unavailable on the net.
best option is to search for '3D', 'OpenGL' and '3D math' related website / pdf.
basicaly all script are open source (if somebody ask for a credit give it!).
take what you want, do how you like it, show us - we will love to see it.