JOYSTICK HS23_CreationAddon_26
Transcription
JOYSTICK HS23_CreationAddon_26
JOYSTICK HS23_CreationAddon_26 4/05/05 16:35 Page 28 PREMIER MOD VOTRE PREMIER MOD E nsemble, nous allons réaliser un premier mod fort simple. Je vous laisse installer le SDK et un éditeur de texte, vous êtes grand. Vous trouverez sur notre CD un dossier appelé « Squelette ». Copiez-le dans le dossier Interface/AddOns de World of Warcraft. Ce dossier est en fait un mod minimaliste. Renommez le dossier et chaque fichier en « HelloWorld », sans changer les extensions (toc, xml, lua). Ouvrez le fichier toc, et changez les lignes suivantes : et </Frame> tapez les lignes suivantes : Dans le fichier HelloWorld.lua, ajoutez les lignes suivantes : function HelloWorld_OnLoad() DEFAULT_CHAT_FRAME:AddMessage("Hello World charge"); End Si vous lancez le jeu, vous constaterez la présence de notre mod dans la liste des add-ons ainsi qu’un message dans la fenêtre de chat principale. Il ne se passe pour l’instant rien d’autre. Nous allons maintenant rajouter une fenêtre dans le fichier XML. Plutôt que de tenter de la sortir de nulle part, nous allons récupérer les morceaux qui nous intéressent dans le fichier « BasicControl.xml » du SDK. Par manque de place ici, je vous invite à consulter le fichier HelloWorld.xml dans le dossier Tutorials\HelloWorld1 sur notre CD-ROM. Du fichier « BasicControl.xml », nous avons prélevé les lignes : 32 à 46 et 74 à 92. Comme vous pouvez le constater, nous avons également retiré certaines parties inutiles pour nous. ## Title: Hello World ## Notes: Un petit add-on qui vous salue au lancement du jeu. N’oubliez pas de changer Squelette.xml en HelloWorld.xml, sinon WOW ne saura pas qu’il doit se servir de ce fichier. Éditez maintenant HelloWorld.xml. Les premières et dernières lignes sont les mêmes pour tous les add-ons et ne doivent pas être modifiées. En revanche, il faut corriger la seconde ligne, et remplacer « Squelette.lua » par… " HelloWorld.lua ". Je vois que vous commencez à prendre le coup. Au lancement, WOW lit le fichier toc, qui lui spécifie quels fichiers XML utiliser (il peut donc y en avoir plusieurs). Eux-mêmes référencent les fichiers LUA dont ils ont besoin. Nous allons maintenant rajouter dans ce fichier XML un événement (cf. encadré) qui se déclenchera au chargement du jeu, pour prévenir l’utilisateur que l’add-on est bien chargé. Entre les deux balises <Frame… > UN PEU DE PERSONNALISATION Dire bonjour au monde entier, c’est bien, mais on aimerait un message d’accueil un peu plus personnalisé. Nous allons donc modifier la fonction « HelloWorld_OnLoad » du fichier HelloWorld.lua pour qu’elle ressemble à cela : function HelloWorld_OnLoad() DEFAULT_CHAT_FRAME:AddMessage("Hello World charge"); HelloWorldText:SetText("Hello "..UnitName("player") .." de "..GetCVar("realmName")); End <Scripts> <OnLoad> HelloWorld_OnLoad() </OnLoad> </Scripts> JOYSTICK ▲ Comme vous pouvez le constater, notre add-on affiche maintenant votre nom et le serveur sur lequel vous vous trouvez. Seul problème restant, la fenêtre est en plein milieu de l’écran et bloque la vue. Il lui manque donc un bouton pour la cacher. Pour cela, nous utiliserons le même que celui de la fenêtre de la banque. Pour ce faire, nous copions les lignes 164 à 173 de « BankFrame.xml », sans oublier de modifier les paramètres qui nous concernent (les attributs name, relativeTo et l’AbsDimension de l’Offset), ni de rajouter un tag fermant </Frames> juste après afin de garder la cohérence du fichier XML. Le résultat final se trouve dans le fichier HelloWorld.xml dans le dossier Tutorials\HelloWorld2 sur notre CD-ROM. 28 Hors-série 23