支持缺少大号脸图时自动回退

main
Salted 2 years ago
parent fcd2bf48a6
commit d8259e3b9b
Signed by: SaltedFish
GPG Key ID: FCF3F47D9BD7AD42

@ -21,6 +21,7 @@
## 更新记录
- **2022/9/17****咸鱼**;修改了 Galv_MessageBusts 支持了预先扫描文件来获取相关信息
- **2022/9/17****咸鱼**;添加了普攻替换插件
- **2022/9/7****面具**;数值整理,素材整理,添加怪物
- **2022/8/30****不明枪兵**;更新海上的剧情

@ -0,0 +1 @@
{"主角团":{"1":{"FileName":"主角团_1","@c":3},"3":{"FileName":"主角团_3","@c":4},"5":{"FileName":"主角团_5","@c":5},"7":{"FileName":"主角团_7","@c":6},"@c":2},"莎奇拉":{"1":{"FileName":"莎奇拉_1","@c":8},"@c":7},"配角团":{"2":{"FileName":"配角团_2","@c":10},"4":{"FileName":"配角团_4","@c":11},"@c":9},"@c":1}

@ -0,0 +1 @@
{"主角团":{"1":{"FileName":"主角团_1","@c":3},"3":{"FileName":"主角团_3","@c":4},"5":{"FileName":"主角团_5","@c":5},"7":{"FileName":"主角团_7","@c":6},"@c":2},"莎奇拉":{"1":{"FileName":"莎奇拉_1","@c":8},"@c":7},"配角团":{"2":{"FileName":"配角团_2","@c":10},"4":{"FileName":"配角团_4","@c":11},"@c":9},"@c":1}

Before

Width:  |  Height:  |  Size: 105 KiB

After

Width:  |  Height:  |  Size: 105 KiB

Before

Width:  |  Height:  |  Size: 128 KiB

After

Width:  |  Height:  |  Size: 128 KiB

Before

Width:  |  Height:  |  Size: 179 KiB

After

Width:  |  Height:  |  Size: 179 KiB

Before

Width:  |  Height:  |  Size: 159 KiB

After

Width:  |  Height:  |  Size: 159 KiB

Before

Width:  |  Height:  |  Size: 175 KiB

After

Width:  |  Height:  |  Size: 175 KiB

Before

Width:  |  Height:  |  Size: 140 KiB

After

Width:  |  Height:  |  Size: 140 KiB

Before

Width:  |  Height:  |  Size: 130 KiB

After

Width:  |  Height:  |  Size: 130 KiB

Before

Width:  |  Height:  |  Size: 160 KiB

After

Width:  |  Height:  |  Size: 160 KiB

Before

Width:  |  Height:  |  Size: 30 KiB

After

Width:  |  Height:  |  Size: 30 KiB

Before

Width:  |  Height:  |  Size: 45 KiB

After

Width:  |  Height:  |  Size: 45 KiB

Before

Width:  |  Height:  |  Size: 248 KiB

After

Width:  |  Height:  |  Size: 248 KiB

Before

Width:  |  Height:  |  Size: 150 KiB

After

Width:  |  Height:  |  Size: 150 KiB

Before

Width:  |  Height:  |  Size: 176 KiB

After

Width:  |  Height:  |  Size: 176 KiB

Before

Width:  |  Height:  |  Size: 141 KiB

After

Width:  |  Height:  |  Size: 141 KiB

