ページ 11

【解決しました】アイテム選択について

Posted: 2016年8月31日(水) 22:12
by 藤咲ノゾム
アイテム選択の処理を行った時の質問です。
例えばアイテム選択の処理で通常アイテム設定をすれば通常アイテムがすべて表示されますが、このとき表示できるアイテムを通常アイテムの中から限定して表示する方法はありますか?
条件分岐で選択した時にこのアイテムは使える、このアイテムは使えない、といった処理はできるのですが、使えるアイテムを探すのが大変なので、最初から使えるアイテムだけを表示したいと思ったのですが調べてもわからなくて・・・
初歩的な質問になるかもしれませんが、どなたか方法を知っていたら教えてくださると嬉しいです。

Re: アイテム選択について

Posted: 2016年9月01日(木) 22:46
by まっつUP
藤咲ノゾム様
お世話になります。

イベントまたはコモンイベントで以下の実行内容を設定してください。
不具合等ありましたら気軽にどうぞ。
(スクリプトコマンド)
var a = 24; //利用可能な変数を一つ指定
$gameVariables._data[a] = []; //空配列を作る
//全アイテムの所持数を格納した配列を作る。
for(var i = 1; i < $dataItems.length; i++){
var j = $gameParty.numItems($dataItems);
$gameVariables._data[a] = j;
}
$gameParty._items = {}; //アイテムをすべて失う。
◆注釈:ちなみに$gameParty._items = {};は単体で機能します。
:  :(これ単体でコモンイベントにしてもいいかもしれません。)
:  :上のスクリプトコマンドの後に
:  :アイテムの増減などを使って
:  :使用可能なアイテムを絞ってください。
:  :(ここの処理をどうしますか?)
◆アイテムの増減:ポーション + 2
◆アイテムの増減:アンチドーテ + 2
◆アイテムの増減:ポーション + 2
◆変数の操作:#0033 インプット用変数 = 0
◆注釈:アイテムタイプはどれを選んでも大丈夫なはずです。
◆アイテム選択の処理:インプット用変数, 通常アイテム
◆条件分岐:インプット用変数 ≠ 0
◆注釈:任意の処理

:分岐終了
(スクリプトコマンド)
$gameParty._items = {}; //アイテムをすべて失う。
var a = 24; //一つ指定した利用可能な変数
//全アイテムと再会する。
for(var i = 1; i < $dataItems.length; i++){
var j = $gameVariables._data[a];
$gameParty.gainItem($dataItems, j)
}

Re: アイテム選択について

Posted: 2016年9月02日(金) 09:49
by 藤咲ノゾム
まっつUPさんありがとうございます!
うまくできました!本当にありがとうございます!