Project1

标题: [已经解决]如何用脚本给文件改名? [打印本页]

作者: fbeds    时间: 2018-4-6 10:57
标题: [已经解决]如何用脚本给文件改名?
本帖最后由 fbeds 于 2018-4-14 13:10 编辑

如题,就是在游戏进行中给游戏文件夹目录下的某个文件改名……本人脚本盲,不知道该怎么办……
作者: Mehmet    时间: 2018-4-6 13:06
本帖最后由 Mehmet 于 2018-4-6 13:08 编辑

如果只是NW.js游戏平台可以参考下我这个.
[pre lang="javascript"]//=============================================================================
// Mehmet Plugins - file Rename
// Mehmet_fileRename.js
//=============================================================================

/*:
* @plugindesc 基于NW.js游戏平台游戏目录下的文件重命名.
* @author Mehmet
* @version 1.0
*
* @help
* Plugins Command:
* 1.文件移动
*   mehmetFileRename /img/faces/Actor3.png /img/Actor3.png
* 2.文件重命名
*   mehmetFileRename /img/faces/Actor3.png /img/faces/Actor4.png
* 3.文件夹(即有第三个实参)
*   mehmetFileRename /img/Test /img/Test1 true
*/


(function() {

var Mehmet = Mehmet || {};
Mehmet.Game_Interpreter_pluginCommand = Game_Interpreter.prototype.pluginCommand;
Game_Interpreter.prototype.pluginCommand = function(command, args) {
    Mehmet.Game_Interpreter_pluginCommand.call(this, command, args);
    if (command.toUpperCase() === 'MEHMETFILERENAME') {
        if (Utils.isNwjs() && args[0] && args[1]) {
            if (args[2]) {
                Mehmet.fileRenamefunction(args[0], args[1], true);
            } else {
                Mehmet.fileRenamefunction(args[0], args[1]);
            }
        }
    }
};

Mehmet.fileRenamefunction = function(oldPath, newPath) {
    var data = null;
    if (arguments[2]) {
        var fs = require('fs');
        var oldfilePath = this.localFileDirectoryPath(oldPath);
        var newfilePath = this.localFileDirectoryPath(newPath);
    } else {
        var oldfilePath = this.localFileDirectoryPath(oldPath);
        var newfilePath = this.localFileDirectoryPath(newPath);
        var fs = require('fs');
    }
    if (!fs.existsSync(oldfilePath)) {
        return console.log("%c File not found:" + oldfilePath,"color:red;background-color:rgba(58,58,58,1)");
    }
    fs.rename(oldfilePath, newfilePath, function(err) {
        if (err) {
            console.log("%c" + err,"color:yellow;background-color:rgba(58,58,58,1)");
        }
    });
};

Mehmet.localFileDirectoryPath = function(filePath) {
    var path = require('path');
    var filePath = filePath || '';
    var base = path.dirname(process.mainModule.filename);
    return path.join(base, filePath);
};

})();
[/pre]
作者: fbeds    时间: 2018-4-6 14:02
Mehmet 发表于 2018-4-6 13:06
如果只是NW.js游戏平台可以参考下我这个.
//=========================================================== ...

谢谢,问题已解决。




欢迎光临 Project1 (https://rpg.blue/) Powered by Discuz! X5.0