@ -35,11 +35,11 @@
var Imported = Imported || {};
Imported.Galv_MessageBusts = true;
var Galv = Galv || {}; // Galv's main object
Galv.pCmd = Galv.pCmd || {}; // Plugin Command manager
Galv.MB = Galv.MB || {}; // Galv's stuff
var Galv = Galv || {}; // Galv's main object
Galv.pCmd = Galv.pCmd || {}; // Plugin Command manager
Galv.MB = Galv.MB || {}; // Galv's stuff
Galv.Mstyle = Galv.Mstyle || {}; // compatibility
Galv.Mstyle = Galv.Mstyle || {}; // compatibility
//-----------------------------------------------------------------------------
/*:
@ -64,6 +64,12 @@ Galv.Mstyle = Galv.Mstyle || {}; // compatibility
* @default
*
* @help
*
* 修改说明
* 1. 文件夹路径替换为 img/face/large图片名称不变
* 2. 预先生成文件相关信息依赖于 SF_Core.js
* 3. 支持没有图片时自动加载在对话时选择的图片
*
* Galv's Message Busts
* ----------------------------------------------------------------------------
* This plugin displays a bust image from /img/pictures/ folder based on the
@ -138,184 +144,270 @@ Galv.Mstyle = Galv.Mstyle || {}; // compatibility
* ----------------------------------------------------------------------------
*/
//-----------------------------------------------------------------------------
// CODE STUFFS
//-----------------------------------------------------------------------------
(function() {
Galv.MB.prio = Number(PluginManager.parameters('Galv_MessageBusts')["Bust Priority"]);
Galv.MB.pos = Number(PluginManager.parameters('Galv_MessageBusts')["Bust Position"]);
Galv.MB.w = Number(PluginManager.parameters('Galv_MessageBusts')["Text X Offset"]);
Galv.MB.f = PluginManager.parameters('Galv_MessageBusts')["Filename Append"];
Galv.MB.msgWindow = null;
if (Galv.MB.prio == 1 && Galv.MB.pos == 0) {
// Fix
Galv.MB.prio = 0;
};
// GALV'S PLUGIN MANAGEMENT. INCLUDED IN ALL GALV PLUGINS THAT HAVE PLUGIN COMMAND CALLS, BUT ONLY RUN ONCE.
if (!Galv.aliased) {
var Galv_Game_Interpreter_pluginCommand = Game_Interpreter.prototype.pluginCommand;
Game_Interpreter.prototype.pluginCommand = function(command, args) {
if (Galv.pCmd[command]) {
Galv.pCmd[command](args);
return;
};
Galv_Game_Interpreter_pluginCommand.call(this, command, args);
};
Galv.aliased = true; // Don't keep aliasing for other Galv scripts.
};
// Direct to Plugin Object
Galv.pCmd.BUST = function(arguments) {
Galv.MB.bustPos(arguments);
};
// END GALV'S PLUGIN MANAGEMENT
Galv.MB.bustPos = function(pos) {
if (pos[0] === "TRUE") {
return $gameSystem.bustDisable = false;
} else if (pos[0] === "FALSE") {
return $gameSystem.bustDisable = true;
};
$gameSystem.bustPos = 0
if (pos[0] === "LEFT") {
$gameSystem.bustPos = 0;
} else if (pos[0] === "RIGHT") {
$gameSystem.bustPos = 1;
};
if (pos[1] === "TRUE") {
$gameSystem.bustMirror = true;
} else if (pos[1] === "FALSE") {
$gameSystem.bustMirror = false;
};
};
// ---------------- WINDOW MESSAGE
Galv.MB.Game_Message_setFaceImage = Game_Message.prototype.setFaceImage;
Game_Message.prototype.setFaceImage = function(faceName, faceIndex) {
switch (faceName) {
case 'PartyLeader':
var faceName = $gameParty.leader().faceName();
break;
case 'PartyMember':
if ($gameParty.members()[faceIndex]) {
var faceName = $gameParty.members()[faceIndex].faceName();
var faceIndex = $gameParty.members()[faceIndex].faceIndex();
} else {
var faceName = "";
};
break;
};
Galv.MB.Game_Message_setFaceImage.call(this,faceName,faceIndex);
};
// WINDOW MESSAGE START MESSAGE - MOD
Galv.MB.Window_Message_startMessage = Window_Message.prototype.startMessage;
Window_Message.prototype.startMessage = function() {
Galv.MB.msgWindow = this;
$gameSystem.bustPos = $gameSystem.bustPos || 0;
$gameMessage.bustOffset = $gameMessage.bustOffset || Galv.MB.w;
Galv.MB.Window_Message_startMessage.call(this);
Galv.MB.msgWindow.tempPosType = this._positionType;
};
Galv.MB.Window_Message_processEscapeCharacter = Window_Message.prototype.processEscapeCharacter;
Window_Message.prototype.processEscapeCharacter = function(code, textState) {
switch (code) {
case 'BST':
this.obtainSpecialParam(textState);
break;
(function () {
Galv.MB.prio = Number(
PluginManager.parameters("Galv_MessageBusts")["Bust Priority"]
);
Galv.MB.pos = Number(
PluginManager.parameters("Galv_MessageBusts")["Bust Position"]
);
Galv.MB.w = Number(
PluginManager.parameters("Galv_MessageBusts")["Text X Offset"]
);
Galv.MB.f =
PluginManager.parameters("Galv_MessageBusts")["Filename Append"];
Galv.MB.msgWindow = null;
if (Galv.MB.prio == 1 && Galv.MB.pos == 0) {
// Fix
Galv.MB.prio = 0;
}
Galv.MB.Window_Message_processEscapeCharacter.call(this, code, textState);
};
// GALV'S PLUGIN MANAGEMENT. INCLUDED IN ALL GALV PLUGINS THAT HAVE PLUGIN COMMAND CALLS, BUT ONLY RUN ONCE.
if (!Galv.aliased) {
var Galv_Game_Interpreter_pluginCommand =
Game_Interpreter.prototype.pluginCommand;
Game_Interpreter.prototype.pluginCommand = function (command, args) {
if (Galv.pCmd[command]) {
Galv.pCmd[command](args);
return;
}
Galv_Game_Interpreter_pluginCommand.call(this, command, args);
};
Galv.aliased = true; // Don't keep aliasing for other Galv scripts.
}
Window_Message.prototype.obtainSpecialParam = function(textState) {
var arr = /^\[(.*)]/.exec(textState.text.slice(textState.index));
if (arr) {
textState.index += arr[0].length;
var txt = arr[0].slice(1).slice(0, - 1);
var array = txt.split(",");
$gameMessage.setFaceImage(array[1] || $gameMessage._faceName,Number(array[0] - 1));
// Direct to Plugin Object
Galv.pCmd.BUST = function (arguments) {
Galv.MB.bustPos(arguments);
};
// END GALV'S PLUGIN MANAGEMENT
Galv.MB.bustPos = function (pos) {
if (pos[0] === "TRUE") {
return ($gameSystem.bustDisable = false);
} else if (pos[0] === "FALSE") {
return ($gameSystem.bustDisable = true);
}
$gameSystem.bustPos = 0;
if (pos[0] === "LEFT") {
$gameSystem.bustPos = 0;
} else if (pos[0] === "RIGHT") {
$gameSystem.bustPos = 1;
}
if (pos[1] === "TRUE") {
$gameSystem.bustMirror = true;
} else if (pos[1] === "FALSE") {
$gameSystem.bustMirror = false;
}
};
// ---------------- WINDOW MESSAGE
Galv.MB.Game_Message_setFaceImage = Game_Message.prototype.setFaceImage;
Game_Message.prototype.setFaceImage = function (faceName, faceIndex) {
switch (faceName) {
case "PartyLeader":
var faceName = $gameParty.leader().faceName();
break;
case "PartyMember":
if ($gameParty.members()[faceIndex]) {
var faceName = $gameParty.members()[faceIndex].faceName();
var faceIndex = $gameParty.members()[faceIndex].faceIndex();
} else {
var faceName = "";
}
break;
}
Galv.MB.Game_Message_setFaceImage.call(this, faceName, faceIndex);
};
// WINDOW MESSAGE START MESSAGE - MOD
Galv.MB.Window_Message_startMessage = Window_Message.prototype.startMessage;
Window_Message.prototype.startMessage = function () {
Galv.MB.msgWindow = this;
$gameSystem.bustPos = $gameSystem.bustPos || 0;
$gameMessage.bustOffset = $gameMessage.bustOffset || Galv.MB.w;
Galv.MB.Window_Message_startMessage.call(this);
Galv.MB.msgWindow.tempPosType = this._positionType;
};
Galv.MB.Window_Message_processEscapeCharacter =
Window_Message.prototype.processEscapeCharacter;
Window_Message.prototype.processEscapeCharacter = function (
code,
textState
) {
switch (code) {
case "BST":
this.obtainSpecialParam(textState);
break;
}
Galv.MB.Window_Message_processEscapeCharacter.call(
this,
code,
textState
);
};
Window_Message.prototype.obtainSpecialParam = function (textState) {
var arr = /^\[(.*)]/.exec(textState.text.slice(textState.index));
if (arr) {
textState.index += arr[0].length;
var txt = arr[0].slice(1).slice(0, -1);
var array = txt.split(",");
$gameMessage.setFaceImage(
array[1] || $gameMessage._faceName,
Number(array[0] - 1)
);
} else {
return "";
}
};
Galv.MB.Window_Message_drawMessageFace =
Window_Message.prototype.drawMessageFace;
Window_Message.prototype.drawMessageFace = function () {
if (!$gameSystem.bustDisable) return;
Galv.MB.Window_Message_drawMessageFace.call(this);
};
// ---------------- SPRITESET MAP
if (Galv.MB.prio == 0) {
// UNDER MESSAGE
Galv.MB.Spriteset_Map_createUpperLayer =
Spriteset_Base.prototype.createUpperLayer;
Spriteset_Base.prototype.createUpperLayer = function () {
Galv.MB.Spriteset_Map_createUpperLayer.call(this);
this.createBusts();
};
// SPRITESET MAP CREATE MSG BG
Spriteset_Base.prototype.createBusts = function () {
// Create bust image
if (this._msgBustSprite) return;
this._msgBustSprite = new Sprite_GalvBust();
this.addChild(this._msgBustSprite);
};
Galv.MB.Window_Message_newLineX = Window_Message.prototype.newLineX;
Window_Message.prototype.newLineX = function () {
if ($gameSystem.bustDisable) {
return Galv.MB.Window_Message_newLineX.call(this);
} else {
return 0;
}
};
} else {
return '';
// OVER MESSAGE
// Add to window_message as child instead, so it displays above
Galv.MB.Window_Message_createSubWindows =
Window_Message.prototype.createSubWindows;
Window_Message.prototype.createSubWindows = function () {
Galv.MB.Window_Message_createSubWindows.call(this);
if (this._msgBustSprite) return;
this._msgBustSprite = new Sprite_GalvBust();
this.addChild(this._msgBustSprite);
};
Galv.MB.Window_Message_newLineX = Window_Message.prototype.newLineX;
Window_Message.prototype.newLineX = function () {
if ($gameSystem.bustDisable) {
return Galv.MB.Window_Message_newLineX.call(this);
} else if (
$gameMessage.faceName() &&
Galv.MB.prio == 1 &&
$gameMessage._positionType == 2 &&
$gameSystem.bustPos == 0
) {
return $gameMessage.bustOffset;
} else {
return 0;
}
};
}
};
Galv.MB.Window_Message_drawMessageFace = Window_Message.prototype.drawMessageFace;
Window_Message.prototype.drawMessageFace = function() {
if (!$gameSystem.bustDisable) return;
Galv.MB.Window_Message_drawMessageFace.call(this);
};
// ---------------- SPRITESET MAP
if (Galv.MB.prio == 0) {
// UNDER MESSAGE
Galv.MB.Spriteset_Map_createUpperLayer = Spriteset_Base.prototype.createUpperLayer;
Spriteset_Base.prototype.createUpperLayer = function() {
Galv.MB.Spriteset_Map_createUpperLayer.call(this);
this.createBusts();
};
// SPRITESET MAP CREATE MSG BG
Spriteset_Base.prototype.createBusts = function() {
// Create bust image
if (this._msgBustSprite) return;
this._msgBustSprite = new Sprite_GalvBust();
this.addChild(this._msgBustSprite);
};
Galv.MB.Window_Message_newLineX = Window_Message.prototype.newLineX;
Window_Message.prototype.newLineX = function() {
if ($gameSystem.bustDisable) {
return Galv.MB.Window_Message_newLineX.call(this);
} else {
return 0;
};
};
} else {
// OVER MESSAGE
// Add to window_message as child instead, so it displays above
Galv.MB.Window_Message_createSubWindows = Window_Message.prototype.createSubWindows;
Window_Message.prototype.createSubWindows = function() {
Galv.MB.Window_Message_createSubWindows.call(this);
if (this._msgBustSprite) return;
this._msgBustSprite = new Sprite_GalvBust();
this.addChild(this._msgBustSprite);
};
Galv.MB.Window_Message_newLineX = Window_Message.prototype.newLineX;
Window_Message.prototype.newLineX = function() {
if ($gameSystem.bustDisable) {
return Galv.MB.Window_Message_newLineX.call(this);
} else if ($gameMessage.faceName() && Galv.MB.prio == 1 && $gameMessage._positionType == 2 && $gameSystem.bustPos == 0) {
return $gameMessage.bustOffset;
} else {
return 0;
};
};
};
// changed by Salted Fish start
Galv.MB.LargeFaceFolder = "img/faces/large";
Galv.MB.LargeFaceDataFile = "data/LargeFace.json";
Galv.MB.LargeFaceTestDataFile = "data/Test_LargeFace.json";
/**
* LargeFace.json example
*
* {
* "FaceName":{
* "FaceIndex":{
* "FileName":"文件名,不包含后缀。"
* }
* }
* }
*/
//=============================================================================
// DataManager
//=============================================================================
DataManager._databaseFiles.push({
name: "$dataLargeFace",
src: "LargeFace.json",
});
// scan face image to data file
if (SF_Plugins.Core.Utils.isPC() && Utils.isOptionValid("test")) {
(function () {
var files = FileUtils.list("img/faces/large");
var regex = new RegExp(/^(.+)_(\d+)\.png$/gm);
var result = {};
files.forEach((name) => {
var m = regex.exec(name);
if (m) {
result[m[1]] = result[m[1]] || {};
result[m[1]][m[2]] = { FileName: `${m[1]}_${m[2]}` };
}
});
FileUtils.writeTextFile(
Galv.MB.LargeFaceDataFile,
JsonEx.stringify(result)
);
FileUtils.writeTextFile(
Galv.MB.LargeFaceTestDataFile,
JsonEx.stringify(result)
);
})();
}
Object.defineProperties(Game_System.prototype, {
bustDisable: {
set: function (value) {
this._bustDisable = value;
},
get: function () {
return !(
!this._bustDisable &&
!!$dataLargeFace &&
!!$dataLargeFace[$gameMessage.faceName()] &&
!!$dataLargeFace[$gameMessage.faceName()][
$gameMessage.faceIndex()
]
);
},
},
});
ImageManager.loadLargeFace = function (filename, hue) {
return this.loadBitmap("img/faces/large/", filename, hue, true);
};
// changed by Salted Fish end
})();
// ---------------- SPRITE GALVMSGBG - NEW
function Sprite_GalvBust() {
@ -325,102 +417,116 @@ function Sprite_GalvBust() {
Sprite_GalvBust.prototype = Object.create(Sprite.prototype);
Sprite_GalvBust.prototype.constructor = Sprite_GalvBust;
Sprite_GalvBust.prototype.initialize = function() {
Sprite_GalvBust.prototype.initialize = function () {
Sprite.prototype.initialize.call(this);
this.name = "";
this.opacity = 0;
this.name = "";
this.opacity = 0;
this.update();
};
Sprite_GalvBust.prototype.update = function() {
Sprite_GalvBust.prototype.update = function () {
Sprite.prototype.update.call(this);
if (Galv.MB.msgWindow) this.controlBitmap();
};
Sprite_GalvBust.prototype.loadBitmap = function() {
var name = $gameMessage.faceName() + "_" + ($gameMessage.faceIndex() + 1);
if ($gameSystem.bustDisable) {
var img = ImageManager.loadPicture('');
} else {
var img = ImageManager.loadPicture(name + Galv.MB.f);
};
if (img.isReady()) {
if (this.bitmap) {
//this._destroyCachedSprite();
this.bitmap = null;
};
this.bitmap = img;
this.name = name;
this.hasBust = true;
};
Sprite_GalvBust.prototype.loadBitmap = function () {
var name = $gameMessage.faceName() + "_" + ($gameMessage.faceIndex() + 1);
if ($gameSystem.bustDisable) {
var img = ImageManager.loadLargeFace("");
} else {
var img = ImageManager.loadLargeFace(name + Galv.MB.f);
}
if (img.isReady()) {
if (this.bitmap) {
//this._destroyCachedSprite();
this.bitmap = null;
}
this.bitmap = img;
this.name = name;
this.hasBust = true;
}
};
Sprite_GalvBust.prototype.controlBitmap = function() {
if ($gameMessage.faceName() && this.name !== $gameMessage.faceName() + "_" + ($gameMessage.faceIndex() + 1)) {
this.loadBitmap(); // If image changed, reload bitmap
};
if (Galv.MB.msgWindow.openness <= 0 || !this.hasBust || $gameSystem.bustDisable) {
this.opacity = 0;
this.name = "";
this.hasBust = false;
return;
};
if ($gameSystem.bustMirror) {
this.scale.x = -1;
var offset = this.bitmap.width;
} else {
this.scale.x = 1;
var offset = 0;
};
this.opacity = $gameMessage.faceName() ? Galv.MB.msgWindow._openness : this.opacity - 32;
// Control image position
switch (Galv.MB.msgWindow.tempPosType) {
case 0:
this.y = this.baseY();
break;
case 1:
//top and middle
this.y = this.baseY() - Galv.MB.msgWindow.y;
break;
case 2:
//bottom
if (Galv.MB.prio == 1) {
this.y = Galv.MB.msgWindow.height - this.bitmap.height;
} else if (Galv.MB.pos === 1) {
this.y = this.baseY();
} else {
this.y = this.baseY() - Galv.MB.msgWindow.height;
};
break;
};
if ($gameSystem.bustPos == 1) {
// if on the right
if (Galv.MB.prio == 1) {
this.x = Galv.MB.msgWindow.width - this.bitmap.width + offset;
} else {
this.x = Galv.MB.msgWindow.x + Galv.MB.msgWindow.width - this.bitmap.width + offset;
};
} else {
// else on the left
if (Galv.MB.prio == 1) {
this.x = 0 + offset;
} else {
this.x = Galv.MB.msgWindow.x + offset;
};
};
};
Sprite_GalvBust.prototype.controlBitmap = function () {
if (
$gameMessage.faceName() &&
this.name !==
$gameMessage.faceName() + "_" + ($gameMessage.faceIndex() + 1)
) {
this.loadBitmap(); // If image changed, reload bitmap
}
Sprite_GalvBust.prototype.baseY = function() {
if (Galv.Mstyle.target) {
return Galv.MB.msgWindow.y + Galv.MB.msgWindow.height - this.bitmap.height;
} else {
return Graphics.boxHeight - this.bitmap.height + 20;
};
};
if (
Galv.MB.msgWindow.openness <= 0 ||
!this.hasBust ||
$gameSystem.bustDisable
) {
this.opacity = 0;
this.name = "";
this.hasBust = false;
return;
}
if ($gameSystem.bustMirror) {
this.scale.x = -1;
var offset = this.bitmap.width;
} else {
this.scale.x = 1;
var offset = 0;
}
this.opacity = $gameMessage.faceName()
? Galv.MB.msgWindow._openness
: this.opacity - 32;
// Control image position
switch (Galv.MB.msgWindow.tempPosType) {
case 0:
this.y = this.baseY();
break;
case 1:
//top and middle
this.y = this.baseY() - Galv.MB.msgWindow.y;
break;
case 2:
//bottom
if (Galv.MB.prio == 1) {
this.y = Galv.MB.msgWindow.height - this.bitmap.height;
} else if (Galv.MB.pos === 1) {
this.y = this.baseY();
} else {
this.y = this.baseY() - Galv.MB.msgWindow.height;
}
break;
}
if ($gameSystem.bustPos == 1) {
// if on the right
if (Galv.MB.prio == 1) {
this.x = Galv.MB.msgWindow.width - this.bitmap.width + offset;
} else {
this.x =
Galv.MB.msgWindow.x +
Galv.MB.msgWindow.width -
this.bitmap.width +
offset;
}
} else {
// else on the left
if (Galv.MB.prio == 1) {
this.x = 0 + offset;
} else {
this.x = Galv.MB.msgWindow.x + offset;
}
}
};
Sprite_GalvBust.prototype.baseY = function () {
if (Galv.Mstyle.target) {
return (
Galv.MB.msgWindow.y + Galv.MB.msgWindow.height - this.bitmap.height
);
} else {
return Graphics.boxHeight - this.bitmap.height + 20;
}
};

@ -1,46 +0,0 @@
//=============================================================================
// Salted Fish Plugins - Message Busts
// SF_MessageBusts.js
//=============================================================================
"use strict";
var Imported = Imported || {};
Imported.SF_MessageBusts = true;
var SF_Plugins = SF_Plugins || {};
//=============================================================================
/*:
*
* @plugindesc Message Busts
* @author Salted Fish
*
* @help
* 基于 Galv_MessageBusts.js 插件编写
*
* 尝试在显示文本时自动展示大号脸图如果文件存在的话否则展示原本的图片
*
* 将对应的图片放在
* img/faces/large 文件夹下
*
* 命名方式为
* {图片名称}_编号.png
*
* 举例如果在显示文本的命令中选择脸图的文件为"Actor1"的第二个图
* 那么这个插件就会使用 img/faces/large/Actor1_2.png 这张图片作为大号的脸图
* 如果不存在则会使用默认的脸图
*
* @requiredAssets data/FaceLarge.json
* @param ScanFiles
* @text 启动时生成数据文件
* @desc 扫描本地文件夹生成对应的json文件只对在nwjs中运行的时候生效
* @type boolean
* @on 生成
* @off 不生成
*
*/
let SF_MessageBusts = {};
SF_Plugins.SF_MessageBusts = SF_MessageBusts;
SF_MessageBusts.Parameters = PluginManager.parameters('SF_MessageBusts');
SF_MessageBusts.ScanFiles = SF_MessageBusts.Parameters['ScanFiles'].lower()

@ -1,20 +1,14 @@
//=============================================================================
/*:
* @plugindesc Test Plugins
* @author SaltedFish
*
* @param test1
* @type actor
*/
* @plugindesc Test Plugins在测试前要禁掉
* @author SaltedFish
*
* @param test1
* @type actor
*/
var Imported = Imported || {};
Imported.SF_TestPlugins = true;
var SF_Plugins = SF_Plugins || {};
SF_Plugins.SF_TestPlugins = SF_Plugins.SF_TestPlugins || {};
SF_Plugins.SF_TestPlugins.version = 1.0;
sc = Scene_Title.prototype.create;
Scene_Title.prototype.create = function () {
sc.call(this);
}

Loading…
Cancel
Save