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