If it's only used once, you can usually just insert the commands directly into the location.

Example:

Code:
on *:text:*:#: {
  doecho
}
alias doecho {
  echo @capture $1-
}


Becomes:
Code:
on *:text:*:#: {
  echo @capture $1-
}


Of course, in some instances, an alias works better -- multiple commands needed for /play or /timer, for example. But in general, if you are using the commands in an alias only once, you can just as easily insert them into the script without need of an alias or any new variable syntax.

Afaik, the location of the alias doesn't affect speed because the aliases are "loaded" when the script is loaded, so location no longer matters. Someone can correct me if that isn't right, but I believe it is.

Regarding hash tables, those are not usually the best option for handling commands. Just like with variables, you can use hash tables for commands, but that usually isn't the best way to do something. Hash tables are most beneficial for data storage, where you have a lot of data that is accessed often. If you have very little data, or the data isn't accessed very often, then you lose most of the benefit of hash tables and then other options are usually more efficient. You'd usually use hash tables as a replacement for variables or text/INI files (or in addition to those), but not as a replacement for aliases.


Invision Support
#Invision on irc.irchighway.net