- EventScripts
-
EventScripts Apparu en 2004 Auteur Mattie Casper Dernière version stable 2.0 (le 22 octobre 2007)[+/−] Typage Faible, dynamique Influencé par C, C++, Python, Shell, Bash Système d'exploitation Windows, Linux Site web http://www.eventscripts.com EventScripts est un plugin fournissant plusieurs langages de script au moteur de jeu Source. Il a été programmé en C++ en utilisant l'API de Source SDK. Il est actuellement utilisé sur près de 7000 serveurs[1], ce qui en fait l'un des plugins les plus utilisés sur le moteur Source engine.
Sommaire
Son fonctionnement
EventScripts sert d'interface entre les informations transmises par le moteur du jeu et les scripts. Ces informations prennent la forme d'un évènement correspondant par exemple à la mort d'un joueur dans le jeu. Lorsqu'un tel évènement a lieu, EventScripts recherche et exécute la partie des scripts traitant cet évènement. Les évènements du jeu sont souvent associées à des informations spécifiques telles que l'identification du déclencheur de l'évènement ou sur la situation de la partie.
Les langages
ESShell
EventScripts fournit un langage appelé "ESShell" et basé sur l'utilisation de la console du jeu. L'écriture d'un script en ESShell consiste à écrire des séries de lignes de commandes comprises par la console du jeu qui devront être exécutées lors d'évènements donnés de la partie.
Par exemple, pour afficher un message lorsqu'un joueur meurt :
event player_death { // Ce bloc d'instructions est automatiquement exécuté à la mort d'un joueur // Affichons un message dans la zone de tchat es_msg event_var(es_username) est mort ! }
ESShell a un typage faible et dynamique. Étant basé sur des lignes de commandes, sa syntaxe est comparée à celle d'un script Bash. Ce langage avait été créé dans le but d'être à la portée de tous les utilisateurs, même s'ils n'ont jamais programmé de leur vie.
Python
Le second langage fourni par EventScripts est Python. Le code ci-dessus devient, en Python :
import es def player_death(event_var): """Fonction automatiquement exécutée lors de la mort d'un joueur""" # Affichons un message dans la zone de tchat es.msg(event_var['es_username'] + " est mort !")
Historique
La première version d'EventScripts date de décembre 2004. A cette époque, chaque bloc d'instructions devait être placé dans un fichier séparé, et la plupart des commandes utilisées dans les scripts venaient de plugins extérieurs.
En 2005, EventScripts se dote de structures de contrôle et d'autres commandes spécifiques à la programmation, rendant les scripts plus puissants.
En 2006, EventScripts 1.0 apporte un nouveau format de script proche du C. Les blocs d'instructions sont maintenant délimitées par des accolades, et la différence entre "blocs événementiels" (automatiquement exécutés) et blocs simples (procédures devant être appelées) se fait. Par ailleurs, les notions de commandes "clientes" (écrites dans la console des joueurs) et "tchat" (écrites dans la zone de tchat par un joueur) sont introduites directement dans le langage.
En 2007, EventScripts 1.5 permet d'avoir accès à des fonctionnalités plus modernes telles que la manipulation de bases de données SQL, les expressions régulières et des opérations mathématiques plus poussées. La version 2 d'EventScripts supporte le langage de programmation Python.
Notes et références
Liens externes
- (en) http://www.eventscripts.com/ (Wiki officiel)
- (en) http://mattie.info/cs/ (Site officiel)
- (en) http://forums.eventscripts.com/ (Forums officiels)
- (fr) http://forums.eventscripts.com/viewforum.php?f=156 (Forums officiels français )
Wikimedia Foundation. 2010.