ページ 11

【解決済み】パーティもしくはアクターが特定の武器もしくは防具を装備しているかを判断するスクリプト

Posted: 2017年3月22日(水) 14:39
by maker-b
皆様
お世話になっております。

タイトルの通りご相談です。
javascriptは不慣れで、以下のようなコードを考えておりますが、ご意見を頂きたく。
以下バトル起動時に必ずコモンイベントを発生させることが前提です<実装済み

コモンイベント

コード: 全て選択

var tro = $gameParty.members().length - 1; //味方の数を特定
	for(var i = 0; i <= tro; i++){ //アクター単位でループ開始
		var amr = $gameParty.members()[i]._equips.length;//アクター単位で装備の数を特定
		for(var j = 0; j <= amr; j++){
			if($gameParty.members()[i].equips[j]._itemId() == 1){console.log("hogehoge") //そのアクターがID1を装備していたら hogehoge
		}
	}
}
なんだかうまくいきそうな気がしません(実際エラーになります)
もしお知恵をいただければ幸いです

Re: パーティもしくはアクターが特定の武器もしくは防具を装備しているかを判断するスクリプト

Posted: 2017年3月22日(水) 15:40
by フトコロ
こんにちは

下の記述ですが、
$gameParty.members().equips[j]._itemId() == 1

この記述の場合、正しくは以下のどちらかです。
equips(j) または _equips[j]

itemId() または _itemId


あと、パーティー内のアクターが特定の装備をしているかどうかは、以下の関数でも判定できます。
$gameParty.members().isEquipped(x)

x は、武器の場合は$dataWeapons[n]、防具の場合は$dataArmors[n]です。(nは武器防具のID)
ただ、武器と防具で記述を分ける必要があります。

Re: パーティもしくはアクターが特定の武器もしくは防具を装備しているかを判断するスクリプト

Posted: 2017年3月23日(木) 22:12
by maker-b
フトコロ様

お世話になっております。
アドバイスいただき、無事以下コードにて課題解決いたしました!
ありがとうございます!

コード: 全て選択

var amr = $gameParty.members()[i]._equips.length;
for(var j = 0; j <= amr; j++){
if($gameParty.members()[i].isEquipped($dataArmors[181])){
console.log("hogehoge")}
}

Re: 【解決済み】パーティもしくはアクターが特定の武器もしくは防具を装備しているかを判断するスクリプト

Posted: 2017年3月24日(金) 21:44
by maker-b
すみません 自己レスです。
コードを一部消し忘れていました。以下が正解でした・・・

コード: 全て選択

if($gameParty.members()[i].isEquipped($dataArmors[181])){
console.log("hogehoge")}