La Confrérie du Dragon Eteint

Vous n'êtes pas identifié(e).

Annonce


#13 06-11-2010 15:28:13

Cyian
Echevin

Re : Plugins LUA

Il semble que la dernière version de tonicbars fonctionne désormais correctement pour les européens (avant il fallait régulièrement tripatouiller un fichier via notepad pour le charger à chaque session de jeu) ; à voir.

Dernière modification par Cyian (06-11-2010 15:28:28)


298317BANCyian.png
On m'dit jamais rien...

Hors ligne

#14 13-11-2010 03:16:42

Tomislav
Echevin

Re : Plugins LUA

Moi j'ai fait la modif regionale de windows (et la flemme de revenir en arrière et de devoir reconfigurer les bidules), quelqu'un qui n'a rien modifié peut nous dire ce qui marche maintenant sans rien bidouiller ? Et si possible me dire si Lyrical fonctionne sans modifs avant de le proposer a nos chanteurs...

Hors ligne

#15 21-11-2010 12:01:37

Mierin
Compagnon

Re : Plugins LUA

HA! J'ai fini par trouver un moyen pour ne pas devoir changer de config pour Lyrical (enfin j'espère ^^).

Dans le fichier MainWindow.lua (qui se trouve dans le répertoire .../Lord of the rings online/Plugins/Astleigh/Lyrical, là où vous l'avez installé), il faut remplacer les lignes qui suivent (qui sont le début du fichier) :

MainWindow = class(Turbine.UI.Lotro.Window);

settings = {position = {left = 100, top = 100},
size = {width = 400, height = 400},
lyrics = {[[
Gil-galad was an Elven-king,
Of him the harpers sadly sing:
The last whose realm was fair and free
Between the mountains and the sea.

His sword was long, his lance was keen.
His shining helm afar was seen.
The countless stars of heaven's field
Were mirrored in his silver shield.

But long ago he rode away,
And where he dwelleth none can say.
For into darkness fell his star;
In Mordor, where the shadows are.]]}, page = 1};

function Turbine.Plugin:Unload(sender, args)
    settings.position.left = mainWindow:GetLeft();
    settings.position.top = mainWindow:GetTop();
    settings.size.width = mainWindow:GetWidth();
    settings.size.height = mainWindow:GetHeight();
    settings.lyrics = mainWindow.lyrics;
    settings.page = mainWindow.page;
    Turbine.PluginData.Save(Turbine.DataScope.Account, "Lyrical", settings);
end

function MainWindow:Constructor()
    Turbine.UI.Lotro.Window.Constructor(self);

    settings = Turbine.PluginData.Load(Turbine.DataScope.Account, "Lyrical") or settings;

    self.line = 1;
    self.editmode = false;
    self.lyrics = settings.lyrics;
    self.page = settings.page;
    self:SetPosition(settings.position.left, settings.position.top);
    self:SetSize(settings.size.width, settings.size.height);
    self:SetText("Lyrical");

Par ces lignes-ci :

MainWindow = class(Turbine.UI.Lotro.Window);

settings = {position = {left = 100, top = 100},
        size = {width = 400, height = 400},
        lyrics = {[[default]]}, page = 1};

save_settings = {position = {}, size = {}, lyrics = {}};

function Turbine.Plugin:Unload(sender, args)
    save_settings.position.left = tostring(mainWindow:GetLeft());
    save_settings.position.top = tostring(mainWindow:GetTop());
    save_settings.size.width = tostring(mainWindow:GetWidth());   
    save_settings.size.height = tostring(mainWindow:GetHeight());
    for i = 1, #mainWindow.lyrics, 1 do
        index = tostring(i);
        value = mainWindow.lyrics[i];
        save_settings.lyrics[index] = value;
    end
    save_settings.page = tostring(mainWindow.page);
    Turbine.PluginData.Save(Turbine.DataScope.Account, "Lyrical", save_settings);
end

function MainWindow:Constructor()
    Turbine.UI.Lotro.Window.Constructor(self);

    save_settings = Turbine.PluginData.Load(Turbine.DataScope.Account, "Lyrical");

    if (save_settings ~= nil) then
        index = 1;
        i_string = tostring(index);
        temp_lyrics = {};
        while (save_settings.lyrics[i_string] ~= nil) do
            temp_lyrics[index] = save_settings.lyrics[i_string];
            index = index + 1;
            i_string = tostring(index);
        end
        self.lyrics = temp_lyrics;
        self.page = tonumber(save_settings.page);
        self:SetPosition(tonumber(save_settings.position.left), tonumber(save_settings.position.top));
        self:SetSize(tonumber(save_settings.size.width), tonumber(save_settings.size.height));
    else
        save_settings = {position = {}, size = {}, lyrics = {}};
        self.lyrics = settings.lyrics;
        self.page = settings.page;
        self:SetPosition(settings.position.left, settings.position.top);
        self:SetSize(settings.size.width, settings.size.height);
    end

    self.line = 1;
    self.editmode = false;
    self:SetText("Lyrical");

Ensuite, si vous avez déjà utilisé le plugin, il faut enlever le fichier "Lyrical.plugindata" qui se trouve dans le répertoire ".../The lord of the rings online/PluginsData/<nom de votre compte>/allservers"  (vous pouvez le renommer simplement si vous voulez garder des infos que vous y avez déjà).

Et si ce que j'ai écrit est correct, vous devriez pouvoir utiliser le plugin normalement.

Si vous trouvez un souci avec la sauvegarde des données, dites le moi.

Hors ligne

#16 21-11-2010 12:30:13

Medneth Selgran
Echevin

Re : Plugins LUA

Bravo ! Reste à régler le problème des caractères accentués.


69.png

Hors ligne

#17 21-11-2010 14:00:54

Tomislav
Echevin

Re : Plugins LUA

Génial Mierin, merci, je vais tester ça tout de suite sur le pc de mon fiston.

Hors ligne

#18 21-11-2010 14:27:55

Tomislav
Echevin

Re : Plugins LUA

Bien joué !!
Un grand merci Mierin!
ça marche impec!

Comme dit Medneth tu crois que ce serait faisable pour les caractères spéciaux?
Lorsque l'on sauvegarde un texte ça bug avec tout les caractères spéciaux. D'après l'auteur c'est un bug de Turbine et on peut rien y faire.

Après je vais refaire un zip à notre usage personnel avec ta version corrigée pour nos chanteurs!

Hors ligne

#19 21-11-2010 17:59:02

Mierin
Compagnon

Re : Plugins LUA

Si tu veux que tes chanteurs aient les mêmes chansons que toi, il faut inclure le fichier Lyrical.plugindata où tout est sauvé.
D'ailleurs, tu peux directement modifier ce fichier pour rajouter les chansons en dehors du jeu (mais qui ne va pas dans le même répertoire que le plugin en lui-même).

Medneth m'a parlé du problème des caractères spéciaux.  J'ai regardé un peu, et j'ai aussi l'impression que ça vient de la partie Turbine du plugin.  Le set de caractère utilisé ne supporte pas les caractères spéciaux je pense.  D'ailleurs, quand tu regardes le fichier de sauvegarde, les caractères sont bien affichés.

Par contre, du coup, j'ai une autre idée (mais je ne sais pas si elle est réalisable).  Plutôt que devoir naviguer entre les chansons par les flèches, ce serait de rajouter un titre à chaque chanson et avoir une liste des titres pour sélectionner la chanson.
J'aimerai juste votre avis là-dessus avant d'étudier plus loin si c'est possible.

Dernière modification par Mierin (21-11-2010 17:59:48)

Hors ligne

#20 21-11-2010 18:25:34

Tomislav
Echevin

Re : Plugins LUA

Pour les chansons, je ne compte pas en mettre par défaut, chacun pourra faire ses copié-collé de ses propres textes, par tradition chaque auteur chante ses propres chansons.

Sinon oui bonne idée la liste et si tu veux  personnaliser ou améliorer le plugin, genre les boutons en français tout ça, te gène pas non plus, l'auteur a lui aussi si j'ai bien compris puisé dans d'autres plugins pour faire le sien, après à toi de voir si tu veux le partager avec d'autres ou si on se le garde jalousement  wink

Et pour les caractères spéciaux tu pense qu'on peux rien faire alors ? (attendre la prochaine mise à jour du LUA de Turbine ptet, mais si ça amène d'autres problèmes a la place... )

Hors ligne

#21 23-11-2010 20:35:33

Elendilme
Compagnon

Re : Plugins LUA

Faudrait tenter de remplacer à la mano les caractères spéciaux par \code_ascii ou un truc du genre.
Je ne connais pas tous les langages de prog et ne reconnais pas celui utilisé par LUA, mais il doit bien y avoir un moyen des utiliser (sinon faut jeter ces développeurs qui ont codé ça tongue).

Hors ligne

Pied de page des forums