Sphinx-WB_ConvertEC

Sphinx-WB_ConvertEC

Comme tous mes plugins, ce script est publié sous licence CC BY 4.0.

//=============================================================================
// Sphinx-WB_ConvertEC.js
//=============================================================================

/*:
 * @plugindesc Nouveaux caractères échapés
 * @author Sphinx
 *
 * @help
 * //==========================================================================
 * // Plugin : Sphinx-WB_ConvertEC
 * // Date   : 27 décembre 2016
 * // Auteur : Sphinx
 * //==========================================================================
 * Ce script ajoute de nouveaux caractères échapés, pour les rendre disponibles
 * dans les messages du projet RPG Maker MV :
 * 
 * - \V0[Var|Pad]   : Affiche le contenu de la variable Var avec autant de 0 à
 *                    gauche que nécessaire (la variable est affichée sur Pad
 *                    chiffres).
 * - \RAND[Min|Max] : Affiche un nombre aléatoire compris entre Min et Max.
 * - \ALEA[Len]     : Affiche une chaine de caractères de Len caractères
 *                    aléatoires.
 * 
 * Dépendances :
 *     Aucune
 */
Window_Base.prototype.Sphinx_convertEscapeCharacters = Window_Base.prototype.convertEscapeCharacters;
Window_Base.prototype.convertEscapeCharacters = function(text) {
    text = Window_Base.prototype.Sphinx_convertEscapeCharacters.call(this, text);
    
    // \V0[Var|Pad]
    text = text.replace(/\x1bV0\[(\d+)\|(\d+)\]/gi, function() {
        return $gameVariables.value(parseInt(arguments[1])).toString().padStart(arguments[2], "0");
    }.bind(this));
    
    // \RAND[Min|Max]
    text = text.replace(/\x1bRAND\[(\d+)\|(\d+)\]/gi, function() {
        return Math.round(parseInt(arguments[1], 10) + Math.random() * (parseInt(arguments[2], 10) - parseInt(arguments[1], 10)));
    }.bind(this));
    
    // \ALEA[Len]
    text = text.replace(/\x1bALEA\[(\d+)\]/gi, function() {
        var tableAlea = Window_NameInput.prototype.table();
        alea = "";
        for(var i = 0; i < arguments[1]; i++) {
            var tab = Math.floor(Math.random() * tableAlea.length);
            var row = Math.floor(Math.random() * tableAlea[tab].length);
            var col = Math.floor(Math.random() * tableAlea[tab][row].length);
            alea += tableAlea[tab][row][col];
        }
        return alea;
    }.bind(this));
    
    return text;
}

Ce plugin rajoute quelques fonctionnalités aux messages :

  • \V0[Var|Pad] : Affiche le contenu de la variable Var avec autant de 0 à gauche que nécessaire (la variable est affichée sur Pad chiffres).
  • \RAND[Min|Max] : Affiche un nombre aléatoire compris entre Min et Max.
  • \ALEA[Len] : Affiche une chaine de caractères de Len caractères aléatoires.

Laisser un commentaire

Votre adresse de messagerie ne sera pas publiée. Les champs obligatoires sont indiqués avec *

Ce site utilise Akismet pour réduire les indésirables. En savoir plus sur comment les données de vos commentaires sont utilisées.