パンダコ様
最新バージョンにて当改変バージョンを反映いただきありがとうございます。
より素晴らしいプラグインになったのではないかと思います。
また強制入手のプラグインパラメータを追加いただきありがとうございます。
そして警告画面の文章まで変更できるようにしていただいてより
カスタマイズでき柔軟になりましたね。
重量オーバー時にアイテム画面を開くコマンドは色々考えて
コマンドの機能を説明しすぎたあまりあの長ったらしいコマンドにしてしまいましたが、
パンダコ様がサクッと気持ちよい響きのコマンドにしていただいたおかげで
なにか引っかかっていたモヤモヤが晴れてスッキリした気分になりました(^^
潔さがとてもステキです!そのセンス羨ましいです。あれならコマンド覚えられますw
コマンドは短く簡潔のほうがよいことを改めて思い知らされました(反省)
ヘルプもわかりやすく追記されており、より使い方がわかりやすくなったと思います。
これからもより一層、このプラグインの認知度が高まりそうですね!
追記
尚、前回投稿した改変の説明はパンダコ様が最新バージョンに反映のため
用なしと判断して公開を終了しました。
【オマケ】(11/23追記)
以下はオマケです。アイテムや武器、防具の名前を取得するスクリプトです。
需要があるかわかりませんが置いておきます。
* $dataItems[<アイテムID>].name
* $dataWeapons[<武器ID>].name
* $dataArmors[<防具ID>].name
*
* ゲーム変数の値を利用するなら以下
* $dataItems[$gameVariables.value(<アイテムIDが入っているゲーム変数番号>)].name
* $dataWeapons[$gameVariables.value(<武器IDが入っているゲーム変数番号>)].name
* $dataArmors[$gameVariables.value(<防具IDが入っているゲーム変数番号>)].name
プラグインも作ってみました。
どうしてもプラグインコマンドを利用したい場合用。
* ・使い方
* <プラグインコマンド>
* ・ID5のアイテムの名前を変数0010へ代入します。
* PNDK_LC getItemName 10 5
* getItemName 10 5
*
* ・変数0010に格納された武器IDの武器の名前を変数0011へ代入します。
* (注:アイテムID及びアイテム数には制御文字が使えます)
* PNDK_LC getWeaponName 11 \V[10]
* getWeaponName 11 \V[10]
*
* ・ID15の防具の名前を変数0012へ代入します。
* PNDK_LC getArmorName 12 15
* getArmorName 12 15
*
* <スクリプト>
* ・ID5のアイテムの名前を取得します。
* $gameSystem.getItemName(5);
*
* ・変数0010に格納された武器IDの武器の名前を取得します。
* $gameSystem.getWeaponName('\\V[10]'));
* $gameSystem.getWeaponName($gameVariables.value(10));
*
* ・ID15の防具の名前を取得します。
* $gameSystem.getArmorName(15);
以下は追加するとスクリプトから呼べて便利集です(^^;
○アイテムオブジェクトの重量をスクリプトから取得
コード: 全て選択
function getWeight(item, amount){
if (item) {
var w = item.meta.weight;
if (w !== undefined) {
w = Number(Window_Base.prototype.convertEscapeCharacters(w));
return w * amount;
} else {
return defW * amount;
}
//return item.meta.weight !== undefined ? (item.meta.weight * amount) : defW * amount;
}
//itemがnullの場合もある(装備していない時や全部解除したときなど)
return 0;
}
の下に
コード: 全て選択
//getWeightを$gameSystemに登録
Game_System.prototype.getWeight = function(item, amount) {
return getWeight(item, amount);
}
を追加すればスクリプトから$gameSystem. getWeight()で重量を取得できます。
○アイテム重量をスクリプトから取得
コード: 全て選択
//アイテム重量取得
function getItemWeights(value, num) {
var itemId = Number(Window_Base.prototype.convertEscapeCharacters(value));
var item = $dataItems[itemId];
if(num == null) num = 1;
else num = Number(Window_Base.prototype.convertEscapeCharacters(num));
return getWeight(item, num);
}
の下に
コード: 全て選択
//getItemWeightsを$gameSystemに登録
Game_System.prototype.getItemWeights = function(value, num) {
return getItemWeights(String(value), String(num));
}
を追加で$gameSystem.getItemWeights(アイテムID, 数)でアイテムの重量を取得できます
○武器重量をスクリプトから取得
コード: 全て選択
//武器重量取得
function getWeaponWeights(value, num) {
var weaponId = Number(Window_Base.prototype.convertEscapeCharacters(value));
var weapon = $dataWeapons[weaponId];
if(num == null) num = 1;
else num = Number(Window_Base.prototype.convertEscapeCharacters(num));
return getWeight(weapon, num);
}
の下に
コード: 全て選択
//getWeaponWeightsを$gameSystemに登録
Game_System.prototype.getWeaponWeights = function(value, num) {
return getWeaponWeights(String(value), String(num));
}
を追加で$gameSystem.getWeaponWeights(武器ID, 数)で武器の重量を取得できます
○防具重量をスクリプトから取得
コード: 全て選択
//防具重量取得
function getArmorWeights(value, num) {
var armorId = Number(Window_Base.prototype.convertEscapeCharacters(value));
var armor = $dataArmors[armorId];
if(num == null) num = 1;
else num = Number(Window_Base.prototype.convertEscapeCharacters(num));
return getWeight(armor, num);
}
の下に
コード: 全て選択
//getArmorWeightsを$gameSystemに登録
Game_System.prototype.getArmorWeights = function(value, num) {
return getArmorWeights(String(value), String(num));
}
を追加で$gameSystem.getArmorWeights(防具ID, 数)で防具の重量を取得できます
○総重量をスクリプトから取得
コード: 全て選択
//総重量取得
function getAllItemWeights() {
var w = 0;
//アイテム・武器・防具
$gameParty.allItems().forEach(function(item){
var n = $gameParty.numItems(item);
w += getWeight(item, n);
});
//全アクターの装備品
$gameParty.allMembers().forEach(function(actor) {
actor.equips().forEach(function(item){
w += getWeight(item, 1);
});
});
return w;
}
の下に
コード: 全て選択
//getAllItemWeightsを$gameSystemに登録
Game_System.prototype.getAllItemWeights = function() {
return getAllItemWeights();
}
を追加で$gameSystem.getAllItemWeights()で総重量を取得できます
○最大積載量をスクリプトから取得
コード: 全て選択
//最大積載量の取得
function getCP() {
return Number(Window_Base.prototype.convertEscapeCharacters(cp));
}
の下に
コード: 全て選択
//getCPを$gameSystemに登録
Game_System.prototype.getCP = function() {
return getCP();
}
を追加で$gameSystem.getCP()で最大積載量を取得できます
○余剰積載量をスクリプトから取得
コード: 全て選択
//余剰積載量
function getSurplusCP() {
return getCP() - getAllItemWeights();
}
の下に
コード: 全て選択
//getSurplusCPを$GameSystemに登録
Game_System.prototype.getSurplusCP = function() {
return getSurplusCP();
}
を追加で$gameSystem.getSurplusCP()で最大積載量を取得できます
全ての動作を確認しているわけではないので万一動作しないなどありましたらご返信ください。
スミマセン、オマケなのに思いのほか長文になってしまいました…orz