Oui le Csv c'est tranquille. (je sais pas ce que ça donne le SQL)
Quand au langage... Je dirais que c'est de l'interprété par deux fois.
parceque les commandes sont déjà existantes et ne sont pas modifiable.
Quand j'écris un script en javascript ou une macro, je peux créer des fonction de façon très libre.
Ici c'est beaucoup plus fermé. Ce qui m'amène à penser (mis j'ai peut-être tord) que le script est lu et traduit par le moteur du jeu (et lui je sais pas s'il est interprété ou compilé, même si j'opterais pour la seconde option)
M'enfin, n'étant pas doué dans ce champs lexical, je met une réserve à tout ça.
Il fourni des mécanismes réflexifs (pour vérifier qu'une fonctionne existe bien, ou pour lister toutes les fonctions d'une classe par exemple)
Là pour moi c'est du charabia.
Lister les fonctions d'une classe? Si tu entends par là voir toute les fonction d'un même domaine (commerçant , armement etc) elles sont déjà rangée/classé par genre.
Mais même comme ça tu vas vite te rendre compte que des fois il y a certaine fonction qu'on aurait rangé ailleurs, l'accès rapide au fonction n'existe pas dans l'éditeur puisqu'on ne tape aucune commande on les sélectionne juste.
Une fonction (script à part entière) ne peux être appelé (et donc écrit) dans un autre script s'il n'a pas été créé avant (même vide).
Je ne fait jamais de vérif sur l'existence ou non de mes fonctions, donc de tête je ne me souviens pas si il y en a une. probable.
Au cas où le script A aura été créé, référencé dans un autre script B puis supprimé, la référence dans le script B efface le nom du script A (et plante si on lance le script B)