Accueil🇫🇷Chercher

EventScripts

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.

EventScripts
Date de première version 2004
Auteur Mattie Casper
Dernière version 2.0 ()
Typage Faible, dynamique
Influencé par C, C++, Python, Shell, Bash
Système d'exploitation Windows, Linux
Site web http://www.eventscripts.com

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 . À 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

Cet article est issu de wikipedia. Text licence: CC BY-SA 4.0, Des conditions supplémentaires peuvent s’appliquer aux fichiers multimédias.