Ce message est en mode wiki. Tous les comptes de plus de 30 jours avec plus de 30 messages peuvent le modifier.
La mauvaise nouvelle, est que je ne connais aucun vaccin contre le syndrome "d'addonadiction", cependant, et ça, c'est la bonne nouvelle, vous n'êtes pas les seules victimes . Il arrive souvent que pour configurer vos UI, vous soyez contraint de mettre les "mains dans le cambouis". Ce genre d'opérations peut sembler délicat, voire, décourageant. C'est pourquoi je propose ce petit guide qui vous donnera les quelques bases à savoir, en espérant qu'il sera complété par les plus connaisseurs. Sommaire :
Le lua et la mécanique générale.Un conseil: Quelque soit votre intervention sur un code, ou un pseudocode, utilisez un logiciel d'édition qui vous simplifiera la lecture et par conséquent, limitera le risque de faire des erreurs. Pour ma part, je recommande Notepad++ qui est un logiciel gratuit et simple d'utilisation. Quelques adresses utilesVous pouvez aussi trouver d'autres informations un peu partout sur le Web. Par exemple, dans le Site du Zero, WoWUIgallery ou de manière générale, par les liens fournis par vos addons. Les fichiers "Interface"C'est dans le dossier situé dans "Interface" que se trouvent les différents dossiers qui assurent le fonctionnement de vos addons. C'est ici que vous pouvez modifier des fonctionnalités, des skins, des sons, etc... Pour des raisons de sécurité, Blizzard a tenu à séparer de ce répertoire tous les fichiers éditables par les addons (en enregistrant un profil par exemple). C'est pourquoi vous n'y trouverez pas les configurations liés à vos personnages qui sont hébergées par le WTF. Les fichiers du "WTF"A ne pas confondre avec le dossier Interface: Le WTF regroupes les "SavedVariables" de vos addons. En gros, ce sont les paramètres liés à vos profils. En fonction de vos addons, les fichiers peuvent se trouver en amont de votre dossier WTF dans le fichier lié à votre compte, comme pour faire des passerelles. Sont concernés évidement les addons du type ACP dont la fonctionnalité permet de gérer globalement les addons, du type Arkinventory qui fait une passerelles entre vos différents personnages, ou encore, les addons qui agissent sur l'ensemble de vos personnages sans distinctions particulières tels que BadBoy, mais, d'une manière générale, c'est l'emplacement "normal" d'édition des addons. En aval, Nom-du-serveur -> Personnage, se trouvent les configurations plus spécifiques. Par exemple, c'est là que sont stockés vos données temporaires tels que les enregistrement de votre kikimeter. En gros, voici un schéma de la structure du dossier WTF: Citation :
Autrement dit, l'utilité de ce dossier est avant tout de contenir un fichier.wtf que vous pouvez ouvrir avec votre notepad pour y voir les différentes configurations audio, video et camera (résolution, volumes sonores, porté de vision, densité des decors, etc...). Si vous souhaitez le modifier, je vous invite à aller voir les Cvar (WoWwiki) disponibles. Comment fonctionne un AddonUn addon n'est pas un exécutable ! L'exécution de ses fonctionnalités est gérée par WoW. Il y a trois types "de bases" de fichiers qu'on retrouve dans les addons: les .toc, .xml et .lua. On peut aussi y trouver d'autres documents tels que des images, du son etc...
Apporter quelques retouches dans un AddonFaire un Addon.Faire un addon digne de ce nom, est quelque chose qui n'est pas à la porté de tous. Il est recommandé d'avoir des notions en programmation, et ce n'est pas dans ce wiki que ces notions pourront être explorées.Cependant, en soi, le principe est assez simple pour faire une petite démonstration d'un "mini-addon" afin d'illustrer notre mécanique. Il existe un logiciel qui permet d'encadrer cette expérience: AddonStuduo. Pratique pour ne pas se mélanger trop les pinceaux puisque son atout est d'encadrer notre travail, mais qui comporte quelques défauts. Si certains critiquent son manque d'optimisation, le plus pénible pour nous est surtout la désactivation du mode "Visual Designer" ( source ). [si quelqu'un veut faire une petite démonstration] Les librairiesModifications des imagesAfin qu'une image soit exportable dans le jeu, il faut qu'elle soit formaté en targa (.tga) et qu'elle respecte certaines règles qui sont énoncées dans les parties suivantes. Les logiciels conseillés sont Photoshop (payant), ou Gimp (gratuit) pour convertir vos images en .tga (avec gestion couche alpha!). Si vous avez du mal, comme moi même, à utiliser un de ces logiciels, n'hésitez pas à travailler sur le logiciel de votre choix avant de les éditer par 'toshop ou Gimp. Personnellement, j'utilise la version gratuite de PhotoFiltre pour cette étape préliminaire. (Vous trouverez une démonstration à la fin de cette partie.) Une texturePour qu'elles soient exportables, vos textures doivent répondre à une suite logique multiple par deux: 2, 4, 8, 16, 32, 64, 128, 256 et 512 pixels (largeur et hauteur). Attention: ça peut prêter à confusion; Il ne faut pas confondre, 40 x 80 ça ne passera pas! -: "Gniiié?" Chaque nombre de cette liste est une puissance de 2 à partir de 2, on parle de suite logique par multiple de 2, et non simplement des multiples de 2 . Ouais.. bon, la suite s'il vous plaît! Dans le cas où vous chercheriez à utiliser une image .blp, wowprogramming vous propose un convertisseur en ligne BLP2PNG. Une bordureLa taille d'une bordure doit être de 128 x 16 pixels, et ressembler à un cadre divisé en 4 partie. En fait, cette image est composée de 8 carrés de 16x16:
Faire et importer une image: Exemple.mon projet pour cet exemple va ressembler à ça: Oui, oui, vous avez vu juste, c'est un HUD . Pour commencer, on ouvre notre projet au bon format. Ici notre image fait 128x256 et on se fait plaisir en restant vigilant à ne pas laisser des pixels sales. Teinter de façon uniforme la zone que vous voulez cacher sous la transparence. Contrairement à ce qu'on peut penser, il n'est pas forcément heureux de la teinter dans une espèce de bleu clair qui risque surtout de mettre en valeur des défauts dans votre découpage. La teinte idéale est une teinte qui va rester assez homogène avec la partie visible, ou la partie qui sera recouverte. Une fois satisfait, il va falloir maintenant passer à la conversion:
Pour importer votre image, il ne reste plus qu'à savoir à quoi vous voulez l'associer. Dans le cas d'un Addon ArtWork (KgPanels) vous l'intégrerez en jeu. Dans la zone de saisie, il vous faudra entrer le chemin de l'image (la racine commence par "Interface\")avec le nom de l'image (il n'est pas nécessaire de préciser le format .tga). Pour une intégration au sein d'un autre addon, vous pouvez modifier dans les fichiers de l'addon le nom de l'image ce que je déconseille, ou, remplacer l'image d'origine par la nouvelle. N'oubliez pas de sauvegarder l'ancienne ainsi que la nouvelle dans un dossier hors de WoW en sauvegarde. Dans mon cas, je suis en train de "re-skiner" un HUD, ce qui implique que je vais réemployer mon image pour remplacer toutes celles de mon addon (barres mana/vie/cast etc...). Il faut bien étudier la composition des différentes images qui entrent en jeu, et en comprendre leurs fonctions avant de se lancer. C'est pourquoi j'ai pris soin de travailler chacune de mes images à partir de la première afin que se passe correctement la gestion des barres de vie de mon personnage, de mon familier et de ma cible, ainsi que les barres d'énergie, et les skins élite/rare. Pour finaliser, il suffit juste de réajuster les différents textes et icônes aux nouvelles images. N'oubliez pas de toujours sauvegarder chacune de vos étapes, aussi bien pour récupérer facilement les éléments initiaux que pour éviter de mauvaises surprises lors des prochaines MàJ. Importer des sons[à compléter] Les fichiers audio sont au format .wav. Un format MP3 semble aussi importable si on se réfère à la notice de MSBT. Modifier l'interface de base SANS addons.Il est possible, du mois pour la beta, de modifier l'apparence de l'interface de base sans utiliser aucun addon. Pour ce faire on utilise des macros. Pour enlever les dragons aux extrémités des barres d'actions : Code:
/run MainMenuBarLeftEndCap:Hide() /run MainMenuBarRightEndCap:Hide() Vendre les objets gris dans son inventaire. Code:
/run local l; for b=0,4 do for s=0,GetContainerNumSlots(b) do l = GetContainerItemLink(b, s) if l and select(3, GetItemInfo(l)) == 0 then ChatFrame1:AddMessage("Auto-selling " .. l);ShowMerchantSellCursor(1)UseContainerItem(b, s) end end end Il y a 2 étapes. Code:
/run local f=MinimapZoneText;if not TTF then TTF=CreateFrame("Frame")end;TTF:SetScript("OnUpdate",function(s) local x,y=GetPlayerMapPosition("player")f:SetFormattedText("%s... (%2.1f,%2.1f)", GetMinimapZoneText():sub(1,9), x*100,y*100) end); /run MinimapZoneText:SetFontObject(GameTooltipTextSmall) Code:
/run LoadAddOn("Blizzard_TalentUI") PlayerTalentFrame:Show() Code:
/run ComboFrame:SetParent("TargetFrame") PlayerFrame:SetScale(1.5) PlayerFrame:ClearAllPoints() PlayerFrame:SetPoint("TOPLEFT",270,-400) TargetFrame:SetScale(1.5) TargetFrame:ClearAllPoints() TargetFrame:SetPoint("LEFT","PlayerFrame","RIGHT") Cette macro place les UF vers le centre de l'écran. Note : il est possible de modifier l'échelle. Pour ce faire changer le chiffre entre parenthèses après SetScale. De même qu'il est possible de placer les UF à un autre endroit. Pour se faire changer les valeurs 270 (X) et -400 (Y) Ajouter les coordonnées du curseur de votre souris sur la worldmap. Il y a 3 étapes. Code:
/run local w=WorldMapPositioningGuide;if not CMO then CMO = w:CreateFontString("OVERLAY", nil, "GameFontHighlightSmall"); CMO:SetPoint("BOTTOM", f, "BOTTOM", 0, 11); CMO:SetText("Cursor: "); CMU = CreateFrame("Frame") end /run function GetCursorCoords() local f,x,y,l,t,w,h,s=WorldMapDetailFrame;x,y=GetCursorPosition();l,t=f:GetLeft(),f:GetTop();w,h=f:GetWidth(),f:GetHeight();s=f:GetEffectiveScale();x=(x/s-l)/w;y= (t-y/s)/h; return x,y end /run CMU:SetScript("OnUpdate", function (self, elapsed) local x,y = GetCursorCoords(); CMO:SetFormattedText("Cursor: %2.2f, %2.2f", x*100, y*100) end) Et en cadeau bonus, une macro "tout-en-un" pour les montures. Citation :
Source. Précision, les macros modifiant l'UI de base sont intentionnellement bloquée pour la beta. Mind you, this was an oversight on our part. We plan to disable the ability to replicate addon functionality through macros in the next beta build so we can ensure all feedback is strictly about the default interface. Zarhym Source Faire des petits scripts qui permettent de faire une interface intéractive avec des boutons.Cette section fonctionne sur le Live; et n'est absolument pas testée sur la béta. Voici comment faire des petits boutons qui permettent de gérer l'affichage de vos "frames". Avec ça vous pourrez, par exemple, basculer entre une fenêtre de chat et un addon dans une de vos fenêtres. Il suffit d'utiliser les fonctions de base suivantes de l'API WoW : - GetAlpha() ou IsVisible() permet de vérifier si une fenêtre est affichée - SetAlpha() ou Hide() et Show() permet d'afficher/cacher une fenêtre - SetFrameLevel() Ces petites fonction permettent donc de gérer une de vos frame, mais pour ça il faut d'abord savoir accéder à la dite frame, il suffit donc de connaitre son nom. C'est plus dur qu'il n'y parrait mais la macro suivante : /print GetMouseFocus():GetName() Edit (26/05/23) : Il semble que la macro ne fonctionne plus. A la place, utilisez plutot celle-ci : /run print( GetMouseFocus():GetName() ) permet d'afficher dans votre chat le nom de la frame que vous survolez. Bindez cette macro sur un raccourci, utilisez la en survolant la fenêtre que vous voulez pouvoir gérer, et le nom apparait! Une fois le nom connu, il suffit d'utiliser les fonctions citées pour gérer la fenêtre, la syntaxe est la suivante : Code:
Exemple:Hide(); Maintenant si vous voulez créer un bouton qui masque/montre une fenêtre, il suffit de : - créer un "bouton" sous forme d'une frame KgPanels comme expliqué plus haut - trouver le nom des frames voulue associée - renseigner le script qui doit être utilisé quand on clique cette frame, dans : VotreFrame/Script/OnClick sur les options de KgPanels avec le code adéquat Voici un exemple de code qui va afficher/masquer une barre de Bartender4. Les programmateurs un tant soit peu habitués comprendront vite la syntaxe du langage, les autres peuvent se contenter de faire des copier/coller et de remplacer le nom des frame! BT4Bar3 est donc le nom de la frame. Version 1: Code:
if pressed then if BT4Bar3:IsVisible() then BT4Bar3:Hide() else BT4Bar3:Show() end elseif released then end Code:
if pressed then if (BT4Bar3:GetAlpha()==1) then BT4Bar3:SetAlpha(0) else BT4Bar3:SetAlpha(1) end elseif released then end La version 1 et la version 2 ont plus ou moins le même comportement. Je pense que la version 1 est préférable mais fais bug certaines fenêtres, par exemple si vous déconnectez avec une fenêtre de chat cachée, les options de cettes fenêtres seront écrasées. Si vous le faites avec une fenêtre de chat visible mais transparente (donc visuellement invisible), ça bug pas. Un dernier détail dans cette section : quand on joue avec ça, deux soucis arrivent assez vite : - des fenêtres se chevauchent et c'est pas la bonne qui est devant. Réglez ce problème en donnant une priorité élevée à la bonne fenêtre : Code:
Myframe:SetFrameLevel(20); Code:
Myframe:SetFrameLevel(20); MyFrame2:Hide(); MyFrame3:SetAlpha(0) Voilou, tout est dit! Merci à Z0D qui m'a donné le script de base ces p'tits boutons et à Elen' qui m'a trouvé comment lancer les script à la connexion! |
|
19/08/2010, 19h53 |
Aller à la page... |
[wiki]Quelques bases utiles.
Suivre Répondre |
|
Partager | Rechercher |
|
Voilà, comme promis, quelques notions de bases. C'est loin d'être complet, mais je compte sur vous pour partager votre savoir !
(et corriger au besoin) |
19/08/2010, 19h55 |
|
|
Très bon guide... Ca mérite un post-it!
|
19/08/2010, 20h18 |
|
|
très sympas , on pourrai ajouté des truc pour changer ( in game ) sans addon pour l interface de base du genre expliquer ici
-> http://forums.worldofwarcraft.com/th...05283&sid=2000 en gros modifier l interface de base sans addon , mais avec des commandes ^^ |
21/08/2010, 15h41 |
|
|
La macro "tout en un" pour les montures fonctionne sans problème, par contre impossibilité de faire fonctionner celle qui est censée déplacer les UF
|
23/08/2010, 12h37 |
|
|
Arf!
Version normale comme beta? (je vais essayer aussi ce soir). En tout cas, beau travail Anguille! |
23/08/2010, 14h05 |
|
|
Les macros modifiant l'UI sont actuellement bloquée pour la beta
|
23/08/2010, 19h21 |
|
Suivre Répondre |
Fil d'ariane
Connectés sur ce fil1 connecté (0 membre et 1 invité)
Afficher la liste détaillée des connectés
|