Auteur Message

weak aura un jeu dans le jeu XD   Sam 19 Oct 2013 15:09
Aller j'ai passer quelques heures le nez dans weak aura et j'avais envie de partager mon interface.
J'ai tout fait avec mes petites mains rien n'est importé d'ailleurs.

Image

J'ai encore deux trois idées de trucs que je veux réaliser. Si des trucs vous intéressent pas de problème je vous passerais ça.



Re: weak aura un jeu dans le jeu XD   Sam 19 Oct 2013 23:35
Test.toc
Code:
## Interface: 50200
## Title: Test [|cff06ff00v1.00|r]
## Title-frFR: Test [|cff06ff00v1.00|r]
## Author: John Doe
## Version: 1.00
## Notes: Testing code for World Of Warcraft
## Notes-frFR: Testage de code pour World Of Warcraft
## eMail: johndoe@apple.com
## DefaultState: Enabled
## LoadOnDemand: 0
TestCore.lua
Test.xml


Test.xml
Code:
<Ui xmlns="http://www.blizzard.com/wow/ui" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
  <Frame name="Test" toplevel="true" frameStrata="DIALOG" movable="false" enableMouse="true" hidden="false" parent="UIParent">
      <Scripts>
          <OnLoad function="Test_OnLoad"/> <!-- Chargement de la fonction Test_OnLoad -->
      </Scripts>
      <Frames>
             <Frame>
              <Size>
                  <AbsDimension x="153" y="37"/>
              </Size>
              <Layers>
                  <Layer level="BACKGROUND">
                      <FontString name="TestString" inherits="NumberFontNormalHuge" hidden="false" >
                         <Color r="0.1" g="1.0" b="0.1"/>
                          <Size x="90" y="30"/>
                          <Anchors>
                              <Anchor point="CENTER" relativeTo="PlayerFrame" x="20" y="-50"/>  <!-- Encrage sur la frame PlayerFrame avec du margin sur x et y -->
                          </Anchors>
                      </FontString>
                  </Layer>
              </Layers>
          </Frame>
       </Frames>
    </Frame>
</Ui>


Testcore.lua
Code:
function Test_OnLoad(self)

   ------- Setup du personnage a suivre -----
   CombatTextSetActiveUnit("player");

   ------- Creation de frame avec un evenement -----
   local EventFrame = CreateFrame("Frame")
      EventFrame:RegisterEvent("COMBAT_TEXT_UPDATE")
      EventFrame:SetScript("OnEvent", function(self,event,...)

         --------- Passage des valeurs ------
         local arg1, arg2, arg3 = ...;

         --------- Si l'arg1 est HEAL, HEAL_CRIT ou PERIODIC_HEAL écriture dans TestString --------
          if (arg1=="HEAL")then
             TestString:SetText(arg3)
          elseif(arg1=="HEAL_CRIT")then
             TestString:SetText(arg3)
          elseif(arg1=="PERIODIC_HEAL")then
             TestString:SetText(arg3)
          end     

   end)

end

------- Fonction qui transforme les gros chiffres  --------
function TransLongValue(value1)
     if (value1 <= 100000) then
     elseif (value1 <= 1000000) then
       value1 = value1 / 1000;
       value1 = floor(value1) .. "k";
     elseif (value1 <= 1000000000) then
       value1 = value1 / 1000000;
       value1 = floor(value1) .. "m";
     else
       value1 = value1 / 1000000000;
       value1 = floor(value1) .. "mi";
     end
     return value1;
end

----------------------------------------------------------------------------
--- Exemple d'utilisation, /script print(TransLongValue(955555995656)); ----
--- Le résultat devrait être 955mi                               ----
----------------------------------------------------------------------------


Crée un dossier "Test" dans ton répertoire addons, et enregistre ces trois documents.
Si tu as besoin d'aide je t'expliquerais comment ça fonctionne.

J'ai pas trop cherché par contre comment fade automatiquement le texte comme dans l'interface de base.
Cela doit se faire facilement avec quelques recherches sur le web pour trouver une petite portion de code qui ferait ça bien et proprement :).