Skip to content

Latest commit

 

History

History
98 lines (60 loc) · 6.8 KB

File metadata and controls

98 lines (60 loc) · 6.8 KB

Arrêt des modules

Message de la part d'Ankama :

Arrêt du système des modules d'interface
A partir de la version 2.39, les modules tiers d'interface ne fonctionneront plus en Beta et ne seront plus supportés. 

Nous avons pris cette décision afin d’améliorer les performances du client de jeu. La couche de sécurité entre les modules et le cœur logique du jeu étant très coûteuse actuellement. C'était à l’origine un sacrifice nécessaire si l'on souhaitait avoir un jour des modules d'interfaces tiers disponibles pour tous. 
Toutefois il s'est avéré techniquement impossible de correctement contrôler la stabilité de ces modules (comme empêcher des boucles infinies), nous empêchant de pouvoir considérer les mettre à disposition de tous. Au final on se retrouve du coup à brider le client du jeu pour tous pour une fonctionnalité qui ne verra malheureusement jamais vraiment le jour. 

Si cela peut potentiellement poser un problème notamment pour des fansite qui utiliseraient ce système pour exporter des données par exemple, contactez moi par Ankabox pour m’expliquer vos besoins. Nous étudierons ce qui pourrait être fait pour vous aider si possible. 

Merci à tous pour vos contributions sur ce projet.

Les modules Dofus permettent de d’enrichir le client avec de nouvelle interface et interaction. Vous allez pouvoir recréer une interface pour par exemple l'amélioration de la gestion de guilde ou même créer un panneau d'administration pour votre serveur.

Information

Avant de vous lancer dans la création de module, il faut savoir qu'il faut impérativement le client bêta pour pouvoir lancer des modules non officiel (= créer par des joueurs). Il est toutefois possible de les lancer sur le client release en modifiant celui-ci.

Pré-requis

Environnement de travail

SDK

La première chose à faire est de télécharger le SDK pour les modules : lien vers la dernière version

Le SDK contient les éléments suivants:

  • La modules-library, bibliothèque fournissant les fonctionnalités nécessaires en ActionScript 3 pour le développement des modules. Le contenu des sous-dossiers est le suivant:
  • Dans modules-library/bin, la bibliothèque compilée (en swc).
  • Dans modules-library/src, le code source de cette bibliothèque.
  • Dans modules-library/doc, la documentation de référence des fonctionnalités offertes par la bibliothèque. Cette documentation détaille le contenu des classes proposées par la modules-library ainsi qu'une liste des actions disponibles et leur paramétrage (plus de détails sur les actions).
  • Le dossier exemple contient le code source de deux modules d'exemple commenté.
  • Le fichier dofus-flashdevelop-2.29.0.zip (le numéro correspond à la version du SDK) contient les plugins proposés pour FlashDevelop.
  • Le logiciel DofusAssetViewer permettant de visualiser les ressources (images) du client.

FlashDevelop

FlashDevelop est un IDE complet pour la programmation en ActionScript. Il dispose de nombreuses fonctionnalités utiles pour les développeurs et le SDK permet d'intégrer à l'éditeur la notion de modules Dofus.

Il est nécessaire d'installer certains programmes pour créer puis compiler des modules, toutefois l'utilisation de FlashDevelop n'est pas obligatoire mais fortement recommander pour une mise en place rapide et simple. Il est possible de compiler les modules manuellement en ligne de commande ce qui peu être fort utile pour des serveurs d'intégration (Jenkins, Travis CI, Hudson, etc...)

Installation et configuration

Il faut commencer par télécharger puis installer FlashDevelop.

Ouvrez ensuite FlashDevelop puis accéder au répertoire des fichier de configuration via le menu Tools puis User Config Files (image), cela ouvre l'explorateur de fichiers dans le répertoire de personnalisation de FlashDevelop.

Décompressez ensuite le dossier 000 ActionScript 3 - DOFUS Module Project présent dans dofus-flashdevelop-{version}.zip dans le répertoire Project.

Vous pouvez vérifier que les projet de type "DOFUS Module Project" soit présent lors de la création d'un nouveau projet

New project

Le nom du module ne doit pas comporter d'espace ni de caractères spéciaux et doit commencer par une majuscule. Le nom du package doit être laissé vide.

Ensuite, FlashDevelop demandera un nom d'auteur. Ce nom ne doit pas comporter d'espaces ni de caractères spéciaux et doit commencer par une majuscule. Il est important car il sera reporté dans les données du module. Il n'est demandé qu'à la première création de projet, puis sauvegardé par FlashDevelop.

Le module est maintenant créé et peut être compilé.

Compilation

Le menu Project puis Build Project (ou la touche F8) permet de compiler un module. Si la compilation est un succès, le projet FlashDevelop peut ensuite être copié dans son intégralité dans le répertoire des modules de Dofus (répertoire Dofus/app/ui) et fonctionnera (voir Activer un module).

Ligne de commande

Si vous ne souhaitez pas développer avec FlashDevelop, ou si votre système d'exploitation ne vous le permet pas, n'importe quel autre IDE peut être utilisé pour la réalisation de modules, en configurant manuellement le compilateur.

Il faudra télécharger le SDK Flex (cliquez ici) et choisir la dernière version disponible.

La compilation se fait ensuite à l'aide du programme mxmlc fournis dans le SDK.
La syntaxe de la commande est la suivante:

mxmlc -output fichierSortie.swf -source-path repertoireSource -compiler.library-path+=cheminModulesLibrary.swc -keep-as3-metadata Api Module DevMode -- fichierSourcePrincipal.as
  • fichierSortie.swf le fichier swf résultat de la compilation.
  • repertoireSource le répertoire où se trouve le code source du module.
  • modulesLibrary.swc le chemin vers le fichier modules-library-{version}.swc.
  • fichierSourcePrincipal.as le fichier où se trouve la classe principale du module.

Par exemple, voici la ligne de commande utilisée pour la compilation du module Ankama_Exemple fourni dans le SDK:

mxmlc -output Exemple.swf -source-path src -compiler.library-path+=../../modules-library/bin/modules-library-2.29.0.swc -keep-as3-metadata Api Module DevMode -- src/Exemple.as