<div class=“toc”><li class=“level1”><div class=“li”><span class=“li”>Introduction</span></div> <li class=“level1”><div class=“li”><span class=“li”>Concept</span></div> <li class=“level1”><div class=“li”><span class=“li”>Accès Subversion</span></div>

Introduction

Ce projet est surtout un moyen pour moi d'apprendre à utiliser Lua, aussi bien le langage que l'API C. Le projet est en partie en C++, pour la gestion des connexions, la réception et l'envoi de données, et Lua, pour le jeu proprement dit.

Concept

Tout se fait au travers de la connexion TCP vous reliant au serveur, en texte. Aucun stockage ni traitement n'est fait côté client.

Le jeu se base sur un système de salles, qui peuvent très bien être en fait en extérieur. Vous pouvez effectuer un certain nombre d'actions via des commandes, intéragir avec des objets présents dans la salle ou d'autres joueurs/monstres/PNJ, ou enc 2279 ore aller dans une autre salle. Un système de combat sera également présent, ainsi que des sortilèges.

Accès Subversion

L'ensemble des sources du serveur est accessible via Subversion, à l'adresse svn://svn.nyug.org/mud ; vous pouvez aussi les parcourir via HTTP ici.

Description

La partie C++ charge les scripts Lua. Ceux-ci définissent :

* les entrées de la table

rooms

(rooms.lua), correspondant aux différentes salles, avec pour chaque salle :* une description, visible par le joueur * des commandes ou directions, qui permettent notamment de se déplacer vers d'autres salles

* les entrées de la table

spells

(spells.lua), les différents sorts disponibles aux joueurs * les entrées de la table

objects

(objects.lua), qui sont les objets du jeu :* les armures et vêtements qui protègent le personnage * les armes, qui permettent d'attaquer * les parchemins, pour lancer un sort que le personnage ne connait pas * les anneaux, qui augmentent certaines caractéristiques * la nourriture et les potions, qui regénère le personnage ou ont un effet magique * les objets spéciaux, inutilisables, tels que les objets de quête ou les clefs

* les méthodes de la classe character (world.lua), contrôlant les actions des joueurs (et notamment character:recv() qui traite une chaîne reçue du joueur) Les informations sur chaque joueur sont stockées dans des fichiers texte ; ceux-ci sont créés lors de l'inscription d'un joueur et mis à jour à chaque déconnexion. Ils se trouvent dans characters/nom_du_personnage et contiennent les lignes suivantes :

* le mot de passe du joueur * son statut (“user” par défaut, “admin” permet de couper le serveur, de parler aux joueurs et d'exécuter des commandes Lua) * son sexe (“homme” ou “femme”) * la salle dans laquelle il réapparaitra à sa reconnexion (correspond actuellement à la salle depuis laquelle il a quitté le jeu) * les sorts dont il dispose, séparés par un espace (et un espace en fin de ligne) Il est possible d'ajouter facilement des salles, des sorts ou des objets en éditant les fichiers Lua.

 
mud.txt · Dernière modification: 2008/07/09 22:33 (édition externe)
 
Recent changes RSS feed Creative Commons License Donate Powered by PHP Valid XHTML 1.0 Valid CSS Driven by DokuWiki