Partagez
Aller en bas
avatar
Kingdommangas
Garde d'Or
Garde d'Or
Nombre de messages : 1078
Localisation : Ma tête
Capacités : moyen
Distinction : Débrouillarde notoire é_è [Mist']
Ou celle qui partageait plus vite que son ombre [Gel']
Poisson 2017 [Amal]
Grâce à elle, tout le forum appelle Yamashi "Mamashi" [Yama]
Entraide d'Or
Règne dans l'ombre de la commu'
Youtubeuse beauté reconvertie dans le gaming [Amal']
Date d'inscription : 05/05/2015
https://www.youtube.com/channel/UCqGFuGrzm7jim1o5QJ4lKvg

Résolu [résolu] Plugin - Ecran titre personnalisé

le Ven 7 Juil 2017 - 6:58
Yahallo

Dans mon projet Astyria j'ai un ecran titre personnalisé ou l'on suivra le héro qui rencontrera tous les personnages important de l'histoire.
Mais pour conserver le suspens, je souhaiterai que ces personnages ne soit pas visible ou ayant une ombre à la place tand qu'on les a pas rencontrer in-game.

M'étant renseigné sur le sujet, il faudrait donc une variable qui regarderai dans le fichier sauvegarde le plus avancé ou en est la variable pour qu'en condition le personnage soit débloquer.

Mist a fait un premier jet de code mais n'étant pas calé en javascript il m'envoie ici XD.
Code:
// Code "sale", à but d'illustration d'une potentielle solution
// On stocke une variable dans l'entête de chaque sauvegarde
DataManager.makeSavefileInfo = function() {
    var info = {};
    info.globalId   = this._globalId;
    info.title      = $dataSystem.gameTitle;
    info.characters = $gameParty.charactersForSavefile();
    info.faces      = $gameParty.facesForSavefile();
    info.playtime   = $gameSystem.playtimeText();
    info.timestamp  = Date.now();
    info.rencontres = $gameVariables[1]; // A rajouter dans le header de la sauvegarde
    return info;
};
// Censé parcourir le fichier global.rpgsave pour récupérer la valeur de la variable stockée dans le header de chaque sauvegarde
// On les compare ensuite les unes aux autres pour récupérer la plus grande valeur
DataManager.rencontres = function() {
    var globalInfo = this.loadGlobalInfo();
    var r = [];
    var final = 0;
    if (globalInfo) {
        for (var i = 1; i < globalInfo.length; i++) {
            if (this.isThisGameFile(i)) {
                var info = globalInfo[i];
                r.push(this.loadSavefileInfos(info));
            }
        }
        for (var i = 1; i < r.length; i++){
            if (final < r[i].rencontres)
            final = r[i].rencontres;
        }
        return final;
    }
};

Alors avez vous une idée chers scripteurs?


Dernière édition par Kingdommangas le Lun 10 Juil 2017 - 5:20, édité 1 fois
avatar
tibluedream
Garde du Trésor
Garde du Trésor
Nombre de messages : 828
Age : 29
Localisation : France, Rueil, près de Paris
Capacités : bon
Distinction : Poisson 2017 [Amal]
Date d'inscription : 05/09/2016

Résolu Re: [résolu] Plugin - Ecran titre personnalisé

le Ven 7 Juil 2017 - 7:46
Attention si tu veux que les perso soit débloqué pour toutes tes parties cette méthode ne fonctionnera pas si tu peux manquer des personnages lors d'une partie il faudrait créer plusieurs variables pour chaque perso si c'était le cas mais si c'est une histoire linéaire sans condition pour rencontrer les perso ça marche bien ^^
avatar
Kingdommangas
Garde d'Or
Garde d'Or
Nombre de messages : 1078
Localisation : Ma tête
Capacités : moyen
Distinction : Débrouillarde notoire é_è [Mist']
Ou celle qui partageait plus vite que son ombre [Gel']
Poisson 2017 [Amal]
Grâce à elle, tout le forum appelle Yamashi "Mamashi" [Yama]
Entraide d'Or
Règne dans l'ombre de la commu'
Youtubeuse beauté reconvertie dans le gaming [Amal']
Date d'inscription : 05/05/2015
https://www.youtube.com/channel/UCqGFuGrzm7jim1o5QJ4lKvg

Résolu Re: [résolu] Plugin - Ecran titre personnalisé

le Ven 7 Juil 2017 - 8:26
C'est une histoire linéaire, je donne dans le classique ^^.
avatar
tibluedream
Garde du Trésor
Garde du Trésor
Nombre de messages : 828
Age : 29
Localisation : France, Rueil, près de Paris
Capacités : bon
Distinction : Poisson 2017 [Amal]
Date d'inscription : 05/09/2016

Résolu Re: [résolu] Plugin - Ecran titre personnalisé

le Ven 7 Juil 2017 - 8:45
oki je laisse les experts s'occuper du reste je ne suis que le théoricien ^^
avatar
Kingdommangas
Garde d'Or
Garde d'Or
Nombre de messages : 1078
Localisation : Ma tête
Capacités : moyen
Distinction : Débrouillarde notoire é_è [Mist']
Ou celle qui partageait plus vite que son ombre [Gel']
Poisson 2017 [Amal]
Grâce à elle, tout le forum appelle Yamashi "Mamashi" [Yama]
Entraide d'Or
Règne dans l'ombre de la commu'
Youtubeuse beauté reconvertie dans le gaming [Amal']
Date d'inscription : 05/05/2015
https://www.youtube.com/channel/UCqGFuGrzm7jim1o5QJ4lKvg

Résolu Re: [résolu] Plugin - Ecran titre personnalisé

le Dim 9 Juil 2017 - 22:11
up
avatar
dricc
Conseiller

Conseiller
Nombre de messages : 2744
Localisation : Lille
Capacités : confirmé
Distinction : Altruiste - Incarnation de la Patience [Mist']
Date d'inscription : 10/08/2009

Résolu Re: [résolu] Plugin - Ecran titre personnalisé

le Dim 9 Juil 2017 - 22:21
Eh bien , je n'ai pas encore eu l'occasion de toucher à ces classes là . Je vais essayer sans garantie de resultat .
Va falloir que je bricole un truc pour tester aussi .

Au fait , ça ne marche pas le bout de code Mist' là ?

Sinon , tu sais ,un jeu qui se spoile lui-meme en montrant un perso qu'on n'a pas encore rencontré , c'est trés courant Smile
avatar
Mist'
Administrateur

Administrateur
Nombre de messages : 3287
Age : 25
Localisation : France // Auvergne // Cantal
Capacités : expert
Distinction : Ours Barbu é_è [/Shamu']
Date d'inscription : 22/12/2007
http://www.rpgmakervx-fr.com

Résolu Re: [résolu] Plugin - Ecran titre personnalisé

le Dim 9 Juil 2017 - 23:24
Je comprend pas vraiment pourquoi ça ne fonctionne pas, à vrai dire.
Sous Ace, je rentre les données dans le header de chaque sauvegarde, et je lis ce même header afin de récupérer les données qui m'intéresse, avec le même procédé.
J'ai à peu près compris comment c'est géré sous MV, ça ressemble même si du coup on doit parcourir le fichier global.rpgsave pour récup' les données.
Ca ne buggue pas, mais quand je teste à l'exécution en affectant "DataManager.rencontres" à une variable (ID X) et que je l'affiche via un message, ça change QUE DALLE, la variable (ID X) reste à 0. Même en ayant fait une sauvegarde pour affecter la variable (ID 2) que je passe à mon header durant le makeSavefileInfo, à un entier supérieur à 0.
Du coup, j'avoue que je sèche, j'ai du oublier quelque chose, mais j'ai du mal à voir quoi.

_________________
avatar
dricc
Conseiller

Conseiller
Nombre de messages : 2744
Localisation : Lille
Capacités : confirmé
Distinction : Altruiste - Incarnation de la Patience [Mist']
Date d'inscription : 10/08/2009

Résolu Re: [résolu] Plugin - Ecran titre personnalisé

le Lun 10 Juil 2017 - 1:29
Bon ben déja , j'ai fait 2 choses :
- encapsuler proprement le code
- changer la façon dont tu récupére la valeur de la variable

ça donne :
Code:

    //=============================================================================
    // Variable accessibility for Title Version: 1.00
    //
    //=============================================================================

    //=============================================================================
    /*:
    * @plugindesc Made a variable accessible in title
    * @author Mist/Dricc
    *
    *
    * @help
    *
    * rend la variable 1 accessible depuis l'écran titre
    * on prend la plus grande valeur dispo dans les sauvegardes
    */
    //=============================================================================

    var Imported = Imported || {};
    Imported.Titlevariableavailability = {};

    (function(){
    // Code "sale", à but d'illustration d'une potentielle solution
    // On stocke une variable dans l'entête de chaque sauvegarde
    DataManager.makeSavefileInfo = function() {
        var info = {};
        info.globalId  = this._globalId;
        info.title      = $dataSystem.gameTitle;
        info.characters = $gameParty.charactersForSavefile();
        info.faces      = $gameParty.facesForSavefile();
        info.playtime  = $gameSystem.playtimeText();
        info.timestamp  = Date.now();
        info.rencontres = $gameVariables.value(1); // A rajouter dans le header de la sauvegarde
        return info;
    };
    // Censé parcourir le fichier global.rpgsave pour récupérer la valeur de la variable stockée dans le header de chaque sauvegarde
    // On les compare ensuite les unes aux autres pour récupérer la plus grande valeur
    DataManager.rencontres = function() {
        var globalInfo = this.loadGlobalInfo();
        var r = [];
        var final = 0;
        if (globalInfo) {
            for (var i = 1; i < globalInfo.length; i++) {
                if (this.isThisGameFile(i)) {
                    var info = globalInfo[i];
                    r.push(this.loadSavefileInfos(info));
                }
            }
            for (var i = 1; i < r.length; i++){
                if (final < r[i].rencontres)
                final = r[i].rencontres;
            }
            return final;
        }
    };

    })();



je vais tester ça
avatar
Kingdommangas
Garde d'Or
Garde d'Or
Nombre de messages : 1078
Localisation : Ma tête
Capacités : moyen
Distinction : Débrouillarde notoire é_è [Mist']
Ou celle qui partageait plus vite que son ombre [Gel']
Poisson 2017 [Amal]
Grâce à elle, tout le forum appelle Yamashi "Mamashi" [Yama]
Entraide d'Or
Règne dans l'ombre de la commu'
Youtubeuse beauté reconvertie dans le gaming [Amal']
Date d'inscription : 05/05/2015
https://www.youtube.com/channel/UCqGFuGrzm7jim1o5QJ4lKvg

Résolu Re: [résolu] Plugin - Ecran titre personnalisé

le Lun 10 Juil 2017 - 2:17
Ca ne fonctionne pas.
avatar
dricc
Conseiller

Conseiller
Nombre de messages : 2744
Localisation : Lille
Capacités : confirmé
Distinction : Altruiste - Incarnation de la Patience [Mist']
Date d'inscription : 10/08/2009

Résolu Re: [résolu] Plugin - Ecran titre personnalisé

le Lun 10 Juil 2017 - 2:59
OK , je crois que j'arrive à tester .

La premiere partie fonctionne : info.rencontres est correct
Mais la deuxieme plante salement à cause de "loadSavefileInfos" qui n'existe pas .

EDIT : c'est loadSavefileInfo , sans s à la fin . Mais pour autant , ça ne marche pas
avatar
dricc
Conseiller

Conseiller
Nombre de messages : 2744
Localisation : Lille
Capacités : confirmé
Distinction : Altruiste - Incarnation de la Patience [Mist']
Date d'inscription : 10/08/2009

Résolu Re: [résolu] Plugin - Ecran titre personnalisé

le Lun 10 Juil 2017 - 3:55
Finalement , j'ai réussi :

Code:

    //=============================================================================
    // Variable accessibility for Title Version: 1.00
    //
    //=============================================================================

    //=============================================================================
     /*:
     * @plugindesc Made a variable accessible in title
     * @author Mist/Dricc
     *
     *
     * @help
     *
     * rend la variable 1 accessible depuis l'écran titre
     * on prend la plus grande valeur dispo dans les sauvegardes
     */
     //=============================================================================

    var Imported = Imported || {};
    Imported.Titlevariableavailability = {};

    (function(){
    // Code "sale", à but d'illustration d'une potentielle solution
    // On stocke une variable dans l'entête de chaque sauvegarde
    DataManager.makeSavefileInfo = function() {
        var info = {};
        info.globalId  = this._globalId;
        info.title      = $dataSystem.gameTitle;
        info.characters = $gameParty.charactersForSavefile();
        info.faces      = $gameParty.facesForSavefile();
        info.playtime  = $gameSystem.playtimeText();
        info.timestamp  = Date.now();
        info.rencontres = $gameVariables.value(1); // A rajouter dans le header de la sauvegarde
        return info;
    };
    // Censé parcourir le fichier global.rpgsave pour récupérer la valeur de la variable stockée dans le header de chaque sauvegarde
    // On les compare ensuite les unes aux autres pour récupérer la plus grande valeur
    DataManager.rencontres = function() {
        var globalInfo = this.loadGlobalInfo();
        var r = [];
        var final = 0;
        if (globalInfo) {
            for (var i = 1; i < globalInfo.length; i++) {
                if (this.isThisGameFile(i)) {
                    var info = globalInfo[i];
                    r.push(info.rencontres);
                }
            }
            for (var i = 0; i < r.length; i++){
                if (final < r[i])
                final = r[i];
            }
            return final;
        }
    };

    })();


Testé avec 3 sauvegarde :
- variable1 = 4 pour les deux premieres
- variable1 = 0 pour la troisieme
ça me renvoie bien 4 .

Pour tester :
Code:

console.log(DataManager.rencontres())

Attention à bien mettre () aprés ! meme chose pour utiliser la valeur dans l'écran titre.
avatar
Kingdommangas
Garde d'Or
Garde d'Or
Nombre de messages : 1078
Localisation : Ma tête
Capacités : moyen
Distinction : Débrouillarde notoire é_è [Mist']
Ou celle qui partageait plus vite que son ombre [Gel']
Poisson 2017 [Amal]
Grâce à elle, tout le forum appelle Yamashi "Mamashi" [Yama]
Entraide d'Or
Règne dans l'ombre de la commu'
Youtubeuse beauté reconvertie dans le gaming [Amal']
Date d'inscription : 05/05/2015
https://www.youtube.com/channel/UCqGFuGrzm7jim1o5QJ4lKvg

Résolu Re: [résolu] Plugin - Ecran titre personnalisé

le Lun 10 Juil 2017 - 4:41
Le plugin fonctionne dans le sens ou je vois bien la variable augmenter dans la console, mais si j'ajoute un event qui apparai a condition que la variable 1 soit égale à 1, ca ne s'affiche pas.
J'ai créer un event automatique qui me donne le contenu de la variable 1 en début de partie mais il affiche toujours zéro à contrario de la console.
avatar
dricc
Conseiller

Conseiller
Nombre de messages : 2744
Localisation : Lille
Capacités : confirmé
Distinction : Altruiste - Incarnation de la Patience [Mist']
Date d'inscription : 10/08/2009

Résolu Re: [résolu] Plugin - Ecran titre personnalisé

le Lun 10 Juil 2017 - 4:46
Au lieu de tester sur la variable1 , teste sur :
DataManager.rencontres()

parce que oui , si c'est une nouvelle partie , la variable1 est à 0 . C'est bien comme ça .
avatar
Kingdommangas
Garde d'Or
Garde d'Or
Nombre de messages : 1078
Localisation : Ma tête
Capacités : moyen
Distinction : Débrouillarde notoire é_è [Mist']
Ou celle qui partageait plus vite que son ombre [Gel']
Poisson 2017 [Amal]
Grâce à elle, tout le forum appelle Yamashi "Mamashi" [Yama]
Entraide d'Or
Règne dans l'ombre de la commu'
Youtubeuse beauté reconvertie dans le gaming [Amal']
Date d'inscription : 05/05/2015
https://www.youtube.com/channel/UCqGFuGrzm7jim1o5QJ4lKvg

Résolu Re: [résolu] Plugin - Ecran titre personnalisé

le Lun 10 Juil 2017 - 5:20
Ok ca fonction thx ^^
avatar
Mist'
Administrateur

Administrateur
Nombre de messages : 3287
Age : 25
Localisation : France // Auvergne // Cantal
Capacités : expert
Distinction : Ours Barbu é_è [/Shamu']
Date d'inscription : 22/12/2007
http://www.rpgmakervx-fr.com

Résolu Re: [résolu] Plugin - Ecran titre personnalisé

le Lun 10 Juil 2017 - 6:50
GG dricc! Wink

_________________
avatar
tibluedream
Garde du Trésor
Garde du Trésor
Nombre de messages : 828
Age : 29
Localisation : France, Rueil, près de Paris
Capacités : bon
Distinction : Poisson 2017 [Amal]
Date d'inscription : 05/09/2016

Résolu Re: [résolu] Plugin - Ecran titre personnalisé

le Lun 10 Juil 2017 - 7:30
Je dirais même plus Good job ^^ !
avatar
Spy'
Administrateur

Administrateur
Nombre de messages : 5866
Localisation : La terre
Capacités : expert
Avertissements : Avertissements infinis |-)
Distinction : Spiraliste [Korn']
Forestia : Projet du mois juillet 2014
Date d'inscription : 16/03/2008

Résolu Re: [résolu] Plugin - Ecran titre personnalisé

le Lun 10 Juil 2017 - 8:57
Trois messages HS, je vous mets chacun un averto !


---> [ ]

avatar
Mist'
Administrateur

Administrateur
Nombre de messages : 3287
Age : 25
Localisation : France // Auvergne // Cantal
Capacités : expert
Distinction : Ours Barbu é_è [/Shamu']
Date d'inscription : 22/12/2007
http://www.rpgmakervx-fr.com

Résolu Re: [résolu] Plugin - Ecran titre personnalisé

le Lun 10 Juil 2017 - 9:22
Je floode pas, je lui disais GG pour avoir réussi à avoir fait quelque chose du bout de code bien cracra que j'avais laissé, je suis pas si HS que ça si on regarde bien. é_è

=>[ ]

_________________
avatar
dricc
Conseiller

Conseiller
Nombre de messages : 2744
Localisation : Lille
Capacités : confirmé
Distinction : Altruiste - Incarnation de la Patience [Mist']
Date d'inscription : 10/08/2009

Résolu Re: [résolu] Plugin - Ecran titre personnalisé

le Mar 11 Juil 2017 - 0:50
C'est vrai , tu es encore dans le sujet Smile

Au passage , il était loin d'etre si "cracra" que ça , ton code .
J'ai juste modifié 2 ou 3 trucs , mis des "console.log" un peu partout pour débugguer . et j'en suis venu à bout assez rapidement au final .
Contenu sponsorisé

Résolu Re: [résolu] Plugin - Ecran titre personnalisé

Revenir en haut
Permission de ce forum:
Vous pouvez répondre aux sujets dans ce forum