"((concatword ..))"
Razgriz: The double parenthesis are there for a reason.
Ac: (getalias (concatword ..)) will do the same, without giving errors in certain instances.
- $var and (getalias var) do the exact same thing.
case/f/s is a nice function, they all work like this (compares var and value by int, float, string):
case <var> [<value> <action>] [<default action>]
"Why are there no limited scope (only inside functions) variables like in C?"
There are no local variables in cubescript by design. Just assume everything as a global variable and you will be fine. Local variables are possible, but I won't get into that.
"buggy cube script 'language'"
Cubescript is not buggy. It does what it is intended to do. Some things may be awkward, but that is how it is designed. It's also not supposed to be a full fledged language, but just an addition to Cube 2 based engines.
"NEVER alias stuff to variables like arg1."
In general, I will always agree with this because some things can get really messed up if you aren't careful. However, Ac's code is fine the way it is. (besides the formatting)
"[Cubescript vs C] they may be similar but they're not the same."
They are similar only in the function names and how cubescript sometimes uses the C libraries instead of it's own implementation.
About the map: it doesn't work for me. Every time I push a block it fills the entire map with movable boxes and I get put above the clip.
srbs